Pull request #50: repair pause button + refactoring

Merge in CGD/gather-and-defend from prog/fix_pause to main

* commit '104f812c41a2f9a15a9672316c8aeded23752d67':
  repair pause button + refactoring
This commit is contained in:
Felix-gabriel Boucher-luneau 2023-11-01 01:13:37 +00:00
commit 4c8b34993a
4 changed files with 84 additions and 52 deletions

View File

@ -1745,6 +1745,11 @@ PrefabInstance:
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 02daecb0115395844b4932445d039051, type: 3}
--- !u!1 &829543639 stripped
GameObject:
m_CorrespondingSourceObject: {fileID: 3028288566889208744, guid: 02daecb0115395844b4932445d039051, type: 3}
m_PrefabInstance: {fileID: 829543638}
m_PrefabAsset: {fileID: 0}
--- !u!1 &884382837
GameObject:
m_ObjectHideFlags: 0
@ -1773,7 +1778,7 @@ RectTransform:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 884382837}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0, y: 0, z: 0}
m_ConstrainProportionsScale: 0
@ -1972,9 +1977,9 @@ MonoBehaviour:
m_OnClick:
m_PersistentCalls:
m_Calls:
- m_Target: {fileID: 1760532842}
m_TargetAssemblyTypeName: ClickBehavior, GameAssembly
m_MethodName: stopGame
- m_Target: {fileID: 1760532843}
m_TargetAssemblyTypeName: PauseScript, GameAssembly
m_MethodName: Resume
m_Mode: 1
m_Arguments:
m_ObjectArgument: {fileID: 0}
@ -3220,9 +3225,9 @@ MonoBehaviour:
m_OnClick:
m_PersistentCalls:
m_Calls:
- m_Target: {fileID: 1760532842}
m_TargetAssemblyTypeName: ClickBehavior, GameAssembly
m_MethodName: ChangeGameSpeed
- m_Target: {fileID: 1760532843}
m_TargetAssemblyTypeName: PauseScript, GameAssembly
m_MethodName: ToggleSpeed
m_Mode: 1
m_Arguments:
m_ObjectArgument: {fileID: 0}
@ -3270,17 +3275,20 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1709530843}
m_CullTransparentMesh: 1
--- !u!114 &1760532842 stripped
--- !u!114 &1760532843
MonoBehaviour:
m_CorrespondingSourceObject: {fileID: -245230096461627285, guid: 02daecb0115395844b4932445d039051, type: 3}
m_PrefabInstance: {fileID: 829543638}
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_GameObject: {fileID: 829543639}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 37c0aa967043d974783120d6ea9b136c, type: 3}
m_Script: {fileID: 11500000, guid: 6efea9f36ef864748a8a69a0b5ce4db0, type: 3}
m_Name:
m_EditorClassIdentifier:
_pauseButton: {fileID: 2019202048}
_speedButton: {fileID: 1709530845}
--- !u!1 &1761692192
GameObject:
m_ObjectHideFlags: 0
@ -3499,9 +3507,9 @@ MonoBehaviour:
m_OnClick:
m_PersistentCalls:
m_Calls:
- m_Target: {fileID: 1760532842}
m_TargetAssemblyTypeName: ClickBehavior, GameAssembly
m_MethodName: StopGame
- m_Target: {fileID: 1760532843}
m_TargetAssemblyTypeName: PauseScript, GameAssembly
m_MethodName: Pause
m_Mode: 1
m_Arguments:
m_ObjectArgument: {fileID: 0}

View File

@ -6,9 +6,6 @@ using UnityEngine.UI;
/// </summary>
public class ClickBehavior : MonoBehaviour
{
private float unpausedTime = 1f;
private void Update()
{
if (Input.GetMouseButton(0))
@ -27,46 +24,13 @@ public class ClickBehavior : MonoBehaviour
}
}
public void ChangeGameSpeed()
{
if (Time.timeScale != 0f)
{
if (Time.timeScale == 1f)
{
GameObject.Find("btn_speedup").GetComponent<Button>().image.color = Color.yellow;
Time.timeScale = 1.5f;
}
else
{
GameObject.Find("btn_speedup").GetComponent<Button>().image.color = Color.white;
Time.timeScale = 1f;
}
unpausedTime = Time.timeScale;
}
}
public void StopGame()
{
if (Time.timeScale != 0f)
{
unpausedTime = Time.timeScale;
GameObject.Find("btn_pause").GetComponent<Button>().image.color = Color.black;
Time.timeScale = 0f;
}
else
{
GameObject.Find("btn_pause").GetComponent<Button>().image.color = Color.white;
Time.timeScale = unpausedTime;
}
}
/// <summary>
/// Remet la vitesse de jeux a son etat normal lorsque le dernier ennemi est mort, si necessaire
/// </summary>
public static void ResetGameSpeed()
{
GameObject.Find("btn_speedup").GetComponent<Button>().image.color = Color.white;
Time.timeScale = 1f;
Time.timeScale = PauseScript.regularSpeed;
}
}

View File

@ -0,0 +1,49 @@
using UnityEngine;
using UnityEngine.UI;
public class PauseScript : MonoBehaviour
{
private float _currentSpeed = regularSpeed;
public const float regularSpeed = 1;
public const float pauseSpeed = 0;
public const float fastSpeed = 1.5f;
[SerializeField]
private Button _pauseButton;
[SerializeField]
private Button _speedButton;
public void Pause()
{
_pauseButton.image.color = Color.black;
Time.timeScale = pauseSpeed;
}
public void Resume()
{
_pauseButton.image.color = Color.white;
Time.timeScale = _currentSpeed;
}
public void ToggleSpeed()
{
if (Time.timeScale == 1f)
{
_speedButton.image.color = Color.yellow;
Time.timeScale = _currentSpeed = fastSpeed;
}
else
{
_speedButton.image.color = Color.white;
Time.timeScale = _currentSpeed = regularSpeed;
}
}
/// <summary>
/// Remet la vitesse de jeux a son etat normal lorsque le dernier ennemi est mort, si necessaire
/// </summary>
public void ResetGameSpeed()
{
_speedButton.image.color = Color.white;
Time.timeScale = regularSpeed;
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 6efea9f36ef864748a8a69a0b5ce4db0
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant: