Example #1
0
 private bool InstallGripMoveMarker(GameObject target, Action <MonoBehaviour> moveHandler, GuideObject guideObject, bool replaceMaterial, bool installToCenter)
 {
     if (target.transform.Find("_gripmovemarker") == null)
     {
         Renderer   visibleReference = null;
         GameObject gameObject;
         if (installToCenter)
         {
             gameObject       = GameObject.CreatePrimitive(0);
             gameObject.name  = "_gripmovemarker";
             gameObject.layer = LayerMask.NameToLayer("Studio/Select");
             Renderer component = gameObject.GetComponent <Renderer>();
             Material material  = new Material(MaterialHelper.GetColorZOrderShader());
             material.color = new Color(0f, 1f, 0f, 0.3f);
             material.SetFloat("_AlphaRatio", 1.5f);
             material.renderQueue = 3800;
             component.material   = material;
             Transform transform = target.transform.Find("move/XYZ");
             if (transform != null)
             {
                 visibleReference = transform.gameObject.GetComponent <Renderer>();
             }
         }
         else
         {
             gameObject = new GameObject("_gripmovemarker");
             if (replaceMaterial)
             {
                 Renderer component2 = target.GetComponent <Renderer>();
                 if (component2 != null)
                 {
                     Material material2 = new Material(MaterialHelper.GetColorZOrderShader());
                     material2.CopyPropertiesFromMaterial(component2.material);
                     material2.SetFloat("_AlphaRatio", 1.5f);
                     material2.renderQueue = 3800;
                     component2.material   = material2;
                     visibleReference      = component2;
                 }
             }
         }
         SphereCollider sphereCollider = gameObject.AddComponent <SphereCollider>();
         Transform      transform2     = gameObject.transform;
         transform2.transform.parent        = target.transform;
         transform2.transform.localPosition = Vector3.zero;
         transform2.transform.rotation      = guideObject.transformTarget.rotation;
         transform2.transform.localScale    = Vector3.one;
         sphereCollider.isTrigger           = true;
         MoveableGUIObject moveableGUIObject = gameObject.AddComponent <MoveableGUIObject>();
         moveableGUIObject.guideObject = guideObject;
         moveableGUIObject.onMoveLister.Add(moveHandler);
         moveableGUIObject.visibleReference = visibleReference;
         if (installToCenter)
         {
             moveableGUIObject.isMoveObj = true;
         }
         return(true);
     }
     return(false);
 }
Example #2
0
 private void CreatePointer()
 {
     if (pointer == null)
     {
         pointer      = GameObject.CreatePrimitive(0);
         pointer.name = "pointer";
         pointer.GetComponent <SphereCollider>();
         pointer.transform.localScale    = new Vector3(0.01f, 0.01f, 0.01f);
         pointer.transform.parent        = transform;
         pointer.transform.localPosition = new Vector3(0f, -0.03f, 0.03f);
         Renderer component = pointer.GetComponent <Renderer>();
         component.enabled = true;
         Material material = new Material(MaterialHelper.GetColorZOrderShader());
         component.material = material;
     }
 }
Example #3
0
        private bool InstallScaleMoveMarker(GuideObject guideObject)
        {
            Transform transform = guideObject.gameObject.transform.Find("scale");

            if (transform.transform.Find("X/_gripmovemarker_scale") == null)
            {
                foreach (string text in new string[]
                {
                    "XYZ",
                    "X",
                    "Y",
                    "Z"
                })
                {
                    Transform  transform2 = transform.Find(text);
                    GuideScale component  = transform2.gameObject.GetComponent <GuideScale>();
                    if (component != null)
                    {
                        GameObject gameObject = GameObject.CreatePrimitive(0);
                        gameObject.name  = "_gripmovemarker_scale";
                        gameObject.layer = LayerMask.NameToLayer("Studio/Select");
                        Renderer component2 = gameObject.GetComponent <Renderer>();
                        Material material   = new Material(MaterialHelper.GetColorZOrderShader());
                        material.color = new Color(0f, 1f, 1f, 0.3f);
                        material.SetFloat("_AlphaRatio", 1.5f);
                        material.renderQueue = 3800;
                        component2.material  = material;
                        Renderer       component3     = transform2.gameObject.GetComponent <Renderer>();
                        SphereCollider sphereCollider = gameObject.AddComponent <SphereCollider>();
                        Transform      transform3     = gameObject.transform;
                        transform3.transform.parent        = transform2;
                        transform3.transform.localPosition = CalcScaleHandleDefaultPos(component);
                        transform3.transform.rotation      = guideObject.transformTarget.rotation;
                        transform3.transform.localScale    = Vector3.one;
                        sphereCollider.isTrigger           = true;
                        MoveableGUIObject moveableGUIObject = gameObject.AddComponent <MoveableGUIObject>();
                        moveableGUIObject.guideObject = guideObject;
                        moveableGUIObject.guideScale  = component;
                        moveableGUIObject.onMoveLister.Add(new Action <MonoBehaviour>(OnScaleMove));
                        moveableGUIObject.onReleasedLister.Add(new Action <MonoBehaviour>(OnScaleReleased));
                        moveableGUIObject.visibleReference = component3;
                    }
                }
                return(true);
            }
            return(false);
        }
Example #4
0
        private Material CreateForceDrawMaterial()
        {
            Material result;

            try
            {
                Material material = new Material(MaterialHelper.GetColorZOrderShader());
                Color    red      = Color.red;
                red.a = markerOverlayAlpha;
                material.SetColor("_Color", red);
                result = material;
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
                result = null;
            }
            return(result);
        }