The text block.
Наследование: Control
Пример #1
0
        /// <summary>
        /// Resolves the dependencies needed for this instance to work.
        /// </summary>
        protected override void ResolveDependencies()
        {
            base.ResolveDependencies();

            Entity foregroundEntity = Owner.FindChild("ForegroundEntity");

            this.foregroundTransform = foregroundEntity.FindComponent <Transform2D>();
            this.foregroundAnimation = foregroundEntity.FindComponent <AnimationUI>();

            Entity bulletEntity = Owner.FindChild("BulletEntity");

            this.bulletTransform = bulletEntity.FindComponent <Transform2D>();
            this.bulletAnimation = bulletEntity.FindComponent <AnimationUI>();

            this.textControl = Owner.FindChild("TextEntity").FindComponent <TextControl>();

            if (this.on)
            {
                this.bulletTransform.X          = DefaultOffset;
                this.foregroundTransform.XScale = DefaultOffset;
                this.textControl.Text           = this.onText;
            }
            else
            {
                this.bulletTransform.X          = 0;
                this.foregroundTransform.XScale = 0;
                this.textControl.Text           = this.offText;
            }
        }
Пример #2
0
        public BlockEntity( Vector2 position )
        {
            _colorMap = new Dictionary<ColorState, Color>();
            _colorMap[ColorState.Red] = Color.Red;
            _colorMap[ColorState.Blue] = Color.Blue;
            _colorMap[ColorState.Green] = Color.Green;
            _colorMap[ColorState.Yellow] = Color.Yellow;
            _colorMap[ColorState.Transparent] = Color.Transparent;

            String id = _id.ToString();
            _id++;
            this.entity = new Entity("BlockEntity_" + id)
                .AddComponent(new Transform2D()
                {
                    Origin = new Vector2(0.5f, 0),
                })
                .AddComponent(new BlockEntityBehavior())
                .AddComponent(new RectangleCollider())
                .AddComponent(new PanelControl(60, 30)
                {
                    HorizontalAlignment = HorizontalAlignment.Left
                })
                .AddComponent(new PanelControlRenderer())
                .AddChild(new Entity("ImageEntity")
                    .AddComponent(new Transform2D()
                    {
                        DrawOrder = 0.55f,
                        Origin = new Vector2(0.5f, 0)
                    })
                    .AddComponent(new ImageControl(Color.White, 1, 1)
                    {
                        Stretch = Stretch.Fill
                    })
                    .AddComponent(new ImageControlRenderer())
                )
                .AddChild(new Entity("TextEntity")
                    .AddComponent(new Transform2D()
                    {
                        DrawOrder = 0.4f,
                        Origin = new Vector2(0.5f, 0)
                    })
                    .AddComponent(new TextControl("Content/Arial.wpk")
                    {
                    })
                    .AddComponent(new TextControlRenderer())
                );

            _colorTextEntity = entity.FindChild("TextEntity").FindComponent<TextControl>();
            //_colorTextEntity.OnWidthChanged += _colorTextEntity_OnWidthChanged;

            Background = ColorState.Transparent;

            this.Width = WaveServices.Platform.ScreenWidth * 0.90f;
            this.Height = 90;

            this.entity.RefreshDependencies();
        }
Пример #3
0
        /// <summary>
        /// Resolves the dependencies needed for this instance to work.
        /// </summary>
        protected override void ResolveDependencies()
        {
            base.ResolveDependencies();

            this.textControl      = Owner.FindChild("TextEntity").FindComponent <TextControl>();
            this.textBeforeCursor = this.textControl.Text;

            Entity cursorEntity = Owner.FindChild("CursorEntity");

            this.cursorTransform = cursorEntity.FindComponent <Transform2D>();
            this.cursorAnimation = cursorEntity.FindComponent <AnimationUI>();

            this.imageControl        = Owner.FindChild("ImageEntity").FindComponent <ImageControl>();
            this.imageControl.Width  = this.Panel.Width;
            this.imageControl.Height = this.Panel.Height;
        }
