Files
bansonic_beta_main/Assets/scripts/Data/HeroSkinSO.cs
T
2026-06-25 11:48:56 +08:00

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;
}
}