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); }
public override string GetHitAnimName(EPlayerStance playerStance, EStunAnimState state) { string hitAnimName = K_GRAB_HIT_ANIM; hitAnimName += m_Config.m_GrabType.ToString(); return(hitAnimName); }
public EPlayerStance GetCurrentStance() { EPlayerStance playerStance = EPlayerStance.Stand; if (IsCrouching()) { playerStance = EPlayerStance.Crouch; } else if (IsJumping()) { playerStance = EPlayerStance.Jump; } return(playerStance); }
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); }
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; } }
// 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)); }
public override string GetBlockAnimName(EPlayerStance playerStance, EStunAnimState state) { string blockAnimName = K_GRAB_BLOCK_ANIM; return(blockAnimName); }
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 }); } } }
public void checkStance(EPlayerStance newStance) { this.checkStance(newStance, false); }
public virtual string GetHitAnimName(EPlayerStance playerStance, EStunAnimState state) { return(""); }
public UnturnedPlayerUpdateStanceEvent(IPlayer player, EPlayerStance stance, EventExecutionTargetContext executionTarget = EventExecutionTargetContext.Sync, bool global = true) : base(player, executionTarget, global) { Stance = stance; }
public UnturnedPlayerUpdateStanceEvent(IPlayer player, EPlayerStance stance, bool global = true) : base(player, global) { Stance = stance; }
public UnturnedPlayerUpdateStanceEvent(IPlayer player, EPlayerStance stance) : base(player) { Stance = stance; }