Ejemplo n.º 1
0
 public Call(Chat chat, CallScenario scenario, CallResolution correctResolution, List <ICallOption> options)
 {
     _activePolicies    = CurrentGameState.State.ActivePolicies;
     Chat               = chat;
     Scenario           = scenario;
     _correctResolution = correctResolution;
     Options            = options;
     CurrentScene.Add(this);
     World.Subscribe(EventSubscription.Create <CallResolved>(ResolveCall, this));
 }
Ejemplo n.º 2
0
 public MegaBuyEmployment(ActivePolicies policies)
 {
     _policies = policies;
     _job      = Job.ReturnSpecialistLevel1;
     World.Subscribe(EventSubscription.Create <HourChanged>(HourChanged, this));
     World.Subscribe(EventSubscription.Create <CallResolved>(CallResolved, this));
     World.Subscribe(EventSubscription.Create <TechnicalMistakeOccurred>(TechnicalMistakeOccurred, this));
     World.Subscribe(EventSubscription.Create <JobAccepted>(x => AcceptPromotion(x.Job), this));
     World.Subscribe(EventSubscription.Create <JobDeclined>(x => DeclinePromotion(), this));
 }
Ejemplo n.º 3
0
 public GameState(string charName, CharacterSex charSex)
 {
     Job            = Job.ReturnSpecialistLevel1;
     CharName       = charName;
     CharacterSex   = charSex;
     ActivePolicies = new ActivePolicies(ReturnSpecialistPolicies.Level1);
     Clock          = new Clock(400, new DateTime(2328, 7, 16, 8, 0, 0));
     PlayerAccount  = new PlayerAccount();
     SingleInstanceSubscriptions = new Map <Type, object>();
     Landlord = new Landlord(new Rent(50), PlayerAccount);
     Mailbox  = new Mailbox();
     AddSingleInstanceSubscription(new MegaBuyAccounting(PlayerAccount));
     AddSingleInstanceSubscription(new CallQueue());
     AddSingleInstanceSubscription(new MegaBuyEmployment(ActivePolicies));
     AddSingleInstanceSubscription(new GovernmentTaxes(PlayerAccount));
     AddSingleInstanceSubscription(new AutoSave());
     AddSingleInstanceSubscription(new FoodDelivery());
     AddSingleInstanceSubscription(new MegaBuyPolicyDepartment(ActivePolicies));
     AddSingleInstanceSubscription(new AllSounds());
     AddSingleInstanceSubscription(new MegaBuyReporting());
     World.Publish(new JobChanged(Job));
     //World.Publish(new TimeRateChanged(5.0f)); // To speed the game during development
 }
 public MegaBuyPolicyDepartment(ActivePolicies policies)
 {
     _futurePolicies = ReturnSpecialistPolicies.Level2.ToList();
     _policies       = policies;
     World.Subscribe(EventSubscription.Create <WorkReportPublished>(WorkReportReceived, this));
 }