64 lines
1.9 KiB
C#
64 lines
1.9 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using Cute;
|
|
using UnityEngine;
|
|
|
|
namespace Wizard;
|
|
|
|
public class DegreeHelper
|
|
{
|
|
public enum DegreeType
|
|
{
|
|
SMALL }
|
|
|
|
private static ResourcesManager.AssetLoadPathType GetResourceType(DegreeType type)
|
|
{
|
|
if (type == DegreeType.SMALL)
|
|
{
|
|
return ResourcesManager.AssetLoadPathType.Degree_S;
|
|
}
|
|
return ResourcesManager.AssetLoadPathType.Degree_M;
|
|
}
|
|
|
|
private static ResourcesManager.AssetLoadPathType GetMaterialType(DegreeType type)
|
|
{
|
|
if (type == DegreeType.SMALL)
|
|
{
|
|
return ResourcesManager.AssetLoadPathType.DegreeMaterial_S;
|
|
}
|
|
return ResourcesManager.AssetLoadPathType.DegreeMaterial_M;
|
|
}
|
|
|
|
private static string GetDegreePath(long id, DegreeType type, bool isFetch)
|
|
{
|
|
return Toolbox.ResourcesManager.GetAssetTypePath(id.ToString("0000"), GetResourceType(type), isFetch);
|
|
}
|
|
|
|
private static string GetDegreeMaterialPath(long id, DegreeType type, bool isFetch)
|
|
{
|
|
return Toolbox.ResourcesManager.GetAssetTypePath(id.ToString("0000"), GetMaterialType(type), isFetch);
|
|
}
|
|
|
|
private static string GetMaskPath(long id, bool isFetch)
|
|
{
|
|
return Toolbox.ResourcesManager.GetAssetTypePath(id.ToString("0000"), ResourcesManager.AssetLoadPathType.DegreeMask, isFetch);
|
|
}
|
|
|
|
public static void InitializeDegree(UITexture texture, long id, DegreeType type)
|
|
{
|
|
string degreePath = GetDegreePath(id, type, isFetch: true);
|
|
texture.mainTexture = Toolbox.ResourcesManager.LoadObject<Texture>(degreePath);
|
|
if (Data.Master.DegreeMgr.Get((int)id).IsPremium)
|
|
{
|
|
string degreeMaterialPath = GetDegreeMaterialPath(id, type, isFetch: true);
|
|
texture.material = Toolbox.ResourcesManager.LoadObject<Material>(degreeMaterialPath);
|
|
Texture value = Toolbox.ResourcesManager.LoadObject<Texture>(GetMaskPath(id, isFetch: true));
|
|
texture.material.SetTexture("_MaskTex", value);
|
|
}
|
|
else
|
|
{
|
|
texture.material = null;
|
|
}
|
|
}
|
|
}
|