add: damage to lava
update: moved player gravitation to FixedUpdate update: GameController initialization is moved to Awake
This commit is contained in:
@@ -932,7 +932,7 @@ CharacterController:
|
|||||||
m_SlopeLimit: 45
|
m_SlopeLimit: 45
|
||||||
m_StepOffset: 0.3
|
m_StepOffset: 0.3
|
||||||
m_SkinWidth: 0.08
|
m_SkinWidth: 0.08
|
||||||
m_MinMoveDistance: 0.001
|
m_MinMoveDistance: 0.0001
|
||||||
m_Center: {x: 0, y: 0, z: 0}
|
m_Center: {x: 0, y: 0, z: 0}
|
||||||
--- !u!54 &8985924327125149956
|
--- !u!54 &8985924327125149956
|
||||||
Rigidbody:
|
Rigidbody:
|
||||||
@@ -942,7 +942,7 @@ Rigidbody:
|
|||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
m_GameObject: {fileID: 9016311960615966999}
|
m_GameObject: {fileID: 9016311960615966999}
|
||||||
serializedVersion: 4
|
serializedVersion: 4
|
||||||
m_Mass: 1
|
m_Mass: 100
|
||||||
m_Drag: 0
|
m_Drag: 0
|
||||||
m_AngularDrag: 0.05
|
m_AngularDrag: 0.05
|
||||||
m_CenterOfMass: {x: 0, y: 0, z: 0}
|
m_CenterOfMass: {x: 0, y: 0, z: 0}
|
||||||
@@ -959,7 +959,7 @@ Rigidbody:
|
|||||||
m_UseGravity: 0
|
m_UseGravity: 0
|
||||||
m_IsKinematic: 0
|
m_IsKinematic: 0
|
||||||
m_Interpolate: 0
|
m_Interpolate: 0
|
||||||
m_Constraints: 80
|
m_Constraints: 10
|
||||||
m_CollisionDetection: 0
|
m_CollisionDetection: 0
|
||||||
--- !u!114 &3824427059318413399
|
--- !u!114 &3824427059318413399
|
||||||
MonoBehaviour:
|
MonoBehaviour:
|
||||||
|
|||||||
@@ -641,6 +641,11 @@ PrefabInstance:
|
|||||||
m_AddedGameObjects: []
|
m_AddedGameObjects: []
|
||||||
m_AddedComponents: []
|
m_AddedComponents: []
|
||||||
m_SourcePrefab: {fileID: 100100000, guid: 53e225dcb536a6f46b5844bb8db07fe4, type: 3}
|
m_SourcePrefab: {fileID: 100100000, guid: 53e225dcb536a6f46b5844bb8db07fe4, type: 3}
|
||||||
|
--- !u!1 &914314127 stripped
|
||||||
|
GameObject:
|
||||||
|
m_CorrespondingSourceObject: {fileID: 3933166166638460809, guid: cb78e85aa373c3a4498d453f91e6f5e0, type: 3}
|
||||||
|
m_PrefabInstance: {fileID: 1465524055576149525}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
--- !u!4 &963998287 stripped
|
--- !u!4 &963998287 stripped
|
||||||
Transform:
|
Transform:
|
||||||
m_CorrespondingSourceObject: {fileID: 3465613687167644384, guid: 0a6d9f24857a5d742b9df2df7da4a192, type: 3}
|
m_CorrespondingSourceObject: {fileID: 3465613687167644384, guid: 0a6d9f24857a5d742b9df2df7da4a192, type: 3}
|
||||||
@@ -926,6 +931,21 @@ Transform:
|
|||||||
m_CorrespondingSourceObject: {fileID: 4458204531961996595, guid: cb78e85aa373c3a4498d453f91e6f5e0, type: 3}
|
m_CorrespondingSourceObject: {fileID: 4458204531961996595, guid: cb78e85aa373c3a4498d453f91e6f5e0, type: 3}
|
||||||
m_PrefabInstance: {fileID: 1465524055576149525}
|
m_PrefabInstance: {fileID: 1465524055576149525}
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
--- !u!114 &1482790149
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 914314127}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: fb7839678d2d2f7429a6dbd22c7efb93, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
hitRate: 1
|
||||||
|
damage: 5
|
||||||
|
currentDelay: 0
|
||||||
--- !u!4 &1507655617 stripped
|
--- !u!4 &1507655617 stripped
|
||||||
Transform:
|
Transform:
|
||||||
m_CorrespondingSourceObject: {fileID: 6025933111829980118, guid: ca28c894d7e3a8e4d8feb70b9a8bb1c4, type: 3}
|
m_CorrespondingSourceObject: {fileID: 6025933111829980118, guid: ca28c894d7e3a8e4d8feb70b9a8bb1c4, type: 3}
|
||||||
@@ -1503,7 +1523,10 @@ PrefabInstance:
|
|||||||
m_RemovedComponents: []
|
m_RemovedComponents: []
|
||||||
m_RemovedGameObjects: []
|
m_RemovedGameObjects: []
|
||||||
m_AddedGameObjects: []
|
m_AddedGameObjects: []
|
||||||
m_AddedComponents: []
|
m_AddedComponents:
|
||||||
|
- targetCorrespondingSourceObject: {fileID: 3933166166638460809, guid: cb78e85aa373c3a4498d453f91e6f5e0, type: 3}
|
||||||
|
insertIndex: -1
|
||||||
|
addedObject: {fileID: 1482790149}
|
||||||
m_SourcePrefab: {fileID: 100100000, guid: cb78e85aa373c3a4498d453f91e6f5e0, type: 3}
|
m_SourcePrefab: {fileID: 100100000, guid: cb78e85aa373c3a4498d453f91e6f5e0, type: 3}
|
||||||
--- !u!1001 &1815240206413736077
|
--- !u!1001 &1815240206413736077
|
||||||
PrefabInstance:
|
PrefabInstance:
|
||||||
|
|||||||
@@ -1294,8 +1294,31 @@ PrefabInstance:
|
|||||||
m_RemovedComponents: []
|
m_RemovedComponents: []
|
||||||
m_RemovedGameObjects: []
|
m_RemovedGameObjects: []
|
||||||
m_AddedGameObjects: []
|
m_AddedGameObjects: []
|
||||||
m_AddedComponents: []
|
m_AddedComponents:
|
||||||
|
- targetCorrespondingSourceObject: {fileID: 3933166166638460809, guid: cb78e85aa373c3a4498d453f91e6f5e0, type: 3}
|
||||||
|
insertIndex: -1
|
||||||
|
addedObject: {fileID: 1465524055576149527}
|
||||||
m_SourcePrefab: {fileID: 100100000, guid: cb78e85aa373c3a4498d453f91e6f5e0, type: 3}
|
m_SourcePrefab: {fileID: 100100000, guid: cb78e85aa373c3a4498d453f91e6f5e0, type: 3}
|
||||||
|
--- !u!1 &1465524055576149526 stripped
|
||||||
|
GameObject:
|
||||||
|
m_CorrespondingSourceObject: {fileID: 3933166166638460809, guid: cb78e85aa373c3a4498d453f91e6f5e0, type: 3}
|
||||||
|
m_PrefabInstance: {fileID: 1465524055576149525}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
--- !u!114 &1465524055576149527
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1465524055576149526}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: fb7839678d2d2f7429a6dbd22c7efb93, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
hitRate: 1
|
||||||
|
damage: 5
|
||||||
|
currentDelay: 0
|
||||||
--- !u!1001 &1815240206413736077
|
--- !u!1001 &1815240206413736077
|
||||||
PrefabInstance:
|
PrefabInstance:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
|||||||
@@ -1903,8 +1903,31 @@ PrefabInstance:
|
|||||||
m_RemovedComponents: []
|
m_RemovedComponents: []
|
||||||
m_RemovedGameObjects: []
|
m_RemovedGameObjects: []
|
||||||
m_AddedGameObjects: []
|
m_AddedGameObjects: []
|
||||||
m_AddedComponents: []
|
m_AddedComponents:
|
||||||
|
- targetCorrespondingSourceObject: {fileID: 3933166166638460809, guid: cb78e85aa373c3a4498d453f91e6f5e0, type: 3}
|
||||||
|
insertIndex: -1
|
||||||
|
addedObject: {fileID: 1465524055576149527}
|
||||||
m_SourcePrefab: {fileID: 100100000, guid: cb78e85aa373c3a4498d453f91e6f5e0, type: 3}
|
m_SourcePrefab: {fileID: 100100000, guid: cb78e85aa373c3a4498d453f91e6f5e0, type: 3}
|
||||||
|
--- !u!1 &1465524055576149526 stripped
|
||||||
|
GameObject:
|
||||||
|
m_CorrespondingSourceObject: {fileID: 3933166166638460809, guid: cb78e85aa373c3a4498d453f91e6f5e0, type: 3}
|
||||||
|
m_PrefabInstance: {fileID: 1465524055576149525}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
--- !u!114 &1465524055576149527
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1465524055576149526}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: fb7839678d2d2f7429a6dbd22c7efb93, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
hitRate: 1
|
||||||
|
damage: 5
|
||||||
|
currentDelay: 0
|
||||||
--- !u!1001 &1815240206413736077
|
--- !u!1001 &1815240206413736077
|
||||||
PrefabInstance:
|
PrefabInstance:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
|||||||
@@ -0,0 +1,25 @@
|
|||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
public class DamagingObject : MonoBehaviour
|
||||||
|
{
|
||||||
|
public float hitRate = 1f;
|
||||||
|
public float damage = 5f;
|
||||||
|
|
||||||
|
[SerializeField] float currentDelay = 0;
|
||||||
|
|
||||||
|
void Start() {
|
||||||
|
if (hitRate != 0) currentDelay = 1 / hitRate;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Update() {
|
||||||
|
if (hitRate != 0) currentDelay = Mathf.Clamp(currentDelay += Time.deltaTime, 0, 1 / hitRate);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void ReverseOnControllerColliderHit(ControllerColliderHit hit) {
|
||||||
|
if (hit.controller.CompareTag("Player") && currentDelay == 1 / hitRate) {
|
||||||
|
Player player = hit.controller.GetComponent<Player>();
|
||||||
|
player.DealDamage(damage);
|
||||||
|
currentDelay = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: fb7839678d2d2f7429a6dbd22c7efb93
|
||||||
@@ -13,7 +13,7 @@ public class GameController : MonoBehaviour
|
|||||||
public List<EnemyInfo> enemies;
|
public List<EnemyInfo> enemies;
|
||||||
public Dictionary<BulletType, int> inventory = new();
|
public Dictionary<BulletType, int> inventory = new();
|
||||||
|
|
||||||
public void Start() {
|
public void Awake() {
|
||||||
if (i) { Destroy(gameObject); return; }
|
if (i) { Destroy(gameObject); return; }
|
||||||
i = GetComponent<GameController>();
|
i = GetComponent<GameController>();
|
||||||
DontDestroyOnLoad(gameObject);
|
DontDestroyOnLoad(gameObject);
|
||||||
|
|||||||
@@ -31,10 +31,13 @@ public class PlayerMovement : MonoBehaviour
|
|||||||
HandleJumping();
|
HandleJumping();
|
||||||
HandleMovement();
|
HandleMovement();
|
||||||
HandleDashing();
|
HandleDashing();
|
||||||
DoGravity();
|
|
||||||
HandleConstantVelocity();
|
HandleConstantVelocity();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void FixedUpdate() {
|
||||||
|
DoGravity();
|
||||||
|
}
|
||||||
|
|
||||||
void HandleJumping() {
|
void HandleJumping() {
|
||||||
if (movementInactive > 0) return;
|
if (movementInactive > 0) return;
|
||||||
if (Input.GetKey(KeyCode.Space) && grounded) {
|
if (Input.GetKey(KeyCode.Space) && grounded) {
|
||||||
@@ -70,12 +73,12 @@ public class PlayerMovement : MonoBehaviour
|
|||||||
void DoGravity() {
|
void DoGravity() {
|
||||||
if (gravityInactive > 0) {
|
if (gravityInactive > 0) {
|
||||||
gravityVelocity = Vector3.zero;
|
gravityVelocity = Vector3.zero;
|
||||||
gravityInactive = Mathf.Max(gravityInactive -= Time.deltaTime, 0);
|
gravityInactive = Mathf.Max(gravityInactive -= Time.fixedDeltaTime, 0);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (grounded && gravityVelocity.y < 0) gravityVelocity = Vector3.zero;
|
if (grounded && gravityVelocity.y < 0) gravityVelocity = Vector3.zero;
|
||||||
gravityVelocity += Physics.gravity * (Time.deltaTime * gravityMultiplier);
|
gravityVelocity += Physics.gravity * (Time.fixedDeltaTime * gravityMultiplier);
|
||||||
characterController.Move(gravityVelocity * Time.deltaTime);
|
characterController.Move(gravityVelocity * Time.fixedDeltaTime);
|
||||||
}
|
}
|
||||||
|
|
||||||
void HandleConstantVelocity() {
|
void HandleConstantVelocity() {
|
||||||
|
|||||||
Reference in New Issue
Block a user