repair pause button + refactoring
problem : - pause button needed 2 times to press solution - decouple pause from resume - refactor
This commit is contained in:
parent
96d9b0fd7b
commit
104f812c41
@ -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}
|
||||
|
||||
@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
49
Assets/Scripts/PlayerAction/PauseScript.cs
Normal file
49
Assets/Scripts/PlayerAction/PauseScript.cs
Normal 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;
|
||||
}
|
||||
}
|
||||
11
Assets/Scripts/PlayerAction/PauseScript.cs.meta
Normal file
11
Assets/Scripts/PlayerAction/PauseScript.cs.meta
Normal file
@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 6efea9f36ef864748a8a69a0b5ce4db0
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Loading…
x
Reference in New Issue
Block a user