public ForfeitButtonController(ChessScene scene) { button = scene.Components.GetOrRegister <Button>((int)ComponentKeys.PlayForfeitButton, Button.Create); button.Text.Value = "Forfeit"; button.Interactable.Value = true; button.Visibility.Value = false; button.PressMessage.Subscribe(new SimpleListener(OnPress)); chooserState = scene.Components.GetOrRegister <StateMachine>((int)ComponentKeys.TurnChooserState, StateMachine.Create); chooserState.EnterStateMessenger.Subscribe(new SimpleListener <int>((s) => OnChooserStateChange())); OnChooserStateChange(); forfeitMessage = scene.Components.GetOrRegister <Command>((int)ComponentKeys.ForfeitGame, Command.Create); }
public CameraController(ChessScene scene) { scene.ActivatableList.Add(new TickingJanitor(scene.Game, this)); scene.Components.GetOrRegister <Message <Board> >((int)ComponentKeys.BoardCreatedMessage, Message <Board> .Create) .Subscribe(new SimpleListener <Board>(ReceivedNewBoard)); rotation = scene.Components.GetOrRegister <SubscribableQuaternion>((int)ComponentKeys.GameCameraRotation, SubscribableQuaternion.Create); rotation.Value = Quaternion.identity; zoom = scene.Components.GetOrRegister <SubscribableFloat>((int)ComponentKeys.GameCameraZoom, SubscribableFloat.Create); zoom.Value = ZOOM_DEFAULT; trackMouseBtn = scene.Components.GetOrRegister <SubscribableBool>((int)ComponentKeys.CameraTrackMouseBtn, SubscribableBool.Create); mouseChange = scene.Components.GetOrRegister <SubscribableVector2>((int)ComponentKeys.MouseChange, SubscribableVector2.Create); mouseWheel = scene.Components.GetOrRegister <SubscribableInt>((int)ComponentKeys.ScrollWheel, SubscribableInt.Create); scene.Components.GetOrRegister <SubscribableBool>((int)ComponentKeys.CameraRecenterBtn, SubscribableBool.Create) .Subscribe(new ReleaseListener(RecenterCamera)); }
public ActiveTurnDisplay(ChessScene scene) { text = scene.Components.GetOrRegister <TextDisplay>((int)ComponentKeys.ActiveTurnText, TextDisplay.Create); text.Text.Value = ""; text.Visibility.Value = false; scene.Components.GetOrRegister <Message <Board> >((int)ComponentKeys.BoardCreatedMessage, Message <Board> .Create) .Subscribe(new SimpleListener <Board>((b) => { board = b; RefreshText(); })); scene.Components.GetOrRegister <Message>((int)ComponentKeys.TurnChange, Message.Create) .Subscribe(new SimpleListener(RefreshText)); matchState = scene.Components.GetOrRegister <StateMachine>((int)ComponentKeys.MatchState, StateMachine.Create); matchState.EnterStateMessenger.Subscribe(new SimpleListener <int>((s) => OnMatchStateChange())); OnMatchStateChange(); }
public GameOverScreen(ChessScene scene) { exitButton = scene.Components.GetOrRegister <Button>((int)ComponentKeys.EndScreenExitBtn, Button.Create); exitButton.Text.Value = "Exit"; exitButton.Visibility.Value = false; exitButton.PressMessage.Subscribe(new SimpleListener(OnExitPressed)); headerText = scene.Components.GetOrRegister <TextDisplay>((int)ComponentKeys.EndScreenHeaderText, TextDisplay.Create); headerText.Text.Value = "Match End"; headerText.Visibility.Value = false; resultText = scene.Components.GetOrRegister <TextDisplay>((int)ComponentKeys.EndScreenResultText, TextDisplay.Create); resultText.Text.Value = ""; resultText.Visibility.Value = false; matchState = scene.Components.GetOrRegister <StateMachine>((int)ComponentKeys.MatchState, StateMachine.Create); matchState.EnterStateMessenger.Subscribe(new SimpleListener <int>((s) => OnMatchStateChange())); exitToLobby = scene.Components.GetOrRegister <Command>((int)ComponentKeys.EndScreenExitPressed, Command.Create); scene.Components.GetOrRegister <Message <GameEndType> >((int)ComponentKeys.GameEnd, Message <GameEndType> .Create) .Subscribe(new SimpleListener <GameEndType>(OnGameEndMessage)); }