private void SyncPosition() { if (UnitInfo.AgentStatus == AgentStatus.Move) { string json = JsonUtility.ToJson(UnitInfo); JSONObject moveData = new JSONObject(json); FixedMove.StartMove(moveData); } else { FixedMove.Stop(); } }
public void Dead() { Debugger.Log(AgentID + ": dead called from animation"); unitSubject.Remove(observer); deathEvents?.Invoke(this); deathEvents = null; FixedMove.Stop(); NavAgent?.Stop(); Unbinding(); unitSubject.Remove(observer); unitSubject.ObserverPooling.Release(observer); }
//Use weapon void checkAction() { if (Input.GetKeyUp(KeyCode.A)) { GameObject b; AudioSource.PlayClipAtPoint(SFXSword, Camera.main.transform.position); switch (weapon) { case WEAPON.BOOMERANG: b = Instantiate(boomerang, transform.position, transform.rotation) as GameObject; break; case WEAPON.SWORD: b = Instantiate(sword, transform.position, transform.rotation) as GameObject; break; default: b = Instantiate(boomerang, transform.position, transform.rotation) as GameObject; break; } FixedMove fm = b.GetComponent("FixedMove") as FixedMove; fm.movementDirection = lookingTo; switch (lookingTo) { case MOVEMENTDIRECTION.UP: b.transform.position += new Vector3(0, 0.2f, 0); break; case MOVEMENTDIRECTION.DOWN: b.transform.position += new Vector3(0.3f, -0.7f, 0); b.transform.Rotate(0, 0, 180); break; case MOVEMENTDIRECTION.LEFT: b.transform.position += new Vector3(-0.2f, -0.4f, 0); b.transform.Rotate(0, 0, 90); break; case MOVEMENTDIRECTION.RIGHT: b.transform.position += new Vector3(0.4f, -0.1f, 0); break; } } }