public EditAffectableWindow(string title, Affectable affectable) : base(WindowType.Toplevel) { Modal = true; Title = title; TransientFor = MainWindow.GetInstance(); VPaned.Add(EntryBox); NameEntry = new Entry(affectable.Name); AddEntry("Name", NameEntry); SciNameEntry = new Entry(affectable.ScientificName); AddEntry("Scientific Name", SciNameEntry); DescriptionTextView = new TextView(); DescriptionTextView.Buffer.Text = affectable.Description; AddEntry("Description ", DescriptionTextView); ActionButtonBox.Add(InfoButton); ActionButtonBox.Add(SaveButton); ActionButtonBox.Add(DeleteButton); ActionButtonBox.Add(DiscardButton); VPaned.Add2(ActionButtonBox); this.Add(VPaned); InfoButton.Clicked += (object sender, System.EventArgs e) => Info(); DiscardButton.Clicked += (object sender, System.EventArgs e) => TryToClose(); SaveButton.Clicked += (object sender, System.EventArgs e) => Save(); DeleteButton.Clicked += (object sender, System.EventArgs e) => Delete(); }
protected Affectable ModifyOrCreate(Affectable affectable) { affectable.Name = NameEntry.Text; affectable.Description = DescriptionTextView.Buffer.Text; affectable.ScientificName = SciNameEntry.Text; return(affectable); }
public static float DamageFormula(Affectable attacker, Affectable receiver) { //all floats for now ... not sure how to resolve internal floats to visible ints... (how does SC2 round this, or is it hidden?) var damage = (attacker.BaseDamage + attacker.BonusDamage + attacker.AttackUpgrades); return(damage); }
public void Update() { frameStart = frameEnd; frameEnd = Time.time; float hf = Affectable.GetValue(ref healthEffects, frameStart, frameEnd); healthEffects.RemoveAll(effect => effect.endTime < frameEnd); if (hf > 0f) { weapon.RemoveResource(hf, frameStart); } }
public ReportChange(Affectable initiator, ActivityType activity, Affectable recepient) { Initiator = initiator; Activity = activity; Recepient = recepient; }
public ReportCombatantResult1v1(Affectable Winner, Affectable Loser) { this.Winner = Winner; this.Loser = Loser; this.Result = CombatResultState1v1.WINNER_AND_LOSER; }