public SelectMapChipScene(Control control) : base(control)
 {
     localPos.SetVect(0, 0);
     // コンストラクタ: マップチップのサイズ
     MapChip = new MapChip(40);
     AddChild(MapChip);
 }
        //マップpalletに新しいマップチップを登録する
        public void AddMapChip(MapChip mapChip)
        {
            int x = index % 6;
            int y = index / 6;

            mapChip.anchor.SetVect(0, 0);
            mapChip.LocalPos = new DXEX.Vect(x * 40, y * 40);
            mapChips[x, y]   = mapChip;
            index++;
        }
 //画像をセット
 public void PutImage(MapChip mapChip, int layer)
 {
     if (mapChip.GetTexture() == null)
     {
         return;
     }
     mapChips[layer].SetId(mapChip.Id);
     mapChips[layer].SetTexture(mapChip.GetTexture());
     mapChips[layer].Angle    = mapChip.Angle;
     mapChips[layer].turnFlag = mapChip.turnFlag;
 }
 //指定のマスのマップチップをwriteMapChipで置き換える
 public void EditWrite(Point point, MapChip writeMapChip, int currentLayer)
 {
     //マップサイズ範囲外なら終了
     if (point.X >= mapData.MapSizeX || point.Y >= mapData.MapSizeY ||
         point.X < 0 || point.Y < 0)
     {
         return;
     }
     //マップチップ置き換え
     mapData.List[point.X, point.Y].PutImage(writeMapChip, currentLayer);
 }
Beispiel #5
0
 //プロジェクトからマップチップパレットをロードする
 public void LoadProject(MapChipResourceManager mcrm)
 {
     this.mcrm = mcrm;
     mapPalletData.ClearMapChip();
     for (int id = 0; id <= mcrm.LastID(); id++)
     {
         MapChip mapChip = new MapChip(40);
         mapChip.SetTexture(mcrm.GetTexture(id));
         mapChip.SetId(mcrm.GetId(id));
         mapPalletData.AddMapChip(mapChip);
         AddChild(mapChip);
     }
 }
        //初期化
        public MapOneMass(int mapChipSize)
        {
            mapChips         = new MapChip[MapEditForm.maxLayer];
            this.mapChipSize = mapChipSize;
            anchor.SetVect(0, 0);

            //レイヤーの数だけ画像表示用スプライトを生成する
            for (int i = 0; i < MapEditForm.maxLayer; i++)
            {
                mapChips[i] = new MapChip(mapChipSize);
                mapChips[i].anchor.SetVect(0, 0);
                AddChild(mapChips[i]);
            }
        }
Beispiel #7
0
        //ファイルから新しいマップチップを生成し登録する
        public void AddMapChip(string fileName)
        {
            MapChip mapChip = new MapChip(40);

            // : MapChipがSpriteを所持ではなく継承しちゃってる
            try
            {
                mapChip.SetTexture(fileName);
                mapChip.SetId(mcrm.PushImageFile(fileName));
            }
            catch (Exception)
            {
                return;
            }
            mapPalletData.AddMapChip(mapChip);
            AddChild(mapChip);
        }
        //パネル上でマウスクリックされた時、マップチップを編集する
        public void MapMouseAction(Point point, int currentLayer, MapChip mapChip)
        {
            //左クリックされている時の処理
            if ((Control.MouseButtons & MouseButtons.Left)
                == MouseButtons.Left)
            {
                //マップを書く
                MapDataControl.EditMapChip.
                EditWrite(mws.LocationToMap(point, MapDataControl.MapChipSize), mapChip, currentLayer);
            }

            //右クリックされている時の処理
            else if ((Control.MouseButtons & MouseButtons.Right)
                     == MouseButtons.Right)
            {
                //マップをクリアします
                MapDataControl.EditMapChip.EditErase(mws.LocationToMap(point, MapDataControl.MapChipSize), currentLayer);
            }
        }