private static void WriteData(ByteWriter data, DesignatorMode mode, Designator designator) { Type designatorType = designator.GetType(); Sync.WriteSync(data, mode); Sync.WriteSync(data, (ushort)Array.IndexOf(Sync.designatorTypes, designatorType)); Sync.WriteSyncObject(data, designator, designatorType); if (designator is Designator_AreaAllowed) { Sync.WriteSync(data, Designator_AreaAllowed.SelectedArea); } if (designator is Designator_Place place) { Sync.WriteSync(data, place.placingRot); } if (designator is Designator_Build build && build.PlacingDef.MadeFromStuff) { Sync.WriteSync(data, build.stuffDef); } if (designator is Designator_Install) { Sync.WriteSync(data, ThingToInstall()); } if (designator is Designator_Zone) { Sync.WriteSync(data, Find.Selector.SelectedZone); } }
private static void WriteData(ByteWriter data, DesignatorMode mode, Designator designator) { Sync.WriteSync(data, mode); Sync.WriteSync(data, designator); if (designator is Designator_AreaAllowed) { Sync.WriteSync(data, Designator_AreaAllowed.SelectedArea); } if (designator is Designator_Place place) { Sync.WriteSync(data, place.placingRot); } if (designator is Designator_Build build && build.PlacingDef.MadeFromStuff) { Sync.WriteSync(data, build.stuffDef); } if (designator is Designator_Install) { Sync.WriteSync(data, ThingToInstall()); } if (designator is Designator_Zone) { Sync.WriteSync(data, Find.Selector.SelectedZone); } }
private static void WriteData(ByteWriter data, DesignatorMode mode, Designator designator) { Sync.WriteSync(data, mode); Sync.WriteSyncObject(data, designator, designator.GetType()); // These affect the Global context and shouldn't be SyncWorkers // Read at MapAsyncTimeComp.SetDesignatorState if (designator is Designator_AreaAllowed) { Sync.WriteSync(data, Designator_AreaAllowed.SelectedArea); } if (designator is Designator_Install install) { Sync.WriteSync(data, install.MiniToInstallOrBuildingToReinstall); } if (designator is Designator_Zone) { Sync.WriteSync(data, Find.Selector.SelectedZone); } }
private static void WriteData(ByteWriter data, DesignatorMode mode, Designator designator) { SyncSerialization.WriteSync(data, mode); SyncSerialization.WriteSyncObject(data, designator, designator.GetType()); // Read at MapAsyncTimeComp.SetDesignatorState // The reading side affects global state so these can't be SyncWorkers if (designator is Designator_AreaAllowed) { SyncSerialization.WriteSync(data, Designator_AreaAllowed.SelectedArea); } if (designator is Designator_Install install) { SyncSerialization.WriteSync(data, install.MiniToInstallOrBuildingToReinstall); } if (designator is Designator_Zone) { SyncSerialization.WriteSync(data, Find.Selector.SelectedZone); } }