private void syncNodes(string stream, bool loaded) { if (loaded) { NodeSyncBuffer.ParseLoadedNodes(stream).ForEach(node => nodeController.NodeLoadManager.LoadNode(node.ID, node.Position)); } else { NodeSyncBuffer.ParseUnloadedNodes(stream).ForEach(nodeID => nodeController.NodeLoadManager.UnloadNode(nodeID)); } }
private void Initialize() { if (Environment == Environment.PC) { if (Application.isEditor) { Network.InitializeServer(1, PORT); } else { Network.Connect("localhost", PORT); } } if (IsServer()) { nodeSyncBuffer = new NodeSyncBuffer(SyncLoadedNodes, SyncUnloadedNodes); nodeController.OnNodeLoaded += (node, position) => nodeSyncBuffer.OnNodeLoaded(node.ID, position); nodeController.OnNodeUnloaded += node => nodeSyncBuffer.OnNodeUnloaded(node.ID); nodeController.OnNodeLoadSessionEnded += nodeSyncBuffer.SyncRemaining; } }