From 0c22708642b5c7c448b9c039137494147d737268 Mon Sep 17 00:00:00 2001 From: Pasha Date: Mon, 27 Apr 2026 20:40:20 +0100 Subject: [PATCH] Added basic recipes --- .../Buildings/Automation/FermenterBuilding.cs | 31 +++++++++++++- .../Buildings/Automation/GrinderBuilding.cs | 31 +++++++++++++- .../Automation/HeatExchangerBuilding.cs | 40 ++++++++++++++++++- .../Buildings/Automation/MixerBuilding.cs | 18 ++++++++- .../Buildings/Automation/PeelerBuilding.cs | 18 ++++++++- 5 files changed, 133 insertions(+), 5 deletions(-) diff --git a/Assets/Scripts/Game/Buildings/Automation/FermenterBuilding.cs b/Assets/Scripts/Game/Buildings/Automation/FermenterBuilding.cs index 0b6bd8e..f68920c 100644 --- a/Assets/Scripts/Game/Buildings/Automation/FermenterBuilding.cs +++ b/Assets/Scripts/Game/Buildings/Automation/FermenterBuilding.cs @@ -1,4 +1,5 @@ -using UnityEngine; +using Fruitomation.Game.Items; +using UnityEngine; namespace Fruitomation.Game { @@ -7,5 +8,33 @@ namespace Fruitomation.Game [Header("Fermenter Specific")] [SerializeField] private RectTransform OutputLocation; [SerializeField] private TriggerDetector Trigger; + + private void Start() + { + Trigger.SetAction(other => + { + bool isItem = other.transform.parent.TryGetComponent(out ItemBehaviour item); + if (!isItem) + { + return; + } + + item.CurrentType = item.CurrentType switch + { + ItemType.GrapeJuice => UpgradeManager.Is(BasicUpgrade.Wine) + ? ItemType.Wine + : ItemType.GrapeJuice, + + ItemType.KiwiJuice => UpgradeManager.Is(BasicUpgrade.KiwiVinegar) + ? ItemType.KiwiVinegar + : ItemType.KiwiJuice, + + var _ => item.CurrentType // Default + }; + + item.transform.position = OutputLocation.position; + + }, TriggerType.Enter); + } } } diff --git a/Assets/Scripts/Game/Buildings/Automation/GrinderBuilding.cs b/Assets/Scripts/Game/Buildings/Automation/GrinderBuilding.cs index a0a77be..66da3ba 100644 --- a/Assets/Scripts/Game/Buildings/Automation/GrinderBuilding.cs +++ b/Assets/Scripts/Game/Buildings/Automation/GrinderBuilding.cs @@ -1,4 +1,5 @@ -using UnityEngine; +using Fruitomation.Game.Items; +using UnityEngine; namespace Fruitomation.Game { @@ -7,5 +8,33 @@ namespace Fruitomation.Game [Header("Grinder Specific")] [SerializeField] private RectTransform OutputLocation; [SerializeField] private TriggerDetector Trigger; + + private void Start() + { + Trigger.SetAction(other => + { + bool isItem = other.transform.parent.TryGetComponent(out ItemBehaviour item); + if (!isItem) + { + return; + } + + item.CurrentType = item.CurrentType switch + { + ItemType.KiwiSeeds => UpgradeManager.Is(BasicUpgrade.KiwiSeedOil) + ? ItemType.KiwiSeedOil + : ItemType.KiwiSeeds, + + ItemType.Durian => UpgradeManager.Is(BasicUpgrade.DurianPowder) + ? ItemType.DurainPowder + : ItemType.Durian, + + var _ => item.CurrentType + }; + + item.transform.position = OutputLocation.position; + + }, TriggerType.Enter); + } } } diff --git a/Assets/Scripts/Game/Buildings/Automation/HeatExchangerBuilding.cs b/Assets/Scripts/Game/Buildings/Automation/HeatExchangerBuilding.cs index 843c06c..2252d92 100644 --- a/Assets/Scripts/Game/Buildings/Automation/HeatExchangerBuilding.cs +++ b/Assets/Scripts/Game/Buildings/Automation/HeatExchangerBuilding.cs @@ -1,4 +1,5 @@ -using UnityEngine; +using Fruitomation.Game.Items; +using UnityEngine; namespace Fruitomation.Game { @@ -6,5 +7,42 @@ namespace Fruitomation.Game { [Header("Heat Exchanger Specific")] [SerializeField] private TriggerDetector Trigger; + + private void Start() + { + Trigger.SetAction(other => + { + bool isItem = other.transform.parent.TryGetComponent(out ItemBehaviour item); + if (!isItem) + { + return; + } + + item.CurrentType = item.CurrentType switch + { + ItemType.AppleSlices => UpgradeManager.Is(BasicUpgrade.DriedAppleSlices) + ? ItemType.DriedAppleSlices + : ItemType.AppleSlices, + + ItemType.Grape => UpgradeManager.Is(BasicUpgrade.Raisins) + ? ItemType.Raisins + : ItemType.Grape, + + ItemType.BananaSlices => UpgradeManager.Is(BasicUpgrade.DriedBananaSlices) + ? ItemType.DriedBananaSlices + : ItemType.BananaSlices, + + ItemType.MushedBanana => UpgradeManager.Is(BasicUpgrade.BananaIceCream) + ? ItemType.BananaIceCream + : ItemType.MushedBanana, + + ItemType.MushedPitaya => UpgradeManager.Is(BasicUpgrade.PitayaIceCream) + ? ItemType.PitayaIceCream + : ItemType.MushedPitaya, + + var _ => item.CurrentType // Default + }; + }, TriggerType.Enter); + } } } diff --git a/Assets/Scripts/Game/Buildings/Automation/MixerBuilding.cs b/Assets/Scripts/Game/Buildings/Automation/MixerBuilding.cs index b9225a6..74992b0 100644 --- a/Assets/Scripts/Game/Buildings/Automation/MixerBuilding.cs +++ b/Assets/Scripts/Game/Buildings/Automation/MixerBuilding.cs @@ -1,4 +1,5 @@ -using UnityEngine; +using Fruitomation.Game.Items; +using UnityEngine; namespace Fruitomation.Game { @@ -7,5 +8,20 @@ namespace Fruitomation.Game [Header("Mixer Specific")] [SerializeField] private RectTransform OutputLocation; [SerializeField] private TriggerDetector Trigger; + + private void Start() + { + Trigger.SetAction(other => + { + bool isItem = other.transform.parent.TryGetComponent(out ItemBehaviour item); + if (!isItem) + { + return; + } + + item.transform.position = OutputLocation.position; + + }, TriggerType.Enter); + } } } diff --git a/Assets/Scripts/Game/Buildings/Automation/PeelerBuilding.cs b/Assets/Scripts/Game/Buildings/Automation/PeelerBuilding.cs index e593271..8730b09 100644 --- a/Assets/Scripts/Game/Buildings/Automation/PeelerBuilding.cs +++ b/Assets/Scripts/Game/Buildings/Automation/PeelerBuilding.cs @@ -1,4 +1,5 @@ -using UnityEngine; +using Fruitomation.Game.Items; +using UnityEngine; namespace Fruitomation.Game { @@ -7,5 +8,20 @@ namespace Fruitomation.Game [Header("Grinder Specific")] [SerializeField] private RectTransform OutputLocation; [SerializeField] private TriggerDetector Trigger; + + private void Start() + { + Trigger.SetAction(other => + { + bool isItem = other.transform.parent.TryGetComponent(out ItemBehaviour item); + if (!isItem) + { + return; + } + + item.transform.position = OutputLocation.position; + + }, TriggerType.Enter); + } } }