public State(TileResource r) { TextureLink = r.Texture.Link; Properties = r.Properties; Form = r.Form; Anchors = r.Anchors; Reactions = r.Reactions; Solidity = r.Solidity; Light = r.Light; Layer = r.Layer; PartSize = r.PartSize; FramesCount = r.FramesCount; FrameDelay = r.FrameDelay; OffsetX = r.OffsetX; OffsetY = r.OffsetY; SetupEvent = r.SetupEvent.Link; ReformEvent = r.ReformEvent.Link; TouchEvent = r.TouchEvent.Link; ActivateEvent = r.ActivateEvent.Link; RecieveEvent = r.RecieveEvent.Link; RemoveEvent = r.RemoveEvent.Link; BackColor = r.BackColor; GridEnabled = r.GridEnabled; }
private void SyncFlags(object sender, ItemCheckEventArgs e, ref TileResource.Property value) { var box = sender as CheckedListBox; if (box != null) { bool ch = e.NewValue == CheckState.Checked; if (ch != (((int)value & (1 << e.Index)) != 0)) { if (ch) { value |= (TileResource.Property)(1 << e.Index); } else { value &= (TileResource.Property)(~(1 << e.Index)); } BackupChanges(); MakeUnsaved(); } } }