Пример #4
0
        /// <summary>
        /// Resolves the dependencies needed for this instance to work.
        /// </summary>
        protected override void ResolveDependencies()
        {
            base.ResolveDependencies();

            Entity bulletEntity = Owner.FindChild("BulletEntity");

            this.bulletTransform    = bulletEntity.FindComponent <Transform2D>();
            this.bulletImage        = bulletEntity.FindComponent <ImageControl>();
            this.bulletImage.Width  = DefaultSliderWeight;
            this.bulletImage.Height = DefaultSliderWeight;

            Entity foregroundEntity = Owner.FindChild("ForegroundEntity");

            this.foregroundImage     = foregroundEntity.FindComponent <ImageControl>();
            this.foregroundTransform = foregroundEntity.FindComponent <Transform2D>();

            this.backgroundImage = Owner.FindChild("BackgroundEntity").FindComponent <ImageControl>();

            Entity textEntity = Owner.FindChild("TextEntity");

            this.textControl   = textEntity.FindComponent <TextControl>();
            this.textTransform = textEntity.FindComponent <Transform2D>();

            this.animation = textEntity.FindComponent <AnimationUI>();

            // Default parameters
            this.UpdateOrientation();

            // Initialization value
            switch (this.orientation)
            {
            case Orientation.Vertical:
                float result = this.maximunOffset * (this.value - this.minimum) / this.difference;
                this.bulletTransform.Y          = -result;
                this.foregroundTransform.YScale = result;
                break;

            case Orientation.Horizontal:
                this.bulletTransform.X          = this.maximunOffset * (this.value - this.minimum) / this.difference;
                this.foregroundTransform.XScale = this.bulletTransform.X;
                break;
            }
        }
Пример #5
0
        /// <summary>
        /// Resolves the dependencies needed for this instance to work.
        /// </summary>
        protected override void ResolveDependencies()
        {
            base.ResolveDependencies();

            this.textControl = Owner.FindChild("TextEntity").FindComponent<TextControl>();
            this.textBeforeCursor = this.textControl.Text;

            Entity cursorEntity = Owner.FindChild("CursorEntity");
            this.cursorTransform = cursorEntity.FindComponent<Transform2D>();
            this.cursorAnimation = cursorEntity.FindComponent<AnimationUI>();

            this.imageControl = Owner.FindChild("ImageEntity").FindComponent<ImageControl>();
            this.imageControl.Width = this.Panel.Width;
            this.imageControl.Height = this.Panel.Height;
        }
        /// <summary>
        /// Resolves the dependencies needed for this instance to work.
        /// </summary>
        protected override void ResolveDependencies()
        {
            base.ResolveDependencies();

            Entity foregroundEntity = Owner.FindChild("ForegroundEntity");
            this.foregroundTransform = foregroundEntity.FindComponent<Transform2D>();
            this.foregroundAnimation = foregroundEntity.FindComponent<AnimationUI>();

            Entity bulletEntity = Owner.FindChild("BulletEntity");
            this.bulletTransform = bulletEntity.FindComponent<Transform2D>();
            this.bulletAnimation = bulletEntity.FindComponent<AnimationUI>();

            this.textControl = Owner.FindChild("TextEntity").FindComponent<TextControl>();

            if (this.on)
            {
                this.bulletTransform.X = DefaultOffset;
                this.foregroundTransform.XScale = DefaultOffset;
                this.textControl.Text = this.onText;
            }
            else
            {
                this.bulletTransform.X = 0;
                this.foregroundTransform.XScale = 0;
                this.textControl.Text = this.offText;
            }
        }
