// This updates all properties internal void Update(BuildWall src) { BeforePropsChange(); // Apply changes this.flags = src.Flags; this.offsetx = src.OffsetX; this.offsety = src.OffsetY; this.repeatx = src.RepeatX; this.repeaty = src.RepeatY; this.tileindex = src.TileIndex; this.maskedtileindex = src.MaskedTileIndex; this.shade = src.Shade; this.paletteindex = src.PaletteIndex; this.hitag = src.HiTag; this.lotag = src.LoTag; this.extra = src.Extra; }
private void ClientModelChanged(object sender, PropertyChangedEventArgs e) { if (e.PropertyName.Equals("Connected")) { NotifyPropertyChanged("Connected"); ConnectCommand.RaiseCanExecuteChanged(); SendCommand.RaiseCanExecuteChanged(); China2.RaiseCanExecuteChanged(); BingBong2.RaiseCanExecuteChanged(); Wrong2.RaiseCanExecuteChanged(); GreatWall2.RaiseCanExecuteChanged(); ReallyRich2.RaiseCanExecuteChanged(); FakeNews2.RaiseCanExecuteChanged(); BuildWall.RaiseCanExecuteChanged(); Fired2.RaiseCanExecuteChanged(); Havana.RaiseCanExecuteChanged(); Random.RaiseCanExecuteChanged(); } else if (e.PropertyName.Equals("MessageBoard")) { NotifyPropertyChanged("MessageBoard"); } else if (e.PropertyName.Equals("China")) { NotifyPropertyChanged("China"); } else if (e.PropertyName.Equals("BingBong")) { NotifyPropertyChanged("BingBong"); } else if (e.PropertyName.Equals("Wrong")) { NotifyPropertyChanged("Wrong"); } else if (e.PropertyName.Equals("GreatWall")) { NotifyPropertyChanged("GreatWall"); } else if (e.PropertyName.Equals("ReallyRich")) { NotifyPropertyChanged("ReallyRich"); } else if (e.PropertyName.Equals("FakeNews")) { NotifyPropertyChanged("FakeNews"); } else if (e.PropertyName.Equals("Fired")) { NotifyPropertyChanged("Fired"); } else if (e.PropertyName.Equals("RandomNoise")) { NotifyPropertyChanged("RandomNoise"); } else if (e.PropertyName.Equals("Havanas")) { NotifyPropertyChanged("Havanas"); } else if (e.PropertyName.Equals("BuildWalls")) { NotifyPropertyChanged("BuildWalls"); } }
public void Setup(List <Sidedef> walls) { // Use the first wall as a reference BuildWall first = new BuildWall(walls[0]); Dictionary <string, int> intflags = new Dictionary <string, int>(); foreach (var group in General.Map.Config.WallFlags) { intflags[group.Key] = (first.Flags.ContainsKey(group.Key) && first.Flags[group.Key] ? 1 : 0); } int fw = ((walls[0] == walls[0].Sector.FirstWall) ? 1 : 0); // Go for all walls to compare properties foreach (Sidedef w in walls) { // Flags foreach (string flagname in General.Map.Config.WallFlags.Keys) { int flag = (w.IsFlagSet(flagname) ? 1 : 0); if (flag != intflags[flagname]) { intflags[flagname] = VALUE_MISMATCH; } } // First wall if (fw != ((w == w.Sector.FirstWall) ? 1 : 0)) { fw = VALUE_MISMATCH; } // Properties if (first.TileIndex != w.TileIndex) { first.TileIndex = VALUE_MISMATCH; } if (first.MaskedTileIndex != w.MaskedTileIndex) { first.MaskedTileIndex = VALUE_MISMATCH; } if (first.OffsetX != w.OffsetX) { first.OffsetX = VALUE_MISMATCH; } if (first.OffsetY != w.OffsetY) { first.OffsetY = VALUE_MISMATCH; } if (first.RepeatX != w.RepeatX) { first.RepeatX = VALUE_MISMATCH; } if (first.RepeatY != w.RepeatY) { first.RepeatY = VALUE_MISMATCH; } if (first.Shade != w.Shade) { first.Shade = VALUE_MISMATCH; } if (first.PaletteIndex != w.PaletteIndex) { first.PaletteIndex = VALUE_MISMATCH; } // Identification if (first.HiTag != w.HiTag) { first.HiTag = VALUE_MISMATCH; } if (first.LoTag != w.LoTag) { first.LoTag = VALUE_MISMATCH; } if (first.Extra != w.Extra) { first.Extra = VALUE_MISMATCH; } } // Update interface this.SuspendLayout(); // Flags foreach (CheckBox c in flags.Checkboxes) { switch (intflags[c.Tag.ToString()]) { case 1: c.Checked = true; break; case VALUE_MISMATCH: c.ThreeState = true; c.CheckState = CheckState.Indeterminate; break; } } // First wall switch (fw) { case 1: firstwall.Checked = true; break; case VALUE_MISMATCH: firstwall.ThreeState = true; firstwall.CheckState = CheckState.Indeterminate; break; } // Properties tex.TextureName = (first.TileIndex != VALUE_MISMATCH ? first.TileIndex.ToString() : ""); maskedtex.TextureName = (first.MaskedTileIndex != VALUE_MISMATCH ? first.MaskedTileIndex.ToString() : ""); if (first.OffsetX != VALUE_MISMATCH) { offsetx.Text = first.OffsetX.ToString(); } if (first.OffsetY != VALUE_MISMATCH) { offsety.Text = first.OffsetY.ToString(); } if (first.RepeatX != VALUE_MISMATCH) { repeatx.Text = first.RepeatX.ToString(); } if (first.RepeatY != VALUE_MISMATCH) { repeaty.Text = first.RepeatY.ToString(); } if (first.Shade != VALUE_MISMATCH) { shade.Text = first.Shade.ToString(); } if (first.PaletteIndex != VALUE_MISMATCH) { palette.Text = first.PaletteIndex.ToString(); } // Identification //TODO: handlers? if (first.HiTag != VALUE_MISMATCH) { hitag.Text = first.HiTag.ToString(); } if (first.LoTag != VALUE_MISMATCH) { lotag.Text = first.LoTag.ToString(); } if (first.Extra != VALUE_MISMATCH) { extra.Text = first.Extra.ToString(); } this.ResumeLayout(); }
public LineProperties(Linedef l) { front = (l.Front != null ? new BuildWall(l.Front) : null); back = (l.Back != null ? new BuildWall(l.Back) : null); }