bool CheckTriggers() { bool state = false; SphereCollider collider = GetComponent <SphereCollider>(); GameObject[] magicObjects = GameObject.FindGameObjectsWithTag("MagicObject"); foreach (GameObject obj in magicObjects) { if (collider.bounds.Contains(obj.transform.position)) { if (sigils.Contains(Sigil.Fire)) { FlameObject flameScript = obj.GetComponent <FlameObject>(); if (flameScript != null && flameScript.IsLit == false) { flameScript.IsLit = true; state = true; } } if (sigils.Contains(Sigil.Earth)) { DoorTrigger doorScript = obj.GetComponent <DoorTrigger>(); if (doorScript != null) { doorScript.Trigger(); } } } } return(state); }
void CheckForFlameObject(Collider other) { if (!other.isTrigger) { return; } FlameObject flameObject = other.GetComponentInParent <FlameObject>(); if (flameObject == null) { return; } if (!isLit || flameObject.IsLit || !flameObject.isLightable || !canTransferFlame) { return; } flameObject.IsLit = true; }
private void Start() { flameObject = GetComponent <FlameObject>(); flameObject.OnLight += DoOnLight; }