public void Update(ExecutionParamaters executionParamaters, float castingTimeRate, float coolDownRate) { if (activated) { timer += castingTimeRate; if (timer >= abilities[type].GetExecutingTime(level)) { if (executed) { if (coolDown <= 0) { Reset(); } else { coolDown -= coolDownRate; } } else { Execute(executionParamaters); } } } }
public void Update(ExecutionParamaters executionParamaters, float castingTimeRate, float coolDownRate) { foreach (var item in executers) { item.Value.Update(executionParamaters, castingTimeRate, coolDownRate); } }
public static void Execute(Type type, ExecutionParamaters parameters, float level) { switch (type) { case Type.Fireball: ((FireBall)abilities[type]).Execute(parameters, level); break; case Type.IronBall: ((IronBall)abilities[type]).Execute(parameters, level); break; default: return; } }
public void Execute(ExecutionParamaters parameters, float level) { Game1.gameObjects.Add(new Projectile.BouncingBall(parameters.position, Extensions.GetVector2(parameters.direction, GetSpeed(level)).ToVector3(0), parameters.agentToIgnore)); }
void Execute(ExecutionParamaters executionParamaters) { Ability.Execute(type, executionParamaters, level); executed = true; coolDown = abilities[type].GetCoolDownTime(level); }