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