summaryrefslogtreecommitdiff
path: root/Thronefall_1_57/Decompile/Thronefall/Shrine.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Thronefall_1_57/Decompile/Thronefall/Shrine.cs')
-rw-r--r--Thronefall_1_57/Decompile/Thronefall/Shrine.cs208
1 files changed, 0 insertions, 208 deletions
diff --git a/Thronefall_1_57/Decompile/Thronefall/Shrine.cs b/Thronefall_1_57/Decompile/Thronefall/Shrine.cs
deleted file mode 100644
index 581bd45..0000000
--- a/Thronefall_1_57/Decompile/Thronefall/Shrine.cs
+++ /dev/null
@@ -1,208 +0,0 @@
-using System.Collections;
-using System.Collections.Generic;
-using UnityEngine;
-
-public class Shrine : MonoBehaviour, ISaveLoad
-{
- public static TagManager tagManager;
-
- private static List<TaggedObject> shrinesFound = new List<TaggedObject>();
-
- private static List<TaggedObject> shrinesFoundB = new List<TaggedObject>();
-
- private static List<TagManager.ETag> mustHaveTags = new List<TagManager.ETag>();
-
- private static List<TagManager.ETag> mayNotHaveTags = new List<TagManager.ETag>();
-
- [SerializeField]
- private ProductionBar productionBar;
-
- private float currentXp;
-
- [SerializeField]
- [BalancingParameter(BalancingParameter.EType.Default)]
- private float maxXp = 1000f;
-
- [SerializeField]
- [BalancingParameter(BalancingParameter.EType.Default)]
- private float collectionRange = 10f;
-
- [SerializeField]
- [BalancingParameter(BalancingParameter.EType.Default)]
- private int incomeOnceUnlocked = 2;
-
- [SerializeField]
- [BalancingParameter(BalancingParameter.EType.PercentageModifyer)]
- private float strengthBonusOnAdditionalShrine = 1.2f;
-
- [SerializeField]
- private List<GameObject> disableOnComplete;
-
- [SerializeField]
- private List<GameObject> enableOnComplete;
-
- [SerializeField]
- private BuildSlot parentBuildSlot;
-
- [SerializeField]
- private Mesh replacementMesh;
-
- [SerializeField]
- private ParticleSystem upgradeParticles;
-
- [SerializeField]
- private ParticleSystem levelParticle;
-
- private bool shrineHasBeenActivated;
-
- public float CollectionRange => collectionRange;
-
- public bool ShrineHasBeenActivated => shrineHasBeenActivated;
-
- private void Start()
- {
- MakeProgressAndUpdateBar();
- }
-
- public void AdjustRequiredXp(float _multi)
- {
- maxXp *= _multi;
- MakeProgressAndUpdateBar();
- }
-
- public void MakeProgressAndUpdateBar(float _xpGain = 0f)
- {
- if (!shrineHasBeenActivated)
- {
- currentXp += _xpGain;
- levelParticle.Play();
- if (currentXp >= maxXp)
- {
- ActivateShrine(_calledFromSaveLoad: false);
- }
- else
- {
- productionBar.UpdateVisual(currentXp / maxXp + 0.001f);
- }
- }
- }
-
- [ContextMenu("ACTIVATE")]
- private void DebugActivate()
- {
- ActivateShrine(_calledFromSaveLoad: false);
- }
-
- private void ActivateShrine(bool _calledFromSaveLoad)
- {
- if (shrineHasBeenActivated && !_calledFromSaveLoad)
- {
- return;
- }
- if (tagManager == null)
- {
- tagManager = TagManager.instance;
- }
- upgradeParticles.Play();
- foreach (GameObject item in disableOnComplete)
- {
- item.SetActive(value: false);
- }
- foreach (GameObject item2 in enableOnComplete)
- {
- item2.SetActive(value: true);
- }
- GetComponentInParent<BuildSlot>().GoldIncome += incomeOnceUnlocked;
- parentBuildSlot.ReplaceMeshExternal(replacementMesh);
- shrineHasBeenActivated = true;
- if (mustHaveTags.Count != 1 || !tagManager)
- {
- tagManager = TagManager.instance;
- mustHaveTags.Clear();
- mustHaveTags.Add(TagManager.ETag.PlayerShrine);
- mayNotHaveTags.Clear();
- }
- tagManager.FindAllTaggedObjectsWithTags(shrinesFoundB, mustHaveTags, mayNotHaveTags);
- if (!_calledFromSaveLoad)
- {
- foreach (TaggedObject item3 in shrinesFoundB)
- {
- Shrine component = item3.GetComponent<Shrine>();
- if (!(component == this) && component.ShrineHasBeenActivated)
- {
- UpgradeMyPower();
- component.UpgradeMyPower();
- }
- }
- return;
- }
- foreach (TaggedObject item4 in shrinesFoundB)
- {
- Shrine component2 = item4.GetComponent<Shrine>();
- if (!(component2 == this) && component2.ShrineHasBeenActivated)
- {
- UpgradeMyPower();
- }
- }
- }
-
- public static void DeathOfUnitAt(Vector3 _position, float _unitsOriginalHealth)
- {
- if (!tagManager)
- {
- tagManager = TagManager.instance;
- mustHaveTags.Clear();
- mustHaveTags.Add(TagManager.ETag.PlayerShrine);
- mayNotHaveTags.Clear();
- }
- tagManager.FindAllTaggedObjectsWithTags(shrinesFound, mustHaveTags, mayNotHaveTags);
- foreach (TaggedObject item in shrinesFound)
- {
- Shrine shrine = item.Shrine;
- if ((_position - shrine.transform.position).magnitude <= shrine.collectionRange)
- {
- shrine.MakeProgressAndUpdateBar(_unitsOriginalHealth);
- }
- }
- }
-
- public void OnBeforeMainLoadPass(string guid)
- {
- }
-
- public void OnAfterMainLoadPass(string guid)
- {
- }
-
- public void OnSave(string guid)
- {
- MatchSaveLoadHandler.SaveValue(guid, "currentXp", currentXp);
- MatchSaveLoadHandler.SaveValue(guid, "shrineHasBeenActivated", shrineHasBeenActivated);
- }
-
- public void OnLoad(string guid)
- {
- MatchSaveLoadHandler.TryLoadValue(guid, "currentXp", ref currentXp);
- MatchSaveLoadHandler.TryLoadValue(guid, "shrineHasBeenActivated", ref shrineHasBeenActivated);
- if (shrineHasBeenActivated)
- {
- StartCoroutine(ActivateShrineDelayedInSaveLoad());
- }
- }
-
- private IEnumerator ActivateShrineDelayedInSaveLoad()
- {
- yield return null;
- yield return null;
- ActivateShrine(_calledFromSaveLoad: true);
- }
-
- public void UpgradeMyPower()
- {
- AutoAttack[] componentsInChildren = GetComponentsInChildren<AutoAttack>();
- for (int i = 0; i < componentsInChildren.Length; i++)
- {
- componentsInChildren[i].DamageMultiplyer *= strengthBonusOnAdditionalShrine;
- }
- }
-}