// Start is called before the first frame update void Start() { crystalController = GetComponent <CrystalController>(); screenMessage = FindObjectOfType <ScreenMessage>().gameObject; patronController = FindObjectOfType <PatronController>(); audioSource = GetComponent <AudioSource>(); }
void Start() { //find refernces for in-game objects turrets = GameObject.FindGameObjectsWithTag(Tags.miniTurrret); cc = GameObject.FindGameObjectWithTag(Tags.crystal).GetComponent<CrystalController>(); pc = GameObject.FindGameObjectWithTag(Tags.player).GetComponent<PlayerController>(); gec = GameObject.FindGameObjectWithTag(Tags.gameController).GetComponent<GUIElementsController>(); gt = GameObject.FindGameObjectWithTag(Tags.gameController).GetComponent<GameTimer>(); gameEnded = false; }
private void Awake() { if (instance == null) { instance = this; } else { Destroy(gameObject); } }
// Use this for initialization void Awake() { primaryCrystal = GameObject.FindGameObjectWithTag("PrimaryCrystal"); crystalController = primaryCrystal.GetComponent <CrystalController> (); orbitCrystals = GameObject.FindGameObjectWithTag("OrbitCrystals"); frozenOrb = GameObject.FindGameObjectWithTag("FrozenOrb"); EstablishReferencesToFrozenOrb(); frozenOrb.SetActive(false); }
void Awake() { current = this; }
private void Update() { // If Crystal was destroyed, have all enemies stop all movement. if (GameController.GameOver()) { if (navMeshAgent.velocity.magnitude > 0.0f) { DelayReaction(); } return; } // If no target detected, move towards the Crystal. if (attackTarget == null) { if (movementTimer > movementDelay) { navMeshAgent.SetDestination(CrystalController.GetInstance().transform.position); movementTimer = 0.0f; } } // Target is detected. else { // If close enough to attack target. if (Vector3.Distance(attackTarget.transform.position, transform.position) < attackRange) { navMeshAgent.velocity = Vector3.zero; navMeshAgent.ResetPath(); // Start attacking after delay has been reached. if (attackTimer > attackDelay) { // Align sprite to always face target. spriteDirection = Vector3.ProjectOnPlane(attackTarget.transform.position - transform.position, Camera.main.transform.forward).normalized; if (spriteAnimator != null) { spriteAnimator.Attack(); } // Player sound and remove health from target. AudioController.Attack(); StartCoroutine(DelayedAttack(0.2f)); attackTimer = 0.0f; } movementTimer = 0.0f; attackTimer += Time.deltaTime; } // Not close enough to attack, keep chasing target. else if (movementTimer > movementDelay) { navMeshAgent.SetDestination(attackTarget.transform.position); movementTimer = 0.0f; } } movementTimer += Time.deltaTime; }
// Use this for initialization void Start() { current = this; }
// Update is called once per frame void Update() { // Cycle through each game state. switch (currentState) { // Welcome Message case -1: if (currentWindow == null) { currentWindow = CreateWindow(tutorialMessage); currentState++; } break; // Tutorial Message case 0: if (currentWindow == null) { EnableInput(); currentState++; } break; // Enemy Spawner case 1: if (!enemySpawnerController.Started()) { enemySpawnerController.StartEnemySpawner(); } else if (enemySpawnerController.Victorious()) { AudioController.Win(); currentWindow = CreateWindow(winMessage, 0.5f); DisableInput(); currentState++; } else if (player == null || CrystalController.GetInstance() == null) { AudioController.Lose(); currentWindow = CreateWindow(loseMessage, 0.5f); DisableInput(); currentState++; } break; // Win/Lose Message case 2: if (currentWindow == null) { currentWindow = CreateWindow(creditsMessage); currentState++; } break; // Credit Screen case 3: if (currentWindow == null) { Quit(); } break; } }