Пример #7
0
        /// <summary>
        /// Initializes a new instance of the <see cref="ToggleSwitch" /> class.
        /// </summary>
        /// <param name="name">The name.</param>
        public ToggleSwitch(string name)
        {
            this.entity = new Entity(name)
                          .AddComponent(new Transform2D())
                          .AddComponent(new RectangleCollider())
                          .AddComponent(new TouchGestures(false))
                          .AddComponent(new GridControl(100, 42))
                          .AddComponent(new GridRenderer())
                          .AddComponent(new ToggleSwitchBehavior());

            GridControl gridPanel = this.entity.FindComponent <GridControl>();

            gridPanel.RowDefinitions.Add(new RowDefinition()
            {
                Height = new GridLength(1, GridUnitType.Proportional)
            });
            gridPanel.ColumnDefinitions.Add(new ColumnDefinition()
            {
                Width = new GridLength(1, GridUnitType.Auto)
            });
            gridPanel.ColumnDefinitions.Add(new ColumnDefinition()
            {
                Width = new GridLength(1, GridUnitType.Proportional)
            });

            // Text
            Entity textEntity = new Entity("TextEntity")
                                .AddComponent(new Transform2D()
            {
                DrawOrder = 0.4f
            })
                                .AddComponent(new TextControl()
            {
                Text   = "Off",
                Margin = DefaultTextMargin
            })
                                .AddComponent(new TextControlRenderer());

            TextControl text = textEntity.FindComponent <TextControl>();

            text.SetValue(GridControl.RowProperty, 0);
            text.SetValue(GridControl.ColumnProperty, 0);

            this.entity.AddChild(textEntity);

            // Background
            Entity backgroundEntity = new Entity("BackgroundEntity")
                                      .AddComponent(new Transform2D()
            {
                DrawOrder = 0.5f
            })
                                      .AddComponent(new ImageControl(Color.Blue, DefaultWidth, DefaultHeight)
            {
                Margin = DefaultSliderMargin
            })
                                      .AddComponent(new ImageControlRenderer());

            ImageControl background = backgroundEntity.FindComponent <ImageControl>();

            background.SetValue(GridControl.RowProperty, 0);
            background.SetValue(GridControl.ColumnProperty, 1);

            this.entity.AddChild(backgroundEntity);

            // Foreground
            Entity foregroundEntity = new Entity("ForegroundEntity")
                                      .AddComponent(new Transform2D()
            {
                DrawOrder = 0.45f
            })
                                      .AddComponent(new AnimationUI())
                                      .AddComponent(new ImageControl(Color.LightBlue, 1, DefaultHeight)
            {
                Margin = DefaultSliderMargin
            })
                                      .AddComponent(new ImageControlRenderer());

            ImageControl foreground = foregroundEntity.FindComponent <ImageControl>();

            foreground.SetValue(GridControl.RowProperty, 0);
            foreground.SetValue(GridControl.ColumnProperty, 1);

            this.entity.AddChild(foregroundEntity);

            // Bullet
            Entity bulletEntity = new Entity("BulletEntity")
                                  .AddComponent(new Transform2D()
            {
                DrawOrder = 0.4f
            })
                                  .AddComponent(new AnimationUI())
                                  .AddComponent(new ImageControl(Color.White, DefaultHeight, DefaultHeight)
            {
                Margin = DefaultSliderMargin
            })
                                  .AddComponent(new ImageControlRenderer());

            ImageControl bullet = bulletEntity.FindComponent <ImageControl>();

            bullet.SetValue(GridControl.RowProperty, 0);
            bullet.SetValue(GridControl.ColumnProperty, 1);

            this.entity.AddChild(bulletEntity);

            // Event
            this.entity.FindComponent <ToggleSwitchBehavior>().Toggled += this.ToggleSwitch_Toggled;
        }
