Esempio n. 1
0
    ////////////////////////////////////////////////////////////////////

    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();
            }
        }
Esempio n. 3
0
 void Awake()
 {
     if (instance != null && instance != this) {
         Destroy(this.gameObject);
         return;
     }
     else {
         instance = this;
         DontDestroyOnLoad(gameObject);
     }
 }
Esempio n. 4
0
 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();
    }
Esempio n. 6
0
 /// <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;
    }
Esempio n. 10
0
 //устанавливает текущее состояние игры по мультиплееру
 void SetState(MultiplayerState _state)
 {
     State = _state;
 }
Esempio n. 11
0
 /// <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;
 }