diff options
Diffstat (limited to 'Thronefall_v1.0/Decompile/BuildingFXProcessor.cs')
-rw-r--r-- | Thronefall_v1.0/Decompile/BuildingFXProcessor.cs | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/Thronefall_v1.0/Decompile/BuildingFXProcessor.cs b/Thronefall_v1.0/Decompile/BuildingFXProcessor.cs new file mode 100644 index 0000000..05ab937 --- /dev/null +++ b/Thronefall_v1.0/Decompile/BuildingFXProcessor.cs @@ -0,0 +1,65 @@ +using System.Collections; +using MoreMountains.Feedbacks; +using UnityEngine; + +public class BuildingFXProcessor : MonoBehaviour +{ + public BuildSlot targetBuilding; + + public Hp targetHp; + + public MMF_Player onBuildFX; + + public MMF_Player onParentBuildFX; + + public MMF_Player onUpgradeFX; + + public MMF_Player onParentUpgradeFX; + + public MMF_Player onReviveFX; + + private void Start() + { + targetBuilding.OnUpgrade.AddListener(OnBuildingUpgrade); + targetBuilding.OnParentUpgrade.AddListener(OnParentBuildingUpgrade); + if ((bool)targetHp) + { + targetHp.OnRevive.AddListener(OnBuildingRevive); + } + } + + private void OnBuildingUpgrade() + { + if (targetBuilding.Level == 1) + { + onBuildFX.PlayFeedbacks(); + } + else if (targetBuilding.Level > 1) + { + onUpgradeFX.PlayFeedbacks(); + } + } + + private void OnParentBuildingUpgrade() + { + StartCoroutine(PlayDelayedParentUpgradeFeedback()); + } + + private IEnumerator PlayDelayedParentUpgradeFeedback() + { + yield return null; + if (targetBuilding.Level == 1) + { + onParentBuildFX.PlayFeedbacks(); + } + else if (targetBuilding.Level > 1) + { + onParentUpgradeFX.PlayFeedbacks(); + } + } + + private void OnBuildingRevive() + { + onReviveFX.PlayFeedbacks(); + } +} |