// float timeCreatedInSeconds = -1; // public float TimeCreatedInSeconds { // since unix epoch // get { // return timeCreatedInSeconds; // } // set { // timeCreatedInSeconds = value; // } // } // public virtual bool Exclude() { return false; } virtual public void CleanObjectForSerialization() { MonsterAIRevertNumber mairn = GetComponentInChildren <MonsterAIRevertNumber>(); if (mairn) { if (mairn.bNeedsRevert) { mairn.RevertNumber(); } } }
void Update() { t -= Time.deltaTime; if (t < 0) { t = interval + Random.Range(0.1f, 0.4f); // add random offset to prevent many lights from checking at one frame List <NumberInfo> rm = new List <NumberInfo>(); // Collider[] cols = Physics.OverlapSphere(transform.position,transform.localScale.x/2f); // foreach(Collider col in cols){ // NumberInfo ni = col.GetComponent<NumberInfo>(); // if (ni) nums.Add(ni); // } foreach (NumberInfo ni in nums) { if (!ni) { rm.Add(ni); } else { if (Fraction.Equals(ni.fraction, lampNumber.fraction)) { ni.SetColor(); ni.gameObject.layer = LayerMask.NameToLayer("Default"); // ni.greaterThanCombine = 1; // don't allow further combinations. // ni.lessThanCombine = 0; MonsterAIRevertNumber mairn = ni.GetComponent <MonsterAIRevertNumber>(); if (mairn) { mairn.SetNumber(lampNumber.fraction); // mairn.RevertNumber(); } } else { ni.SetColor(true); // transparentify ni.gameObject.layer = LayerMask.NameToLayer("TransparentNumber"); } } } foreach (NumberInfo ni in rm) { nums.Remove(ni); } } }