Ejemplo n.º 1
0
 public override void Awake()
 {
     int    x = Config.ScreenWidth / 2 - 10; int y = Config.ScreenHeight * 7 / 10;
     var    l = UIFactroy.CreateLabel(new Vector2(x - 4, y + 2), "使用鼠标或键盘,选择要进入的游戏场景");
     Button a = UIFactroy.CreateButton(new Vector2(x, y + 1), "[1.盒子射击demo]", StartGameTPS);
     Button b = UIFactroy.CreateButton(new Vector2(x, y), "[2.战棋寻路Demo]", StartGameSRPG);
 }
Ejemplo n.º 2
0
        public override void Awake()
        {
            rayCastTargetCom = AddComponent <RayCastTarget>();
            rayCastTargetCom.OnMoveInEvent  += () => { Select(true); };
            rayCastTargetCom.OnMoveOutEvent += () => { Select(false); };

            //添加边框对象
            BoxDrawing        = UIFactroy.CreateBoxDrawingRect(Position - new Vector2(1, 1), 2, 25);
            BoxDrawing.Parent = GameObject;
            Select(false);

            //添加Label对象
            List <Vector2> posList = new List <Vector2>();

            for (int i = 0; i < 25; i++)
            {
                posList.Add(new Vector2(i, 0));
            }
            for (int i = 18; i < 25; i++)
            {
                posList.Add(new Vector2(i, -1));
            }
            GameObject labelObj = new GameObject("StateLabel", "UI", GameObject, new Vector2(0, 1), posList);

            labelCom = labelObj.AddComponent <Renderer>();
            labelCom.Init(RendererMode.UI, (int)Layer.Label);
            //添加血条对象
            progressBar = ProgressBarChar.Create(length: 18);
            progressBar.GameObject.Parent = GameObject;
            progressBar.LocalPosition     = new Vector2(0, 0);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// 创建一个测试用字符串
        /// </summary>
        public static Renderer CreateTestLable(Vector2 pos)
        {
            string   str      = "欢迎使用DestroyEngine";
            int      length   = CharUtils.GetStringWidth(str);
            Renderer renderer = UIFactroy.CreateLabel(pos, "", length / 2 + 1);

            renderer.Rendering(str, Color.Cyan, Color.Blue);
            return(renderer);
        }
Ejemplo n.º 4
0
        public override void Start()
        {
            UIFactroy.CreateLabel(new Vector2Int(7, 10), "jkl今天天气真不错", 5);
            TextBox textBox = UIFactroy.CreateTextBox(new Vector2Int(3, -7), 10, 10);

            textBox.SetText("TransForm", 1);
            textBox.SetText("TransForm124556", 3);
            textBox.Labels[2].GetComponent <Renderer>().Material = new Material(EngineColor.Green, EngineColor.Yellow);
        }
Ejemplo n.º 5
0
        /// <summary>
        /// 创建一个测试用ListBox
        /// </summary>
        public static ListBox CreateTestListBox(Vector2 pos)
        {
            ListBox textBox = UIFactroy.CreateListBox(pos, 5, 10);

            for (int i = 0; i < 10; i++)
            {
                textBox.CreateLabelItem(i.ToString() + "哈哈");
            }
            return(textBox);
        }
Ejemplo n.º 6
0
        /// <summary>
        /// 创建一个文本区域,可以设置是否包含文本框
        /// </summary>
        public static Renderer CreateTextAera(int width, int height, bool hasRect)
        {
            GameObject gameObject = new GameObject(posList: Utils.CreateRecMesh(width, height));
            var        renderCom  = gameObject.AddComponent <Renderer>();

            if (hasRect)
            {
                var box = UIFactroy.CreateBoxDrawingRect(new Vector2(-1, -1), height, width);
                box.Parent = gameObject;
            }
            return(renderCom);
        }
Ejemplo n.º 7
0
        /// <summary>
        /// 创建一个测试用文本框
        /// </summary>
        public static TextBox CreateTestTextBox(Vector2 pos)
        {
            TextBox textBox = UIFactroy.CreateTextBox(pos, 5, 10);

            textBox.SetText("Destroy TextBox", 1);
            Renderer renderer = textBox.Labels[0].GetComponent <Renderer>();

            renderer.SetForeColor(Color.Green);
            textBox.SetText("1.这是一个文本框", 2);
            textBox.SetText("2.文本框没有碰撞", 3);
            textBox.SetText("3.不会随摄像机移动", 4);
            textBox.SetText("4.推箱子玩吧", 5);
            return(textBox);
        }
Ejemplo n.º 8
0
        public override void Awake()
        {
            //添加边框对象
            BoxDrawing        = UIFactroy.CreateBoxDrawingRect(Position - new Vector2(1, 1), 2, 6);
            BoxDrawing.Parent = GameObject;

            //上面的label 长度6 表示技能名字
            var obj = new GameObject("StateLabel", "UI", GameObject, new Vector2(0, 1), Utils.CreateLineMesh(6));

            labelUp = obj.AddComponent <Renderer>();
            labelUp.Init(RendererMode.UI, (int)Layer.Label);

            //下面的label长度6 表示技能cd
            obj       = new GameObject("CDLabel", "UI", GameObject, new Vector2(0, 0), Utils.CreateLineMesh(6));
            labelDown = obj.AddComponent <Renderer>();
            labelDown.Init(RendererMode.UI, (int)Layer.Label);
        }
Ejemplo n.º 9
0
        public override void Awake()
        {
            //这个类是单例且不会随场景销毁的
            Instance = this;

            helpTextBox = UIFactroy.CreateTextBox(new Vector2(Config.ScreenWidth - 12, 0), 5, 10);
            helpTextBox.GameObject.Parent = GameObject;
            var drawing = UIFactroy.CreateBoxDrawingRect(new Vector2(Config.ScreenWidth - 12, 6), 1, 10);

            drawing.Parent = GameObject;
            returnBtn      = UIFactroy.CreateButton(new Vector2(Config.ScreenWidth - 11, 7), "回到主界面", Return, 10);
            returnBtn.GameObject.Parent = GameObject;

            InitText();

            SceneManager.DontDestroyOnLoad(GameObject);
        }
Ejemplo n.º 10
0
        public override void Awake()
        {
            //添加边框对象
            BoxDrawing        = UIFactroy.CreateBoxDrawingRect(Position - new Vector2(1, 1), 4, 24);
            BoxDrawing.Parent = GameObject;

            label1  = Utils.CreateLabel(24, parent: GameObject, localPosition: new Vector2(0, 3));
            label2  = Utils.CreateLabel(24, parent: GameObject, localPosition: new Vector2(0, 2));
            labelHP = Utils.CreateLabel(8, parent: GameObject, localPosition: new Vector2(0, 1));
            labelMP = Utils.CreateLabel(8, parent: GameObject, localPosition: new Vector2(0, 0));

            hpSlider = ProgressBarChar.Create(16);
            hpSlider.GameObject.Parent = GameObject;
            hpSlider.LocalPosition     = new Vector2(8, 1);

            mpSlider = ProgressBarChar.Create(16);
            mpSlider.GameObject.Parent = GameObject;
            mpSlider.LocalPosition     = new Vector2(8, 0);
            mpSlider.fullColor         = Color.Blue;
            mpSlider.enableColor       = false;
        }
Ejemplo n.º 11
0
        /// <summary>
        /// 在场景中创建对象
        /// </summary>
        public override void OnStart()
        {
            //主角位于原点
            GameObject player = TPSFactroy.CreateStandardPlayer("吊", new Vector2(0, 0));

            GameObject.CreateWith <CameraController>().followTrans = player;
            player.AddComponent <Shooter>();

            //创建迷宫地图 位于第三象限
            var maze = MazeGeneration.GetMaze(21, 21, new RenderPoint("■", Color.White, Config.DefaultBackColor, (int)Layer.Environment));

            maze.Position = new Vector2(-25, -25);

            //俄罗斯方块位于第一象限
            for (int x = 5; x < 20; x += 5)
            {
                for (int y = 5; y < 20; y += 5)
                {
                    TPSFactroy.CreateBox(new Vector2(x, y));
                }
            }

            //系统指示器 位于右上角
            SystemUIFactroy.GetSystemInspector();

            //左侧的三个UI组件
            TPSFactroy.CreateTestLable(new Vector2(0, 26));

            ListBox gunBox = UIFactroy.CreateListBox(new Vector2(0, 15), 5, 10);

            gunBox.AddComponent <GunBox>();

            var gunUI = UIFactroy.CreateTextBox(new Vector2(0, 21), 3, 10);

            gunUI.AddComponent <GunUI>();
        }
Ejemplo n.º 12
0
        public override void Awake()
        {
            //添加边框对象
            BoxDrawing        = UIFactroy.CreateBoxDrawingRect(Position - new Vector2(1, 1), 2, 30);
            BoxDrawing.Parent = GameObject;

            //左上的的label 长度20 表示正在释放的技能的名字和施法时间等
            var obj = new GameObject("StateLabel", "UI", GameObject, new Vector2(0, 1), Utils.CreateLineMesh(20));

            labelUp = obj.AddComponent <Renderer>();
            labelUp.Init(RendererMode.UI, (int)Layer.Label);

            //上面的条表示公cd
            progressCommonCD = ProgressBarChar.Create(10, fillChar: '<');
            progressCommonCD.GameObject.Parent = GameObject;
            progressCommonCD.LocalPosition     = new Vector2(20, 1);
            progressCommonCD.emptyColor        = Color.Green;
            progressCommonCD.fullColor         = Color.Red;

            //下面的用实心进度条 表示施法条
            progressCasting = ProgressBar.Create(30);
            progressCasting.GameObject.Parent = GameObject;
            progressCasting.LocalPosition     = new Vector2(0, 0);
        }
Ejemplo n.º 13
0
        public override void OnStart()
        {
            UIFactroy.CreateButton(new Vector2(20, 23), "开始教学关卡",
                                   () => { GameMode.Instance.Init(); LoadScene(); });
            UIFactroy.CreateButton(new Vector2(20, 22), "开始关卡简单(0)",
                                   () => { GameMode.Instance.InitGame(0); LoadScene(); });
            UIFactroy.CreateButton(new Vector2(20, 21), "开始关卡中等(5)",
                                   () => { GameMode.Instance.InitGame(5); LoadScene(); });
            UIFactroy.CreateButton(new Vector2(20, 20), "开始关卡理论极限(10)",
                                   () => { GameMode.Instance.InitGame(10); LoadScene(); });
            UIFactroy.CreateButton(new Vector2(20, 19), "开始关卡测试用(100)",
                                   () => { GameMode.Instance.InitGame(100); LoadScene(); });



            var text = Utils.CreateTextAera(20, 3, true);

            text.Position = new Vector2(10, 14);
            text.Rendering("欢迎来到本游戏,本游戏目前只有一个试玩关卡. 建议游玩简单或者中等难度,后面两个仅供测试用(大概是过不了关的)");

            text          = Utils.CreateTextAera(20, 5, true);
            text.Position = new Vector2(10, 8);
            text.Rendering("操作说明,鼠标指向为治疗目标,123为单体治疗技能,45为群体治疗技能。(推荐多用134技能,应急使用25技能,并注意自己的蓝条不要oom)");
        }