public override void destroy() { base.destroy(); _player = null; _heroMon = null; unitData = null; activeSkillData = null; mon = null; aliveUnitDic.Clear(); aliveUnitDic = null; if (uiUnitSlot != null) { uiUnitSlot.mon = null; } uiUnitSlot = null; infoData = null; }
public void setData(Monster heroMon, UnitData mud, UIPlayUnitSlot uiSlot = null) { _heroMon = heroMon; unitData = mud; uiUnitSlot = uiSlot; maxCoolTime = unitData.cooltime; #if UNITY_EDITOR if (uiSlot != null) { if (DebugManager.instance.ignoreCoolTime) { maxCoolTime = 0; } } #endif coolTime = maxCoolTime; useSp = unitData.sp; mon = null; canUseOneShotUnitSkill = false; activeSkillState = UIPlayUnitSlot.STATE_ACTIVE_SKILL_COOLTIME; // if(uiUnitSlot != null) uiUnitSlot.activeSkillState = activeSkillState; if (heroMon.isPlayer) { _player = (Player)heroMon; useSp -= (useSp * _player.summonSpPercent(mud)); activeSkillData = null; coolTime.Set(2.0f); // player 들은 기본 쿨타임이 2초다. if (mud.skill != null) { foreach (string skillId in mud.skill) { #if UNITY_EDITOR Debug.Log(mud.id + " " + skillId); #endif if (GameManager.info.unitSkillData[skillId].activeSkillCooltime > -1) { activeSkillData = GameManager.info.unitSkillData[skillId]; break; } } } if (activeSkillData != null) { resetActiveSkillCoolTime(); } } if (heroMon.isPlayerSide) { aliveUnitDic = GameManager.me.characterManager.alivePlayerUnit; } else { aliveUnitDic = GameManager.me.characterManager.aliveMonUnit; } leftNum = 0; if (uiSlot != null) { uiSlot.unitSlot = this; uiSlot.init(unitData, infoData.transcendData, infoData.transcendLevel, _player); } }
public void setData(Monster heroMon, GameIDData idData, UIPlayUnitSlot uiSlot = null) { infoData = idData; setData(heroMon, infoData.unitData, uiSlot); }