public ProposalMessage(Empire recipient) : base(recipient) { if (Recipient == Owner) { throw new Exception("You can't send a diplomatic proposal to yourself!"); } Proposal = new Proposal(recipient); }
public override void Execute() { if (Proposal.IsResolved) { Executor.Log.Add(Target.CreateLogMessage("The proposal \"" + Proposal + "\" has already been resolved and cannot be accepted now.", LogMessages.LogMessageType.Error)); } else { Target.Log.Add(Executor.CreateLogMessage("The " + Executor + " has accepted our proposal (" + Proposal + ").", LogMessages.LogMessageType.Generic)); Proposal.Execute(); } }
public AcceptProposalAction(Proposal proposal) : base(proposal.Executor) { Proposal = proposal; }
public RejectProposalAction(Proposal proposal) : base(proposal.Executor) { Proposal = proposal; }