Exemplo n.º 1
0
        SceneNode CreatePoint(Vector3 loc)
        {
            var canvas = new SceneNode();

            canvas.GetTransform.Position = loc;
            var textboxCanvas = canvas.AddComponent <Canvas>();
            var root          = new UIElement();

            textboxCanvas.Add2Root(root);
            root.AddComponent <RawImage>();

            var text = (TextBox)root.AddComponent <TextBox>();
            var rect = root.GetTransform;

            rect.anchorMax = new Vector2(0, 0);
            rect.anchorMin = new Vector2(0, 0);
            rect.offsetMin = new Vector2(-50, -50);
            rect.offsetMax = new Vector2(50, 50);
            text.SetText("T");
            text.textCanvas.colour          = Vector3.Zero;
            text.textCanvas.alignVertical   = TextAlignVertical.Center;
            text.textCanvas.alignHorizontal = TextAlignHorizontal.Center;
            textboxCanvas.Mode = Canvas.RenderMode.WorldSpace;
            textboxCanvas.Canvas2WorldScale = 0.0025f;

            return(canvas);
        }
Exemplo n.º 2
0
        void PrepareSpeech()
        {
            var reader = System.IO.File.ReadLines(@"Assets\Sound\13\voice_text_13.txt");

            foreach (var line in reader)
            {
                var parts = line.Split(',');
                dialogData.Add(int.Parse(parts[0]), new Tuple <string, int, int>(parts[1].Replace("<br>", "\n"), int.Parse(parts[2]), int.Parse(parts[3])));
            }


            textBubbleCanvas = new SceneNode();
            textBubbleCanvas.GetTransform.Position = new Vector3(0, 1.8f, 0);
            textBubbleCanvas.SetParent(Node);
            var textboxCanvas = textBubbleCanvas.AddComponent <Canvas>();
            var root          = new UIElement();

            textboxCanvas.Add2Root(root);
            root.AddComponent <RawImage>();

            textBubble = (TextBox)root.AddComponent <TextBox>();
            var rect = root.GetTransform;

            rect.anchorMax = new Vector2(0, 0);
            rect.anchorMin = new Vector2(0, 0);
            rect.offsetMin = new Vector2(-100, -30);
            rect.offsetMax = new Vector2(100, 30);
            textBubble.SetText("");
            textBubble.textCanvas.colour          = Vector3.Zero;
            textBubble.textCanvas.alignVertical   = TextAlignVertical.Center;
            textBubble.textCanvas.alignHorizontal = TextAlignHorizontal.Center;
            textBubble.textCanvas.Scale           = 0.5f;
            textboxCanvas.Mode = Canvas.RenderMode.WorldSpace;
            textboxCanvas.Canvas2WorldScale = 0.0025f;
        }
Exemplo n.º 3
0
        public static UIElement GetButton()
        {
            var el = new UIElement();

            el.AddComponent <RawImage>();

            return(el);
        }
Exemplo n.º 4
0
        public ButtonPrefab(string text = "")
        {
            ui = new UIElement();
            ui.GetTransform.anchorMax = new Vector2(1f, 1f);
            ui.GetTransform.anchorMin = new Vector2(0f, 1f);
            ui.GetTransform.offsetMax = new Vector2(0, 0);
            ui.GetTransform.offsetMin = new Vector2(0, 0);
            component = (ButtonComponent)ui.AddComponent <ButtonComponent>();

            var label = (TextBox)ui.AddComponent <TextBox>();

            label.textCanvas.colour          = new Vector3(1, 0, 0);
            label.textCanvas.alignHorizontal = TextAlignHorizontal.Center;
            label.textCanvas.alignVertical   = TextAlignVertical.Center;

            label.SetText(text);
            label.textCanvas.Scale = 0.5f;
        }
