Example #1
0
        public IObject ToItem(AGSSerializationContext context)
        {
            TypedParameter idParam = new TypedParameter(typeof(string), Object.ID);
            ISlider        slider  = context.Resolver.Container.Resolve <ISlider>(idParam);

            Object.ToItem(context, slider);

            Graphics.Parent = null;

            HandleGraphics.Parent = null;

            slider.Label                = (ILabel)Label.ToItem(context);
            slider.MinValue             = MinValue;
            slider.MaxValue             = MaxValue;
            slider.Value                = Value;
            slider.Direction            = Direction;
            slider.AllowKeyboardControl = AllowKeyboardControl;

            context.Rewire(state =>
            {
                IObject obj = state.Find <IObject>(Graphics.ID);
                if (obj != null)
                {
                    state.UI.Remove(obj);
                }
                obj = state.Find <IObject>(HandleGraphics.ID);
                if (obj != null)
                {
                    state.UI.Remove(obj);
                }

                slider.Graphics       = Graphics.ToItem(context);
                slider.HandleGraphics = HandleGraphics.ToItem(context);
                slider.Graphics.TreeNode.SetParent(slider.TreeNode);
                slider.HandleGraphics.TreeNode.SetParent(slider.TreeNode);
            });

            return(slider);
        }
Example #2
0
        private void SetObjectGraphics(GraphicsObject target, HandleGraphics handleGraphics)
        {
            switch (handleGraphics)
            {
            case HandleGraphics.EnableTarget:
                if (target.renderers != null && target.renderers.Length > 0)
                {
                    for (int i = 0; i < target.renderers.Length; i++)
                    {
                        target.renderers[i].enabled           = true;
                        target.renderers[i].shadowCastingMode = target.originalRenderShadows[i];
                    }
                }

                if (target.Target != null)
                {
                    target.Target.gameObject.SetActive(true);
                }
                break;

            case HandleGraphics.DisableTarget:
                if (target.Target != null)
                {
                    target.Target.gameObject.SetActive(false);
                }
                break;

            case HandleGraphics.EnableRenderers:
                if (target.renderers != null && target.renderers.Length > 0)
                {
                    for (int i = 0; i < target.renderers.Length; i++)
                    {
                        target.renderers[i].enabled           = true;
                        target.renderers[i].shadowCastingMode = target.originalRenderShadows[i];
                    }
                }

                if (target.Target != null)
                {
                    target.Target.gameObject.SetActive(true);
                }
                break;

            case HandleGraphics.DisableRenderers:
                if (target.renderers != null && target.renderers.Length > 0)
                {
                    for (int i = 0; i < target.renderers.Length; i++)
                    {
                        target.renderers[i].enabled = false;
                    }
                }

                if (target.Target != null)
                {
                    target.Target.gameObject.SetActive(true);
                }
                break;

            case HandleGraphics.ShawdosOnly:
                if (target.renderers != null && target.renderers.Length > 0)
                {
                    for (int i = 0; i < target.renderers.Length; i++)
                    {
                        target.renderers[i].enabled           = true;
                        target.renderers[i].shadowCastingMode = ShadowCastingMode.ShadowsOnly;
                    }
                }

                if (target.Target != null)
                {
                    target.Target.gameObject.SetActive(true);
                }
                break;
            }
        }