void Start() { flame = GetComponentInChildren <FlameBehaviour>(); flame.vitality = 0; isChanging = false; isRunning = false; wayPoints = FindObjectOfType <WayPoints>(); target = wayPoints.points [0]; rb = GetComponent <Rigidbody>(); }
private void Update() { if (pickedUp) { //lit.enabled = false; gameObject.layer = pickedUpLayer; rb.isKinematic = true; col.enabled = false; sway.enabled = true; Collider[] inRange = Physics.OverlapSphere(transform.position, 1f); for (int i = 0; i < inRange.Length; i++) { FlameBehaviour flame = inRange[i].GetComponentInChildren <FlameBehaviour>(); if (flame) { Instantiate(flame.healParticles, flame.transform); flame.vitality += restoration; flame.vitality = Mathf.Clamp(flame.vitality, 0, 100); GetComponentInParent <PlayerController>().isHolding = false; Destroy(gameObject); } } } else { gameObject.layer = 0; lit.enabled = true; col.enabled = true; sway.enabled = false; Collider[] playerInRange = Physics.OverlapSphere(transform.position, 2f, playerLayer); if (playerInRange.Length > 0 && playerInRange[0].GetComponent <PlayerController>() && Input.GetMouseButtonDown(0)) { PickUp(playerInRange[0].GetComponent <PlayerController>()); } } }
// Use this for initialization void Start() { flame = GetComponentInChildren <FlameBehaviour>(); flame.vitality = 100; }
//Waypoint events are called whenever the energy source reaches the waypoint. Abstract, so must be overridden. public abstract void Execute(FlameBehaviour flame);