Esempio n. 1
0
 public void StartNewCooldown(float duration, KnockbackState sender)
 {
     Task.Factory.StartNew(async() => {
         await Task.Delay((int)(duration * 1000));
         sender.IsKnockedBacked = true;
     });
 }
Esempio n. 2
0
    internal override void Awake()
    {
        base.Awake();
        var playerAnimator  = GetComponent <Animator>();
        var playerRigidBody = GetComponent <Rigidbody>();
        var playerCollider  = GetComponent <Collider>();

        Punch = new PunchState(playerAnimator, actorAnimations.ActorAttacking,
                               DonePunching);
        Idle     = new IdleState(playerAnimator, actorAnimations.ActorIdle);
        Grounded = new GroundedState();
        Jump     = new JumpState(playerCollider,
                                 playerRigidBody, JumpSpeed, EvalJumpData);
        DiveKick  = new DiveKickState(playerRigidBody, 20f, ActorLookingRight);
        Knockback = new KnockbackState(playerCollider, 5f, ActorLookingRight, EvalKnockbackResult);
        actionState.ChangeState(Idle);
        movementState.ChangeState(Grounded);
    }
Esempio n. 3
0
    // Use this for initialization
    protected override void Start()
    {
        m_CurrentHealth = m_MaxHealth;

        m_StateMachine = GetComponent<StateMachine>();
        m_Knockback = GetComponent<KnockbackState>();
        m_ObjectPool = FindObjectOfType<ObjectPool>();

        m_CharacterAnimator = GetComponent<AnimatorHandler>().m_CharacterAnimator;

        m_LayerName = LayerMask.LayerToName(gameObject.layer);
    }