public void Register(Resetable resetable) { if (!this._resetables.ContainsKey(resetable.ResetableIdentifier)) { if (this.Debugging) { Debug.Log( string.Format( "Environment {0} has registered resetables {1}", this.name, resetable.ResetableIdentifier)); } this._resetables.Add(resetable.ResetableIdentifier, resetable); } else { if (this.Debugging) { Debug.Log( string.Format( "Environment {0} already has configurable {1} registered", this.name, resetable.ResetableIdentifier)); } } }
public static bool Unregister(this Resetable self) { if (Managers.Level == null) { return(false); } return(Managers.Level.UnregisterResetable(self)); }
public static bool Register(this Resetable self) { if (Managers.Level == null) { return(false); } Managers.Level.RegisterResetable(self); return(true); }
// Use this for initialization void Start() { facingLeft = false; anim = GetComponent <Animator>(); body = GetComponent <Rigidbody2D> (); coll = GetComponent <Collider2D>(); wall_layer = 1 << LayerMask.NameToLayer("Wall"); weapon_script = weapon.GetComponent <Weapon> (); weapon_cooldown = new Resetable <float>(weapon_script.get_cooldown()); crown_step.current = 0; }
IEnumerator Arm() { LitFlame(); yield return(new WaitForTurns(fuseTurnDuration)); Explode(); yield return(new WaitForSeconds(Managers.Turn.turnDuration)); Vector3 loc = transform.position; gameObject.SetActive(false); GameObject[] affected = GetAffected(loc); foreach (GameObject thing in affected) { if (!isDestructible(thing)) { continue; } if (thing.tag == "Player") { Managers.Level.Warp(); yield break; } Door door = thing.GetComponent <Door>(); if (door != null) { door.Open(); continue; } Resetable resetable = thing.GetComponent <Resetable>(); if (resetable != null) { resetable.Reset(); continue; } //else thing.SetActive(false); } }
void CutDown() { log.parent = null; log.tag = "Grabbable"; Resetable res = log.gameObject.AddComponent <Resetable>() as Resetable; if (log.GetComponent <Rigidbody>()) { log.GetComponent <Rigidbody>().isKinematic = false; top.isKinematic = false; if (cutter) { log.GetComponent <Rigidbody>().AddForce(new Vector3(Mathf.Sign(transform.position.x - cutter.transform.position.x), 0, 0) * 0.5f, ForceMode.Impulse); top.GetComponent <Rigidbody>().AddForce(new Vector3(Mathf.Sign(transform.position.x - cutter.transform.position.x), 0, 0) * 0.5f, ForceMode.Impulse); } } Destroy(top.gameObject, 3f); Destroy(this); }
public virtual void RemoveResetable(Resetable observer) { _observers.Remove(observer); }
public virtual void AddResetable(Resetable observer) { _observers.Add(observer); }
public bool UnregisterResetable(Resetable resetable) { return(this.resetables.Remove(resetable)); }
/* Manage Subscriptions */ public void RegisterResetable(Resetable resetable) { this.resetables.Add(resetable); }
public void Unregister(Resetable resetable) { resetables.Remove(resetable); }
public void Register(Resetable resetable) { resetables.Add(resetable); }