public PalletViewModelManager(MapChipPalletViewModel mapChipPaletteViewModel, ObjectChipPalletViewModel objectChipPaletteViewModel) { mapChipPaletteViewModel.Parent = this; objectChipPaletteViewModel.Parent = this; MapChipPalletViewModel = mapChipPaletteViewModel; ObjectChipPalletViewModel = objectChipPaletteViewModel; _current = MapChipPalletViewModel; PaletteViewModels = new HashSet<IPalletViewModel> { MapChipPalletViewModel, ObjectChipPalletViewModel }; Clipboard = new Clipboard(); }
public void ChangeDrawState(DrawState drawState, int id) { //選択できる範囲外だったら何もせずに終了 if (!CanChangeDrawState(drawState, id)) return; switch (drawState) { case DrawState.MapChip: MapChipPalletViewModel.DrawMapState.Set(id); ObjectChipPalletViewModel.SelectCancel(); _current = MapChipPalletViewModel; break; case DrawState.ObjChip: ObjectChipPalletViewModel.DrawObjectState.Set(id); MapChipPalletViewModel.SelectCancel(); _current = ObjectChipPalletViewModel; break; case DrawState.Empty: //何もしない break; default: throw new ArgumentOutOfRangeException("drawState"); } }
/// <summary> /// 取得したチップを元にスポイト動作をする /// </summary> public void SpoilChip(DrawState drawState, IChip chip) { switch (drawState) { case DrawState.MapChip: MapChipPalletViewModel.PalletSelect(chip.ID); MapChipPalletViewModel.DrawMapState.Set(chip.ID); ObjectChipPalletViewModel.SelectCancel(); _current = MapChipPalletViewModel; break; case DrawState.ObjChip: ObjectChipPalletViewModel.PalletSelect(chip.ID); ObjectChipPalletViewModel.DrawObjectState.SpoilObject(chip as ObjectChip); MapChipPalletViewModel.SelectCancel(); _current = ObjectChipPalletViewModel; break; case DrawState.Empty: //何もしない break; default: throw new ArgumentOutOfRangeException("drawState"); } }