Improved jumping and added TODOs
This commit is contained in:
@@ -33,6 +33,7 @@ Transform:
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 7008207193600475140}
|
||||
- {fileID: 3507368432553107122}
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
@@ -194,3 +195,50 @@ MonoBehaviour:
|
||||
layerMask:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967048
|
||||
--- !u!1 &7353493454494059090
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 3507368432553107122}
|
||||
- component: {fileID: 5720529389170152932}
|
||||
m_Layer: 6
|
||||
m_Name: PlayerInteractableTrigger
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &3507368432553107122
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7353493454494059090}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0.72, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1.5, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 7008207192594766311}
|
||||
m_RootOrder: 1
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &5720529389170152932
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7353493454494059090}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 7000c8c0eb91b2d4cb9a0e3ee1b609a7, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
layerMask:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967040
|
||||
|
@@ -132,7 +132,7 @@ PrefabInstance:
|
||||
m_Modifications:
|
||||
- target: {fileID: 3234632762428300599, guid: c0a2079a443363b4da73a0d425221f6c, type: 3}
|
||||
propertyPath: m_RootOrder
|
||||
value: 2
|
||||
value: 3
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3234632762428300599, guid: c0a2079a443363b4da73a0d425221f6c, type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
@@ -251,6 +251,63 @@ MonoBehaviour:
|
||||
m_Calls: []
|
||||
m_LegacyBlendHint: 0
|
||||
m_ComponentOwner: {fileID: 1483260705}
|
||||
--- !u!1001 &353462435
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 2
|
||||
m_Modification:
|
||||
m_TransformParent: {fileID: 0}
|
||||
m_Modifications:
|
||||
- target: {fileID: 2215831379607469555, guid: 166a1e67df866c64990d98902fcbeb71, type: 3}
|
||||
propertyPath: m_RootOrder
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2215831379607469555, guid: 166a1e67df866c64990d98902fcbeb71, type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 5.7088256
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2215831379607469555, guid: 166a1e67df866c64990d98902fcbeb71, type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: 0.16614294
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2215831379607469555, guid: 166a1e67df866c64990d98902fcbeb71, type: 3}
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2215831379607469555, guid: 166a1e67df866c64990d98902fcbeb71, type: 3}
|
||||
propertyPath: m_LocalRotation.w
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2215831379607469555, guid: 166a1e67df866c64990d98902fcbeb71, type: 3}
|
||||
propertyPath: m_LocalRotation.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2215831379607469555, guid: 166a1e67df866c64990d98902fcbeb71, type: 3}
|
||||
propertyPath: m_LocalRotation.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2215831379607469555, guid: 166a1e67df866c64990d98902fcbeb71, type: 3}
|
||||
propertyPath: m_LocalRotation.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2215831379607469555, guid: 166a1e67df866c64990d98902fcbeb71, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2215831379607469555, guid: 166a1e67df866c64990d98902fcbeb71, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2215831379607469555, guid: 166a1e67df866c64990d98902fcbeb71, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6102515708334491356, guid: 166a1e67df866c64990d98902fcbeb71, type: 3}
|
||||
propertyPath: m_Name
|
||||
value: Basic Shooting Patrolling Enemy Variant
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents: []
|
||||
m_SourcePrefab: {fileID: 100100000, guid: 166a1e67df866c64990d98902fcbeb71, type: 3}
|
||||
--- !u!1001 &361923421
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -260,7 +317,7 @@ PrefabInstance:
|
||||
m_Modifications:
|
||||
- target: {fileID: 3234632762428300599, guid: c0a2079a443363b4da73a0d425221f6c, type: 3}
|
||||
propertyPath: m_RootOrder
|
||||
value: 1
|
||||
value: 2
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3234632762428300599, guid: c0a2079a443363b4da73a0d425221f6c, type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
@@ -397,7 +454,7 @@ Transform:
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 7
|
||||
m_RootOrder: 8
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!50 &1408086266
|
||||
Rigidbody2D:
|
||||
@@ -477,7 +534,7 @@ Transform:
|
||||
- {fileID: 1514474963}
|
||||
- {fileID: 65152410}
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 6
|
||||
m_RootOrder: 7
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &1483260704
|
||||
GameObject:
|
||||
@@ -789,7 +846,7 @@ PrefabInstance:
|
||||
m_Modifications:
|
||||
- target: {fileID: 847968262667012088, guid: 9bff55120282d9e45a29d69eea4e6543, type: 3}
|
||||
propertyPath: m_RootOrder
|
||||
value: 5
|
||||
value: 6
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 847968262667012088, guid: 9bff55120282d9e45a29d69eea4e6543, type: 3}
|
||||
propertyPath: m_LocalScale.x
|
||||
@@ -850,7 +907,7 @@ PrefabInstance:
|
||||
m_Modifications:
|
||||
- target: {fileID: 847968262667012088, guid: 9bff55120282d9e45a29d69eea4e6543, type: 3}
|
||||
propertyPath: m_RootOrder
|
||||
value: 3
|
||||
value: 4
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 847968262667012088, guid: 9bff55120282d9e45a29d69eea4e6543, type: 3}
|
||||
propertyPath: m_LocalScale.x
|
||||
@@ -915,7 +972,7 @@ PrefabInstance:
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 7008207192594766311, guid: 2ed6bfce9ad3e19428cb9bef743e0fa3, type: 3}
|
||||
propertyPath: m_RootOrder
|
||||
value: 4
|
||||
value: 5
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 7008207192594766311, guid: 2ed6bfce9ad3e19428cb9bef743e0fa3, type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
|
@@ -8,15 +8,19 @@ namespace Player
|
||||
{
|
||||
public class PlayerController : MonoBehaviour, IMovement, PlayerInput.IPlayerControlActions
|
||||
{
|
||||
private const float DefaultJumpForce = 9.81f;
|
||||
private const float DefaultMass = 80.0f;
|
||||
private const float DefaultJumpForce = 10.0f;
|
||||
private const float DefaultMass = 40.0f;
|
||||
private const float DefaultSpeed = 500.0f;
|
||||
private const float GravityScale = 1.0f;
|
||||
|
||||
private Input.PlayerInput _controls;
|
||||
private const float FallMultiplier = 3f;
|
||||
private const float LowJumpMultiplier = 3f;
|
||||
|
||||
private PlayerInput _controls;
|
||||
private Rigidbody2D _playerRigidbody2D;
|
||||
private SpriteRenderer _playerSpriteRenderer;
|
||||
|
||||
private CollisionChecker _playerGroundTrigger;
|
||||
private CollisionChecker _playerInteractableTrigger;
|
||||
|
||||
private bool _moveKeyPressed;
|
||||
private bool _jumpKeyPressed;
|
||||
@@ -24,18 +28,17 @@ namespace Player
|
||||
private bool _isOnAir;
|
||||
|
||||
private float _xAxisValue;
|
||||
private PlayerInput.IPlayerControlActions _playerControlActionsImplementation;
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
_playerRigidbody2D = gameObject.GetComponent<Rigidbody2D>();
|
||||
_playerRigidbody2D = GetComponent<Rigidbody2D>();
|
||||
_playerSpriteRenderer = GetComponent<SpriteRenderer>();
|
||||
_playerGroundTrigger = GameObject.Find("PlayerGroundTrigger").GetComponent<CollisionChecker>();
|
||||
_playerSpriteRenderer = gameObject.GetComponent<SpriteRenderer>();
|
||||
_playerInteractableTrigger = GameObject.Find("PlayerInteractableTrigger").GetComponent<CollisionChecker>();
|
||||
}
|
||||
|
||||
private void Start()
|
||||
{
|
||||
_playerRigidbody2D.gravityScale = GravityScale;
|
||||
_playerRigidbody2D.mass = DefaultMass;
|
||||
BaseSpeed = DefaultSpeed;
|
||||
}
|
||||
@@ -58,15 +61,33 @@ namespace Player
|
||||
|
||||
private void FixedUpdate()
|
||||
{
|
||||
switch (_playerRigidbody2D.velocity.y)
|
||||
{
|
||||
case < 0:
|
||||
_playerRigidbody2D.velocity +=
|
||||
Vector2.up * (Physics2D.gravity.y * (FallMultiplier - 1) * Time.fixedDeltaTime);
|
||||
break;
|
||||
case > 0 when !_jumpKeyPressed:
|
||||
_playerRigidbody2D.velocity +=
|
||||
Vector2.up * (Physics2D.gravity.y * (LowJumpMultiplier - 1) * Time.fixedDeltaTime);
|
||||
break;
|
||||
}
|
||||
|
||||
if (_moveKeyPressed)
|
||||
Move(_xAxisValue);
|
||||
else
|
||||
_playerRigidbody2D.velocity = new Vector2(0.0f, _playerRigidbody2D.velocity.y);
|
||||
|
||||
//TODO prevent jumping while keep pressing the button
|
||||
if (_jumpKeyPressed && _playerGroundTrigger.IsCollided)
|
||||
Jump();
|
||||
}
|
||||
|
||||
private void Update()
|
||||
{
|
||||
//TODO calculate is on air based on wall and ground triggers
|
||||
}
|
||||
|
||||
// PAUSE METHODS
|
||||
|
||||
public bool IsPaused { get; private set; }
|
||||
@@ -101,8 +122,9 @@ namespace Player
|
||||
|
||||
private void Jump()
|
||||
{
|
||||
_playerRigidbody2D.velocity = new Vector2(_playerRigidbody2D.velocity.x, 0);
|
||||
_playerRigidbody2D.AddForce(Vector2.up.normalized * DefaultJumpForce * DefaultMass, ForceMode2D.Impulse);
|
||||
//_playerRigidbody2D.velocity = new Vector2(_playerRigidbody2D.velocity.x, 0);
|
||||
//_playerRigidbody2D.AddForce(Vector2.up.normalized * DefaultJumpForce * DefaultMass, ForceMode2D.Impulse);
|
||||
_playerRigidbody2D.velocity = Vector2.up * DefaultJumpForce;
|
||||
}
|
||||
|
||||
private void Climb()
|
||||
@@ -141,7 +163,8 @@ namespace Player
|
||||
|
||||
public void OnInteract(InputAction.CallbackContext context)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
if (_playerInteractableTrigger.IsCollided)
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user