public void Awake()
 {
     ValidateConfig();
     // Create network manager
     networkManager = (Instantiate(networkManagerPrefab) as GameObject).GetComponent <MedivisNetworkManager>();
     if (networkManager != null)
     {
         //networkManager.logLevel = 0;
         networkManager.name                = "CaptainsMessNetworkManager";
         networkManager.RoomName            = "WCU Test";
         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.handler        = handler;
         networkManager.verboseLogging = verboseLogging;
     }
     else
     {
         Debug.LogError("#CaptainsMess# Error creating network manager");
     }
 }
 public void Update()
 {
     if (networkManager == null)
     {
         networkManager         = FindObjectOfType(typeof(MedivisNetworkManager)) as MedivisNetworkManager;
         networkManager.handler = handler;
         if (networkManager.verboseLogging)
         {
             Debug.Log("#CaptainsMess# !! RECONNECTING !!");
         }
     }
 }
 public void Setup(MedivisNetworkManager aNetworkManager)
 {
     networkManager = aNetworkManager;
     broadcastKey   = Mathf.Abs(aNetworkManager.broadcastIdentifier.Hash()); // Make sure broadcastKey matches client
     Debug.Log("Set-up hash code in Server: " + broadcastKey.ToString());
     isOpen                     = false;
     numPlayers                 = 0;
     broadcastDataObject        = new BroadcastData();
     broadcastDataObject.Name   = networkManager.RoomName;
     broadcastDataObject.peerId = networkManager.peerId;
     UpdateBroadcastData();
 }
 public override void OnStartClient()
 {
     networkManager = NetworkManager.singleton as MedivisNetworkManager;
     if (networkManager)
     {
         networkManager.lobbySlots[slot] = this;
         OnClientEnterLobby();
     }
     else
     {
         Debug.LogError("CaptainsMessPlayer could not find a CaptainsMessNetworkManager.");
     }
 }
        public override void OnStartLocalPlayer()
        {
            networkManager             = NetworkManager.singleton as MedivisNetworkManager;
            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;

            // deviceModel = SystemInfo.deviceModel;
            // memory = SystemInfo.systemMemorySize;
            // processorFrequency = SystemInfo.processorFrequency;
            // operatingSystem = SystemInfo.operatingSystem;
            // Debug.Log(String.Format("Device specs: {0}, {1}, {2} proc, {3} mem", deviceModel, operatingSystem, processorFrequency, memory));
            Debug.Log("Client add a local player! " + this.deviceName);
            CmdSetBasePlayerInfo(version, deviceName, deviceId, peerId, playerIndex);
        }
 public void Setup(MedivisNetworkManager aNetworkManager)
 {
     networkManager = aNetworkManager;
     broadcastKey   = Mathf.Abs(aNetworkManager.broadcastIdentifier.Hash()); // Make sure broadcastKey matches server
     Debug.Log("Set-up hash code in Client: " + broadcastKey.ToString());
 }