Esempio n. 1
0
 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;
 }
Esempio n. 2
0
    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);
        }
    }
Esempio n. 3
0
 public void setData(Monster heroMon, GameIDData idData, UIPlayUnitSlot uiSlot = null)
 {
     infoData = idData;
     setData(heroMon, infoData.unitData, uiSlot);
 }