private void HandleSelectionEnd(object sender, MonobehaviourEventArgs args) { if (this == args.mono) { StopDisplayingCooldown(); } }
public override void DisplayStats(object sender, MonobehaviourEventArgs args) { if (this == args.mono) { //Package up and send the list of stats to the Selection MGR List <string> stats_list = new List <string>(); //name stats_list.Add(tower_name); //resources per wave foreach (Resource_V2 rsc in income_generated_per_wave) //TODO: unify common resource types into 1 string { stats_list.Add("Per Wave: " + rsc.resource_amount + " " + rsc.resource_name); } UI_Tower_Selection.DisplayStats(stats_list); } }
//if the selection MGR is asking for this monobehavior, we package up our data and invoke display stats via the MGR public virtual void DisplayStats(object sender, MonobehaviourEventArgs args) { if (this == args.mono) { //Handle any unique display "update()" behaviors we want from the tower here //Package up and send the list of stats to the Selection MGR List <string> stats_list = new List <string>(); //name stats_list.Add(tower_name); //attack priority stats_list.Add("Priority: " + current_attack_priority); //damage + cooldown + range if (attack_damage_current == attack_damage_default) { stats_list.Add("Damage: " + attack_damage_current.ToString()); } else { if (attack_damage_current > attack_damage_default) { stats_list.Add("Damage: " + attack_damage_default.ToString() + " + " + (attack_damage_current - attack_damage_default).ToString()); } else { stats_list.Add("Damage: " + attack_damage_default.ToString() + " - " + (attack_damage_default - attack_damage_current).ToString()); } } if (attack_cooldown_current == attack_cooldown_default) { stats_list.Add("Cooldown: " + attack_cooldown_current.ToString()); } else { if (attack_cooldown_current > attack_cooldown_default) { stats_list.Add("Cooldown: " + attack_cooldown_default.ToString() + " + " + (attack_cooldown_current - attack_cooldown_default).ToString()); } else { stats_list.Add("Cooldown: " + attack_cooldown_default.ToString() + " - " + (attack_cooldown_default - attack_cooldown_current).ToString()); } } if (attack_radius_current == attack_radius_default) { stats_list.Add("Range: " + attack_radius_current.ToString()); } else { if (attack_radius_current > attack_radius_default) { stats_list.Add("Range: " + attack_radius_default.ToString() + " + " + (attack_radius_current - attack_radius_default).ToString()); } else { stats_list.Add("Range: " + attack_radius_default.ToString() + " - " + (attack_radius_default - attack_radius_current).ToString()); } } UI_Tower_Selection.DisplayStats(stats_list); } }
void CopyRotationToGameObject(object caller, MonobehaviourEventArgs args) { args.mono.gameObject.transform.rotation = gameObject.transform.rotation; }