Пример #8
0
        /// <summary>
        /// Initializes a new instance of the <see cref="CheckBox" /> class.
        /// </summary>
        /// <param name="name">The name.</param>
        public CheckBox(string name)
        {
            this.entity = new Entity(name)
                           .AddComponent(new Transform2D())
                           .AddComponent(new RectangleCollider2D())
                           .AddComponent(new TouchGestures(false))
                           .AddComponent(new CheckBoxBehavior())
                           .AddComponent(new GridControl(150, 42))
                           .AddComponent(new GridRenderer());

            this.gridPanel = this.entity.FindComponent<GridControl>();
            this.gridPanel.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Proportional) });
            this.gridPanel.ColumnDefinitions.Add(new ColumnDefinition() { Width = new GridLength(1, GridUnitType.Auto) });
            this.gridPanel.ColumnDefinitions.Add(new ColumnDefinition() { Width = new GridLength(1, GridUnitType.Proportional) });

            // Image Unchecked
            Entity imageUnCheckedEntity = new Entity("ImageUncheckedEntity")
                                    .AddComponent(new Transform2D()
                                    {
                                        DrawOrder = 0.5f
                                    })
                                    .AddComponent(new ImageControl(Color.White, DefaultUncheckedImage, DefaultUncheckedImage)
                                    {
                                        Margin = DefaultMargin,
                                        HorizontalAlignment = HorizontalAlignment.Center
                                    })
                                    .AddComponent(new ImageControlRenderer());

            this.imageUnchecked = imageUnCheckedEntity.FindComponent<ImageControl>();
            this.imageUnchecked.SetValue(GridControl.RowProperty, 0);
            this.imageUnchecked.SetValue(GridControl.ColumnProperty, 0);

            this.entity.AddChild(imageUnCheckedEntity);

            // Image Checked
            Entity imageCheckedEntity = new Entity("ImageCheckedEntity")
                                    .AddComponent(new Transform2D()
                                    {
                                        DrawOrder = 0.45f,
                                        Opacity = 0
                                    })
                                    .AddComponent(new AnimationUI())
                                    .AddComponent(new ImageControl(Color.Black, DefaultCheckedImage, DefaultCheckedImage)
                                    {
                                        Margin = DefaultCheckedImageMargin,
                                        HorizontalAlignment = HorizontalAlignment.Center
                                    })
                                    .AddComponent(new ImageControlRenderer());

            this.imageChecked = imageCheckedEntity.FindComponent<ImageControl>();
            this.imageChecked.SetValue(GridControl.RowProperty, 0);
            this.imageChecked.SetValue(GridControl.ColumnProperty, 0);

            this.entity.AddChild(imageCheckedEntity);

            // Text
            Entity textEntity = new Entity("TextEntity")
                                    .AddComponent(new Transform2D()
                                    {
                                        DrawOrder = 0.4f
                                    })
                                    .AddComponent(new TextControl()
                                    {
                                        Text = "CheckBox",
                                        Margin = DefaultMargin
                                    })
                                    .AddComponent(new TextControlRenderer());

            this.textControl = textEntity.FindComponent<TextControl>();
            this.textControl.SetValue(GridControl.RowProperty, 0);
            this.textControl.SetValue(GridControl.ColumnProperty, 1);
            this.textControl.OnWidthChanged += this.TextControl_OnWidthChanged;

            this.entity.AddChild(textEntity);

            // Cached
            this.checkBoxBehavior = this.entity.FindComponent<CheckBoxBehavior>();

            // Events
            this.checkBoxBehavior.CheckedChanged -= this.CheckBox_CheckedChanged;
            this.checkBoxBehavior.CheckedChanged += this.CheckBox_CheckedChanged;
        }
Пример #9
0
        protected override void ResolveDependencies()
        {
            base.ResolveDependencies();

            this.textControl = Owner.FindChild("TextEntity").FindComponent<TextControl>();

            this.imageControl = Owner.FindChild("ImageEntity").FindComponent<ImageControl>();
            this.imageControl.Width = this.Panel.Width;
            this.imageControl.Height = this.Panel.Height;
        }
