public void GenerateInteractionSphere(Transform parent) { if (!SphereGenerated) { SphereGenerated = true; GameObject obj = GameObject.CreatePrimitive(PrimitiveType.Sphere); obj.transform.position = position; MeshRenderer rend = obj.GetComponent <MeshRenderer>(); rend.material = Resources.Load <Material>("Oscillate"); obj.GetComponent <Renderer>().enabled = false; obj.transform.SetParent(parent, false); SphereCollider collider = obj.GetComponent <SphereCollider>(); collider.radius = 0.75f; GameObject obj2 = GameObject.CreatePrimitive(PrimitiveType.Sphere); SphereToggle toggle = obj2.AddComponent <SphereToggle>(); obj2.transform.position = position; obj2.transform.SetParent(parent, false); obj2.tag = "Memory"; GameObject souls = GameObject.Instantiate(Resources.Load <GameObject>("Soul Anchor")); var soulSystem = souls.GetComponentInChildren <ParticleSystem>(); var soulEmissionShape = soulSystem.shape; soulEmissionShape.radius = radius; toggle.toggle = rend; souls.transform.position = Vector3.zero; souls.transform.SetParent(obj2.transform, false); InteractableBehaviour interactable = obj.AddComponent <InteractableBehaviour>(); interactable.AttachInteractor(this); GameObject.Destroy(obj2.GetComponent <Renderer>()); SphereCollider trigger = obj2.GetComponent <SphereCollider>(); trigger.isTrigger = true; trigger.radius = radius; InteractableObject = obj; InteractionSphere = toggle; } }
public void GenerateInteractionSphere(Transform parent) { if (!SphereGenerated) { SphereGenerated = true; GameObject obj = GameObject.CreatePrimitive(PrimitiveType.Sphere); obj.transform.position = position; SphereCollider collider = obj.GetComponent <SphereCollider>(); collider.radius = 0.75f; MeshRenderer rend = obj.GetComponent <MeshRenderer>(); rend.material = Resources.Load <Material>("Oscillate"); obj.transform.SetParent(parent, false); InteractableBehaviour interactable = obj.AddComponent <InteractableBehaviour>(); interactable.AttachInteractor(this); } }