public void Upgrade(string to) { UpgradesTo = to; if (Upgraded != null) { Upgraded.Invoke(this); } }
public virtual void Upgrade(IUpgradeData data) { Level++; Visual.UpdateUpgradeVisual(Level); if (Upgraded != null) { Upgraded.Invoke(_previewCost); } _previewCost = Cost; }
public static GrainState <T> Apply <T>(this GrainState <T> state, object @event) { (T newState, bool exists) = @event switch { Deleted <T> _ => (default(T), false), Created <T> c => (c.After, true), Upgraded <T> c => (c.After, true), _ => (CalculateState(state.Value, @event), state.Exists) }; return(new GrainState <T> { Value = newState, Exists = exists }); }
public Error Upgrade() { if (Level >= 20) { return(Error.TribeMaxLevel); } Resource cost = formula.GetTribeUpgradeCost(Level); if (!Resource.HasEnough(cost)) { return(Error.ResourceNotEnough); } Resource.Subtract(formula.GetTribeUpgradeCost(Level)); Level++; dbManager.Save(this); Upgraded.Raise(this, new TribeEventArgs { Tribe = this }); return(Error.Ok); }
private void DefaultUpgradeTowerPanelOnUpgradeClicked(ICanUpgrade upgrade, IUpgrader upgrader) { Upgraded?.Invoke(upgrade, upgrader); }
public virtual void Upgrade() { Upgraded?.Invoke(this); }