Esempio n. 1
0
        public CampaignRunResult RunCampaign(Member sender, Member subject, CampaignMode mode, uint duration)
        {
            if (activeCampaigns.Count >= 2)
            {
                return(CampaignRunResult.RefusedTooManyCampaigns);
            }

            if (Owner.Opinions[sender] < -Params.OpinionThreshold)
            {
                return(CampaignRunResult.RefusedOpinionSender);
            }

            if (mode == CampaignMode.Pro && Owner.Opinions[subject] < -Params.OpinionThreshold)
            {
                return(CampaignRunResult.RefusedOpinionSubject);
            }

            if (mode == CampaignMode.Against && Owner.Opinions[subject] > Params.OpinionThreshold)
            {
                return(CampaignRunResult.RefusedOpinionSubject);
            }

            if (Owner.PresidentServicePoints + Utils.Unsigmoid(Owner.Opinions[sender]) < duration)
            {
                return(CampaignRunResult.RefusedServicePoints);
            }

            activeCampaigns.Add(new Campaign(this, subject, mode, duration));
            return(CampaignRunResult.OK);
        }
Esempio n. 2
0
 public DemoForm(CampaignMode mode)
 {
     InitializeComponent();
     campaignMode = mode;
     SetControlsVisibility();
 }
Esempio n. 3
0
 public Campaign(MassMediaUnit media, Member subject, CampaignMode mode, uint duration) : this(media, subject, (double)mode, duration)
 {
 }