public static Cooldown Instance(int cooldown, Behavior behav = null) { var key = new Tuple<int, Behavior>(cooldown, behav); Cooldown ret; if (!instances.TryGetValue(key, out ret)) ret = instances[key] = new Cooldown(cooldown, behav); return ret; }
Timed.Instance(3000, False.Instance(new RunBehaviors( Cooldown.Instance(200, SimpleAttack.Instance(10, projectileIndex: 0)
Timed.Instance(7000, False.Instance(new QueuedBehavior( Cooldown.Instance(300, MultiAttack.Instance(15, 30 * (float)Math.PI / 180, 3, projectileIndex: 0)),
new QueuedBehavior( Cooldown.Instance(5000, MultiAttack.Instance(25, 10 * (float)Math.PI / 180, 5, 0, projectileIndex: 1)),