mirror of
https://github.com/ryzij/Cube-Tower-Defense.git
synced 2026-07-14 01:56:57 +00:00
Добавил задержку перед удалением блока
This commit is contained in:
@@ -171,6 +171,7 @@ MonoBehaviour:
|
|||||||
_pathStart: {fileID: 1415278839}
|
_pathStart: {fileID: 1415278839}
|
||||||
_pathEnd: {fileID: 761061820}
|
_pathEnd: {fileID: 761061820}
|
||||||
_resetBlockTime: 0.03
|
_resetBlockTime: 0.03
|
||||||
|
_destroyBlockDelay: 0.5
|
||||||
_pathFinish:
|
_pathFinish:
|
||||||
- {fileID: 1987853413}
|
- {fileID: 1987853413}
|
||||||
- {fileID: 1569763699}
|
- {fileID: 1569763699}
|
||||||
|
|||||||
@@ -13,12 +13,15 @@ public class SandPathBuildService : MonoBehaviour
|
|||||||
[SerializeField] private BlockScript _pathStart;
|
[SerializeField] private BlockScript _pathStart;
|
||||||
[SerializeField] private BlockScript _pathEnd;
|
[SerializeField] private BlockScript _pathEnd;
|
||||||
[SerializeField] private float _resetBlockTime = 0.5f;
|
[SerializeField] private float _resetBlockTime = 0.5f;
|
||||||
|
[SerializeField] private float _destroyBlockDelay = 1f;
|
||||||
[SerializeField] private BlockScript[] _pathFinish;
|
[SerializeField] private BlockScript[] _pathFinish;
|
||||||
[SerializeField] private BlockScript[] _predefinedBlocks;
|
[SerializeField] private BlockScript[] _predefinedBlocks;
|
||||||
|
|
||||||
[SerializeField] private UnityEvent<BlockScript> _onBlockDestroy;
|
[SerializeField] private UnityEvent<BlockScript> _onBlockDestroy;
|
||||||
[SerializeField] private UnityEvent _onBuildComplete;
|
[SerializeField] private UnityEvent _onBuildComplete;
|
||||||
|
|
||||||
|
private float _spawnBlockTime;
|
||||||
|
|
||||||
public event UnityAction<BlockScript> OnBlockDestroy
|
public event UnityAction<BlockScript> OnBlockDestroy
|
||||||
{
|
{
|
||||||
add => _onBlockDestroy.AddListener(value);
|
add => _onBlockDestroy.AddListener(value);
|
||||||
@@ -95,6 +98,7 @@ public class SandPathBuildService : MonoBehaviour
|
|||||||
return;
|
return;
|
||||||
if (block == _currentBlock)
|
if (block == _currentBlock)
|
||||||
{
|
{
|
||||||
|
if (Time.time - _spawnBlockTime >= _destroyBlockDelay)
|
||||||
ResetLastBlock();
|
ResetLastBlock();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -106,6 +110,7 @@ public class SandPathBuildService : MonoBehaviour
|
|||||||
var t = block.transform;
|
var t = block.transform;
|
||||||
_currentBlock = Instantiate(_blockPrefab, t.position, t.localRotation, t.parent);
|
_currentBlock = Instantiate(_blockPrefab, t.position, t.localRotation, t.parent);
|
||||||
_blocksInPath.Add(_currentBlock);
|
_blocksInPath.Add(_currentBlock);
|
||||||
|
_spawnBlockTime = Time.time;
|
||||||
if (_pathFinish.Contains(block))
|
if (_pathFinish.Contains(block))
|
||||||
{
|
{
|
||||||
_currentBlock = _pathEnd;
|
_currentBlock = _pathEnd;
|
||||||
|
|||||||
Reference in New Issue
Block a user