Esempio n. 1
0
    public static Button AddButton(Node scene, string text, ref Vector2 pos, System.Action action)
    {
        var b = new Button(UICamera, UIFontMap)
        {
            Text = text
        };

        pos -= new Vector2(0.0f, b.CharWorldHeight + (1.0f * b.HeightScale));

        b.Position = UICamera.CalcBounds().Point01 + pos;
        b.Action   = action;
        scene.AddChild(b.Background);
        scene.AddChild(b);
        return(b);
    }
Esempio n. 2
0
        // draw all style and highlight the selected one
        // clicking in empty space triggers erase mode
        void DrawTilesForSelection()
        {
            m_tile_select_camera.Push();

            Director.Instance.GL.SetBlendMode(BlendMode.None);
            Vector4 col = Colors.White;

            Director.Instance.SpriteRenderer.DefaultShader.SetColor(ref col);
            Director.Instance.SpriteRenderer.DefaultShader.SetUVTransform(ref Math.UV_TransformFlipV);
            Director.Instance.SpriteRenderer.BeginSprites(TileMap, TextureInfo.NumTiles.Product());

            for (int j = 0; j < TextureInfo.NumTiles.Y; ++j)
            {
                for (int i = 0; i < TextureInfo.NumTiles.X; ++i)
                {
                    Director.Instance.SpriteRenderer.FlipU = false;
                    Director.Instance.SpriteRenderer.FlipV = false;
                    TRS quad = TRS.Quad0_1;
                    quad.T = new Vector2((float)i, (float)j) * TextureInfo.TileSizeInPixelsf;
                    quad.S = TextureInfo.TileSizeInPixelsf;
                    Director.Instance.SpriteRenderer.AddSprite(ref quad, new Vector2i(i, j));
                }
            }

            Director.Instance.SpriteRenderer.EndSprites();

            if (!is_erase_mode())
            {
                // highlight selected tile
                TRS quad = TRS.Quad0_1;
                quad.T = m_selected_tile.Vector2() * TextureInfo.TileSizeInPixelsf;
                quad.S = TextureInfo.TileSizeInPixelsf;
                Director.Instance.DrawHelpers.SetColor(Colors.Pink);
                Director.Instance.DrawHelpers.DrawBounds2(quad.Bounds2());
            }

            {
                Director.Instance.GL.SetBlendMode(BlendMode.Normal);
                Director.Instance.DrawHelpers.DrawDefaultGrid(m_tile_select_camera.CalcBounds()
                                                              , TextureInfo.TileSizeInPixelsf, Math.SetAlpha(Colors.LightBlue, 0.2f), Colors.LightBlue);
            }

            m_tile_select_camera.Pop();
        }