public virtual void Set(ProponentAbility reference) { this.Ability = reference; Ability.Cooldown.OnTick += ElementCoolDownTickCallback; UpdateState(); }
public virtual PlayerAbilityUITemplate Create(ProponentAbility ability) { var instance = Instantiate(template, transform); var script = instance.GetComponent <PlayerAbilityUITemplate>(); script.Init(); script.Set(ability); return(script); }
//Static Utility public static ProponentAbilityCooldown Create(ProponentAbility ability) { var instance = new GameObject("Cooldown"); instance.transform.SetParent(ability.transform); var script = instance.AddComponent <ProponentAbilityCooldown>(); return(script); }
public override void Init() { base.Init(); for (int i = 0; i < Selection.Count; i++) { if (Selection[i] == null) { continue; } var instance = ProponentAbility.Create(this, Selection[i]); Elements.Add(instance); Modules.Setup(instance, this); } }
public override void Configure(ProponentAbility reference) { base.Configure(reference); Timer = 0f; }