public static void AddObject(int wi, ServerSyncedObject obj) { if (objects.ContainsKey(wi)) { return; } objects.Add(wi, obj); }
public static int GenerateID(ServerSyncedObject syncedObject) { var id = syncedObject.gameObject.name.GetHashCode(); do { id = (syncedObject.gameObject.name += "1").GetHashCode(); }while (objects.ContainsKey(id)); objects.Add(id, syncedObject); return(id); }
private void SendSync() //logging is extremely slow { ObjectSyncMessage osm = new ObjectSyncMessage(); foreach (var pair in ObjectIDManager.objects) { ServerSyncedObject sso = pair.Value; if (sso.transform.hasChanged) { sso.transform.hasChanged = false; // Sync it //pair.Value.lastSyncedPos = pair.Value.transform.position; //pair.Value.lastSyncedRotation = pair.Value.transform.rotation; osm.objectsToSync.Add(sso.IDHolder.ID, Tuple.Create(sso.gameObject.transform.position, sso.gameObject.transform.rotation)); } } ServerSendToAll(osm, P2PSend.Unreliable); }