//Adds any MLGameStateParamUpdaters in self and children //Except if child has an MLUpdaterSet component private List <MLGameStateParamUpdater> findUpdatersRespectSubSets() { List <MLGameStateParamUpdater> result = new List <MLGameStateParamUpdater>(); List <Transform> _tranforms = new List <Transform>(); _tranforms.Add(transform); while (_tranforms.Count > 0) { Transform next = _tranforms[0]; _tranforms.RemoveAt(0); MLUpdaterSet uset = next.GetComponent <MLUpdaterSet>(); if (uset && uset != this) { continue; } MLGameStateParamUpdater updater = next.GetComponent <MLGameStateParamUpdater>(); if (updater) { result.Add(updater); } foreach (Transform child in next) { _tranforms.Add(child); } } return(result); }
protected override void _Awake() { base._Awake(); if (!GetComponent <MLGameStateParamUpdater>()) { MLGameStateParamUpdater mlgsp = gameObject.AddComponent <MLGameStateParamUpdater>(); mlgsp.onValue = 1f; mlgsp.updateMode = UpdateMode.ONE_VALUE; } }
protected override void _Awake() { base._Awake(); gameStateSaver.type = MLGameSavedStateType.DONT_SAVE; MLGameStateParamUpdater paramUpdater = ComponentHelper.AddIfNotPresent <MLGameStateParamUpdater>(transform); if (addUpdater) { MLUpdaterSet updaterSet = ComponentHelper.AddIfNotPresent <MLUpdaterSet>(transform); updaterSet.setUpdaters(paramUpdater); } }