예제 #1
0
        public override void TriggerEvent()
        {
            VRC_CT_ObjectTags tags = EventContents.ParameterObject.transform.parent.gameObject.GetComponent <VRC_CT_ObjectTags>();

            string teleportTag = EventContents.ParameterString == "" ? "TeleportLocation" : EventContents.ParameterString;

            if (tags != null && tags.hasTag(teleportTag))
            {
                EventContents.ParameterObject.transform.position = EventContents.ParameterObject.transform.parent.position;
            }
            else
            {
                for (int i = 0; i < EventContents.ParameterObject.transform.childCount; i++)
                {
                    tags = null;
                    tags = EventContents.ParameterObject.transform.GetChild(i).GetComponent <VRC_CT_ObjectTags>();
                    if (tags != null && tags.hasTag(teleportTag))
                    {
                        EventContents.ParameterObject.transform.position = EventContents.ParameterObject.transform.GetChild(i).position;
                        break;
                    }
                }
            }

            if (EventContents.ParameterBoolOp.Equals(VRC_EventHandler.VrcBooleanOp.True))
            {
                Rigidbody rigidbody = EventContents.ParameterObject.GetComponent <Rigidbody>();
                rigidbody.velocity        = Vector3.zero;
                rigidbody.angularVelocity = Vector3.zero;
            }
        }
예제 #2
0
        void OnTriggerEnter(Collider col)
        {
            VRC_CT_ObjectTags tags = col.gameObject.GetComponent <VRC_CT_ObjectTags>();

            if ((tags != null && tags.hasTag(TagToTriggerEvent)) || TagToTriggerEvent == "")
            {
                if (ChurroHandler != null)
                {
                    foreach (VRC_CT_CustomEvent e in ChurroHandler.CompiledEvents)
                    {
                        if (e.EventContents.Name == EnterEventTrigger && EventTypesToUpdate.Contains(e.EventName))
                        {
                            e.EventContents.ParameterObject = col.gameObject;
                        }
                    }
                }
                Handler.TriggerEvent(EnterEventTrigger, VRC_EventHandler.VrcBroadcastType.Always);
            }
        }