Exemplo n.º 5
0
            public PropertyCtrl(SceneObject parent, PropertyInfo pi, Object source)
            {
                _propertyInfo = pi;
                _source       = source;

                _name = SceneObject.Instantiate <UIElement>(parent);
                _name.RectTransform.Alignment = Alignment.TopLeft;
                _name.RectTransform.ClampMode = ClampMode.Full;
                _nameText           = _name.AddComponent <Text> ();
                _nameText.Height    = 15;
                _nameText.Alignment = Alignment.TopLeft;

                var t = _propertyInfo.PropertyType;

                if (t == typeof(bool))
                {
                    var value = SceneObject.Instantiate <CheckBox> (parent);
                    Value = value;
                    value.RectTransform.Alignment = Alignment.TopRight;
                    value.Ctrl.IsChecked          = (bool)_propertyInfo.GetValue(source, null);
                    value.Ctrl.CheckedChanged    += (c) => _propertyInfo.SetValue(_source, c, null);
                }
                else if (t.IsEnum)
                {
                    var value = SceneObject.Instantiate <ComboBox> (parent);
                    Value                           = value;
                    value.Ctrl.Items                = Enum.GetValues(t).OfType <object>().OrderBy(x => x.ToString()).ToList();
                    value.Ctrl.SelectedItem         = _propertyInfo.GetValue(source, null);
                    value.Ctrl.SelectedItemChanged += (item) => _propertyInfo.SetValue(_source, Enum.Parse(t, item.ToString()), null);
                }
                else
                {
                    var value = SceneObject.Instantiate <TextInput> (parent);
                    Value = value;
                    var val = _propertyInfo.GetValue(source, null);
                    value.Text.Content = val != null?val.ToString() : "NULL";

                    value.Ctrl.OnSubmit += (s, e) => ProcessSubmit(e);
                }
                Value.RectTransform.ClampMode = ClampMode.Full;
            }
Exemplo n.º 6
0
            public override void OnAwake()
            {
                base.OnAwake();

                RectTransform.LayoutChanged += OnLayoutChanged;

                // Create parent container
                RectTransform.Size = new Point(170f, (Parent as UIElement).RectTransform.Height);

                Background.SliceType = SliceType.ThreeHorizontal;
                //                container.Background.Source = ResourceManager.ImageFromFile(alignment == Alignment.Left ? AssetLibrary.UI.HeaderSlantedLeft : AssetLibrary.UI.HeaderSlantedRight);

                // Create inner container
                content = SceneObject.Instantiate <UIElement>(this);
                content.RectTransform.Size = new Point(RectTransform.Width - 60f, RectTransform.Height - 10f);

                // Properties that appear on either the left or right
                Properties = SceneObject.Instantiate <UIElement>(content);
                Properties.RectTransform.Size = new Point(content.RectTransform.Width, content.RectTransform.Height);

                PropertyName = Properties.AddComponent <Text>();
                PropertyName.ApplyStyle(AssetLibrary.TextStyles.HudProperty);

                PropertyLabel = Properties.AddComponent <Text>();
                PropertyLabel.ApplyStyle(AssetLibrary.TextStyles.HudValue);

                // Icon
                iconContainer = SceneObject.Instantiate <UIElement>(content);
                iconContainer.RectTransform.Size = new Point(20f, 20f);

                icon = iconContainer.AddComponent <Image>();

                // Set default values
                PropertyName.Content  = "LABEL";
                PropertyLabel.Content = "0000";
            }
 public EasyRawImage(UnityEngine.Object image, Vector2 position) : base(position)
 {
     UIImageComponent = UIElement.AddComponent(typeof(RawImage)) as RawImage;
     //some code...
 }
 private void InitUiImageComponent()
 {
     UIImageComponent = UIElement.AddComponent(typeof(RawImage)) as RawImage;
 }
