57 lines
1.4 KiB
C#
57 lines
1.4 KiB
C#
using Spine.Unity;
|
|
using UnityEngine;
|
|
|
|
[CreateAssetMenu(fileName = "HeroSkin_", menuName = "SO_Data/HeroSkin")]
|
|
public class HeroSkinSO : ScriptableObject
|
|
{
|
|
[Header("Identity")]
|
|
public string skinId;
|
|
public int heroId;
|
|
public string skinName;
|
|
public string ally_heroDesignation;
|
|
|
|
[Header("Ownership")]
|
|
public bool isDefaultSkin;
|
|
public bool unlockedByDefault;
|
|
public string sourceDlcId;
|
|
|
|
[Header("Sort")]
|
|
public int sortOrder;
|
|
|
|
[Header("Inspector")]
|
|
public Sprite ally_heroImage;
|
|
[Header("Inspector")]
|
|
public Sprite ally_heroProfile;
|
|
[Header("Inspector")]
|
|
public Sprite ally_heroSelectIcon;
|
|
[Header("Inspector")]
|
|
public Sprite ally_heroIcon;
|
|
[Header("Inspector")]
|
|
public Sprite ally_heroPoster;
|
|
[Header("Inspector")]
|
|
public Sprite ally_hero_HD_image;
|
|
[Header("Inspector")]
|
|
public Sprite ally_hero_squareProfile;
|
|
|
|
[Header("spine")]
|
|
public SkeletonDataAsset ally_heroSpineData;
|
|
|
|
[Header("Inspector")]
|
|
public Color ally_heroThemeColor = Color.white;
|
|
|
|
[Header("Inspector")]
|
|
[TextArea(3, 10)]
|
|
public string skinDescription;
|
|
|
|
public string GetResolvedSkinId()
|
|
{
|
|
if (!string.IsNullOrWhiteSpace(skinId))
|
|
{
|
|
return skinId.Trim();
|
|
}
|
|
|
|
string safeName = string.IsNullOrWhiteSpace(name) ? "skin" : name.Trim();
|
|
return "hero_" + heroId + "_" + safeName;
|
|
}
|
|
}
|