예제 #1
0
    public void Setup(CrironaNet aNetworkManager)
    {
        networkManager = aNetworkManager;
        broadcastKey   = Mathf.Abs(aNetworkManager.broadcastIdentifier.GetHashCode()); // Make sure broadcastKey matches client
        isOpen         = false;
        numPlayers     = 0;

        broadcastDataObject        = new BroadcastData();
        broadcastDataObject.peerId = networkManager.peerId;
        UpdateBroadcastData();
    }
예제 #2
0
    private void OnDataComepletelyReceived(int transmissionId, byte[] data)
    {
        CrironaNet    networkManager = NetworkManager.singleton as CrironaNet;
        CrironaPlayer p = networkManager.localPlayer as CrironaPlayer;

        if (p != null)
        {
            //deserialize data and relocalize
            StartCoroutine(p.RelocateDevice(data));
        }
    }
예제 #3
0
    public void Update()
    {
        if (networkManager == null)
        {
            networkManager          = FindObjectOfType(typeof(CrironaNet)) as CrironaNet;
            networkManager.listener = listener;

            if (networkManager.verboseLogging)
            {
                Debug.Log("RECONNECTING");
            }
        }
    }
예제 #4
0
 public override void OnStartClient()
 {
     networkManager = NetworkManager.singleton as CrironaNet;
     if (networkManager)
     {
         networkManager.lobbySlots[slot] = this;
         OnClientEnterLobby();
     }
     else
     {
         Debug.LogError("CaptainsMessPlayer could not find a CaptainsMessNetworkManager.");
     }
 }
예제 #5
0
    public override void OnStartLocalPlayer()
    {
        networkManager             = NetworkManager.singleton as CrironaNet;
        networkManager.localPlayer = this;

#if UNITY_ANDROID
        deviceName = SystemInfo.deviceModel;
#else
        deviceName = SystemInfo.deviceName;
#endif

        version     = VERSION;
        deviceId    = networkManager.deviceId;
        peerId      = networkManager.peerId;
        playerIndex = slot;
        ready       = false;

        CmdSetBasePlayerInfo(version, deviceName, deviceId, peerId, playerIndex);
    }
예제 #6
0
    public void Awake()
    {
        ValidateConfig();

        // Create network manager
        networkManager = (Instantiate(Resources.Load("CrironaNetworkManager")) as GameObject).GetComponent <CrironaNet>();
        if (networkManager != null)
        {
            //networkManager.logLevel = 0;

            networkManager.name                = "CrironaNetworkManager";
            networkManager.runInBackground     = false; // runInBackground is not recommended on iOS
            networkManager.broadcastIdentifier = broadcastIdentifier;
            networkManager.minPlayers          = minPlayers;
            networkManager.SetMaxPlayers(maxPlayers); //Setting maxPlayers and maxConnections
            networkManager.allReadyCountdownDuration = countdownDuration;
            networkManager.forceServer = forceServer;

            // I'm just using a single scene for everything
            networkManager.offlineScene = "";
            networkManager.onlineScene  = "";

            networkManager.playerPrefab   = playerPrefab.gameObject;
            networkManager.listener       = listener;
            networkManager.verboseLogging = verboseLogging;

            // Optionally create Debug GUI
            if (useDebugGUI)
            {
                networkManager.GetComponent <CrironaGUI>().enabled = true;
            }
        }
        else
        {
            Debug.LogError("Error creating network manager");
        }
    }
예제 #7
0
 public void Setup(CrironaNet aNetworkManager)
 {
     networkManager = aNetworkManager;
     broadcastKey   = Mathf.Abs(aNetworkManager.broadcastIdentifier.GetHashCode()); // Make sure broadcastKey matches server
 }
예제 #8
0
 public void Awake()
 {
     mess           = FindObjectOfType(typeof(CrironaMess)) as CrironaMess;
     networkManager = GetComponent <CrironaNet>();
 }