public void ServerWrite(Lidgren.Network.NetBuffer message, Client client, object[] extraData = null) { if (GameMain.Server == null) { return; } SpawnOrRemove entities = (SpawnOrRemove)extraData[0]; message.Write(entities.Remove); if (entities.Remove) { message.Write(entities.Entity.ID); } else { if (entities.Entity is Item) { message.Write((byte)SpawnableType.Item); ((Item)entities.Entity).WriteSpawnData(message); } else if (entities.Entity is Character) { message.Write((byte)SpawnableType.Character); //DebugConsole.NewMessage("WRITING CHARACTER DATA: " + (entities.Entity).ToString() + " (ID: " + entities.Entity.ID + ")", Color.Cyan); ((Character)entities.Entity).WriteSpawnData(message); } } }
public void ServerWrite(IWriteMessage message, Client client, object[] extraData = null) { if (GameMain.Server == null) { return; } SpawnOrRemove entities = (SpawnOrRemove)extraData[0]; message.Write(entities.Remove); if (entities.Remove) { message.Write(entities.Entity.ID); } else { if (entities.Entity is Item) { message.Write((byte)SpawnableType.Item); DebugConsole.Log("Writing item spawn data " + entities.Entity.ToString() + " (ID: " + entities.Entity.ID + ")"); ((Item)entities.Entity).WriteSpawnData(message); } else if (entities.Entity is Character) { message.Write((byte)SpawnableType.Character); DebugConsole.Log("Writing character spawn data: " + entities.Entity.ToString() + " (ID: " + entities.Entity.ID + ")"); ((Character)entities.Entity).WriteSpawnData(message); } } }
public void ServerWrite(IWriteMessage message, Client client, object[] extraData = null) { if (GameMain.Server == null) { return; } SpawnOrRemove entities = (SpawnOrRemove)extraData[0]; message.Write(entities.Remove); if (entities.Remove) { message.Write(entities.OriginalID); } else { if (entities.Entity is Item) { message.Write((byte)SpawnableType.Item); DebugConsole.Log("Writing item spawn data " + entities.Entity.ToString() + " (original ID: " + entities.OriginalID + ", current ID: " + entities.Entity.ID + ")"); ((Item)entities.Entity).WriteSpawnData(message, entities.OriginalID, entities.OriginalInventoryID, entities.OriginalItemContainerIndex); } else if (entities.Entity is Character) { message.Write((byte)SpawnableType.Character); DebugConsole.Log("Writing character spawn data: " + entities.Entity.ToString() + " (original ID: " + entities.OriginalID + ", current ID: " + entities.Entity.ID + ")"); ((Character)entities.Entity).WriteSpawnData(message, entities.OriginalID, restrictMessageSize: true); } } }
public void ServerWrite(Lidgren.Network.NetBuffer message, Client client, object[] extraData = null) { if (GameMain.Server == null) { return; } SpawnOrRemove entities = (SpawnOrRemove)extraData[0]; message.Write(entities.Remove); if (entities.Remove) { message.Write(entities.Entity.ID); } else { if (entities.Entity is Item) { message.Write((byte)SpawnableType.Item); ((Item)entities.Entity).WriteSpawnData(message); } else if (entities.Entity is Character) { message.Write((byte)SpawnableType.Character); ((Character)entities.Entity).WriteSpawnData(message); } } }