public void Update() { if (networkIdentity.IsControlling()) { AnimatorStateInfo asi = animator.GetCurrentAnimatorStateInfo(0); float x = animator.GetFloat("x"); float y = animator.GetFloat("y"); //Debug.LogFormat("{0},{1}", x, y); NetworkAnimatorDirection nad = getDirection((int)x, (int)y); NetworkAnimatorState nas = NetworkAnimatorState.Walking; if (asi.fullPathHash == attacking) { nas = NetworkAnimatorState.Attacking; } if (animatorDirection != nad || animatorState != nas) { animatorDirection = nad; animatorState = nas; animatorData.state = (int)animatorState; animatorData.direction = (int)animatorDirection; networkIdentity.GetSocket().Emit(NetworkTags.ANIMATOR_STATE, new JSONObject(JsonUtility.ToJson(animatorData))); //Debug.LogFormat("Sending: ({0},{1})", (int)x, (int)y); } } }
// Update is called once per frame public void Update() { if (networkIdentity.IsControlling()) { if (oldTankRotation == transform.localEulerAngles.z && oldBarrelRotation == playerManager.GetLastRotation()) { stillCounter += Time.deltaTime; if (stillCounter >= 1) { stillCounter = 0; SendData(); } } else { oldTankRotation = transform.localEulerAngles.z; oldBarrelRotation = playerManager.GetLastRotation(); stillCounter = 0; SendData(); } } }
public void Start() { networkIdentity = GetComponent <NetworkIdentity>(); player = new PlayerRotation(); player.rotation = ""; if (!networkIdentity.IsControlling()) { enabled = false; } }
// Start is called before the first frame update void Start() { networkIdentity = GetComponent <NetworkIdentity>(); player = new PlayerRortation(); player.tankRotation = 0; player.barrelRotation = 0; if (!networkIdentity.IsControlling()) { enabled = false; } }
public void Start() { networkIdentity = GetComponent <NetworkIdentity>(); oldPosition = transform.position; player = new Player(); player.position = new Position(); player.position.x = 0; player.position.y = 0; if (!networkIdentity.IsControlling()) { enabled = false; } }
public void Start() { networkIdentity = GetComponent <NetworkIdentity>(); // playerManager = GetComponent<PlayerManager>(); oldWeaponRotation = playerManager.GetWeaponLastRotation(); player = new Player(); player.rotation = new Rotation(); player.rotation.weaponRotation = 0; if (!networkIdentity.IsControlling()) { enabled = false; } }
public void Update() { if (networkIdentity.IsControlling()) { if (oldPosition != transform.position) { oldPosition = transform.position; stillCounter = 0; sendData(); } else { stillCounter += Time.deltaTime; if (stillCounter >= 1) { stillCounter = 0; sendData(); } } } }
public void Update() { if (networkIdentity.IsControlling()) { if (oldRotation != transform.localEulerAngles.y) { oldRotation = transform.localEulerAngles.y; stillCounter = 0; SendData(); } else { stillCounter += Time.deltaTime; if (stillCounter >= 1) { stillCounter = 0; SendData(); } } } }
// Update is called once per frame void Update() { if (mNetworkIdentity.IsControlling()) { if (mOldPosition != transform.position) //I could restructure this to be an event { mOldPosition = transform.position; mStillCounter = 0; sendData(); } else { mStillCounter += Time.deltaTime; if (mStillCounter >= 1) //I could restructure this to be an event { mStillCounter = 0; sendData(); } } } }
// Start is called before the first frame update public void Start() { mNetworkIdentity = GetComponent <NetworkIdentity>(); mNetworkClient = GameObject.Find("[ Code - Networking ]").GetComponent <NetworkClient>(); mOldPosition = transform.position; mPlayer = new Player(); mPlayer.position = new Position(); mPlayer.position.x = 0; mPlayer.position.y = 0; mPlayer.position.z = 0; if (mNetworkClient) { mPlayer.username = mNetworkClient.mAccessToken.username; } if (!mNetworkIdentity.IsControlling()) { enabled = false; } }
public void Update() { if (networkIdentity.IsControlling()) { if (oldWeaponRotation != playerManager.GetWeaponLastRotation() || oldFlipped != playerManager.GetLastFlipped()) { oldWeaponRotation = playerManager.GetWeaponLastRotation(); oldFlipped = playerManager.GetLastFlipped(); stillCounter = 0; SendData(); } else { stillCounter += Time.deltaTime; if (stillCounter >= 1) { stillCounter = 0; SendData(); } } } }
// Update is called once per frame void Update() { if (networkIdentity.IsControlling()) { //si el tanke o el cañon han cambiado de rotacion enviarla al server if (oldTankRotation != transform.localEulerAngles.z || oldBarrelRotation != playerManager.GetLastRotation()) { oldTankRotation = transform.localEulerAngles.z; oldBarrelRotation = playerManager.GetLastRotation(); stillCounter = 0; SendData(); } else//actualizar cada segundo si está estatico { stillCounter += Time.deltaTime; if (stillCounter >= 1) { stillCounter = 0; SendData(); } } } }
private void SetupEvents() { On("open", (e) => { Debug.Log("Connected to server"); }); On("register", (e) => { ClientID = e.data["id"].ToString().RemoveQuotes(); Debug.LogFormat("My client ID ({0})", ClientID); }); On("spawn", (e) => { string id = e.data["id"].ToString().RemoveQuotes(); GameObject go = Instantiate(playerPrefab, networkContainer); go.name = string.Format("Player ({0})", id); NetworkIdentity ni = go.GetComponent <NetworkIdentity>(); ni.SetCotrollerID(id); ni.SetSocketReference(this); serverObjects.Add(id, ni); //Enabling Camera if (ni.IsControlling()) { go.transform.Find("Third Person Camera").gameObject.SetActive(true); } Debug.LogFormat("I have spawned"); }); On("disconnected", (e) => { string id = e.data["id"].ToString().RemoveQuotes(); GameObject go = serverObjects[id].gameObject; Destroy(go); serverObjects.Remove(id); Debug.LogFormat("Disconnected"); }); On("updatePosition", (e) => { string id = e.data["id"].ToString().RemoveQuotes(); float x = float.Parse(e.data["position"]["x"].str, CultureInfo.InvariantCulture.NumberFormat); float y = float.Parse(e.data["position"]["y"].str, CultureInfo.InvariantCulture.NumberFormat); float z = float.Parse(e.data["position"]["z"].str, CultureInfo.InvariantCulture.NumberFormat); NetworkIdentity ni = serverObjects[id]; ni.transform.position = new Vector3(x, y, z); }); On("updateRotation", (e) => { string id = e.data["id"].ToString().RemoveQuotes(); float rotation = float.Parse(e.data["rotation"].str, CultureInfo.InvariantCulture.NumberFormat); NetworkIdentity ni = serverObjects[id]; ni.transform.localEulerAngles = new Vector3(0, rotation, 0); }); On("updateAI", (e) => { string id = e.data["id"].ToString().RemoveQuotes(); float x = float.Parse(e.data["position"]["x"].str, CultureInfo.InvariantCulture.NumberFormat); float y = float.Parse(e.data["position"]["y"].str, CultureInfo.InvariantCulture.NumberFormat); float z = float.Parse(e.data["position"]["z"].str, CultureInfo.InvariantCulture.NumberFormat); float rotation = float.Parse(e.data["rotation"].str, CultureInfo.InvariantCulture.NumberFormat); NetworkIdentity ni = serverObjects[id]; if (ni.gameObject.activeInHierarchy) { StartCoroutine(AIPositionSmoothing(ni.transform, new Vector3(x, y, z))); ni.GetComponent <EnemyManager>().SetRotation(rotation); } }); On("serverSpawn", (e) => { string name = e.data["name"].str; string id = e.data["id"].ToString().RemoveQuotes(); float x = float.Parse(e.data["position"]["x"].ToString(), CultureInfo.InvariantCulture.NumberFormat); float y = float.Parse(e.data["position"]["y"].ToString(), CultureInfo.InvariantCulture.NumberFormat); float z = float.Parse(e.data["position"]["z"].ToString(), CultureInfo.InvariantCulture.NumberFormat); Debug.LogFormat("Server wants us to spawn a '{0}'", name); if (!serverObjects.ContainsKey(id)) { ServerObjectData sod = serverSpawnables.GetObjectByName(name); GameObject spawnedObject = Instantiate(sod.prefab, networkContainer); spawnedObject.transform.position = new Vector3(x, y, z); NetworkIdentity ni = spawnedObject.GetComponent <NetworkIdentity>(); ni.SetCotrollerID(id); ni.SetSocketReference(this); Debug.Log(spawnedObject.transform.position); //if bullet apply direction as well // if(name == "Bullet") // { // float directionX = float.Parse(e.data["direction"]["x"].str, CultureInfo.InvariantCulture.NumberFormat); // float directionY = float.Parse(e.data["direction"]["y"].str, CultureInfo.InvariantCulture.NumberFormat); // string activator = e.data["activator"].ToString().RemoveQuotes(); // float speed = float.Parse(e.data["speed"].str, CultureInfo.InvariantCulture.NumberFormat); // float rot = Mathf.Atan2(directionY, directionX) * Mathf.Rad2Deg; // Vector3 currentRotation = new Vector3(0, 0, rot - 90); // spawnedObject.transform.rotation = Quaternion.Euler(currentRotation); // WhoActivateMe whoActivateMe = spawnedObject.GetComponent<WhoActivateMe>(); // whoActivateMe.SetActivator(activator); // Projectile projectile = spawnedObject.GetComponent<Projectile>(); // projectile.Direction = new Vector2(directionX, directionY); // projectile.Speed = speed; // } serverObjects.Add(id, ni); } }); On("serverUnspawn", (e) => { string id = e.data["id"].ToString().RemoveQuotes(); NetworkIdentity ni = serverObjects[id]; serverObjects.Remove(id); DestroyImmediate(ni.gameObject); }); On("playerDied", (e) => { string id = e.data["id"].ToString().RemoveQuotes(); NetworkIdentity ni = serverObjects[id]; ni.gameObject.SetActive(false); }); On("loadGame", (e) => { Debug.Log("Switching to game"); SceneManagementManager.Instance.LoadLevel(SceneList.LEVEL, (levelName) => { SceneManagementManager.Instance.UnloadLevel(SceneList.MAIN_MENU); }); }); On("lobbyUpdate", (e) => { OnGameStateChange.Invoke(e); //I prefer use Invoke to make difference between Action and function }); }