private void CreateGame() { game = new ModdableChessGame(); game.LoadFirstScene(); this.gameObject.AddComponent <Mods.TOCLoader>(); db = game.Components.Get <GameDatabase>((int)ComponentKeys.GameDatabase); server = game.Components.Get <ServerInformation>((int)ComponentKeys.ServerInformation); local = game.Components.Get <LocalPlayerInformation>((int)ComponentKeys.LocalPlayerInformation); lobby = game.Components.Get <LobbyChoices>((int)ComponentKeys.LobbyChoices); }
public ClientController(Game game) { game.AddTicking(this); info = game.Components.GetOrRegister <LocalPlayerInformation>((int)ComponentKeys.LocalPlayerInformation, LocalPlayerInformation.Create); ClearLocalInfo(); game.Components.Register((int)ComponentKeys.Client_Callbacks, this); game.Components.GetOrRegister <Query <bool, StartClientCommand> >((int)ComponentKeys.StartClientCommand, Query <bool, StartClientCommand> .Create) .Handler = StartClient; game.Components.GetOrRegister <Command>((int)ComponentKeys.StopClientCommand, Command.Create) .Handler = StopClient; info.Connection.EnterStateMessenger.Subscribe(new SimpleListener <int>((s) => UnityEngine.Debug.LogError(string.Format("{0}: Client connection change {1}", game.TickCount, (ClientConnectionState)s)))); }
public ModListController(AutoController scene) { statusSortOrder = new Dictionary <int, int>(); statusSortOrder[(int)ModNetworkStatus.Playable] = 0; statusSortOrder[(int)ModNetworkStatus.HostOutOfDate] = 1; statusSortOrder[(int)ModNetworkStatus.ClientOutOfDate] = 1; statusSortOrder[(int)ModNetworkStatus.OnlyHost] = 2; statusSortOrder[(int)ModNetworkStatus.OnlyClient] = 3; statusSortOrder[(int)ModNetworkStatus.Unknown] = 4; localMods = new List <LocalModInfo>(); networkMods = new List <NetworkModInfo>(); allMods = new List <ComboModInfo>(); showNotLocalMods = true; prevChoices = scene.Game.Components.Get <LobbyChoices>((int)ComponentKeys.LobbyChoices); ComponentRegistry guiComps = scene.Components.Get <ComponentRegistry>((int)ComponentKeys.LobbyGUIMessages); modButtons = new ModList(); guiComps.Register((int)GUICompKeys.ModList, modButtons); modButtons.OnButtonClick.Subscribe(new SimpleListener <int>(OnModButtonClick)); pickedLabelTop = new SubscribableObject <string>(""); guiComps.Register((int)GUICompKeys.ModListLabelTop, pickedLabelTop); pickedLabelBottom = new SubscribableObject <string>(""); guiComps.Register((int)GUICompKeys.ModListLabelBottom, pickedLabelBottom); pickedModTop = new SubscribableObject <string>(""); guiComps.Register((int)GUICompKeys.ModListPickedTop, pickedModTop); pickedModBottom = new SubscribableObject <string>(""); guiComps.Register((int)GUICompKeys.ModListPickedBottom, pickedModBottom); Message reloadBtnPressed = new Message(); guiComps.Register((int)GUICompKeys.ModListReloadBtnPress, reloadBtnPressed); reloadBtnPressed.Subscribe(new SimpleListener(OnReloadButton)); Message hideBtnPressed = new Message(); guiComps.Register((int)GUICompKeys.ModListHideBtnPress, hideBtnPressed); hideBtnPressed.Subscribe(new SimpleListener(OnHideButton)); reqSendNetworkModList = scene.Game.Components.Get <Command <List <LocalModInfo> > >((int)ComponentKeys.NetworkModListSendRequest); scene.ActivatableList.Add(new ListenerJanitor <IListener <List <NetworkModInfo> > >( scene.Game.Components.Get <Message <List <NetworkModInfo> > >((int)ComponentKeys.NetworkModListReceived), new SimpleListener <List <NetworkModInfo> >(OnNetworkModListReceived))); reqSendPickedMod = scene.Game.Components.Get <Command <bool, string> >((int)ComponentKeys.NetworkPickedModSendRequest); scene.ActivatableList.Add(new ListenerJanitor <IListener <bool, string> > ( scene.Game.Components.Get <Message <bool, string> >((int)ComponentKeys.NetworkPickedModReceived), new SimpleListener <bool, string>(OnNetworkPickedModReceived))); selectedModName = scene.Components.GetOrRegister((int)ComponentKeys.LobbyModSelected, SubscribableObject <string> .Create); modSearcher = scene.Components.GetOrRegister <Query <List <LocalModInfo>, string> > ((int)ComponentKeys.SearchModFolderRequest, Query <List <LocalModInfo>, string> .Create); localInfo = scene.Game.Components.Get <LocalPlayerInformation>((int)ComponentKeys.LocalPlayerInformation); initState = scene.Components.GetOrRegister <StateMachine>((int)ComponentKeys.LobbyInitStatus, StateMachine.Create); initState.EnterStateMessenger.Subscribe(new SimpleListener <int>((s) => InitStatusChange())); scene.Components.GetOrRegister <Query <string, string> >((int)ComponentKeys.GetCachedModFolder, Query <string, string> .Create) .Handler = GetCachedModFolder; readyStatus = scene.Components.GetOrRegister <SubscribableBool>((int)ComponentKeys.LobbyReadyStatus, SubscribableBool.Create); readyStatus.Subscribe(new SimpleListener <bool>((v) => OnReadyStatusChange())); screen = scene.Components.Get <StateMachine>((int)ComponentKeys.LobbyScreen); screen.EnterStateMessenger.Subscribe(new SimpleListener <int>((s) => { switch ((LobbyScreen)s) { case LobbyScreen.ClientGamePrefs: case LobbyScreen.HostGamePrefs: OnEnterScreen(); break; } })); }
public override void OnJoinedLobby() { localPlayerInformation = new LocalPlayerInformation(PhotonNetwork.LocalPlayer); hasBeenConnected = true; }