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);
        }
Beispiel #4
0
    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);
 }