Esempio n. 1
0
    /// <summary>
    /// Verifica se a habilidade esta em coold down
    /// </summary>
    /// <returns><c>true</c>, if cool down was checked, <c>false</c> otherwise.</returns>
    /// <param name="skillID_">Skill I d.</param>
	public bool CheckCoolDown(DPADController assignedSkillId)
    {
		if (!SkillCoolDownTable.ContainsKey((int)AssignedSkills[assignedSkillId].SkillID))
            return true;

		if (ApplicationModel.Instance.GlobalTime > SkillCoolDownTable[(int)AssignedSkills[assignedSkillId].SkillID])
        {
			SkillCoolDownTable.Remove((int)AssignedSkills[assignedSkillId].SkillID);

			if (currentSkillBase != null)
			{
				
				currentSkillBase.ReturnToPool();
			}
            return true;
        }

        return false;
    }
Esempio n. 2
0
 /// <summary>
 /// Metodo responsavel por retornar uma skill a partir do DPad selecionado
 /// </summary>
 /// <returns>The skill by command.</returns>
 /// <param name="dpadController_">Dpad controller.</param>
 public SkillBase GetSkillByCommand(DPADController dpadController_)
 {
     return AssignedSkills[dpadController_];
 }
Esempio n. 3
0
    public void PerformSkill(DPADController dpadController_)
    {
        SkillBase _assignedSkill = AssignedSkills[dpadController_];

        if (_assignedSkill != null)
        {
			if (CheckCoolDown(dpadController_))
            {
                string _message = null;

                // A partir daqui a skill temporaria do pool
                SkillBase _pooledSkill = (SkillBase)_assignedSkill.Pool.GetFromPool();

                if (_pooledSkill != null)
                {
                    _pooledSkill.Caster = myPlayer; // TODO CHANGE

                    if (_pooledSkill.CastCheck(out _message))
                    {
						currentSkillBase = _pooledSkill;
                        _pooledSkill.SpawnSkill();
						skillon = true;
                        this.SetCoolDown((int)_assignedSkill.SkillID, _assignedSkill.CoolDown);

						if (currentSkillBase.SkillBehaviour != SkillBehaviourEnum.Aura)
						{
							currentSkillBase = null;
						}
                    }
                }
            }
            else
            {
                // Skill em cooldown
            }
        }
    }
Esempio n. 4
0
 /// <summary>
 /// Metodo responsavel por associar uma skill ao comando do DPAD
 /// </summary>
 /// <param name="dpadController_">Dpad controller.</param>
 /// <param name="spellBase_">Spell base.</param>
 public void AssignSkillToDPad(DPADController dpadController_, SkillBase spellBase_)
 {
     AssignedSkills[dpadController_] = spellBase_;
 }