using System.Collections.Generic; using Cute; using LitJson; using UnityEngine; using Wizard; public class ClassCharaPrm { public enum MotionType { idle = 1, positive, negative, extra, damage, think, greet, shock, positive_2, negative_2, extra_2, extra_3, negative_2_a, damege_a, extra_1_a, extra_1_b, extra_1_c, extra_2_a, extra_2_b, extra_2_c, z_extra_2, z_damage, z_greet, z_idle, z_negative, z_negative_2, z_negative_2_a, z_positive, z_positive_2, z_shock, z_think } public enum FaceType { skin_01 = 1, skin_02, skin_03, skin_04, skin_05, skin_06, skin_07, skin_08, skin_09, skin_10 } public enum EmotionType { NULL, GREET, THANK, APOLOGY, PRAISE, SURPRISE, CONFUSE, WORRY, PROVOCATION, EXTRA1, EXTRA2, EXTRA3, BATTLESTART_DIFF, BATTLESTART_SAME, WIN, LOSE, SURRENDER_LOSE, EVOLUTION_1, EVOLUTION_2, EVOLUTION_3, DAMAGE_S_1, DAMAGE_S_2, DAMAGE_S_3, DAMAGE_L_1, DAMAGE_L_2, IDLE_1, IDLE_2, IDLE_3, SELECT, STORY_LOSE, LEADER_SELECT, NEGOTIATION_1, NEGOTIATION_2, NEGOTIATION_3, PLAYER_TURN_START_1 } private static readonly Dictionary OUTLINE_COLOR = new Dictionary { { CardBasePrm.ClanType.MIN, eColorCodeId.CLASS_ELF_OUTLINE }, { CardBasePrm.ClanType.ROYAL, eColorCodeId.CLASS_ROYAL_OUTLINE }, { CardBasePrm.ClanType.WITCH, eColorCodeId.CLASS_WITCH_OUTLINE }, { CardBasePrm.ClanType.DRAGON, eColorCodeId.CLASS_DRAGON_OUTLINE }, { CardBasePrm.ClanType.NECRO, eColorCodeId.CLASS_NECROMANCER_OUTLINE }, { CardBasePrm.ClanType.VAMPIRE, eColorCodeId.CLASS_VANPIRE_OUTLINE }, { CardBasePrm.ClanType.BISHOP, eColorCodeId.CLASS_BISHOP_OUTLINE }, { CardBasePrm.ClanType.NEMESIS, eColorCodeId.CLASS_NEMESIS_OUTLINE }, { CardBasePrm.ClanType.SHADOW, eColorCodeId.CLASS_SHADOW_OUTLINE } }; private int _defaultCharaId; private int _currentCharaId; private int ClassCharaLv; private int ClassCharaExp; private int ClassCharaBattleCount; private int ClassCharaWin; public ClassCharacterMasterData DefaultCharaData => GameMgr.GetIns().GetDataMgr().GetCharaPrmByCharaId(_defaultCharaId); public ClassCharacterMasterData CurrentCharaData { get { ClassCharacterMasterData classCharacterMasterData = GameMgr.GetIns().GetDataMgr().GetCharaPrmByCharaId(_currentCharaId); if (classCharacterMasterData == null) { classCharacterMasterData = DefaultCharaData; } return classCharacterMasterData; } } public bool IsRandomLeaderSkin { get; set; } public List LeaderSkinIdList { get; private set; } = new List(); public string EmoteNameGreet { get; set; } public string TextIdGreet { get; set; } public string VoiceIdGreet { get; set; } public string EmoteNameThank { get; set; } public string TextIdThank { get; set; } public string VoiceIdThank { get; set; } public string EmoteNameApology { get; set; } public string TextIdApology { get; set; } public string VoiceIdApology { get; set; } public string EmoteNamePraise { get; set; } public string TextIdPraise { get; set; } public string VoiceIdPraise { get; set; } public string EmoteNameSurprise { get; set; } public string TextIdSurprise { get; set; } public string VoiceIdSurprise { get; set; } public string EmoteNameConfuse { get; set; } public string TextIdConfuse { get; set; } public string VoiceIdConfuse { get; set; } public string EmoteNameWorry { get; set; } public string TextIdWorry { get; set; } public string VoiceIdWorry { get; set; } public string EmoteNameProvocation { get; set; } public string TextIdProvocation { get; set; } public string VoiceIdProvocation { get; set; } public void SetDefaultCharaId(int charaId) { _defaultCharaId = charaId; } public void SetCurrentCharaId(int charaId) { _currentCharaId = charaId; } public void SetClassCharaLv(int classlv) { ClassCharaLv = classlv; } public void SetClassCharaExp(int classexp) { ClassCharaExp = classexp; } public void SetClassCharaBattleCount(int classbattlecnt) { ClassCharaBattleCount = classbattlecnt; } public void AddClassCharaBattleCount() { ClassCharaBattleCount++; } public void SetClassCharaWin(int classwin) { ClassCharaWin = classwin; } public void AddClassCharaWin() { ClassCharaWin++; } public void SetLeaderRandomSkinIdList(JsonData skinIdList) { LeaderSkinIdList.Clear(); for (int i = 0; i < skinIdList.Count; i++) { LeaderSkinIdList.Add(skinIdList[i].ToInt()); } } public int GetClassCharaLv() { return ClassCharaLv; } public int GetClassCharaExp() { return ClassCharaExp; } public int GetClassCharaBattleCount() { return ClassCharaBattleCount; } public int GetClassCharaWin() { return ClassCharaWin; } public static Texture GetClassIconTexture(int clan_id) { return Toolbox.ResourcesManager.LoadObject(Toolbox.ResourcesManager.GetAssetTypePath("class_card_" + clan_id.ToString("00"), ResourcesManager.AssetLoadPathType.CardFrameClassIcon, isfetch: true)) as Texture; } public static bool IsEvolutionEmotionType(EmotionType type) { if ((uint)(type - 17) <= 2u) { return true; } return false; } public static string GetIconSpriteName(CardBasePrm.ClanType inClassId) { int num = (int)inClassId; return "icon_class_color_" + num.ToString("00"); } public static string GetLargeIconSpriteName(CardBasePrm.ClanType inClassId) { int num = (int)inClassId; return "icon_class_color_large_" + num.ToString("00"); } public static string GetNameText(CardBasePrm.ClanType inClassId) { return Data.SystemText.Get("Common_" + ((int)(104 + inClassId)).ToString("0000")); } public static void SetClassLabelSetting(UILabel inLabel, CardBasePrm.ClanType inClassId) { inLabel.effectStyle = LabelDefine.OUTLINE_STYLE_CLASS_NAME; inLabel.effectDistance = LabelDefine.OUTLINE_DISTANCE_CLASS_NAME; inLabel.effectColor = ColorCode.Get(OUTLINE_COLOR[inClassId]); } public void SetParamWithUserClassJson(JsonData classJson) { IsRandomLeaderSkin = classJson["is_random_leader_skin"].ToBoolean(); SetClassCharaLv(classJson["level"].ToInt()); SetClassCharaExp(classJson["exp"].ToInt()); SetCurrentCharaId(classJson["leader_skin_id"].ToInt()); SetDefaultCharaId(classJson["default_leader_skin_id"].ToInt()); SetLeaderRandomSkinIdList(classJson["leader_skin_id_list"]); } }