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");
            }
        }