/// <summary> /// Manages player facing direction and relevant components /// </summary> /// <param name="characterComponents"><see cref="CharacterComponents"/> component</param> /// <param name="collider2DArrary"><see cref="Collider2D"/> array component of the gameObject</param> /// <param name="move">Moving magnitud with sign</param> public static void ManagePlayerFacing(CharacterComponents characterComponents, Collider2D[] collider2DArrary, float move) { // If the input is moving the player right and the player is facing left... if (move > 0.0f && !characterComponents.CharacterFlags.IsFacingRight) { // ... flip the player. characterComponents.CharacterFlags.IsFacingRight = CharacterController2D.FlipFacingDirection(characterComponents.CharacterFlags.IsFacingRight, characterComponents.SpriteRenderer); // ReOffsets gameObject Collider2Ds CharacterController2D.ReOffsetCollider2Ds(collider2DArrary); // Flip needed transforms CharacterController2D.ManageTransforms(new Transform[] { characterComponents.AttackCheck, characterComponents.ThrowCheck }); } // Otherwise if the input is moving the player left and the player is facing right... else if (move < 0.0f && characterComponents.CharacterFlags.IsFacingRight) { // ... flip the player. characterComponents.CharacterFlags.IsFacingRight = CharacterController2D.FlipFacingDirection(characterComponents.CharacterFlags.IsFacingRight, characterComponents.SpriteRenderer); // ReOffsets gameObject Collider2Ds CharacterController2D.ReOffsetCollider2Ds(collider2DArrary); // Flip needed transforms CharacterController2D.ManageTransforms(new Transform[] { characterComponents.AttackCheck, characterComponents.ThrowCheck }); } }
public CharacterStateGrounded(CharacterComponents characterComponents, Collider2D[] collider2DArrary, Vector3 velocity) { _characterComponents = characterComponents; _collider2DArrary = collider2DArrary; _velocity = velocity; }