private void Start() { var homeState = new HomeState(); var optionsState = new OptionsState(); var audioOptionsState = new AudioOptionsState(); var controlsState = new ControlsState(); AddOverlapTransition(homeState, optionsState, () => { return(Input.GetKeyDown(KeyCode.Space)); }); AddOverlapTransition(optionsState, controlsState, () => { return(Input.GetKeyDown(KeyCode.Alpha1)); }); AddOverlapTransition(optionsState, audioOptionsState, () => { return(Input.GetKeyDown(KeyCode.Alpha2)); }); AddReturnTransition(optionsState, () => { return(Input.GetKeyDown(KeyCode.Escape)); }); AddReturnTransition(controlsState, () => { return(Input.GetKeyDown(KeyCode.Escape)); }); AddReturnTransition(audioOptionsState, () => { return(Input.GetKeyDown(KeyCode.Escape)); }); _initialState = homeState; OnStateExit += HandleStatExit; OnStateEnter += HandleStateEnter; OnStateFocus += HandleStateFocus; OnStateObscure += HandleStateObscure; ChangeToInitialState(); }
void Awake() { homeSet = false; survivorFood = 0; survivorWater = 0; survivorBandage = 0; survivorScrap = 0; survivorHealth = 100; survivorHunger = 90; survivorThirst = 90; survivorTiredness = 90; wayPointsList = new List <Vector3>(); collectState = new CollectState(this); buildState = new BuildState(this); nourrishState = new NourrishState(this); fightState = new FightState(this); repairState = new RepairState(this); sleepState = new SleepState(this); homeState = new HomeState(this); healState = new HealState(this); currentMap = GameObject.Find("Map"); }
private void CleanupPlayback(bool normalEnd) { if (Service.IsSet <GameStateMachine>() && this.preVideoState != null) { if (this.preVideoState is HomeState) { HomeState.GoToHomeStateAndReloadMap(); } else { Service.Get <GameStateMachine>().SetState(this.preVideoState); if (Service.IsSet <WorldInitializer>() && Service.IsSet <CurrentPlayer>()) { Service.Get <WorldInitializer>().ProcessMapData(Service.Get <CurrentPlayer>().Map); } } } this.playing = false; this.displayed = false; this.preVideoState = null; KeyValuePair <bool, string> keyValuePair = new KeyValuePair <bool, string>(normalEnd, this.Guid); if (Service.IsSet <EventManager>()) { Service.Get <EventManager>().SendEvent(EventId.VideoEnd, keyValuePair); } }
/// <summary> /// Puts to end the battle state. /// </summary> public void EndBattleState() { this.State = HomeState.None; this.Replay = null; this.Battle = null; this.SectorManager = null; }
/// <summary> /// Loads home state. /// </summary> public void LoadBattleState() { this.State = HomeState.Attack; this.ClearClientTicks(); this.Battle = new Battle(this); this.Replay = new Replay(this); this.SectorManager = new SectorManager(this); }
public void SupportsQueryCommand() { HomeState state = new HomeState(); state.CreateFurniture("sofa","room",new DateTime(2015,12,01)); Mock<TextWriter> writerMock = new Mock<TextWriter>(); CommandProcessor processor = new CommandProcessor(state, writerMock.Object); string command = "query -date 01.12.2015"; processor.Process(command); writerMock.Verify(w=>w.WriteLine(It.IsAny<string>())); }
/// <summary> /// Loads home state. /// </summary> public void LoadHomeState(Player Player, int SecondsSinceLastSave, int RandomSeed) { this.State = HomeState.Home; this.ClearClientTicks(); this.SetPlayer(Player); this.FastForwardTime(SecondsSinceLastSave); this.SetRandomSeed(RandomSeed); this.Home.LoadingFinished(); }
public override void Execute() { base.Execute(); if (Service.Get <GameStateMachine>().CurrentState is HomeState) { Service.Get <StaRTSLogger>().Warn("TransitionToHomeStoryAction executed but already home."); this.OnTransitionComplete(); return; } HomeState.GoToHomeState(new TransitionCompleteDelegate(this.OnTransitionComplete), false); }
private void FinishUp(bool didSkip) { if (!this.finishing) { Service.Get <IBackButtonManager>().UnregisterBackButtonHandler(this); this.StopNow(); this.finishing = true; Service.Get <EventManager>().SendEvent(EventId.TextCrawlComplete, null); HomeState.GoToHomeState(new TransitionCompleteDelegate(this.OnWipeComplete), true); } }
protected void OnMapLoadFailure() { Service.Get <CameraManager>().UXCamera.Camera.enabled = true; Service.Get <UXController>().HUD.Visible = false; if (Service.Get <GameStateMachine>().CurrentState is HomeState) { this.FinishWipe(); return; } HomeState.GoToHomeState(null, false); }
protected void OnMapLoadFailure() { Service.CameraManager.UXCamera.Camera.enabled = true; Service.UXController.HUD.Visible = false; if (Service.GameStateMachine.CurrentState is HomeState) { this.FinishWipe(); } else { HomeState.GoToHomeState(null, false); } }
// Use this for initialization void Start() { //worldState = new WorldState(); AnimalFactory animalFactory = GetComponent <AnimalFactory>(); worldState.Initialize(animalFactory); TraitFactory.instantiateAllTraits(); homeState = new HomeState(); homeState.Initialize(); activeState = homeState; }
public void OnReplayLoadFailed(uint status, object cookie) { ProcessingScreen.Hide(); if (!(Service.GameStateMachine.CurrentState is HomeState)) { HomeState.GoToHomeState(null, false); } if (status == 2110u) { string message = Service.Lang.Get("REPLAY_DATA_NOT_FOUND", new object[0]); AlertScreen.ShowModal(false, null, message, null, null); } }
internal async Task<bool> Update(HomeState homeState, ClassStanding classStanding, CollegeName collegeName, Major major) { if (_currentUser != null) { _currentUser.HomeState = homeState; _currentUser.ClassStanding = classStanding; _currentUser.College = collegeName; _currentUser.Major = major; await _usersTable.UpdateAsync(_currentUser); return true; } return false; }
public override void Execute() { base.Execute(); if (Service.GameStateMachine.CurrentState is HomeState) { Service.Logger.Warn("TransitionToHomeStoryAction executed but already home."); this.OnTransitionComplete(); } else { HomeState.GoToHomeState(new TransitionCompleteDelegate(this.OnTransitionComplete), false); } }
public override void Process(bool continueProcessing) { this.continueProcessing = continueProcessing; if (base.ShouldProcess) { Service.RUFManager.UpdateProcessingLoadState(false); if (Service.GameStateMachine.CurrentState is HomeState) { base.Process(continueProcessing); return; } HomeState.GoToHomeState(new TransitionCompleteDelegate(this.OnHomeLoaded), true); } }
private void ExitBaseLayoutTool(bool afterSave) { if (Service.Get <GameStateMachine>().CurrentState is WarBaseEditorState) { HomeMapDataLoader mapDataLoader = Service.Get <HomeMapDataLoader>(); Service.Get <WorldTransitioner>().StartTransition(new WarbaseToWarboardTransition(new WarBoardState(), mapDataLoader, null, false, false)); return; } if (afterSave) { HomeState.GoToHomeState(null, false); return; } Service.Get <GameStateMachine>().SetState(new EditBaseState(false)); }
private void ExitBaseLayoutTool(bool afterSave) { if (Service.GameStateMachine.CurrentState is WarBaseEditorState) { HomeMapDataLoader homeMapDataLoader = Service.HomeMapDataLoader; Service.WorldTransitioner.StartTransition(new WarbaseToWarboardTransition(new WarBoardState(), homeMapDataLoader, null, false, false)); } else if (afterSave) { HomeState.GoToHomeState(null, false); } else { Service.GameStateMachine.SetState(new EditBaseState(false)); } }
public override void Execute() { base.Execute(); if (Service.Get <GameStateMachine>().CurrentState is EditBaseState) { HomeState.GoToHomeState(null, false); } else { Service.Get <StaRTSLogger>().WarnFormat("Story Action {0} is attempting to exit Edit mode, which we are not in", new object[] { this.vo.Uid }); } this.parent.ChildComplete(this); }
/// <summary> /// 更新状态; /// </summary> public override void OnUpdateState() { homeTime += Time.deltaTime; switch (homeState) { case HomeState.None: { homeState = HomeState.ReadBook; } break; case HomeState.ReadBook: { if (homeTime > 3) { //读完书了,开始烧饭; homeTime = 0; homeState = HomeState.Cook; } else if (homeTime > 1) { //烧饭之前先读书; doReadBook(); } } break; case HomeState.Cook: //开始烧饭; if (!doCook()) { if (homeTime > 2) { //添加一个去超市的状态; controller.AddStateStack(HFSMBase.Place.Shop); return; } SetText("没有盐了"); } else { //材料齐全,开始烧饭; SetText("正在烧饭"); } break; } }
private void OnPrimaryActionButtonClicked(UXButton button) { button.Enabled = false; this.replayBattleButton.Enabled = false; BattleType type = Service.Get <BattleController>().GetCurrentBattle().Type; if (type == BattleType.PveDefend) { HomeState.GoToHomeStateAndReloadMap(); this.Close(null); } else { HomeState.GoToHomeState(null, false); } Service.Get <BattlePlaybackController>().DiscardLastReplay(); }
public void CanCreateFurniture() { HomeState stateHolder = new HomeState(); DateTime date = new DateTime(2015, 01, 01); const string roomName = "bedroom"; const string furnitureName = "sofa"; stateHolder.CreateFurniture(furnitureName, roomName, date); Assert.AreEqual(1, stateHolder.GetRoomsList(date).Count); Assert.AreEqual(roomName, stateHolder.GetRoomsList(date).First().Name); Assert.AreEqual(1, stateHolder.GetRoomsList(date).First().GetFurnitures().Count); Assert.AreEqual(furnitureName, stateHolder.GetRoomsList(date).First().GetFurnitures().First().Type); stateHolder.CreateFurniture(furnitureName, roomName, date); Assert.AreEqual(1, stateHolder.GetRoomsList(date).Count); Assert.AreEqual(roomName, stateHolder.GetRoomsList(date).First().Name); Assert.AreEqual(2, stateHolder.GetRoomsList(date).First().GetFurnitures().Count); Assert.AreEqual(furnitureName, stateHolder.GetRoomsList(date).First().GetFurnitures().First().Type); Assert.AreEqual(furnitureName, stateHolder.GetRoomsList(date).First().GetFurnitures().Last().Type); }
public EatResponse OnEvent(EventId id, object cookie) { if (id != EventId.ScreenLoaded) { if (id == EventId.WorldInTransitionComplete) { Service.EventManager.UnregisterObserver(this, EventId.WorldInTransitionComplete); Service.BotRunner.Performing = false; base.Perform(); } } else if (cookie is BattleEndScreen) { Service.EventManager.UnregisterObserver(this, EventId.ScreenLoaded); Service.EventManager.RegisterObserver(this, EventId.WorldInTransitionComplete); HomeState.GoToHomeStateAndReloadMap(); } return(EatResponse.NotEaten); }
public void CanGetHomeChangeDates() { HomeState stateHolder = new HomeState(); DateTime date = new DateTime(2015, 01, 01); const string roomName = "bedroom"; const string furnitureName = "sofa"; stateHolder.CreateFurniture(furnitureName, roomName, date); var dates = stateHolder.GetHomeChangeDates(); Assert.IsNotNull(dates); Assert.AreEqual(1, dates.Count); Assert.AreEqual(date, dates.First()); DateTime anotherDate = new DateTime(2015, 01, 02); stateHolder.CreateFurniture(furnitureName, roomName, anotherDate); dates = stateHolder.GetHomeChangeDates(); Assert.IsNotNull(dates); Assert.AreEqual(2, dates.Count); Assert.IsTrue(dates.Contains(date)); Assert.IsTrue(dates.Contains(anotherDate)); }
protected override void MakeFSM() { HomeState homeState = new HomeState(); homeState.AddTransition(TRANSITION.TRANSITION_TO_ARSTATE, STATE_ID.AR_STATE); ARState arState = new ARState(); arState.AddTransition(TRANSITION.TRANSITION_TO_HOMESTATE, STATE_ID.HOME_STATE); arState.AddTransition(TRANSITION.TRANSITION_TO_VIDEOTUTORIALSTATE, STATE_ID.VIDEO_TUTORIAL_STATE); VideoTutorialState videoState = new VideoTutorialState(); videoState.AddTransition(TRANSITION.TRANSITION_TO_ARSTATE, STATE_ID.AR_STATE); _FSM = new FSMSystem(this); _FSM.AddState(homeState); _FSM.AddState(arState); _FSM.AddState(videoState); base.MakeFSM(); }
public void OnPvpGetNextTargetFailure() { IState currentState = Service.Get <GameStateMachine>().CurrentState; WorldTransitioner worldTransitioner = Service.Get <WorldTransitioner>(); worldTransitioner.SetAlertMessage(Service.Get <Lang>().Get("GET_PVP_TARGET_FAILURE", new object[0])); if (worldTransitioner.IsSoftWiping()) { worldTransitioner.FinishWipe(); } if (!(currentState is HomeState)) { if (currentState is GalaxyState) { HomeState.GoToHomeState(null, false); } else { worldTransitioner.SetTransitionInStartCallback(new TransitionInStartDelegate(this.OnTransitionInStartLoadHome)); } } Service.Get <UserInputInhibitor>().AllowAll(); }
public void CanGetRoomsList() { HomeState stateHolder = new HomeState(); DateTime date = new DateTime(2015, 01, 01); const string roomName = "bedroom"; stateHolder.CreateRoom(roomName, date); var list = stateHolder.GetRoomsList(date); Assert.IsNotNull(list); Assert.AreEqual(1, list.Count); stateHolder.CreateRoom(roomName, date); list = stateHolder.GetRoomsList(date); Assert.IsNotNull(list); Assert.AreEqual(2, list.Count); DateTime anotherDate = new DateTime(2014, 10, 11); stateHolder.CreateRoom(roomName, anotherDate); list = stateHolder.GetRoomsList(date); Assert.IsNotNull(list); Assert.AreEqual(2, list.Count); list = stateHolder.GetRoomsList(anotherDate); Assert.IsNotNull(list); Assert.AreEqual(1, list.Count); }
public void CreateRoomShouldCreateNewStateIfDateNotExists() { HomeState stateHolder = new HomeState(); const string roomName = "bedroom"; DateTime date = new DateTime(2015, 01, 05); stateHolder.CreateRoom(roomName, date); var history = stateHolder.GetHistory(); Assert.AreEqual(1, history.Count); Assert.AreEqual(date, history.First().Key); Assert.IsNotNull(history.First().Value); Assert.AreEqual(1, history.First().Value.GetRooms().Count); Assert.AreEqual(roomName, history.First().Value.GetRooms().First().Name); DateTime newDate = new DateTime(2015, 01, 06); stateHolder.CreateRoom(roomName, newDate); Assert.AreEqual(2, history.Count); newDate = new DateTime(2014, 01, 01); stateHolder.CreateRoom(roomName, newDate); Assert.AreEqual(3, history.Count); }
/// <summary> /// Loads home state. /// </summary> public void LoadBattleState() { this.State = HomeState.Attack; this.ClearClientTicks(); }
internal List<User> Search(HomeState homeState, ClassStanding classStanding, CollegeName collegeName, Major major) { List<User> mentorList = _usersList.Where(User => User.IsMentor).ToList(); if(homeState != HomeState.NA) { mentorList = mentorList.Where(User => User.HomeState == homeState).ToList(); } if(classStanding != ClassStanding.NA) { mentorList = mentorList.Where(User => User.ClassStanding == classStanding).ToList(); } if (collegeName != CollegeName.NA) { mentorList = mentorList.Where(User => User.College == collegeName).ToList(); } if (major != Major.NA) { mentorList = mentorList.Where(User => User.Major == major).ToList(); } mentorList.OrderBy(User => User.College).ThenBy(User => User.Major).ThenBy(User => User.HomeState).ThenBy(User => User.ClassStanding); return mentorList; }
private void OnTransitionInStartLoadHome() { HomeState.GoToHomeStateAndReloadMap(); }
public override int GetHashCode() { int hash = 1; if (entityId_ != null) { hash ^= EntityId.GetHashCode(); } if (FirstName.Length != 0) { hash ^= FirstName.GetHashCode(); } if (LastName.Length != 0) { hash ^= LastName.GetHashCode(); } if (HomeAddress1.Length != 0) { hash ^= HomeAddress1.GetHashCode(); } if (HomeAddress2.Length != 0) { hash ^= HomeAddress2.GetHashCode(); } if (HomeCity.Length != 0) { hash ^= HomeCity.GetHashCode(); } if (HomeState.Length != 0) { hash ^= HomeState.GetHashCode(); } if (HomeZip.Length != 0) { hash ^= HomeZip.GetHashCode(); } if (HomeNation.Length != 0) { hash ^= HomeNation.GetHashCode(); } if (HomePhoneNumber.Length != 0) { hash ^= HomePhoneNumber.GetHashCode(); } if (OfficeAddress1.Length != 0) { hash ^= OfficeAddress1.GetHashCode(); } if (OfficeAddress2.Length != 0) { hash ^= OfficeAddress2.GetHashCode(); } if (OfficeCity.Length != 0) { hash ^= OfficeCity.GetHashCode(); } if (OfficeState.Length != 0) { hash ^= OfficeState.GetHashCode(); } if (OfficeZip.Length != 0) { hash ^= OfficeZip.GetHashCode(); } if (OfficeNation.Length != 0) { hash ^= OfficeNation.GetHashCode(); } if (OfficePhoneNumber.Length != 0) { hash ^= OfficePhoneNumber.GetHashCode(); } if (MobilePhoneNumber.Length != 0) { hash ^= MobilePhoneNumber.GetHashCode(); } if (FaxNumber.Length != 0) { hash ^= FaxNumber.GetHashCode(); } if (EmailAddress.Length != 0) { hash ^= EmailAddress.GetHashCode(); } if (IsBlacklisted != false) { hash ^= IsBlacklisted.GetHashCode(); } if (CompanyName.Length != 0) { hash ^= CompanyName.GetHashCode(); } if (GivenName2.Length != 0) { hash ^= GivenName2.GetHashCode(); } return(hash); }
private void HandleBackButton() { IState currentState = Service.GameStateMachine.CurrentState; if (currentState is IntroCameraState) { IntroCameraAnimation intro = Service.UXController.Intro; if (intro != null) { intro.FinishUp(true); } return; } for (int i = this.backButtonHandlers.Count - 1; i >= 0; i--) { if (this.backButtonHandlers[i].HandleBackButtonPress()) { return; } } UICamera.selectedObject = null; UICamera.hoveredObject = null; if (TouchScreenKeyboard.visible) { return; } ScreenController screenController = null; if (Service.ScreenController != null) { screenController = Service.ScreenController; AlertScreen highestLevelScreen = screenController.GetHighestLevelScreen <AlertScreen>(); if (highestLevelScreen != null && highestLevelScreen.IsAlwaysOnTop) { this.HandleScreenBack(highestLevelScreen); return; } } if (Service.HoloController != null) { HoloController holoController = Service.HoloController; if (holoController.HasAnyCharacter()) { Service.EventManager.SendEvent(EventId.StoryNextButtonClicked, null); return; } } if (screenController != null) { ScreenBase highestLevelScreen2 = screenController.GetHighestLevelScreen <ScreenBase>(); ClosableScreen highestLevelScreen3 = screenController.GetHighestLevelScreen <ClosableScreen>(); if (Service.CurrentPlayer.CampaignProgress.FueInProgress || Service.UserInputInhibitor.IsDenying()) { if (highestLevelScreen2 != null && highestLevelScreen2.AllowFUEBackButton && this.HandleScreenBack(highestLevelScreen2)) { return; } this.TryQuit(); return; } else { if (highestLevelScreen2 != null && this.HandleScreenBack(highestLevelScreen2)) { return; } if (highestLevelScreen3 != null && this.HandleScreenBack(highestLevelScreen3)) { return; } } } if (currentState is EditBaseState) { HomeState.GoToHomeState(null, false); return; } if (Service.BuildingController != null) { BuildingController buildingController = Service.BuildingController; if (buildingController.SelectedBuilding != null) { buildingController.EnsureDeselectSelectedBuilding(); return; } } if (currentState is BaseLayoutToolState) { UXController uXController = Service.UXController; uXController.HUD.BaseLayoutToolView.CancelBaseLayoutTool(); return; } if (Service.GalaxyViewController != null && currentState is GalaxyState) { GalaxyViewController galaxyViewController = Service.GalaxyViewController; galaxyViewController.GoToHome(); return; } this.TryQuit(); }
/// <summary> /// Puts to end the home state. /// </summary> public void EndHomeState() { this.State = HomeState.None; }
public void CreateRoomShouldCreateRoomInExistingState() { HomeState stateHolder = new HomeState(); const string roomName = "bedroom"; DateTime date = new DateTime(2015, 01, 05); stateHolder.CreateRoom(roomName, date); var history = stateHolder.GetHistory(); Assert.AreEqual(1, history.Count); stateHolder.CreateRoom(roomName, date); Assert.AreEqual(1, history.Count); Assert.AreEqual(2, history.First().Value.GetRooms().Count); }
public override int GetHashCode() { int hash = 1; if (GivenName.Length != 0) { hash ^= GivenName.GetHashCode(); } if (GivenName2.Length != 0) { hash ^= GivenName2.GetHashCode(); } if (FamilyName.Length != 0) { hash ^= FamilyName.GetHashCode(); } if (Email.Length != 0) { hash ^= Email.GetHashCode(); } if (HomePhone.Length != 0) { hash ^= HomePhone.GetHashCode(); } if (MobilePhone.Length != 0) { hash ^= MobilePhone.GetHashCode(); } if (FaxNumber.Length != 0) { hash ^= FaxNumber.GetHashCode(); } if (OfficePhone.Length != 0) { hash ^= OfficePhone.GetHashCode(); } if (OfficeAddress1.Length != 0) { hash ^= OfficeAddress1.GetHashCode(); } if (OfficeAddress2.Length != 0) { hash ^= OfficeAddress2.GetHashCode(); } if (OfficeCity.Length != 0) { hash ^= OfficeCity.GetHashCode(); } if (OfficeState.Length != 0) { hash ^= OfficeState.GetHashCode(); } if (OfficeZip.Length != 0) { hash ^= OfficeZip.GetHashCode(); } if (OfficeNation.Length != 0) { hash ^= OfficeNation.GetHashCode(); } if (HomeAddress1.Length != 0) { hash ^= HomeAddress1.GetHashCode(); } if (HomeAddress2.Length != 0) { hash ^= HomeAddress2.GetHashCode(); } if (HomeCity.Length != 0) { hash ^= HomeCity.GetHashCode(); } if (HomeState.Length != 0) { hash ^= HomeState.GetHashCode(); } if (HomeZip.Length != 0) { hash ^= HomeZip.GetHashCode(); } if (HomeNation.Length != 0) { hash ^= HomeNation.GetHashCode(); } if (CompanyName.Length != 0) { hash ^= CompanyName.GetHashCode(); } return(hash); }
public void CanRemoveRoomWithoutFurniture() { HomeState stateHolder = new HomeState(); DateTime date = DateTime.Now; const string roomName = "bedroom"; stateHolder.CreateRoom(roomName, date); stateHolder.RemoveRoom(roomName, null, date); Assert.AreEqual(0, stateHolder.GetHistory()[date].GetRooms().Count); stateHolder.CreateRoom(roomName, date); stateHolder.RemoveRoom(roomName, roomName, date); Assert.AreEqual(0, stateHolder.GetHistory()[date].GetRooms().Count); }
public void CanMoveFurniture() { HomeState stateHolder = new HomeState(); DateTime date = new DateTime(2015, 01, 01); const string roomName = "bedroom"; const string anotherRoom = "anotherRoom"; const string furnitureName = "sofa"; stateHolder.CreateFurniture(furnitureName, roomName, date); stateHolder.CreateRoom(anotherRoom, date); stateHolder.MoveFurniture(furnitureName, roomName, anotherRoom, date); }
public void RemoveRoomShouldThrowNoHomeForThisDateExceptionWhenNoDateFound() { HomeState stateHolder = new HomeState(); stateHolder.RemoveRoom("some room", "other room", DateTime.Now); }
public void CreateRoomShouldContainAllRoomsFromPreviousState() { HomeState stateHolder = new HomeState(); const string roomName = "bedroom"; DateTime date = new DateTime(2015, 01, 05); stateHolder.CreateRoom(roomName, date); var history = stateHolder.GetHistory(); Assert.AreEqual(1, history.Count); DateTime newDate = new DateTime(2015, 01, 06); stateHolder.CreateRoom(roomName, newDate); Assert.AreEqual(2, history.Count); Assert.AreEqual(2, history.Last().Value.GetRooms().Count); }
public void TiggerHomeState(object sender, HomeStateEventArgs args) { HomeState.Invoke(sender, args); }