mirror of
https://github.com/ryzij/Cube-Tower-Defense.git
synced 2026-07-14 01:56:57 +00:00
Добавил кнопку для продажи туррелей
This commit is contained in:
@@ -1781,6 +1781,58 @@ PrefabInstance:
|
||||
serializedVersion: 3
|
||||
m_TransformParent: {fileID: 1789632538}
|
||||
m_Modifications:
|
||||
- target: {fileID: 3635012363401127766, guid: f87d5d34136775b41907fc1187ef4bc2, type: 3}
|
||||
propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.size
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3635012363401127766, guid: f87d5d34136775b41907fc1187ef4bc2, type: 3}
|
||||
propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_Mode
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3635012363401127766, guid: f87d5d34136775b41907fc1187ef4bc2, type: 3}
|
||||
propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[1].m_Mode
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3635012363401127766, guid: f87d5d34136775b41907fc1187ef4bc2, type: 3}
|
||||
propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_Target
|
||||
value:
|
||||
objectReference: {fileID: 1311268619}
|
||||
- target: {fileID: 3635012363401127766, guid: f87d5d34136775b41907fc1187ef4bc2, type: 3}
|
||||
propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[1].m_Target
|
||||
value:
|
||||
objectReference: {fileID: 1311268619}
|
||||
- target: {fileID: 3635012363401127766, guid: f87d5d34136775b41907fc1187ef4bc2, type: 3}
|
||||
propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_CallState
|
||||
value: 2
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3635012363401127766, guid: f87d5d34136775b41907fc1187ef4bc2, type: 3}
|
||||
propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[1].m_CallState
|
||||
value: 2
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3635012363401127766, guid: f87d5d34136775b41907fc1187ef4bc2, type: 3}
|
||||
propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_MethodName
|
||||
value: SelectDestroyTurret
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3635012363401127766, guid: f87d5d34136775b41907fc1187ef4bc2, type: 3}
|
||||
propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[1].m_MethodName
|
||||
value: DeselectTurret
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3635012363401127766, guid: f87d5d34136775b41907fc1187ef4bc2, type: 3}
|
||||
propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_TargetAssemblyTypeName
|
||||
value: TurretsShop, Assembly-CSharp
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3635012363401127766, guid: f87d5d34136775b41907fc1187ef4bc2, type: 3}
|
||||
propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[1].m_TargetAssemblyTypeName
|
||||
value: TurretsShop, Assembly-CSharp
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3635012363401127766, guid: f87d5d34136775b41907fc1187ef4bc2, type: 3}
|
||||
propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_Arguments.m_ObjectArgumentAssemblyTypeName
|
||||
value: UnityEngine.Object, UnityEngine
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3635012363401127766, guid: f87d5d34136775b41907fc1187ef4bc2, type: 3}
|
||||
propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[1].m_Arguments.m_ObjectArgumentAssemblyTypeName
|
||||
value: UnityEngine.Object, UnityEngine
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4616868106249531007, guid: f87d5d34136775b41907fc1187ef4bc2, type: 3}
|
||||
propertyPath: m_Pivot.x
|
||||
value: 0.5
|
||||
@@ -8268,6 +8320,12 @@ MonoBehaviour:
|
||||
_onTurretDeselected:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
_onDestroyTurretSelected:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
_onDestroyTurretDeselected:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
--- !u!1 &1327644546
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
||||
@@ -13,6 +13,8 @@ public class TurretsShop : MonoBehaviour
|
||||
[SerializeField] private TurretShopItem[] _turretShopItems;
|
||||
[SerializeField] private UnityEvent<TurretShopItem> _onTurretSelected;
|
||||
[SerializeField] private UnityEvent _onTurretDeselected;
|
||||
[SerializeField] private UnityEvent _onDestroyTurretSelected;
|
||||
[SerializeField] private UnityEvent _onDestroyTurretDeselected;
|
||||
|
||||
public event UnityAction<TurretShopItem> OnTurretSelected
|
||||
{
|
||||
@@ -26,17 +28,33 @@ public class TurretsShop : MonoBehaviour
|
||||
remove => _onTurretDeselected.RemoveListener(value);
|
||||
}
|
||||
|
||||
public event UnityAction OnDestroyTurretSelected
|
||||
{
|
||||
add => _onDestroyTurretSelected.AddListener(value);
|
||||
remove => _onDestroyTurretSelected.RemoveListener(value);
|
||||
}
|
||||
|
||||
public event UnityAction OnDestroyTurretDeselected
|
||||
{
|
||||
add => _onDestroyTurretDeselected.AddListener(value);
|
||||
remove => _onDestroyTurretDeselected.RemoveListener(value);
|
||||
}
|
||||
|
||||
public IReadOnlyCollection<TurretShopItem> TurretShopItems => _turretShopItems;
|
||||
|
||||
private TurretShopItem _selectedTurret;
|
||||
private bool _isTurretSelected = false;
|
||||
|
||||
private bool _isDestroySelected = false;
|
||||
|
||||
public void SelectTurret(TurretShopItem item)
|
||||
{
|
||||
_isTurretSelected = _wallet.Money >= item.Price;
|
||||
if (!_isTurretSelected)
|
||||
return;
|
||||
|
||||
if (_isDestroySelected)
|
||||
DeselectDestroyTurret();
|
||||
|
||||
_selectedTurret = item;
|
||||
_onTurretSelected?.Invoke(item);
|
||||
}
|
||||
@@ -47,6 +65,21 @@ public class TurretsShop : MonoBehaviour
|
||||
_onTurretDeselected?.Invoke();
|
||||
}
|
||||
|
||||
public void SelectDestroyTurret()
|
||||
{
|
||||
if (_isTurretSelected)
|
||||
DeselectTurret();
|
||||
|
||||
_isDestroySelected = true;
|
||||
_onDestroyTurretSelected?.Invoke();
|
||||
}
|
||||
|
||||
public void DeselectDestroyTurret()
|
||||
{
|
||||
_isDestroySelected = false;
|
||||
_onDestroyTurretDeselected?.Invoke();
|
||||
}
|
||||
|
||||
private void OnEnable()
|
||||
{
|
||||
_deselectAction.Enable();
|
||||
@@ -68,7 +101,13 @@ public class TurretsShop : MonoBehaviour
|
||||
_turretsHolder = transform;
|
||||
}
|
||||
|
||||
private void DeselectActionPerformed(InputAction.CallbackContext _) => DeselectTurret();
|
||||
private void DeselectActionPerformed(InputAction.CallbackContext _)
|
||||
{
|
||||
if (_isTurretSelected)
|
||||
DeselectTurret();
|
||||
else if (_isDestroySelected)
|
||||
DeselectDestroyTurret();
|
||||
}
|
||||
|
||||
private void OnBlockClicked(BlockScript block)
|
||||
{
|
||||
@@ -92,8 +131,7 @@ public class TurretsShop : MonoBehaviour
|
||||
|
||||
private void DestroyTurret(Turret turret)
|
||||
{
|
||||
// TODO: проверять нажата ли кнопку продажи туррелей
|
||||
if (turret == null)
|
||||
if (turret == null || !_isDestroySelected)
|
||||
return;
|
||||
|
||||
_wallet.AddMoney(Mathf.RoundToInt(turret.Price * _sellingCoefficient));
|
||||
|
||||
Reference in New Issue
Block a user