1V1 logique OK, Manque modif deathscreen
This commit is contained in:
parent
f47def84dd
commit
2bf911a312
@ -298,7 +298,7 @@ GameObject:
|
||||
- component: {fileID: 70882852}
|
||||
- component: {fileID: 70882851}
|
||||
m_Layer: 0
|
||||
m_Name: GameSessionPlayer2
|
||||
m_Name: GameSession
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
@ -316,7 +316,7 @@ MonoBehaviour:
|
||||
m_Script: {fileID: 11500000, guid: 8c734ff3b010f1640a238a992583af1f, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
<CurveStrengthY>k__BackingField: 0
|
||||
<CurveStrengthY>k__BackingField: 0.0015
|
||||
<CurveStrengthX>k__BackingField: 0
|
||||
curveOrigin: {fileID: 1480218705}
|
||||
--- !u!114 &70882852
|
||||
|
@ -15,4 +15,6 @@ MonoBehaviour:
|
||||
<InvincibilityTime>k__BackingField: 600
|
||||
<JumpHeight>k__BackingField: 6
|
||||
<LaneSwitchSpeed>k__BackingField: 20
|
||||
<Speed>k__BackingField: 10
|
||||
<CurrentSpeed>k__BackingField: 10
|
||||
<InitialSpeed>k__BackingField: 10
|
||||
<SpeedAcceleration>k__BackingField: 0
|
||||
|
@ -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; private set; }
|
||||
[field: SerializeField] public float CurrentSpeed { get; set; }
|
||||
[field: SerializeField] public float InitialSpeed { get; private set; }
|
||||
[field: SerializeField] public float SpeedAcceleration { get; private set; }
|
||||
}
|
||||
|
@ -18,8 +18,9 @@ public class GameSession : MonoBehaviour,IResettable
|
||||
private IInputTranslator _player1InputTranslator;
|
||||
private IInputTranslator _player2InputTranslator;
|
||||
public static string MatchResult { get; private set; }
|
||||
private bool isSessionPaused = false;
|
||||
private bool isInputAlreadyRestricted = false;
|
||||
private bool _isSessionPaused = false;
|
||||
private bool _isInputAlreadyRestricted = false;
|
||||
private float _speedAtPause;
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
@ -77,19 +78,26 @@ public class GameSession : MonoBehaviour,IResettable
|
||||
|
||||
public void PauseSession(bool isPaused)
|
||||
{
|
||||
Time.timeScale = isPaused ? 0 : 1;
|
||||
if (!isSessionPaused && _player1InputTranslator.IsTranslationResticted(InputConstants.InGameCommands) && _player2InputTranslator.IsTranslationResticted(InputConstants.InGameCommands) )
|
||||
if (isPaused)
|
||||
_speedAtPause = player1.playerData.CurrentSpeed;
|
||||
else
|
||||
{
|
||||
isInputAlreadyRestricted = true;
|
||||
isSessionPaused = isPaused;
|
||||
player1.playerData.CurrentSpeed = _speedAtPause;
|
||||
}
|
||||
|
||||
Time.timeScale = isPaused ? 0 : 1;
|
||||
if (!_isSessionPaused && _player1InputTranslator.IsTranslationResticted(InputConstants.InGameCommands) && _player2InputTranslator.IsTranslationResticted(InputConstants.InGameCommands) )
|
||||
{
|
||||
_isInputAlreadyRestricted = true;
|
||||
_isSessionPaused = isPaused;
|
||||
return;
|
||||
}
|
||||
if (!_player1InputTranslator.IsTranslationResticted(InputConstants.InGameCommands) && !_player2InputTranslator.IsTranslationResticted(InputConstants.InGameCommands))
|
||||
{
|
||||
isInputAlreadyRestricted = false;
|
||||
_isInputAlreadyRestricted = false;
|
||||
}
|
||||
isSessionPaused = isPaused;
|
||||
if (isInputAlreadyRestricted)
|
||||
_isSessionPaused = isPaused;
|
||||
if (_isInputAlreadyRestricted)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
@ -41,15 +41,15 @@ public class Health : MonoBehaviour, IDamageable,IHealable, IResettable
|
||||
}
|
||||
public void TakeDamage(int amount)
|
||||
{
|
||||
if (CurrentHealth > 0)
|
||||
{
|
||||
CurrentHealth -= amount;
|
||||
if (CurrentHealth <= 0){
|
||||
CurrentHealth = 0;
|
||||
OnOutOfHealth?.Invoke();
|
||||
}
|
||||
OnHealthChanged(this, healthArgs.GetUpdatedArgs(CurrentHealth, MaxHealth));
|
||||
}
|
||||
// if (CurrentHealth > 0)
|
||||
// {
|
||||
// CurrentHealth -= amount;
|
||||
// if (CurrentHealth <= 0){
|
||||
// CurrentHealth = 0;
|
||||
// OnOutOfHealth?.Invoke();
|
||||
// }
|
||||
// OnHealthChanged(this, healthArgs.GetUpdatedArgs(CurrentHealth, MaxHealth));
|
||||
// }
|
||||
}
|
||||
public void Heal(int amount)
|
||||
{
|
||||
|
@ -34,14 +34,11 @@ public class Player : MonoBehaviour, IResettable, ICommandTranslator
|
||||
|
||||
#region PlayerComponents
|
||||
|
||||
[SerializeField] private PlayerData playerData;
|
||||
[SerializeField] internal PlayerData playerData;
|
||||
public IDamageable PlayerHealth { get; private set; }
|
||||
public Statistics PlayerStatictics { get; private set; }
|
||||
|
||||
public PlayerData PlayerData
|
||||
{
|
||||
get { return playerData; }
|
||||
}
|
||||
public PlayerData PlayerData { get { return playerData; } }
|
||||
|
||||
#endregion
|
||||
|
||||
@ -85,6 +82,7 @@ public class Player : MonoBehaviour, IResettable, ICommandTranslator
|
||||
PlayerStatictics = GetComponent<Statistics>();
|
||||
PlayerStateMachine = new PlayerStateMachine(this);
|
||||
InvincibilityTime = playerData.InvincibilityTime;
|
||||
playerData.CurrentSpeed = playerData.InitialSpeed;
|
||||
}
|
||||
|
||||
private void OnEnable()
|
||||
@ -104,6 +102,7 @@ public class Player : MonoBehaviour, IResettable, ICommandTranslator
|
||||
|
||||
private void Update()
|
||||
{
|
||||
playerData.CurrentSpeed += playerData.SpeedAcceleration / 1000;
|
||||
PlayerStateMachine.Tick();
|
||||
}
|
||||
|
||||
@ -182,6 +181,7 @@ public class Player : MonoBehaviour, IResettable, ICommandTranslator
|
||||
LaneSystem.ResetToDefault();
|
||||
Physics.SyncTransforms();
|
||||
ReloadAnimator();
|
||||
playerData.CurrentSpeed = playerData.InitialSpeed;
|
||||
}
|
||||
|
||||
public void TranslateCommand(ECommand command, PressedState state)
|
||||
|
@ -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(){}
|
||||
|
@ -8,9 +8,14 @@ public class ChunkGenerator : MonoBehaviour
|
||||
[SerializeField] private LaneSystem LaneSystem;
|
||||
public CoinPool CoinPool { get; private set; }
|
||||
[field: SerializeField] public List<ObstaclePool> ObstaclePools { get; private set; }
|
||||
|
||||
private bool _isFirstChunk = true;
|
||||
public Chunk Generate(Chunk chunkToFill)
|
||||
{
|
||||
if (_isFirstChunk)
|
||||
{
|
||||
_isFirstChunk = false;
|
||||
return chunkToFill;
|
||||
}
|
||||
if (ObstaclePools.IsEmpty())
|
||||
return chunkToFill;
|
||||
var obstaclePool = ObstaclePools.GetRandomElement();
|
||||
|
File diff suppressed because one or more lines are too long
Loading…
x
Reference in New Issue
Block a user