public TriggerIDList(TriggerIDList other) { if (other == null) { return; } for (uint i = 0; i < 32; ++i) { Triggers[i] = other.Triggers[i]; } }
public PlusPropertyList(PlusPropertyList?other) : this() { ColorRemappings = new byte[Mainframe.RecolorableSpriteNames.Length][]; TileImages = new byte[4096][]; TileMasks = new byte[4096][]; if (other.HasValue) { this = other.Value; startOffTriggers = new TriggerIDList(other.Value.startOffTriggers); if (other.Value.Palette == null) { Palette = null; } else { Palette = new Palette(); Palette.CopyFrom(other.Value.Palette); } for (int i = 0; i < other.Value.ColorRemappings.Length; ++i) { if (other.Value.ColorRemappings[i] != null) { ColorRemappings[i] = other.Value.ColorRemappings[i].Clone() as byte[]; } } for (int i = 0; i < TileImages.Length; ++i) { if (other.Value.TileImages[i] == null) { TileImages[i] = null; } else { TileImages[i] = other.Value.TileImages[i].Clone() as byte[]; } } for (int i = 0; i < TileMasks.Length; ++i) { if (other.Value.TileMasks[i] == null) { TileMasks[i] = null; } else { TileMasks[i] = other.Value.TileMasks[i].Clone() as byte[]; } } Weapons = other.Value.Weapons.Select(w => w.Clone()).ToArray(); } else { startOffTriggers = new TriggerIDList(null); DarknessColor = Color.Black; WarpsTransmuteCoins = true; WaterChangeSpeed = 1; WaterLayer = 1; WaterLevel = DefaultWaterLevel; WaterGradientStart = Color.Black; WaterGradientStop = Color.Black; Gun7Crate = Gun7Crate = Gun9Crate = 0; Palette = null; Weapons = WeaponDefaults.Select(w => w.Clone()).ToArray(); } }