Exemplo n.º 1
0
 public void OnClickSkill(SkillBase skill)
 {
     currentSkill = skill;
     if(currentSkill.selectable)
     {
         phase.Value = GamePhase.SpecSkill;
     }
     else
     {
         currentSkill.Cast(Vector2Int.zero);
         phase.Value = GamePhase.SelectChara; 
     }
 }
Exemplo n.º 2
0
    // Update is called once per frame
    void FixedUpdate()
    {
        if (Input.GetButtonDown("ActionP" + playerNum))
        {
            if (skillId >= 0)
            {
                skill.Cast();
            }
        }
        if (fireSpeedTimer > 0)
        {
            fireSpeedTimer -= Time.fixedDeltaTime;
        }

        if (fireSpeedTimer <= 0)
        {
            if (Input.GetButton("FireP" + playerNum))
            {
                weapon.GetComponent <Weapon>().Fire();
                fireSpeedTimer = fireSpeed;
            }
        }
        if (arenaManager.gameEnded == false)
        {
            if (health <= 0)
            {
                if (arenaManager.gameEnded == false)
                {
                    arenaManager.EndGame(playerNum);
                    arenaManager.gameEnded = true;
                    gameObject.GetComponent <SpriteRenderer>().sprite       = Resources.Load <Sprite>("Arena/Sprites/death");
                    gameObject.GetComponent <SpriteRenderer>().sortingOrder = 25;
                    canMove = false;
                    Destroy(GetComponent <CircleCollider2D>());
                }
            }
        }
        if (canMove)
        {
            Move();
        }
    }
Exemplo n.º 3
0
 /// <summary>
 /// 释放技能
 /// </summary>
 /// <param name="skillId"></param>
 /// <param name="param"></param>
 public void OnCastSkill(int skillId, CastSkillParam param)
 {
     try
     {
         SkillGameData skillData = this.GetSkillById(skillId);
         if (skillData != null && !skillData.IsError)
         {
             foreach (var current in this.m_listSkillData)
             {
                 SkillBase skillBegin = SkillGameManager.GetSkillBase(current.Id);
                 if (skillBegin != null)
                 {
                     skillBegin.OnCastSkillBegin(this.m_unMasterBeastId, skillId);
                 }
             }
             SkillBase skill = SkillGameManager.GetSkillBase(skillData.Id);
             if (skill != null)
             {
                 param.unTargetSkillID = skillId;
                 skill.Cast(param);
             }
             foreach (var current in this.m_listSkillData)
             {
                 SkillBase skillEnd = SkillGameManager.GetSkillBase(current.Id);
                 if (skillEnd != null)
                 {
                     skillEnd.OnCastSkillBegin(this.m_unMasterBeastId, skillId);
                 }
             }
         }
     }
     catch (Exception e)
     {
         this.m_log.Fatal(e);
     }
 }
Exemplo n.º 4
0
 public void OnClickGrid(Vector2Int pos, Team team)
 {
     switch (phase.Value)
     {
         case GamePhase.Prepare:
             break;
         case GamePhase.SelectChara:
             {
                 var chara = grids.GetCharacter(team, pos);
                 if (chara != null)
                 {
                     characterPanel.SetChara(chara);
                     currentChara = chara;
                 }
             }
             break;
         case GamePhase.Attack:
             {
                 if (team == currentChara.team) return;
                 var target = grids.GetAttackTarget(team, pos.x);
                 currentChara.Attack(target);
                 phase.Value = GamePhase.SelectChara;
             }
             break;
         case GamePhase.SpecSkill:
             {
                 currentSkill.Cast(pos);
                 phase.Value = GamePhase.SelectChara;
             }
             break;
         case GamePhase.EndTurn:
             break;
         default:
             break;
     }
 }