public void SkillOperation() { if (this.selfHeroSkillData.Level < SkillMaxLevel) { this.selfHeroData.Attributes.SkillPoint -= 1; this.selfHeroData.SkillList [this.SlotId].Level += 1; HeroSaveDataManager.Instance.Overwrite(this.selfHeroData); } else { List <HeroSkillFormat> _heroSkillList = new List <HeroSkillFormat> (); _heroSkillList.Add(this.selfHeroSkillData); List <ushort> _childSkillIdList = this.selfHeroSkillData.ChildrenIDList; if (_childSkillIdList != null) { for (int i = 0; i < _childSkillIdList.Count; i++) { HeroSkillFormat _heroSkillData = new HeroSkillFormat(new HeroSkillSaveDataFormat(this.selfHeroSkillData.SlotID, _childSkillIdList [i], 0)); _heroSkillList.Add(_heroSkillData); } } SkillAdvanceCache _skillAdvanceData = new SkillAdvanceCache(this.selfHeroData, _heroSkillList); globalDataManager.SetValue <SkillAdvanceCache> (SkillString.SKILL_ADVANCE_CACHE, _skillAdvanceData, SkillString.MEMORY_SPACE); PopSkillManager.ShowWindow(SkillAdvancePrefab); } }
// Use this for initialization void Start() { globalDataManager = FindObjectOfType <GlobalDataManager> (); SkillAdvanceCache _skillAdvanceCacheData = globalDataManager.GetValue <SkillAdvanceCache> (SkillString.SKILL_ADVANCE_CACHE, SkillString.MEMORY_SPACE); HeroBasicData.Init(_skillAdvanceCacheData.HeroData); SkillAdvance.Init(_skillAdvanceCacheData); globalDataManager.RemoveValue(SkillString.SKILL_ADVANCE_CACHE, SkillString.MEMORY_SPACE); }
public void Init(SkillAdvanceCache skillData) { this.skillAdvanceData = skillData; this.heroData = this.skillAdvanceData.HeroData; BasicSkill.Init(this.heroData, this.skillAdvanceData.HeroSkillList[0]); AdvanceSkill0.Init(this.heroData, this.skillAdvanceData.HeroSkillList[1]); AdvanceSkill1.Init(this.heroData, this.skillAdvanceData.HeroSkillList[2]); BasicSkill.SkillInfoDisplay(); AdvanceSkill0.SkillInfoDisplay(); AdvanceSkill1.SkillInfoDisplay(); }