// Recived netId for locally registered object private static void OnGameObjectNetIdRecieved(GameObjectNetIdRecievedEvent e) { Debug.Log("GameObjectNetIdRecieved Event!"); // debug GameObjectData goData; int id = e.gameInstanceId; if (singleton._localIdToGameObjectData.TryGetValue(id, out goData)) { goData.gameObjectNetId = e.netId; singleton._netIdToGameObjectData.Add(e.netId, goData); } else { Debug.LogError("Error, GameObjectNetIdRecieved For an non-registered game object"); } }
public override uint Inspect(FFServer.ClientSocket clientSocket, FFBasePacket incommingPacket) { FFPacket <NetObjectCreatedEvent> packet = (FFPacket <NetObjectCreatedEvent>)incommingPacket; long netid = FFServer.GetNewNetId; GameObjectNetIdRecievedEvent reply = new GameObjectNetIdRecievedEvent(); reply.gameInstanceId = packet.message.gameObjectInstanceId; packet.message.gameObjectNetId = netid; reply.netId = netid; // TODO make this run off of netId on local server/dedicated version // SAVE NewObjectCreatedEvents so they can be sent to new clients later FFServer.NetObjectsCreated.Add(packet.message); clientSocket.SendMessage <GameObjectNetIdRecievedEvent>(reply, true); return(0); }