Example #1
0
        void OnDistanceStay(DistanceInteraction interaction)
        {
            if (Interaction == null)
            {
                return;
            }
            if (Interaction.AutoDetection)
            {
                if (!Interaction.HasDeteced)
                {
                    return;
                }
            }
            if (Interaction.IsGrab && !IsSelf)
            {
                return;
            }

            if (!IsOpen && !IsLimit)
            {
                //if (Interaction.FeaturesObjectController.ActiveShadow)
                //{

                if (shadowController != null)
                {
                    shadowController.Init(Interaction.transform.parent, traModelNode, Color.yellow, 0.25f, 3000, traModelNode ? ShadowType.Manual : ShadowType.Auto);
                    shadowController.OpenGhost(interaction.FeaturesObjectController.transform,
                                               localPosition, localScale, Quaternion.Euler(localRotation));
                }
                IsOpen = true;
            }
        }
Example #2
0
        //public InteractionShadow(Transform node)
        //{
        //    renderQueue=3000;
        //    intension=0.25f;
        //    shaderName = "Legacy Shaders/Transparent/Diffuse";
        //    color=Color.yellow;
        //    Init(node);
        //}

        public void Init(Transform node)
        {
            shadowController?.Destroy();
            shadowController = null;
            //if (shadowController==null)
            //    shadowController=node.gameObject.GetComponent<ShadowController>();
            //if (shadowController==null)
            shadowController = node.gameObject.AddComponent <ShadowController>();
            shadowController.Init(node.parent, traModelNode, Color.yellow, intension, renderQueue, type, shaderName);
        }