Пример #10
0
        /// <summary>
        /// Initializes a new instance of the <see cref="RadioButton" /> class.
        /// </summary>
        /// <param name="name">The name.</param>
        public RadioButton(string name)
        {
            this.entity = new Entity(name)
                          .AddComponent(new Transform2D())
                          .AddComponent(new RectangleCollider())
                          .AddComponent(new TouchGestures(false))
                          .AddComponent(new RadioButtonBehavior())
                          .AddComponent(new GridControl(170, 42))
                          .AddComponent(new GridRenderer());

            GridControl gridPanel = this.entity.FindComponent <GridControl>();

            gridPanel.RowDefinitions.Add(new RowDefinition()
            {
                Height = new GridLength(1, GridUnitType.Proportional)
            });
            gridPanel.ColumnDefinitions.Add(new ColumnDefinition()
            {
                Width = new GridLength(1, GridUnitType.Auto)
            });
            gridPanel.ColumnDefinitions.Add(new ColumnDefinition()
            {
                Width = new GridLength(1, GridUnitType.Proportional)
            });

            // Image Unchecked
            Entity imageUnCheckedEntity = new Entity("ImageUncheckedEntity")
                                          .AddComponent(new Transform2D()
            {
                DrawOrder = 0.5f
            })
                                          .AddComponent(new ImageControl(Color.White, DefaultUncheckedImage, DefaultUncheckedImage)
            {
                Margin = DefaultMargin,
                HorizontalAlignment = HorizontalAlignment.Center
            })
                                          .AddComponent(new ImageControlRenderer());

            ImageControl imageUnchecked = imageUnCheckedEntity.FindComponent <ImageControl>();

            imageUnchecked.SetValue(GridControl.RowProperty, 0);
            imageUnchecked.SetValue(GridControl.ColumnProperty, 0);

            this.entity.AddChild(imageUnCheckedEntity);

            // Image Checked
            Entity imageCheckedEntity = new Entity("ImageCheckedEntity")
                                        .AddComponent(new Transform2D()
            {
                DrawOrder = 0.45f,
                Opacity   = 0
            })
                                        .AddComponent(new AnimationUI())
                                        .AddComponent(new ImageControl(Color.Black, DefaultCheckedImage, DefaultCheckedImage)
            {
                Margin = DefaultCheckedImageMargin,
                HorizontalAlignment = HorizontalAlignment.Center
            })
                                        .AddComponent(new ImageControlRenderer());

            ImageControl imageChecked = imageCheckedEntity.FindComponent <ImageControl>();

            imageChecked.SetValue(GridControl.RowProperty, 0);
            imageChecked.SetValue(GridControl.ColumnProperty, 0);

            this.entity.AddChild(imageCheckedEntity);

            // Text
            Entity textEntity = new Entity("TextEntity")
                                .AddComponent(new Transform2D()
            {
                DrawOrder = 0.4f
            })
                                .AddComponent(new TextControl()
            {
                Text   = "RadioButton",
                Margin = DefaultMargin
            })
                                .AddComponent(new TextControlRenderer());

            TextControl textControl = textEntity.FindComponent <TextControl>();

            textControl.SetValue(GridControl.RowProperty, 0);
            textControl.SetValue(GridControl.ColumnProperty, 1);

            this.entity.AddChild(textEntity);

            // Cached
            this.radioButtonBehavior = this.entity.FindComponent <RadioButtonBehavior>();

            // Events
            this.radioButtonBehavior.CheckedChanged -= this.RadioButtonBehavior_CheckedChanged;
            this.radioButtonBehavior.CheckedChanged += this.RadioButtonBehavior_CheckedChanged;
        }
Пример #11
0
        /// <summary>
        /// Resolves the dependencies needed for this instance to work.
        /// </summary>
        protected override void ResolveDependencies()
        {
            base.ResolveDependencies();

            Entity bulletEntity = Owner.FindChild("BulletEntity");
            this.bulletTransform = bulletEntity.FindComponent<Transform2D>();
            this.bulletImage = bulletEntity.FindComponent<ImageControl>();
            this.bulletImage.Width = DefaultSliderWeight;
            this.bulletImage.Height = DefaultSliderWeight;

            Entity foregroundEntity = Owner.FindChild("ForegroundEntity");
            this.foregroundImage = foregroundEntity.FindComponent<ImageControl>();
            this.foregroundTransform = foregroundEntity.FindComponent<Transform2D>();

            this.backgroundImage = Owner.FindChild("BackgroundEntity").FindComponent<ImageControl>();

            Entity textEntity = Owner.FindChild("TextEntity");
            this.textControl = textEntity.FindComponent<TextControl>();
            this.textTransform = textEntity.FindComponent<Transform2D>();

            this.animation = textEntity.FindComponent<AnimationUI>();

            // Default parameters
            this.UpdateOrientation();

            // Initialization value
            switch (this.orientation)
            {
                case Orientation.Vertical:
                    float result = this.maximunOffset * (this.value - this.minimum) / this.difference;
                    this.bulletTransform.Y = -result;
                    this.foregroundTransform.YScale = result;
                    break;
                case Orientation.Horizontal:
                    this.bulletTransform.X = this.maximunOffset * (this.value - this.minimum) / this.difference;
                    this.foregroundTransform.XScale = this.bulletTransform.X;
                    break;
            }
        }