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_StepOffset: 0.3
|
||||
m_SkinWidth: 0.08
|
||||
m_MinMoveDistance: 0.001
|
||||
m_MinMoveDistance: 0.0001
|
||||
m_Center: {x: 0, y: 0, z: 0}
|
||||
--- !u!54 &8985924327125149956
|
||||
Rigidbody:
|
||||
@@ -942,7 +942,7 @@ Rigidbody:
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 9016311960615966999}
|
||||
serializedVersion: 4
|
||||
m_Mass: 1
|
||||
m_Mass: 100
|
||||
m_Drag: 0
|
||||
m_AngularDrag: 0.05
|
||||
m_CenterOfMass: {x: 0, y: 0, z: 0}
|
||||
@@ -959,7 +959,7 @@ Rigidbody:
|
||||
m_UseGravity: 0
|
||||
m_IsKinematic: 0
|
||||
m_Interpolate: 0
|
||||
m_Constraints: 80
|
||||
m_Constraints: 10
|
||||
m_CollisionDetection: 0
|
||||
--- !u!114 &3824427059318413399
|
||||
MonoBehaviour:
|
||||
|
||||
@@ -641,6 +641,11 @@ PrefabInstance:
|
||||
m_AddedGameObjects: []
|
||||
m_AddedComponents: []
|
||||
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
|
||||
Transform:
|
||||
m_CorrespondingSourceObject: {fileID: 3465613687167644384, guid: 0a6d9f24857a5d742b9df2df7da4a192, type: 3}
|
||||
@@ -926,6 +931,21 @@ Transform:
|
||||
m_CorrespondingSourceObject: {fileID: 4458204531961996595, guid: cb78e85aa373c3a4498d453f91e6f5e0, type: 3}
|
||||
m_PrefabInstance: {fileID: 1465524055576149525}
|
||||
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
|
||||
Transform:
|
||||
m_CorrespondingSourceObject: {fileID: 6025933111829980118, guid: ca28c894d7e3a8e4d8feb70b9a8bb1c4, type: 3}
|
||||
@@ -1503,7 +1523,10 @@ PrefabInstance:
|
||||
m_RemovedComponents: []
|
||||
m_RemovedGameObjects: []
|
||||
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}
|
||||
--- !u!1001 &1815240206413736077
|
||||
PrefabInstance:
|
||||
|
||||
@@ -1294,8 +1294,31 @@ PrefabInstance:
|
||||
m_RemovedComponents: []
|
||||
m_RemovedGameObjects: []
|
||||
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}
|
||||
--- !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
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
|
||||
@@ -1903,8 +1903,31 @@ PrefabInstance:
|
||||
m_RemovedComponents: []
|
||||
m_RemovedGameObjects: []
|
||||
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}
|
||||
--- !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
|
||||
PrefabInstance:
|
||||
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 Dictionary<BulletType, int> inventory = new();
|
||||
|
||||
public void Start() {
|
||||
public void Awake() {
|
||||
if (i) { Destroy(gameObject); return; }
|
||||
i = GetComponent<GameController>();
|
||||
DontDestroyOnLoad(gameObject);
|
||||
|
||||
@@ -31,10 +31,13 @@ public class PlayerMovement : MonoBehaviour
|
||||
HandleJumping();
|
||||
HandleMovement();
|
||||
HandleDashing();
|
||||
DoGravity();
|
||||
HandleConstantVelocity();
|
||||
}
|
||||
|
||||
void FixedUpdate() {
|
||||
DoGravity();
|
||||
}
|
||||
|
||||
void HandleJumping() {
|
||||
if (movementInactive > 0) return;
|
||||
if (Input.GetKey(KeyCode.Space) && grounded) {
|
||||
@@ -70,12 +73,12 @@ public class PlayerMovement : MonoBehaviour
|
||||
void DoGravity() {
|
||||
if (gravityInactive > 0) {
|
||||
gravityVelocity = Vector3.zero;
|
||||
gravityInactive = Mathf.Max(gravityInactive -= Time.deltaTime, 0);
|
||||
gravityInactive = Mathf.Max(gravityInactive -= Time.fixedDeltaTime, 0);
|
||||
return;
|
||||
}
|
||||
if (grounded && gravityVelocity.y < 0) gravityVelocity = Vector3.zero;
|
||||
gravityVelocity += Physics.gravity * (Time.deltaTime * gravityMultiplier);
|
||||
characterController.Move(gravityVelocity * Time.deltaTime);
|
||||
gravityVelocity += Physics.gravity * (Time.fixedDeltaTime * gravityMultiplier);
|
||||
characterController.Move(gravityVelocity * Time.fixedDeltaTime);
|
||||
}
|
||||
|
||||
void HandleConstantVelocity() {
|
||||
|
||||
Reference in New Issue
Block a user