Example #1
0
    public override string GetHitAnimName(EPlayerStance playerStance, EStunAnimState state)
    {
        string hitAnimName = "Hit";

        hitAnimName += playerStance.ToString();

        if (IsHitKO())
        {
            hitAnimName += "KO";
        }
        else
        {
            switch (playerStance)
            {
            case EPlayerStance.Stand:
                hitAnimName += m_Config.m_HitHeight.ToString();
                hitAnimName += m_Config.m_HitStrength.ToString();
                hitAnimName += "_" + state.ToString();
                break;

            case EPlayerStance.Crouch:
                hitAnimName += "Low";     // Crouch hit is necessarily low
                hitAnimName += m_Config.m_HitStrength.ToString();
                hitAnimName += "_" + state.ToString();
                break;

            case EPlayerStance.Jump:
                // Jump hit doesn't need hit height / strength
                break;
            }
        }

        return(hitAnimName);
    }
Example #2
0
    public override string GetHitAnimName(EPlayerStance playerStance, EStunAnimState state)
    {
        string hitAnimName = K_GRAB_HIT_ANIM;

        hitAnimName += m_Config.m_GrabType.ToString();
        return(hitAnimName);
    }
Example #3
0
    public EPlayerStance GetCurrentStance()
    {
        EPlayerStance playerStance = EPlayerStance.Stand;

        if (IsCrouching())
        {
            playerStance = EPlayerStance.Crouch;
        }
        else if (IsJumping())
        {
            playerStance = EPlayerStance.Jump;
        }

        return(playerStance);
    }
Example #4
0
    public override string GetBlockAnimName(EPlayerStance playerStance, EStunAnimState state)
    {
        string blockAnimName = "Block";

        blockAnimName += playerStance.ToString();

        if (playerStance == EPlayerStance.Jump)
        {
            KakutoDebug.LogError("A player can't block an attack while jumping.");
        }

        blockAnimName += "_" + state.ToString();

        return(blockAnimName);
    }
Example #5
0
    public void ChangePlayerStance(EPlayerStance newStance, EJumpPhase newJumpPhase)
    {
        if (m_PlayerStance != newStance)
        {
            ChronicleManager.AddChronicle(gameObject, EChronicleCategory.Movement, "On player stance changed | " + string.Format("{0,-20} {1,-20}", ("Old stance : " + m_PlayerStance), "New stance : " + newStance));
            m_PlayerStance = newStance;
            m_Animator.ResetTrigger(K_ANIM_TURN_AROUND_TRIGGER);
        }

        if (m_JumpPhase != newJumpPhase)
        {
            ChronicleManager.AddChronicle(gameObject, EChronicleCategory.Movement, "On player jump phase changed | " + string.Format("{0,-20} {1,-20}", ("Old phase : " + m_JumpPhase), "New phase : " + newJumpPhase));
            m_JumpPhase = newJumpPhase;
        }
    }
Example #6
0
    // Update is called once per frame
    void Update()
    {
        if (IsPlayerTimeFrozen())
        {
            return;
        }

        UpdatePlayerSide();

        int playerIndex = m_InfoComponent.GetPlayerIndex();

        m_HorizontalMoveInput = 0f;
        m_JumpInput           = false;
        m_CrouchInput         = false;

        bool          isStatic      = m_InfoComponent.GetPlayerSettings().m_IsStatic;
        EPlayerStance defaultStance = m_InfoComponent.GetPlayerSettings().m_DefaultStance;

        if (m_MovementBlockedReason != EBlockedReason.TimeOver)
        {
            m_CrouchInput = (isStatic) ? defaultStance == EPlayerStance.Crouch : InputManager.GetCrouchInput(playerIndex);
        }

        if (!m_IsMovementBlocked)
        {
            if (!isStatic)
            {
                m_HorizontalMoveInput = InputManager.GetHorizontalMovement(playerIndex);
            }
            m_JumpInput = (isStatic) ? defaultStance == EPlayerStance.Jump : InputManager.GetJumpInput(playerIndex);

            if (IsStanding())
            {
                if (m_JumpInput && !m_JumpTakeOffRequested && !m_TriggerJumpImpulse && m_Controller.CanJump())
                {
                    ChronicleManager.AddChronicle(gameObject, EChronicleCategory.Movement, "Jump take off requested");

                    m_Animator.SetTrigger(K_ANIM_TAKE_OFF_TRIGGER);
                    m_AttackComponent.SetAttackBlockedByTakeOff(true);
                    m_JumpTakeOffRequested = true;
                    m_JumpTakeOffDirection = m_HorizontalMoveInput;
                }
            }
        }

        m_Animator.SetBool(K_ANIM_IS_CROUCHING_BOOL, m_CrouchInput);
        m_Animator.SetFloat(K_ANIM_SPEED_FLOAT, Mathf.Abs(m_HorizontalMoveInput));
    }
