public HeroData(string uid, HeroDataRow dataRow, HeroJob heroJob, double exp, int level, List <string> skills) : base(uid, dataRow.ID, dataRow.Name, skills, heroJob.InitHp, heroJob.InitMp, heroJob.InitAtk, heroJob.InitDef, level, heroJob.HPGrowthRate, heroJob.MPGrowthRate, heroJob.AtkGrowthRate, heroJob.DefGrowthRate) { Job = dataRow.Job; HeadImageKey = HEAD_IMAGE_KEY_PREFIX + heroJob.HeadImageKey; DeathImageKey = DEATH_IMAGE_KEY_PREFIX + heroJob.DeathImageKey; Exp = exp; }
private GameObject _GetPrefabByMemberJob(HeroJobType job) { switch (job) { case HeroJobType.Warrior: return(_warriorPrefab); case HeroJobType.Wizard: return(_wizardPrefab); } return(_warriorPrefab); }
public GameObject GetInstance(HeroJobType job) { GameObject obj = null; if (_memberObjects[job].Count == 0) { obj = Instantiate(_GetPrefabByMemberJob(job), _root); } else { obj = _memberObjects[job].Dequeue(); } obj.SetActive(true); return(obj); }
public List <string> GetUnLockHeroSkills(HeroJobType job, int level) { List <string> skills = new List <string>(); var unlockSkills = _gameData.HeroUnlockSkillTable; if (unlockSkills.ContainsKey(job)) { var levelUnlockSkills = unlockSkills[job]; for (int i = 1; i <= level; i++) { if (levelUnlockSkills.ContainsKey(i)) { skills.AddRange(levelUnlockSkills[i]); } } } return(skills); }
public void ReturnInstance(HeroJobType job, GameObject obj) { obj.SetActive(false); obj.transform.SetParent(_root); _memberObjects[job].Enqueue(obj); }