void UpdateAsHost() { Vector3 world = GetMousePoint(); // move mouse cursor object to that position thisMouse.transform.position = world; // keep track of my mouse position in the list of mice sent to guests miceTracker.Track(playerId, new Vec2d { X = world.x, Y = world.y }); // get a list of only mice that have changed position Mice mice = miceTracker.BuildMice(); if (mice != null) { // send changed mice to guests MiceChangeMessage mcm = new MiceChangeMessage { Payload = mice }; stateFluxClient.SendRequest(mcm); // move mouse cursor gameobjects foreach (Mouse m in mice.Items) { SetPlayerMouseDetails(m); } } if (Input.GetMouseButtonDown(0)) { if (stateFluxClient.isHosting) { SendHostFloobieCommand(); } ChangeTracker changeTracker = CreateJake(world, thisPlayer.Color, circler); gameObjectTracker.TrackCreate(changeTracker); } }