public void SyncPosition() { MObjects.SyncPosition mObject = new MObjects.SyncPosition(); mObject.pos = transform.position; mObject.id = (user != null) ? user.connectionId: customId; int _c = session.users.Count; for (int i = 0; i < _c; i++) { if (NetworkServer.connections.Contains(session.users[i])) { // send the mobject NetworkServer.SendToClient(session.users[i].connectionId, MTypes.SyncPosition, mObject); } } }
public void OnSyncPosition(NetworkMessage netMsg) { MObjects.SyncPosition mObject = netMsg.ReadMessage <MObjects.SyncPosition>(); MobileAgent ma = MobileAgent.list.Find(x => x.id == mObject.id); if (ma == null) { return; } mObject.pos.y = MapLoader.GetHeight(mObject.pos); float distance = GetDistance(ma.transform.position, mObject.pos); if (distance > ((ma.isController) ? 2 : 0.5f)) { ma.Fix(mObject.pos); } }