コード例 #1
0
 private void TileSelected(object sender, EventArgs e)
 {
     if (tileList.SelectedItems.Count > 0)
     {
         selectedTile = (tileList.SelectedItems[0] as TileItem).tile;
     }
 }
コード例 #2
0
    public void LoadFrom(string filename)
    {
        this.filename = filename;

        PrismMap map = PrismFile.LoadMapFrom(filename);

        textureSetList.Clear();
        rootLayer.Nodes.Clear();

        Dictionary <PrismTexture.Tile, TextureSet.Tile> tileList = new Dictionary <PrismTexture.Tile, TextureSet.Tile>();

        foreach (PrismTexture t in map.Textures)
        {
            TextureSet set = new TextureSet(t.Name, t.Bitmap);
            foreach (PrismTexture.Tile tile in t.Tiles)
            {
                TextureSet.Tile newTile = new TextureSet.Tile(tile.Name, set, tile.UV);
                tileList.Add(tile, newTile);
                set.AddTile(newTile);
            }

            CreateTextureSet(set);
        }

        rootLayer = new LayerNode(map.RootLayerNode, tileList, this);
    }
コード例 #3
0
 public EMesh(TextureSet.Tile t, Layer l, Editor e)
     : this(l, e)
 {
     if (t != null)
     {
         Tile = t;
         previewModel.Texture = t.Texture;
     }
 }
コード例 #4
0
    TileItem FindTileItem(TextureSet.Tile t)
    {
        foreach (TileItem ti in tileList.Items)
        {
            if (ti.tile == t)
            {
                return(ti);
            }
        }

        return(null);
    }
コード例 #5
0
    protected void AddButtonClicked(object caller, EventArgs a)
    {
        if (filledUV.Size.IsEmpty)
        {
            return;
        }
        TextureSet.Tile t = new TextureSet.Tile("Untitled", item.TextureSet, filledUV);

        item.TextureSet.AddTile(t);
        ListViewItem newItem = tileList.Items.Add(new TileItem(t));

        newItem.BeginEdit();
    }
コード例 #6
0
    protected void TileNameChanged(object caller, LabelEditEventArgs a)
    {
        if (a.Label == null)
        {
            return;
        }

        TileItem item = (TileItem)tileList.Items[a.Item];

        TextureSet.Tile t = item.Tile;
        t.Name = a.Label;

        tileList.SelectedItems.Clear();
        item.Selected = true;
    }
コード例 #7
0
    public void AddTile(TextureSet.Tile t)
    {
        TextureItem ti = FindTextureItem(t.TextureSet);

        if (ti != null)
        {
            tileList.LargeImageList.Images.Add(currentImageIndex.ToString(), t.TileBitmap);
            TileItem newItem = new TileItem(t, currentImageIndex);

            ti.AddTileItem(newItem);
            if (ti.Selected)
            {
                tileList.Items.Add(newItem);
            }

            currentImageIndex++;
        }
    }
コード例 #8
0
    void UpdateMesh()
    {
        MeshDesign design = Program.meshDesigner.CurrentDesign;

        if (design.Tile == null)
        {
            selectModel.Texture = null;
        }
        else
        {
            TextureSet.Tile tile = design.Tile;
            SYS.RectangleF  rect = tile.UV;

            selectModel.VertexUV = new Vector2[] {
                new Vector2(rect.X, rect.Y),
                new Vector2(rect.X + rect.Width, rect.Y),
                new Vector2(rect.X + rect.Width, rect.Y + rect.Height),
                new Vector2(rect.X, rect.Y + rect.Height)
            };
            selectModel.Texture = tile.Texture;
        }
    }
コード例 #9
0
 public TileItem(TextureSet.Tile t, int imageIndex)
     : base(t.Name)
 {
     this.tile     = t;
     this.ImageKey = imageIndex.ToString();
 }
コード例 #10
0
 public void RemoveTile(TextureSet.Tile t)
 {
     RemoveTile(FindTileItem(t));
 }
コード例 #11
0
 public TileItem(TextureSet.Tile tile)
     : base(tile.Name)
 {
     this.tile = tile;
 }
コード例 #12
0
 public MeshDesign(Color color)
 {
     this.type  = DesignType.Color;
     this.tile  = null;
     this.color = color;
 }
コード例 #13
0
 public MeshDesign(TextureSet.Tile tile)
 {
     this.type  = DesignType.Tile;
     this.tile  = tile;
     this.color = Color.White;
 }
コード例 #14
0
 public EMesh(SYS.RectangleF rectangle, TextureSet.Tile t, Layer l, Editor e)
     : this(t, l, e)
 {
     SetVertexPosition(rectangle);
 }