//if we detect player rotation from anyone who isn't the local player private void RotationgDetected(NetworkStructs.RotationData data) { if (data.id != ourClientId && players[data.id] != null) { NetworkedPlayerAdapter character = players[data.id].avatar.GetComponent <NetworkedPlayerAdapter>(); float xRot = data.xRot; float yRot = data.yRot; character.Look(xRot, yRot); } }
//Depricated Function /* * private void CallAIs() * { * GameObject[] enemies = GameObject.FindGameObjectsWithTag("Enemy"); * foreach (GameObject enemy in enemies) * { * enemy.GetComponent<AIMineBot>().CheckIsControlled(); * } * } */ //if we detect player movement from anyone who isn't the local player private void MovementDetected(NetworkStructs.PositionVelocityData data) { if (data.id != ourClientId && players[data.id] != null) { NetworkedPlayerAdapter character = players[data.id].avatar.GetComponent <NetworkedPlayerAdapter>(); Vector3 pos = new Vector3(data.xPos, data.yPos, data.zPos); Vector3 vel = new Vector3(data.xVel, data.yVel, data.zVel); character.Move(pos, vel); } }
//spawn the players in (both local and non-local players) private void SpawnPlayer(string playerName, int cnnId) { GameObject go = Instantiate(playerPrefab) as GameObject; //Is this ours? if (cnnId == ourClientId) { //Hook up camera GameObject cam = GameObject.Find("Main Camera"); cam.transform.SetParent(go.transform.GetChild(1)); cam.transform.position = go.transform.GetChild(1).position; cam.transform.rotation = go.transform.GetChild(1).rotation; //Set up look script MouseLook ml = cam.GetComponent <MouseLook>(); ml.MouseState(true); ml.playerBody = go.transform; //attach pointer Transform pointer = go.transform.GetChild(1).GetChild(0); Debug.Log(pointer.name); pointer.SetParent(cam.transform); //Hook up movement go.AddComponent <PlayerMovement>(); //Disable connection panel and start game GameObject.Find("ClientConnectionPanel").SetActive(false); isStarted = true; } else { //add networked player adapter NetworkedPlayerAdapter ap = go.AddComponent <NetworkedPlayerAdapter>(); ap.body = go.transform; ap.lookComponent = go.transform.GetChild(1); } Player p = new Player(); p.avatar = go; p.playerName = playerName; p.connectionID = cnnId; p.avatar.GetComponentInChildren <TextMesh>().text = playerName; players.Add(cnnId, p); }