Added slicer logic
This commit is contained in:
@@ -7,7 +7,6 @@ namespace Fruitomation.Game
|
||||
{
|
||||
[Header("Fan Specific Items")]
|
||||
[SerializeField] private TriggerDetector TriggerDetector;
|
||||
|
||||
[SerializeField] private Animator FanAnimator;
|
||||
|
||||
private void Start()
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
using Fruitomation.Global;
|
||||
using System;
|
||||
using Fruitomation.Game.Items;
|
||||
using Fruitomation.Global;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Fruitomation.Game
|
||||
@@ -6,8 +8,50 @@ namespace Fruitomation.Game
|
||||
public class SlicerBuilding : Building
|
||||
{
|
||||
[Header("Slicer Specific Items")]
|
||||
[SerializeField] private TriggerDetector TriggerDetector;
|
||||
[SerializeField] private Animator SlicerAnimator;
|
||||
|
||||
|
||||
private void Start()
|
||||
{
|
||||
TriggerDetector.SetAction(other =>
|
||||
{
|
||||
bool isItem = other.transform.parent.TryGetComponent(out ItemBehaviour item);
|
||||
if (!isItem)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
item.CurrentType = item.CurrentType switch
|
||||
{
|
||||
ItemType.Apple => UpgradeManager.Is(BasicUpgrade.AppleSlices)
|
||||
? ItemType.AppleSlices
|
||||
: ItemType.Apple,
|
||||
|
||||
ItemType.Banana => UpgradeManager.Is(BasicUpgrade.BananaSlices)
|
||||
? ItemType.BananaSlices
|
||||
: ItemType.Banana,
|
||||
|
||||
ItemType.Kiwi => UpgradeManager.Is(BasicUpgrade.SlicedKiwi)
|
||||
? ItemType.SlicedKiwi
|
||||
: ItemType.Kiwi,
|
||||
|
||||
ItemType.Mango => UpgradeManager.Is(BasicUpgrade.MangoSlices)
|
||||
? ItemType.MangoSlices
|
||||
: ItemType.Mango,
|
||||
|
||||
ItemType.Durian => UpgradeManager.Is(BasicUpgrade.DurianSlices)
|
||||
? ItemType.DurianSlices
|
||||
: ItemType.Durian,
|
||||
|
||||
ItemType.BuddhasHand => UpgradeManager.Is(BasicUpgrade.BuddhasHandSlices)
|
||||
? ItemType.BuddhasHandSlices
|
||||
: ItemType.BuddhasHand,
|
||||
|
||||
var _ => item.CurrentType // Default
|
||||
};
|
||||
}, TriggerType.Enter);
|
||||
}
|
||||
|
||||
private void Update()
|
||||
{
|
||||
if (GameStateController.Is(GameState.Simulation))
|
||||
|
||||
@@ -21,8 +21,11 @@ namespace Fruitomation.Game.Items
|
||||
get => InternalItemType;
|
||||
set
|
||||
{
|
||||
InternalItemType = value;
|
||||
OnUpdateItemType();
|
||||
if (InternalItemType != value) // Stops unneeded changes
|
||||
{
|
||||
InternalItemType = value;
|
||||
OnUpdateItemType();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user