mirror of
https://github.com/ryzij/Cube-Tower-Defense.git
synced 2026-07-14 01:56:57 +00:00
Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| b224dc1648 | |||
| d0abca743e | |||
| 9662c9b083 | |||
| b1e363c79f |
Binary file not shown.
@@ -0,0 +1,23 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: b300b218337a181408d98489b607a72b
|
||||||
|
AudioImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 8
|
||||||
|
defaultSettings:
|
||||||
|
serializedVersion: 2
|
||||||
|
loadType: 0
|
||||||
|
sampleRateSetting: 0
|
||||||
|
sampleRateOverride: 44100
|
||||||
|
compressionFormat: 1
|
||||||
|
quality: 1
|
||||||
|
conversionMode: 0
|
||||||
|
preloadAudioData: 0
|
||||||
|
platformSettingOverrides: {}
|
||||||
|
forceToMono: 0
|
||||||
|
normalize: 1
|
||||||
|
loadInBackground: 0
|
||||||
|
ambisonic: 0
|
||||||
|
3D: 1
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
+199
-1
@@ -3941,6 +3941,7 @@ Transform:
|
|||||||
- {fileID: 1282261902}
|
- {fileID: 1282261902}
|
||||||
- {fileID: 709556714}
|
- {fileID: 709556714}
|
||||||
- {fileID: 884308128}
|
- {fileID: 884308128}
|
||||||
|
- {fileID: 2072548927}
|
||||||
m_Father: {fileID: 0}
|
m_Father: {fileID: 0}
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
--- !u!1001 &486141168
|
--- !u!1001 &486141168
|
||||||
@@ -6050,6 +6051,7 @@ GameObject:
|
|||||||
- component: {fileID: 769732339}
|
- component: {fileID: 769732339}
|
||||||
- component: {fileID: 769732338}
|
- component: {fileID: 769732338}
|
||||||
- component: {fileID: 769732337}
|
- component: {fileID: 769732337}
|
||||||
|
- component: {fileID: 769732340}
|
||||||
m_Layer: 0
|
m_Layer: 0
|
||||||
m_Name: StartLevelButton
|
m_Name: StartLevelButton
|
||||||
m_TagString: Untagged
|
m_TagString: Untagged
|
||||||
@@ -6183,6 +6185,21 @@ CanvasRenderer:
|
|||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
m_GameObject: {fileID: 769732335}
|
m_GameObject: {fileID: 769732335}
|
||||||
m_CullTransparentMesh: 1
|
m_CullTransparentMesh: 1
|
||||||
|
--- !u!114 &769732340
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 769732335}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: a8f51f072b7c7e64b8fde0e36109e334, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier: Assembly-CSharp::TimerViewer
|
||||||
|
_timer: {fileID: 2072548928}
|
||||||
|
_gameManager: {fileID: 1875710079}
|
||||||
|
_btnText: {fileID: 1462583103}
|
||||||
--- !u!1001 &778348370
|
--- !u!1001 &778348370
|
||||||
PrefabInstance:
|
PrefabInstance:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -11243,6 +11260,135 @@ MonoBehaviour:
|
|||||||
m_Script: {fileID: 11500000, guid: 8d6715c95501a4f49bd34c8832850f32, type: 3}
|
m_Script: {fileID: 11500000, guid: 8d6715c95501a4f49bd34c8832850f32, type: 3}
|
||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier: Assembly-CSharp::BlockScript
|
m_EditorClassIdentifier: Assembly-CSharp::BlockScript
|
||||||
|
--- !u!1 &1417807935
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 1417807936}
|
||||||
|
- component: {fileID: 1417807937}
|
||||||
|
m_Layer: 0
|
||||||
|
m_Name: BuildBgMiusic
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!4 &1417807936
|
||||||
|
Transform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1417807935}
|
||||||
|
serializedVersion: 2
|
||||||
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
|
m_Children: []
|
||||||
|
m_Father: {fileID: 1431145624}
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
--- !u!82 &1417807937
|
||||||
|
AudioSource:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1417807935}
|
||||||
|
m_Enabled: 1
|
||||||
|
serializedVersion: 4
|
||||||
|
OutputAudioMixerGroup: {fileID: 0}
|
||||||
|
m_audioClip: {fileID: 0}
|
||||||
|
m_Resource: {fileID: 8300000, guid: b300b218337a181408d98489b607a72b, type: 3}
|
||||||
|
m_PlayOnAwake: 1
|
||||||
|
m_Volume: 0.67
|
||||||
|
m_Pitch: 1
|
||||||
|
Loop: 1
|
||||||
|
Mute: 0
|
||||||
|
Spatialize: 0
|
||||||
|
SpatializePostEffects: 0
|
||||||
|
Priority: 128
|
||||||
|
DopplerLevel: 1
|
||||||
|
MinDistance: 1
|
||||||
|
MaxDistance: 500
|
||||||
|
Pan2D: 0
|
||||||
|
rolloffMode: 0
|
||||||
|
BypassEffects: 0
|
||||||
|
BypassListenerEffects: 0
|
||||||
|
BypassReverbZones: 0
|
||||||
|
rolloffCustomCurve:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Curve:
|
||||||
|
- serializedVersion: 3
|
||||||
|
time: 0
|
||||||
|
value: 1
|
||||||
|
inSlope: 0
|
||||||
|
outSlope: 0
|
||||||
|
tangentMode: 0
|
||||||
|
weightedMode: 0
|
||||||
|
inWeight: 0.33333334
|
||||||
|
outWeight: 0.33333334
|
||||||
|
- serializedVersion: 3
|
||||||
|
time: 1
|
||||||
|
value: 0
|
||||||
|
inSlope: 0
|
||||||
|
outSlope: 0
|
||||||
|
tangentMode: 0
|
||||||
|
weightedMode: 0
|
||||||
|
inWeight: 0.33333334
|
||||||
|
outWeight: 0.33333334
|
||||||
|
m_PreInfinity: 2
|
||||||
|
m_PostInfinity: 2
|
||||||
|
m_RotationOrder: 4
|
||||||
|
panLevelCustomCurve:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Curve:
|
||||||
|
- serializedVersion: 3
|
||||||
|
time: 0
|
||||||
|
value: 0
|
||||||
|
inSlope: 0
|
||||||
|
outSlope: 0
|
||||||
|
tangentMode: 0
|
||||||
|
weightedMode: 0
|
||||||
|
inWeight: 0.33333334
|
||||||
|
outWeight: 0.33333334
|
||||||
|
m_PreInfinity: 2
|
||||||
|
m_PostInfinity: 2
|
||||||
|
m_RotationOrder: 4
|
||||||
|
spreadCustomCurve:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Curve:
|
||||||
|
- serializedVersion: 3
|
||||||
|
time: 0
|
||||||
|
value: 0
|
||||||
|
inSlope: 0
|
||||||
|
outSlope: 0
|
||||||
|
tangentMode: 0
|
||||||
|
weightedMode: 0
|
||||||
|
inWeight: 0.33333334
|
||||||
|
outWeight: 0.33333334
|
||||||
|
m_PreInfinity: 2
|
||||||
|
m_PostInfinity: 2
|
||||||
|
m_RotationOrder: 4
|
||||||
|
reverbZoneMixCustomCurve:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Curve:
|
||||||
|
- serializedVersion: 3
|
||||||
|
time: 0
|
||||||
|
value: 1
|
||||||
|
inSlope: 0
|
||||||
|
outSlope: 0
|
||||||
|
tangentMode: 0
|
||||||
|
weightedMode: 0
|
||||||
|
inWeight: 0.33333334
|
||||||
|
outWeight: 0.33333334
|
||||||
|
m_PreInfinity: 2
|
||||||
|
m_PostInfinity: 2
|
||||||
|
m_RotationOrder: 4
|
||||||
--- !u!1001 &1429144615
|
--- !u!1001 &1429144615
|
||||||
PrefabInstance:
|
PrefabInstance:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -11345,7 +11491,9 @@ MonoBehaviour:
|
|||||||
_wallet: {fileID: 1030979928}
|
_wallet: {fileID: 1030979928}
|
||||||
_gameManager: {fileID: 1875710079}
|
_gameManager: {fileID: 1875710079}
|
||||||
_levelBackgroundMusic: {fileID: 1897118789}
|
_levelBackgroundMusic: {fileID: 1897118789}
|
||||||
_buildBackgroundMusic: {fileID: 0}
|
_buildBackgroundMusic: {fileID: 1417807937}
|
||||||
|
_winMusic: {fileID: 0}
|
||||||
|
_loseMusic: {fileID: 0}
|
||||||
_grassBlockDestroySound:
|
_grassBlockDestroySound:
|
||||||
- {fileID: 1641086313}
|
- {fileID: 1641086313}
|
||||||
- {fileID: 1127156137}
|
- {fileID: 1127156137}
|
||||||
@@ -11372,6 +11520,7 @@ Transform:
|
|||||||
- {fileID: 1573731473}
|
- {fileID: 1573731473}
|
||||||
- {fileID: 1087951941}
|
- {fileID: 1087951941}
|
||||||
- {fileID: 1897118788}
|
- {fileID: 1897118788}
|
||||||
|
- {fileID: 1417807936}
|
||||||
m_Father: {fileID: 481586150}
|
m_Father: {fileID: 481586150}
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
--- !u!1001 &1439091071
|
--- !u!1001 &1439091071
|
||||||
@@ -15513,6 +15662,55 @@ Transform:
|
|||||||
m_CorrespondingSourceObject: {fileID: 5368672011475721328, guid: 8dd20c91f0d7a7b419f6bedcd1870cba, type: 3}
|
m_CorrespondingSourceObject: {fileID: 5368672011475721328, guid: 8dd20c91f0d7a7b419f6bedcd1870cba, type: 3}
|
||||||
m_PrefabInstance: {fileID: 2022833990}
|
m_PrefabInstance: {fileID: 2022833990}
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
--- !u!1 &2072548926
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 2072548927}
|
||||||
|
- component: {fileID: 2072548928}
|
||||||
|
m_Layer: 0
|
||||||
|
m_Name: TurretBuildTimer
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!4 &2072548927
|
||||||
|
Transform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 2072548926}
|
||||||
|
serializedVersion: 2
|
||||||
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
|
m_Children: []
|
||||||
|
m_Father: {fileID: 481586150}
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
--- !u!114 &2072548928
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 2072548926}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 330d868d3d6a72c489dce65e1ca03edc, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier: Assembly-CSharp::TurretsBuildTimer
|
||||||
|
_gameManager: {fileID: 1875710079}
|
||||||
|
_buildTime: 10
|
||||||
|
_onTick:
|
||||||
|
m_PersistentCalls:
|
||||||
|
m_Calls: []
|
||||||
--- !u!1001 &2096698926
|
--- !u!1001 &2096698926
|
||||||
PrefabInstance:
|
PrefabInstance:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
|||||||
@@ -0,0 +1,57 @@
|
|||||||
|
using UnityEngine;
|
||||||
|
using System.Collections;
|
||||||
|
using UnityEngine.Events;
|
||||||
|
|
||||||
|
public class TurretsBuildTimer : MonoBehaviour
|
||||||
|
{
|
||||||
|
[SerializeField] private GameManager _gameManager;
|
||||||
|
[SerializeField] private float _buildTime = 10f;
|
||||||
|
[SerializeField] private UnityEvent<OnTickEventArgs> _onTick;
|
||||||
|
|
||||||
|
public event UnityAction<OnTickEventArgs> OnTick
|
||||||
|
{
|
||||||
|
add => _onTick.AddListener(value);
|
||||||
|
remove => _onTick.RemoveListener(value);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static readonly WaitForSeconds _wait = new(1f);
|
||||||
|
|
||||||
|
private void OnEnable()
|
||||||
|
{
|
||||||
|
_gameManager.OnStateChanged += OnStateChanged;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnDisable()
|
||||||
|
{
|
||||||
|
_gameManager.OnStateChanged -= OnStateChanged;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnStateChanged(GameManager.GameState newState)
|
||||||
|
{
|
||||||
|
StopCoroutine(nameof(Timer));
|
||||||
|
if (newState == GameManager.GameState.BuildingTurrets)
|
||||||
|
StartCoroutine(nameof(Timer));
|
||||||
|
}
|
||||||
|
|
||||||
|
private IEnumerator Timer()
|
||||||
|
{
|
||||||
|
for (float i = 0; i < _buildTime; i++)
|
||||||
|
{
|
||||||
|
_onTick?.Invoke(new OnTickEventArgs
|
||||||
|
{
|
||||||
|
ElapsedSeconds = i,
|
||||||
|
TotalSeconds = _buildTime
|
||||||
|
});
|
||||||
|
yield return _wait;
|
||||||
|
}
|
||||||
|
|
||||||
|
_gameManager.NextLevel();
|
||||||
|
}
|
||||||
|
|
||||||
|
public class OnTickEventArgs
|
||||||
|
{
|
||||||
|
public float SecondsLeft => TotalSeconds - ElapsedSeconds;
|
||||||
|
public float ElapsedSeconds { get; set; }
|
||||||
|
public float TotalSeconds { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 330d868d3d6a72c489dce65e1ca03edc
|
||||||
@@ -0,0 +1,39 @@
|
|||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
public class TimerViewer : MonoBehaviour
|
||||||
|
{
|
||||||
|
[SerializeField] private TurretsBuildTimer _timer;
|
||||||
|
[SerializeField] private GameManager _gameManager;
|
||||||
|
[SerializeField] private TMPro.TextMeshProUGUI _btnText;
|
||||||
|
|
||||||
|
private bool _isFirstTime = true;
|
||||||
|
|
||||||
|
private void OnEnable()
|
||||||
|
{
|
||||||
|
_timer.OnTick += OnTick;
|
||||||
|
_gameManager.OnLevelChanged += OnLevelStart;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnDisable()
|
||||||
|
{
|
||||||
|
_timer.OnTick -= OnTick;
|
||||||
|
_gameManager.OnLevelChanged -= OnLevelStart;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnTick(TurretsBuildTimer.OnTickEventArgs args)
|
||||||
|
{
|
||||||
|
if (_isFirstTime)
|
||||||
|
{
|
||||||
|
_btnText.text = $"Start ({args.SecondsLeft:0})";
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
_btnText.text = $"Next wave ({args.SecondsLeft:0})";
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnLevelStart(GameManager.OnLevelChangedEventArgs _)
|
||||||
|
{
|
||||||
|
_isFirstTime = false;
|
||||||
|
_btnText.text = "Next wave";
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: a8f51f072b7c7e64b8fde0e36109e334
|
||||||
Reference in New Issue
Block a user