예제 #1
0
파일: Human.cs 프로젝트: zkm00323/NanoSteam
    void AttackInput()
    {
        if (!LastInput.AttackButton && NowInput.AttackButton)
        {
            LastAttackTriggerTime = Time.time;
        }
        else
        if (LastInput.AttackButton && !NowInput.AttackButton)
        {
            if (LastAttackTriggerTime != null)
            {
                Anime.SetInteger(GlobalVar.AnimeValue.Attack, GlobalVar.AnimeValue.AHoldState.Click);
                LastAttackTriggerTime = null;
            }
            else
            {
                Anime.SetInteger(GlobalVar.AnimeValue.Attack, GlobalVar.AnimeValue.AHoldState.Null);
            }
        }

        if (LastAttackTriggerTime != null &&
            Time.time - LastAttackTriggerTime > GlobalVar.PlayerValue.AttackHoldTime)
        {
            LastAttackTriggerTime = null;
            Anime.SetInteger(GlobalVar.AnimeValue.Attack, GlobalVar.AnimeValue.AHoldState.Hold);
        }
    }
예제 #2
0
파일: Human.cs 프로젝트: zkm00323/NanoSteam
 void DodgeInput()
 {
     if (State != GlobalVar.State.Dodge)
     {
         Anime.SetInteger(GlobalVar.AnimeValue.Dodge, NowInput.Skill1Button ? 1 : 0);
     }
 }
예제 #3
0
 public virtual void JumpCtrl()
 {
     if (OnGround)
     {
         Anime.SetInteger(GlobalVar.AnimeValue.Fly, GlobalVar.AnimeValue.FlyState.Ground);
     }
     else
     if (Rb.velocity.y > GlobalVar.PlayerValue.JumpUpAnimeSence)
     {
         Anime.SetInteger(GlobalVar.AnimeValue.Fly, GlobalVar.AnimeValue.FlyState.Up);
     }
     else
     if (Rb.velocity.y < -GlobalVar.PlayerValue.JumpDownAnimeSence)
     {
         if (FallHight < GlobalVar.PlayerValue.FallHight)
         {
             Anime.SetInteger(GlobalVar.AnimeValue.Fly, GlobalVar.AnimeValue.FlyState.Down);
         }
         else
         {
             Anime.SetInteger(GlobalVar.AnimeValue.Fly, GlobalVar.AnimeValue.FlyState.Fall);
         }
     }
     else
     {
         Anime.SetInteger(GlobalVar.AnimeValue.Fly, GlobalVar.AnimeValue.FlyState.Ground);
     }
 }
예제 #4
0
 protected override void ColStay(Collision2D col)
 {
     base.ColStay(col);
     if (col.collider.tag == GlobalVar.Tag.Ground)
     {
         Anime.SetInteger(GlobalVar.AnimeValue.Fly, GlobalVar.AnimeValue.FlyState.Ground);
     }
 }
예제 #5
0
파일: Human.cs 프로젝트: zkm00323/NanoSteam
 //Attack
 public void StartAttack()
 {
     State = GlobalVar.State.Attack;
     LastAttackTriggerTime = null;
     if (Anime.GetInteger(GlobalVar.AnimeValue.Attack) == GlobalVar.AnimeValue.AHoldState.Click)
     {
         Anime.SetInteger(GlobalVar.AnimeValue.Attack, GlobalVar.AnimeValue.AHoldState.Null);
     }
 }
예제 #6
0
파일: Human.cs 프로젝트: zkm00323/NanoSteam
 private void DodgeCtrl()
 {
     if (Anime.GetInteger(GlobalVar.AnimeValue.Dodge) == GlobalVar.AnimeValue.DodgeState.Dodge)
     {
         if (Mathf.Abs(Rb.velocity.x) < GlobalVar.PlayerValue.FinishDodgeVec)
         {
             Anime.SetInteger(GlobalVar.AnimeValue.Dodge, GlobalVar.AnimeValue.DodgeState.Null);
         }
     }
 }
예제 #7
0
    protected virtual void MoveInput()
    {
        if (State != GlobalVar.State.Turn && NowInput.MoveAxis != 0 && NowInput.MoveAxis > 0 != Side)
        {
            Anime.SetBool(GlobalVar.AnimeValue.Turn, true);
            return;
        }
        Anime.SetBool(GlobalVar.AnimeValue.Turn, false);

        if (Mathf.Abs(Rb.velocity.x) < 0.01f)
        {
            Anime.SetInteger(GlobalVar.AnimeValue.Move, GlobalVar.AnimeValue.MoveState.Idle);
        }
        else
        {
            Anime.SetInteger(GlobalVar.AnimeValue.Move, GlobalVar.AnimeValue.MoveState.Walk);
        }
    }
예제 #8
0
파일: Human.cs 프로젝트: zkm00323/NanoSteam
    protected override void MoveInput()
    {
        if (State != GlobalVar.State.Turn && NowInput.MoveAxis != 0 && NowInput.MoveAxis > 0 != Side)
        {
            Anime.SetBool(GlobalVar.AnimeValue.Turn, true);
            return;
        }
        Anime.SetBool(GlobalVar.AnimeValue.Turn, false);

        float nowSpeed = Mathf.Abs(Rb.velocity.x);

        if (nowSpeed < 0.01f)
        {
            Anime.SetInteger(GlobalVar.AnimeValue.Move, GlobalVar.AnimeValue.MoveState.Idle);
        }
        else if (nowSpeed > 1)
        {
            Anime.SetInteger(GlobalVar.AnimeValue.Move, GlobalVar.AnimeValue.MoveState.Run);
        }
        else
        {
            Anime.SetInteger(GlobalVar.AnimeValue.Move, GlobalVar.AnimeValue.MoveState.Walk);
        }
    }
예제 #9
0
파일: Human.cs 프로젝트: zkm00323/NanoSteam
 //Dodge
 public void StartDodge()
 {
     State = GlobalVar.State.Dodge;
     Anime.SetInteger(GlobalVar.AnimeValue.Dodge, GlobalVar.AnimeValue.DodgeState.Dodge);
     Rb.AddForce(Main.right * GlobalVar.PlayerValue.DodgeForce);
 }
예제 #10
0
파일: Human.cs 프로젝트: zkm00323/NanoSteam
 public void FinishAttack()
 {
     LastAttackTriggerTime = null;
     Anime.SetInteger(GlobalVar.AnimeValue.Attack, GlobalVar.AnimeValue.AHoldState.Null);
 }