Пример #1
0
 // Use this for initialization
 void Awake()
 {
     singleton  = this;
     netManager = PhaNetworkManager.Singleton;
     PhantomSpawnLocation[] tempSpawnLocations = GetComponentsInChildren <PhantomSpawnLocation>();
     size = tempSpawnLocations.Length;
     ListOfPhantomSpawners = new List <PhantomSpawnLocation>(size);
     phantoms          = new GameObject[size];
     PreviousPositions = new Vector3[size];
     for (int i = 0; i < size; i++)
     {
         ListOfPhantomSpawners.Add(tempSpawnLocations[i]);
     }
     size = 0;
 }
Пример #2
0
    /// This function is called when the object becomes enabled and active.
    void OnEnable()
    {
        if (!NetworkInitialized && singleton == null)
        {
            singleton = this;
            PhaNetworkingAPI.mainSocket = PhaNetworkingAPI.InitializeNetworking();
            PhaNetworkManager.singleton.SendConnectionMessage(new StringBuilder("0.0.0.1"));
            Debug.Log("Networking initialized");

            SceneManager.activeSceneChanged += SpawnPlayer;
            NetworkInitialized = true;
            DontDestroyOnLoad(this);
        }
        else
        {
            Destroy(gameObject);
        }
    }
Пример #3
0
    //TODO: add in the calls to send the score updates.

    //Handle various changes for each state
    //Try to manage all menu changes from here.
    public void SetMenuState(MainMenuState state)
    {
        mainMenuState = state;
        switch (state)
        {
        case MainMenuState.Menu:
            SelectionUI.SetActive(false);
            selectAgentButton.interactable  = false;
            selectHackerButton.interactable = false;
            break;

        case MainMenuState.HostWaiting:
            SelectionUI.SetActive(true);
            selectAgentButton.interactable  = false;
            selectHackerButton.interactable = false;
            UIText.text = "Waiting for connection...\nYour ip: "
                          + PhaNetworkManager
                          .GetLocalHost()
                          .ToString();

            PhaNetworkManager.Ishost = true;
            break;

        case MainMenuState.ClientWaiting:
            if (VerifyIP(ipInput.text))
            {            //If the ip is a valid ip, set the api's target ip and send the connection message to it.
                PhaNetworkingAPI.targetIP = new StringBuilder(ipInput.text);
                PhaNetworkManager.Singleton.SendConnectionMessage(PhaNetworkingAPI.targetIP);
                PhaNetworkManager.Singleton.SendConnectionMessage(PhaNetworkingAPI.targetIP);
                PhaNetworkManager.Singleton.SendConnectionMessage(PhaNetworkingAPI.targetIP);

                //Settings for splash screen.
                SelectionUI.SetActive(true);
                selectAgentButton.interactable  = false;
                selectHackerButton.interactable = false;
                UIText.text = "Waiting for reply...\n";

                PhaNetworkManager.Ishost = false;
            }
            else
            {
                ipInput.text = "INVALID IP";
                SetMenuState(MainMenuState.Menu);
            }
            break;

        case MainMenuState.CharacterSelect:
            SelectionUI.SetActive(true);
            selectAgentButton.interactable  = true;
            selectHackerButton.interactable = true;
            UIText.text = "Connection confirmed, Select your character.";
            break;

        case MainMenuState.InGame:
            //Load the scene if both players have decided on their choice.
            SceneManager.LoadSceneAsync(PhaNetworkManager.Singleton.OnlineSceneName);
            break;

        default:
            break;
        }
    }