Compare commits
4 Commits
dev
...
leaderboar
Author | SHA1 | Date | |
---|---|---|---|
8e7e5c6ae4 | |||
995eff4781 | |||
39560c1490 | |||
cbdfca5443 |
@ -1,9 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
<<<<<<<< HEAD:Assets/TextMesh Pro/Examples & Extras/Scenes/27 - Double Pass Shader Example.unity.meta
|
||||
guid: 43c23d1fff294aa4b90d180240a2295a
|
||||
========
|
||||
guid: 9fc0d4010bbf28b4594072e72b8655ab
|
||||
>>>>>>>> 4c350d16a4b31db0659a0e5146e5626a353b2200:Assets/Scenes/DeathScreen.unity.meta
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
|
@ -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
|
||||
|
@ -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; }
|
||||
}
|
||||
|
@ -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))
|
||||
{
|
||||
|
@ -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();
|
||||
|
@ -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;
|
||||
|
@ -1,6 +1,7 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using UnityEngine;
|
||||
public class ScoreboardEntriesTable
|
||||
{
|
||||
@ -13,12 +14,12 @@ public class ScoreboardEntriesTable
|
||||
|
||||
public class Scoreboard : MonoBehaviour, ICommandTranslator
|
||||
{
|
||||
[SerializeField] private ScoreboardView scoreboardView;
|
||||
[SerializeField] private int maxEntries;
|
||||
private List<ScoreboardEntry> entries = new List<ScoreboardEntry>();
|
||||
|
||||
public event Action<ScoreboardEntry> OnEntryAdded;
|
||||
|
||||
[SerializeField] private ScoreboardView scoreboardView;
|
||||
|
||||
private void Start()
|
||||
{
|
||||
@ -29,17 +30,15 @@ public class Scoreboard : MonoBehaviour, ICommandTranslator
|
||||
return;
|
||||
if (entriesTable.entries == null)
|
||||
return;
|
||||
List<PlayerScoreboardCardData> scoreboardCardDatas = new List<PlayerScoreboardCardData>();
|
||||
for (int i = 0; i < entriesTable.entries.Count; i++)
|
||||
{
|
||||
entries.Add(entriesTable.entries[i]);
|
||||
OnEntryAdded?.Invoke(entriesTable.entries[i]);
|
||||
PlayerScoreboardCardData cardData = new PlayerScoreboardCardData(entriesTable.entries[i].Name, entriesTable.entries[i].Score.ToString());
|
||||
scoreboardCardDatas.Add(cardData);
|
||||
}
|
||||
SortScoreboardEntriesByHighscore(entries);
|
||||
SortScoreboardCardsDatasByHighscore(scoreboardCardDatas);
|
||||
scoreboardView.AddPlayerCards(scoreboardCardDatas);
|
||||
|
||||
// Sort scores descending then creates cards (invert this order cause issues)
|
||||
entries.Sort((x, y) => y.Score.CompareTo(x.Score));
|
||||
scoreboardView.AddEntries(entries.GetRange(0, maxEntries));
|
||||
}
|
||||
|
||||
public void AddScoreboardEntry(string entryName, int entryScore)
|
||||
@ -68,11 +67,11 @@ public class Scoreboard : MonoBehaviour, ICommandTranslator
|
||||
|
||||
public void SaveScoreboardEntriesTable()
|
||||
{
|
||||
SortScoreboardEntriesByHighscore(entries);
|
||||
ScoreboardEntriesTable scoreboardEntriesTable = new ScoreboardEntriesTable(entries);
|
||||
string jsonScoreboardEntries = JsonUtility.ToJson(scoreboardEntriesTable);
|
||||
PlayerPrefs.SetString("ScoreboardEntriesTableTest", jsonScoreboardEntries);
|
||||
PlayerPrefs.Save();
|
||||
|
||||
}
|
||||
|
||||
public void TranslateCommand(ECommand command, PressedState state)
|
||||
|
@ -26,6 +26,15 @@ public class ScoreboardView : BaseView
|
||||
AddPlayerCard(cardData);
|
||||
}
|
||||
}
|
||||
public void AddEntries(List<ScoreboardEntry> entries)
|
||||
{
|
||||
int rank = 1;
|
||||
foreach (var entry in entries)
|
||||
{
|
||||
AddPlayerCard(new PlayerScoreboardCardData(rank + ".\t" + entry.Name, entry.Score.ToString()));
|
||||
rank++;
|
||||
}
|
||||
}
|
||||
|
||||
private void AddPlayerCard(PlayerScoreboardCardData cardData)
|
||||
{
|
||||
|
File diff suppressed because one or more lines are too long
Loading…
x
Reference in New Issue
Block a user