Exemplo n.º 9
0
        void Awake()
        {
            var canvas = Node.AddComponent <Canvas>();

            canvas.Mode = Canvas.RenderMode.Overlay;

            var ui0 = new UIElement();

            ui0.GetTransform.anchorMax = new Vector2(0f, 1f);
            ui0.GetTransform.anchorMin = new Vector2(0f, 1f);
            ui0.GetTransform.offsetMax = new Vector2(400, 0);
            ui0.GetTransform.offsetMin = new Vector2(0, -400);
            canvas.Add2Root(ui0);

            var ui7 = new UIElement();

            ui7.GetTransform.anchorMax = new Vector2(0f, 1f);
            ui7.GetTransform.anchorMin = new Vector2(0f, 1f);
            ui7.GetTransform.offsetMax = new Vector2(170, -40);
            ui7.GetTransform.offsetMin = new Vector2(20, -180);
            ui7.SetParent(ui0);
            var mask = (UIMaskComponent)ui7.AddComponent <UIMaskComponent>();

            //scrollbox test
            var ui = new UIElement();

            ui.GetTransform.anchorMax = new Vector2(0f, 1f);
            ui.GetTransform.anchorMin = new Vector2(0f, 1f);
            ui.GetTransform.offsetMax = new Vector2(130, 0);
            ui.GetTransform.offsetMin = new Vector2(0, -200);
            ui.SetParent(ui7);
            var scrollBox = (ScrollBoxComponent)ui.AddComponent <ScrollBoxComponent>();

            scrollBox.Mask            = mask;
            scrollBox.ScrollDirection = ScrollMode.Vertical;
            scrollBox.color.W         = 0.3f;

            //scrollbar
            var scrollBar = (ScrollBarComponent)ui7.AddComponent <ScrollBarComponent>();

            scrollBar.SetScrollBox(scrollBox);


            /*
             * var btn2 = new Toys.UserInterface.ButtonPrefab("path");
             * var btnTrtans2 = btn2.GetTransform;
             * btnTrtans2.anchorMax = new Vector2(1f, 1f);
             * btnTrtans2.anchorMin = new Vector2(0f, 1f);
             * btnTrtans2.offsetMax = new Vector2(0, -0);
             * btnTrtans2.offsetMin = new Vector2(0, -25);
             * btn2.SetAction(() => { cc?.SetDestination(CoreEngine.GetCamera.Node.GetTransform.GlobalTransform.ExtractTranslation()); });
             * btn2.SetParent(ui);
             */

            var btn3       = new Toys.UserInterface.ButtonPrefab("Ко мне");
            var btnTrtans3 = btn3.GetTransform;

            btnTrtans3.anchorMax = new Vector2(1f, 1f);
            btnTrtans3.anchorMin = new Vector2(0f, 1f);
            btnTrtans3.offsetMax = new Vector2(0, -0);
            btnTrtans3.offsetMin = new Vector2(0, -25);
            btn3.SetAction(() => { cc?.AnimController.SetBool("sit", false);  cc?.GoImmedeatly(CoreEngine.GetCamera.Node.GetTransform.GlobalTransform.ExtractTranslation(), Vector3.Zero, null, true); });
            btn3.SetParent(ui);

            /*
             * var ui3 = new UIElement();
             * ui3.GetTransform.anchorMax = new Vector2(1f, 1f);
             * ui3.GetTransform.anchorMin = new Vector2(0f, 1f);
             * ui3.GetTransform.offsetMax = new Vector2(0, -60);
             * ui3.GetTransform.offsetMin = new Vector2(0, -80);
             * var slider = (SliderCompoent)ui3.AddComponent<SliderCompoent>();
             * ui3.SetParent(ui);
             *
             * var ui4 = new UIElement();
             * ui4.GetTransform.anchorMax = new Vector2(1f, 1f);
             * ui4.GetTransform.anchorMin = new Vector2(0f, 1f);
             * ui4.GetTransform.offsetMax = new Vector2(0, -85);
             * ui4.GetTransform.offsetMin = new Vector2(0, -110);
             * ui4.SetParent(ui);
             * var checkbox = (CheckboxComponent)ui4.AddComponent<CheckboxComponent>();
             * var butLabel4 = (TextBox)ui4.AddComponent<TextBox>();
             * butLabel4.textCanvas.colour = new Vector3(1, 0, 0);
             * butLabel4.textCanvas.alignHorizontal = TextAlignHorizontal.Left;
             * butLabel4.textCanvas.alignVertical = TextAlignVertical.Center;
             * butLabel4.textCanvas.colour = Vector3.Zero;
             * butLabel4.textCanvas.Scale = 0.7f;
             * butLabel4.SetText("checkbox");
             *
             * var ui5 = new UIElement();
             * ui5.GetTransform.anchorMax = new Vector2(1f, 1f);
             * ui5.GetTransform.anchorMin = new Vector2(0f, 1f);
             * ui5.GetTransform.offsetMax = new Vector2(0, -115);
             * ui5.GetTransform.offsetMin = new Vector2(0, -140);
             * ui5.SetParent(ui);
             * var input = (TextInputComponent)ui5.AddComponent<TextInputComponent>();
             */
            //debug textures

            /*
             * var canvas1 = (Canvas)Node.AddComponent<Canvas>();
             * var ui10 = new UIElement();
             * ui10.GetTransform.anchorMax = new Vector2(0f, 1f);
             * ui10.GetTransform.anchorMin = new Vector2(0f, 1f);
             * ui10.GetTransform.offsetMax = new Vector2(400, 100);
             * ui10.GetTransform.offsetMin = new Vector2(100, 400);
             * canvas1.Root = ui10;
             *
             * var img =  ui10.AddComponent<RawImage>();
             * img.Material.SetTexture(Node.scene.GetLight.shadowMap, TextureType.Diffuse);
             */
            /*
             * var msd = (Animator)Node.GetComponent<Animator>();
             * if (msd != null)
             *  bc = msd.BoneController;
             */

            //MadePath(31);

            //slider1.OnValueChanged = () => { active = false; physics.SetGravity(new Vector3(0, -10, 0)); };

            /*
             *
             * //save test
             * var save = new SaveSystem();
             *
             * var btn = new Toys.UserInterface.ButtonPrefab("Save");
             * var btnTrtans = btn.GetTransform;
             * btnTrtans.anchorMax = new Vector2(1f, 1f);
             * btnTrtans.anchorMin = new Vector2(0f, 1f);
             * btnTrtans.offsetMax = new Vector2(0, -60);
             * btnTrtans.offsetMin = new Vector2(0, -85);
             * btn.SetAction(() => { save.SaveGame(); });
             * btn.SetParent(ui);
             *
             * var btn1 = new Toys.UserInterface.ButtonPrefab("Load");
             * var btnTrtans1 = btn1.GetTransform;
             * btnTrtans1.anchorMax = new Vector2(1f, 1f);
             * btnTrtans1.anchorMin = new Vector2(0f, 1f);
             * btnTrtans1.offsetMax = new Vector2(0, -90);
             * btnTrtans1.offsetMin = new Vector2(0, -115);
             * btn1.SetAction(() => { save.LoadGame(); });
             * btn1.SetParent(ui);
             */

            var btn6       = new Toys.UserInterface.ButtonPrefab("Место");
            var btnTrtans6 = btn6.GetTransform;

            btnTrtans6.anchorMax = new Vector2(1f, 1f);
            btnTrtans6.anchorMin = new Vector2(0f, 1f);
            btnTrtans6.offsetMax = new Vector2(0, -30);
            btnTrtans6.offsetMin = new Vector2(0, -55);
            btn6.SetAction(GoSit);
            btn6.SetParent(ui);

            var ai         = cc.Node.GetComponent <NpcAI>();
            var btn7       = new Toys.UserInterface.ButtonPrefab("Голос");
            var btnTrtans7 = btn7.GetTransform;

            btnTrtans7.anchorMax = new Vector2(1f, 1f);
            btnTrtans7.anchorMin = new Vector2(0f, 1f);
            btnTrtans7.offsetMax = new Vector2(0, -60);
            btnTrtans7.offsetMin = new Vector2(0, -85);
            btn7.SetAction(() => { ai?.PlayRandomVoice(); });
            btn7.SetParent(ui);
        }