//////////////////////////////////////////////////////////////////// private void Initialize() { if (mainMenuState != null) { return; } mainMenuState = new MainMenuState(); if (multiplayerState != null) { return; } multiplayerState = new MultiplayerState(); if (trainingState != null) { return; } trainingState = new TrainingState(); if (trainingSettingsState != null) { return; } trainingSettingsState = new TrainingSettingsState(); }
/// <summary> /// Resets the robot when the reset button is clicked. /// </summary> public void OnResetRobotButtonClicked() { MultiplayerState multiplayerState = StateMachine.SceneGlobal.CurrentState as MultiplayerState; if (multiplayerState != null) { multiplayerState.ActiveRobot.CmdResetRobot(); } }
void Awake() { if (instance != null && instance != this) { Destroy(this.gameObject); return; } else { instance = this; DontDestroyOnLoad(gameObject); } }
public void CheckClientConnected() { if( state != MultiplayerState.WaitingForClient ) { throw new InvalidOperationException( "Expected `WaitingForClient` state in `CheckClientConnected`" ); } new Recv( hostId ) .OnError( err => { Debug.LogError( "Failed to receive: " + (NetworkError)err ); } ) .OnConnect( conId => { // TODO: Actually register the connected player state = MultiplayerState.Ready; Debug.LogError( "Connected to host" ); } ) .ErrorOnRest(); }
/// <summary> /// Creates a reference to the active <see cref="MultiplayerState"/>. /// </summary> private void Start() { state = StateMachine.SceneGlobal.FindState <MultiplayerState>(); }
public void CheckConnectionAccepted() { if( state != MultiplayerState.Connecting ) { throw new InvalidOperationException( "Expected `Connecting` state for `CheckConnectionAccepted`" ); } new Recv( hostId ) .OnError( err => { Debug.LogError( "Failed to receive: " + (NetworkError)err ); return; } ) .OnConnect( conId => { if( conId == connectionId ) { state = MultiplayerState.Ready; Debug.LogError( "Client connected" ); } else { // TODO: handle this error byte _err; NetworkTransport.Disconnect( hostId, conId, out _err ); } } ) .OnDisconnect( conId => { if( connectionId == conId ) { state = MultiplayerState.Disconnected; return; } throw new InvalidOperationException( "Got `DisconnectEvent` in client state" ); } ) .ErrorOnRest(); }
public void LocalHost() { hostId = NetworkTransport.AddHost( topology, 4114, "127.0.0.1" ); // TODO: Setup client information running = true; // Wait for a client state = MultiplayerState.WaitingForClient; }
public void LocalConnect() { hostId = NetworkTransport.AddHost( topology ); byte error; int cid = NetworkTransport.Connect( hostId, "127.0.0.1", 4114, 0, out error ); if( (NetworkError)error != NetworkError.Ok ) { Debug.LogError( "Failed to connect: " + (NetworkError)error ); return; } running = true; state = MultiplayerState.Connecting; connectionId = cid; }
//устанавливает текущее состояние игры по мультиплееру void SetState(MultiplayerState _state) { State = _state; }
/// <summary> /// Creates a reference to the active multiplayer state when this <see cref="NetworkRobot"/> /// is enabled. /// </summary> private void OnEnable() { state = StateMachine.SceneGlobal.CurrentState as MultiplayerState; }