Example #7
0
    public override string GetBlockAnimName(EPlayerStance playerStance, EStunAnimState state)
    {
        string blockAnimName = K_GRAB_BLOCK_ANIM;

        return(blockAnimName);
    }
Example #8
0
 public void checkStance(EPlayerStance newStance, bool all)
 {
     if (base.player.movement.getVehicle() != null && newStance != EPlayerStance.DRIVING && newStance != EPlayerStance.SITTING)
     {
         return;
     }
     if (newStance == this.stance)
     {
         return;
     }
     if ((newStance == EPlayerStance.PRONE || newStance == EPlayerStance.CROUCH) && (!base.player.movement.isGrounded || base.player.movement.fall > 0f))
     {
         return;
     }
     if (newStance == EPlayerStance.STAND && (this.stance == EPlayerStance.CROUCH || this.stance == EPlayerStance.PRONE))
     {
         if (Time.realtimeSinceStartup - this.lastStance <= PlayerStance.COOLDOWN)
         {
             return;
         }
         this.lastStance = Time.realtimeSinceStartup;
         if (!this.checkSpace(1.5f))
         {
             return;
         }
         if (!this.checkSpace(1f))
         {
             return;
         }
         if (!this.checkSpace(0.5f))
         {
             return;
         }
     }
     if (newStance == EPlayerStance.CROUCH && this.stance == EPlayerStance.PRONE)
     {
         if (Time.realtimeSinceStartup - this.lastStance <= PlayerStance.COOLDOWN)
         {
             return;
         }
         this.lastStance = Time.realtimeSinceStartup;
         if (!this.checkSpace(1f))
         {
             return;
         }
         if (!this.checkSpace(0.5f))
         {
             return;
         }
     }
     if (Provider.isServer)
     {
         if (base.player.animator.gesture == EPlayerGesture.INVENTORY_START)
         {
             if (newStance != EPlayerStance.STAND && newStance != EPlayerStance.SPRINT && newStance != EPlayerStance.CROUCH)
             {
                 base.player.animator.sendGesture(EPlayerGesture.INVENTORY_STOP, false);
             }
         }
         else if (base.player.animator.gesture == EPlayerGesture.SURRENDER_START)
         {
             base.player.animator.sendGesture(EPlayerGesture.SURRENDER_STOP, true);
         }
         else if (base.player.animator.gesture == EPlayerGesture.REST_START)
         {
             base.player.animator.sendGesture(EPlayerGesture.REST_STOP, true);
         }
     }
     this.stance = newStance;
     if (this.onStanceUpdated != null)
     {
         this.onStanceUpdated();
     }
     if (Provider.isServer)
     {
         if (all)
         {
             base.channel.send("tellStance", ESteamCall.ALL, ESteamPacket.UPDATE_UNRELIABLE_BUFFER, new object[]
             {
                 (byte)this.stance
             });
         }
         else
         {
             base.channel.send("tellStance", ESteamCall.NOT_OWNER, ESteamPacket.UPDATE_UNRELIABLE_BUFFER, new object[]
             {
                 (byte)this.stance
             });
         }
     }
 }
Example #9
0
 public void checkStance(EPlayerStance newStance)
 {
     this.checkStance(newStance, false);
 }
Example #10
0
 public virtual string GetHitAnimName(EPlayerStance playerStance, EStunAnimState state)
 {
     return("");
 }
Example #11
0
 public UnturnedPlayerUpdateStanceEvent(IPlayer player, EPlayerStance stance, EventExecutionTargetContext executionTarget = EventExecutionTargetContext.Sync, bool global = true) : base(player, executionTarget, global)
 {
     Stance = stance;
 }
Example #12
0
 public UnturnedPlayerUpdateStanceEvent(IPlayer player, EPlayerStance stance, bool global = true) : base(player, global)
 {
     Stance = stance;
 }
Example #13
0
 public UnturnedPlayerUpdateStanceEvent(IPlayer player, EPlayerStance stance) : base(player)
 {
     Stance = stance;
 }