Added slicer logic

This commit is contained in:
2026-04-18 14:44:10 +01:00
parent bd2cc16572
commit 3238635efc
4 changed files with 152 additions and 9 deletions

View File

@@ -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))