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)); }
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)); }
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)); }