speed dont augment while in pause + added speed management in playerdata

This commit is contained in:
GreenHal0 2025-01-09 11:00:29 +01:00
parent 8a94ce9de3
commit cbdfca5443
13 changed files with 19330 additions and 19561 deletions

View File

@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: 74ec3c5b307a41c4eac0e62ddf7311a7
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: 74ec3c5b307a41c4eac0e62ddf7311a7
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,6 +1,6 @@
fileFormatVersion: 2
<<<<<<<< HEAD:Assets/TextMesh Pro/Examples & Extras/Scenes/27 - Double Pass Shader Example.unity.meta
guid: 3b38a6ba32b869f48812e595baf39746
guid: 97f4ab700605cdb42a6814eff80fb25c
========
guid: 9fc0d4010bbf28b4594072e72b8655ab
>>>>>>>> 4c350d16a4b31db0659a0e5146e5626a353b2200:Assets/Scenes/DeathScreen.unity.meta

View File

@ -1438,8 +1438,8 @@ MonoBehaviour:
m_Calls: []
m_text: Back
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: 125cb55b44b24c4393181402bc6200e6, type: 2}
m_sharedMaterial: {fileID: 2100000, guid: 125cb55b44b24c4393181402bc6200e6, type: 2}
m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
m_fontMaterials: []
@ -1463,7 +1463,7 @@ MonoBehaviour:
m_faceColor:
serializedVersion: 2
rgba: 4294967295
m_fontSize: 37.6
m_fontSize: 35.8
m_fontSizeBase: 41
m_fontWeight: 400
m_enableAutoSizing: 1
@ -3632,8 +3632,8 @@ MonoBehaviour:
m_Calls: []
m_text: SCOREBOARD
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: 125cb55b44b24c4393181402bc6200e6, type: 2}
m_sharedMaterial: {fileID: 2100000, guid: 125cb55b44b24c4393181402bc6200e6, type: 2}
m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
m_fontMaterials: []
@ -3657,7 +3657,7 @@ MonoBehaviour:
m_faceColor:
serializedVersion: 2
rgba: 4294967295
m_fontSize: 36.9
m_fontSize: 27.95
m_fontSizeBase: 48
m_fontWeight: 400
m_enableAutoSizing: 1
@ -3820,6 +3820,10 @@ PrefabInstance:
propertyPath: laneSystem
value:
objectReference: {fileID: 106057762}
- target: {fileID: 7509186232753540492, guid: 01fa89ab9028c864b8560621b7d51f50, type: 3}
propertyPath: playerData
value:
objectReference: {fileID: 11400000, guid: 928d6efd735c3814d955e3f955a0264a, type: 2}
- target: {fileID: 7581911058254726377, guid: 01fa89ab9028c864b8560621b7d51f50, type: 3}
propertyPath: m_Name
value: Player

View File

@ -7,5 +7,7 @@ public class PlayerData : ScriptableObject
[field: SerializeField] public int InvincibilityTime { get; private set; }
[field: SerializeField] public float JumpHeight { get; private set; }
[field: SerializeField] public float LaneSwitchSpeed { get; private set; }
[field: SerializeField] public float Speed { get; set; }
[field: SerializeField] public float InitialSpeed { get; private set; }
[field: SerializeField] public float SpeedAcceleration { get; private set; }
[field: SerializeField] public float CurrentSpeed { get; set; }
}

View File

@ -13,6 +13,7 @@ public class GameSession : MonoBehaviour,IResettable
private IInputTranslator inputTranslator;
private bool isSessionPaused = false;
private float speedAtPause;
private bool isInputAlreadyRestricted = false;
private void Awake()
@ -60,6 +61,15 @@ public class GameSession : MonoBehaviour,IResettable
public void PauseSession(bool isPaused)
{
// Save the speed before pausing the game and restore it while the game resume
if (isPaused)
{
speedAtPause = currentPlayer.PlayerData.CurrentSpeed;
}else{
currentPlayer.PlayerData.CurrentSpeed = speedAtPause;
}
Time.timeScale = isPaused ? 0 : 1;
if (!isSessionPaused && inputTranslator.IsTranslationResticted(InputConstants.InGameCommands))
{

View File

@ -29,7 +29,6 @@ public class Player : MonoBehaviour,IResettable, ICommandTranslator
[SerializeField] private PlayerData playerData;
private int initialSpeed;
public IDamageable PlayerHealth { get; private set; }
public Statistics PlayerStatictics { get; private set; }
public PlayerData PlayerData { get { return playerData; } }
@ -60,7 +59,6 @@ public class Player : MonoBehaviour,IResettable, ICommandTranslator
PlayerStatictics = GetComponent<Statistics>();
PlayerStateMachine = new PlayerStateMachine(this);
InvincibilityTime = playerData.InvincibilityTime;
initialSpeed = (int)playerData.Speed;
}
private void OnEnable()
{
@ -78,7 +76,7 @@ public class Player : MonoBehaviour,IResettable, ICommandTranslator
private void Update()
{
PlayerData.Speed += 0.0001f;
playerData.CurrentSpeed += playerData.SpeedAcceleration / 100;
// Add smthg to manage the animator speed
PlayerStateMachine.Tick();
}
@ -113,7 +111,7 @@ public class Player : MonoBehaviour,IResettable, ICommandTranslator
private void Die()
{
PlayerData.Speed = initialSpeed;
PlayerData.CurrentSpeed = PlayerData.InitialSpeed;
PlayerStateMachine.SetState(PlayerStateMachine.PlayerDeadState);
GameSession.Instance.UpdateScoreboard(new ScoreboardEntry(name,PlayerStatictics.Score));
@ -133,6 +131,7 @@ public class Player : MonoBehaviour,IResettable, ICommandTranslator
}
public void ResetToDefault()
{
PlayerData.CurrentSpeed = PlayerData.InitialSpeed;
PlayerStateMachine.SetState(null);
PlayerStatictics.ResetToDefault();
LaneSystem.ResetToDefault();

View File

@ -12,7 +12,7 @@ public abstract class MovingState : PlayerState
public MovingState(PlayerStateMachine playerStateMachine) : base(playerStateMachine)
{
this.playerSM = playerStateMachine;
speed = playerData.Speed;
speed = playerData.CurrentSpeed;
laneSwitchSpeed = playerData.LaneSwitchSpeed;
}
public override void OnStateEnter(){}
@ -21,7 +21,7 @@ public abstract class MovingState : PlayerState
public override void Tick()
{
speed = playerData.Speed;
speed = playerData.CurrentSpeed;
//HandleDirection();
playerSM.HorizontalDeltaPosition = playerSM.PlayerTransform.forward * speed * Time.deltaTime ;
playerSM.HorizontalDeltaPosition += playerSM.PlayerTransform.forward * speed * Time.deltaTime;

File diff suppressed because one or more lines are too long