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); }
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; } }