Compare commits
4 Commits
dev
...
leaderboar
Author | SHA1 | Date | |
---|---|---|---|
8e7e5c6ae4 | |||
995eff4781 | |||
39560c1490 | |||
cbdfca5443 |
@ -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:
|
||||||
|
@ -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
|
||||||
|
@ -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; }
|
||||||
}
|
}
|
||||||
|
@ -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))
|
||||||
{
|
{
|
||||||
|
@ -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();
|
||||||
|
@ -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;
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections;
|
using System.Collections;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
public class ScoreboardEntriesTable
|
public class ScoreboardEntriesTable
|
||||||
{
|
{
|
||||||
@ -13,12 +14,12 @@ public class ScoreboardEntriesTable
|
|||||||
|
|
||||||
public class Scoreboard : MonoBehaviour, ICommandTranslator
|
public class Scoreboard : MonoBehaviour, ICommandTranslator
|
||||||
{
|
{
|
||||||
|
[SerializeField] private ScoreboardView scoreboardView;
|
||||||
[SerializeField] private int maxEntries;
|
[SerializeField] private int maxEntries;
|
||||||
private List<ScoreboardEntry> entries = new List<ScoreboardEntry>();
|
private List<ScoreboardEntry> entries = new List<ScoreboardEntry>();
|
||||||
|
|
||||||
public event Action<ScoreboardEntry> OnEntryAdded;
|
public event Action<ScoreboardEntry> OnEntryAdded;
|
||||||
|
|
||||||
[SerializeField] private ScoreboardView scoreboardView;
|
|
||||||
|
|
||||||
private void Start()
|
private void Start()
|
||||||
{
|
{
|
||||||
@ -29,17 +30,15 @@ public class Scoreboard : MonoBehaviour, ICommandTranslator
|
|||||||
return;
|
return;
|
||||||
if (entriesTable.entries == null)
|
if (entriesTable.entries == null)
|
||||||
return;
|
return;
|
||||||
List<PlayerScoreboardCardData> scoreboardCardDatas = new List<PlayerScoreboardCardData>();
|
|
||||||
for (int i = 0; i < entriesTable.entries.Count; i++)
|
for (int i = 0; i < entriesTable.entries.Count; i++)
|
||||||
{
|
{
|
||||||
entries.Add(entriesTable.entries[i]);
|
entries.Add(entriesTable.entries[i]);
|
||||||
OnEntryAdded?.Invoke(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);
|
// Sort scores descending then creates cards (invert this order cause issues)
|
||||||
scoreboardView.AddPlayerCards(scoreboardCardDatas);
|
entries.Sort((x, y) => y.Score.CompareTo(x.Score));
|
||||||
|
scoreboardView.AddEntries(entries.GetRange(0, maxEntries));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void AddScoreboardEntry(string entryName, int entryScore)
|
public void AddScoreboardEntry(string entryName, int entryScore)
|
||||||
@ -68,11 +67,11 @@ public class Scoreboard : MonoBehaviour, ICommandTranslator
|
|||||||
|
|
||||||
public void SaveScoreboardEntriesTable()
|
public void SaveScoreboardEntriesTable()
|
||||||
{
|
{
|
||||||
SortScoreboardEntriesByHighscore(entries);
|
|
||||||
ScoreboardEntriesTable scoreboardEntriesTable = new ScoreboardEntriesTable(entries);
|
ScoreboardEntriesTable scoreboardEntriesTable = new ScoreboardEntriesTable(entries);
|
||||||
string jsonScoreboardEntries = JsonUtility.ToJson(scoreboardEntriesTable);
|
string jsonScoreboardEntries = JsonUtility.ToJson(scoreboardEntriesTable);
|
||||||
PlayerPrefs.SetString("ScoreboardEntriesTableTest", jsonScoreboardEntries);
|
PlayerPrefs.SetString("ScoreboardEntriesTableTest", jsonScoreboardEntries);
|
||||||
PlayerPrefs.Save();
|
PlayerPrefs.Save();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void TranslateCommand(ECommand command, PressedState state)
|
public void TranslateCommand(ECommand command, PressedState state)
|
||||||
|
@ -26,6 +26,15 @@ public class ScoreboardView : BaseView
|
|||||||
AddPlayerCard(cardData);
|
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)
|
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