Compare commits

...

2 Commits

7 changed files with 19323 additions and 19544 deletions

View File

@ -1,9 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
<<<<<<<< HEAD:Assets/TextMesh Pro/Examples & Extras/Scenes/27 - Double Pass Shader Example.unity.meta
guid: 43c23d1fff294aa4b90d180240a2295a guid: 43c23d1fff294aa4b90d180240a2295a
========
guid: 9fc0d4010bbf28b4594072e72b8655ab
>>>>>>>> 4c350d16a4b31db0659a0e5146e5626a353b2200:Assets/Scenes/DeathScreen.unity.meta
DefaultImporter: DefaultImporter:
externalObjects: {} externalObjects: {}
userData: userData:

View File

@ -3820,6 +3820,10 @@ PrefabInstance:
propertyPath: laneSystem propertyPath: laneSystem
value: value:
objectReference: {fileID: 106057762} 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} - target: {fileID: 7581911058254726377, guid: 01fa89ab9028c864b8560621b7d51f50, type: 3}
propertyPath: m_Name propertyPath: m_Name
value: Player value: Player

View File

@ -7,5 +7,7 @@ public class PlayerData : ScriptableObject
[field: SerializeField] public int InvincibilityTime { get; private set; } [field: SerializeField] public int InvincibilityTime { get; private set; }
[field: SerializeField] public float JumpHeight { get; private set; } [field: SerializeField] public float JumpHeight { get; private set; }
[field: SerializeField] public float LaneSwitchSpeed { 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 IInputTranslator inputTranslator;
private bool isSessionPaused = false; private bool isSessionPaused = false;
private float speedAtPause;
private bool isInputAlreadyRestricted = false; private bool isInputAlreadyRestricted = false;
private void Awake() private void Awake()
@ -60,6 +61,15 @@ public class GameSession : MonoBehaviour,IResettable
public void PauseSession(bool isPaused) 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; Time.timeScale = isPaused ? 0 : 1;
if (!isSessionPaused && inputTranslator.IsTranslationResticted(InputConstants.InGameCommands)) if (!isSessionPaused && inputTranslator.IsTranslationResticted(InputConstants.InGameCommands))
{ {

View File

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

View File

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