44 lines
		
	
	
	
		
			1 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			44 lines
		
	
	
	
		
			1 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
using System.Collections;
 | 
						|
using System.Collections.Generic;
 | 
						|
using UnityEngine;
 | 
						|
 | 
						|
public class ChargeCounter : MonoBehaviour
 | 
						|
{
 | 
						|
    bool levelComplete = false;
 | 
						|
    GameObject[] chargePoints;
 | 
						|
    List<GameObject> chargedPoints = new List<GameObject>();
 | 
						|
 | 
						|
    void Start()
 | 
						|
    {
 | 
						|
        if (chargePoints == null) chargePoints = GameObject.FindGameObjectsWithTag("Charge Point");
 | 
						|
    }
 | 
						|
 | 
						|
    public void AddChargedPoint(GameObject chargePoint)
 | 
						|
    {
 | 
						|
        chargedPoints.Add(chargePoint);
 | 
						|
        DisplayCharges();
 | 
						|
    }
 | 
						|
 | 
						|
    public void RemoveChargedPoint(GameObject chargePoint)
 | 
						|
    {
 | 
						|
        chargedPoints.Remove(chargePoint);
 | 
						|
        DisplayCharges();
 | 
						|
    }
 | 
						|
 | 
						|
    public bool IsLevelWon()
 | 
						|
    {
 | 
						|
        return levelComplete;
 | 
						|
    }
 | 
						|
 | 
						|
    void DisplayCharges()
 | 
						|
    {
 | 
						|
        Debug.Log("Total Points Charged:" + chargedPoints.Count);
 | 
						|
        if (chargedPoints.Count >= chargePoints.Length) TriggerLevelWon();
 | 
						|
    }
 | 
						|
 | 
						|
    void TriggerLevelWon()
 | 
						|
    {
 | 
						|
        transform.GetChild(0).gameObject.SetActive(true);
 | 
						|
        levelComplete = true;
 | 
						|
    }
 | 
						|
}
 |