private void OnTriggerEnter2D(Collider2D other) { if (other.CompareTag("Interactable")) { currentObj = other.gameObject; currentObjScript = currentObj.GetComponent <InteractableBehaviour>(); } }
private void Start() { LightCollectable = 0; lightHolder = GameObject.Find("Light holder"); interactableBehaviour = lightHolder.GetComponent <InteractableBehaviour>(); lightSlider.maxValue = interactableBehaviour.requiredLightMaterial; lightSlider.value = 0; }
private void OnTriggerExit2D(Collider2D other) { if (other.CompareTag("Interactable")) { if (other.gameObject == currentObj) { currentObj = null; currentObjScript = null; } } }
//Interactables with the tag "'Round ' + currentRound'" will be turned on after the final boss moves. void TurnOnInteractables() { string tag = "Round " + currentRound; GameObject[] interactableObjects = GameObject.FindGameObjectsWithTag(tag); InteractableBehaviour[] interactables = new InteractableBehaviour[interactableObjects.Length]; for (int i = 0; i < interactables.Length; ++i) { interactables[i] = interactableObjects[i].GetComponent <InteractableBehaviour>(); interactables[i].PowerOn(); } }
// Start is called before the first frame update void Start() { sr = GetComponentInChildren <SpriteRenderer>(); anim = GetComponentInChildren <Animator>(); col = GetComponent <BoxCollider2D>(); interactable = GetComponent <InteractableBehaviour>(); hspeed = 0f; vspeed = 0f; initDist = 0f; isDead = false; }
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 Update() { RaycastHit hit; Physics.Raycast(gameObject.transform.position, gameObject.transform.forward, out hit); if (hit.collider != null && hit.collider.gameObject != null && hit.distance <= MaxDistance) { InteractableBehaviour behaviour = hit.collider.gameObject.GetComponent <InteractableBehaviour>(); if (behaviour != null) { behaviour.Hover(); if (Input.GetMouseButtonDown(0)) { behaviour.Interact(); } } } }
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); } }
public override void Bind(CargoItemTradeViewModel model) { base.Bind(model); Interactable = GetComponent <InteractableBehaviour>(); Amount?.Bind(new BoundModel <int>(Model, nameof(Model.AmountKg)).AsString()); Name?.Bind(new BoundModel <string>(Model, nameof(Model.Name))); Icon?.Bind(new BoundModel <Sprite>(Model, nameof(Model.Icon))); Price?.Bind(new BoundModel <string>(Model, nameof(Model.PriceStr))); Hint?.Bind(new BoundModel <string>(Model, nameof(Model.HintStr))); if (SelectedHandle != null) { Unsubscribe(SelectedHandle); } SelectedHandle = Subscribe(() => model.Parent.PropertyChanged += OnSelectedChanged, () => model.Parent.PropertyChanged -= OnSelectedChanged); RefreshSelection(); }
public void SetInteractuable(GameObject type) { ActiveInteractable = true; Interactable = GameObject.Instantiate(type, this.transform); _interactableBehaviour = Interactable.GetComponent <InteractableBehaviour> (); }
private void Start() { interactableBehaviour = lightHolder.GetComponent <InteractableBehaviour>(); }
private void SelectObject() { //Selects an object the player is pointing at. selectedObject = null; RaycastHit hit; if (Physics.Raycast(myCamera.position, myCamera.forward, out hit, interactReach)) { InteractableBehaviour obj = hit.transform.GetComponent<InteractableBehaviour>(); if (obj != null) { selectedObject = obj; } } }
private void Start() { interactableBehaviour = Switch.GetComponent <InteractableBehaviour>(); timer = 0; }