void hitByRayCast(GameObject hit) { //Debug.Log("hitByRayCast"); if (hit.layer == gameObject.layer) { StartCoroutine(damagedAnim()); if (Application.loadedLevel == 2) { stats.health -= DBAccess.instance.userPrefs.userGun.modifiedPower; } if (stats.health > 0) { if (onEnemyStatsChange != null) { onEnemyStatsChange(stats, EnemyState); } } else { if (Application.platform == RuntimePlatform.IPhonePlayer) { ChartBoostBinding.trackEvent("Player Win"); } EnemyState = _EnemyState.Dead; StopAllCoroutines(); mat.color = Color.white; iTween.Stop(gameObject); iTween.Stop(enemyActual); enemyActual.animation.Stop(); enemyActual.animation.Play("Character_Death"); if (onEnemyStatsChange != null) { onEnemyStatsChange(stats, EnemyState); } GameObject.Find("Crosshair").GetComponent <UISprite>().enabled = false; } // If in Tutorial Level if (Application.loadedLevel == 1) { // Reset state of tutorial to progress forward Tutorial t = GameObject.Find("Player").GetComponent <Tutorial>(); if (hitCount < 4 && (int)t.TutorialState < (int)Tutorial._TutorialState.MissionFour) { hitCount++; } else if (t.TutorialState == Tutorial._TutorialState.MissionFour) { hitCount++; stats.health -= 10; if (stats.health > 0) { if (onEnemyStatsChange != null) { onEnemyStatsChange(stats, EnemyState); } } else { EnemyState = _EnemyState.Dead; StopAllCoroutines(); mat.color = Color.white; iTween.Stop(gameObject); iTween.Stop(enemyActual); enemyActual.animation.Stop(); enemyActual.animation.Play("Character_Death"); TutorialGrid tg = GameObject.FindObjectOfType(typeof(TutorialGrid)) as TutorialGrid; tg.moveGrid(Tutorial._TutorialState.None); if (onEnemyStatsChange != null) { onEnemyStatsChange(stats, EnemyState); } } } else { // Reset hitCount for reuse through tutorial hitCount = 0; t.axes = Tutorial.RotationAxes.None; t.grid.moveGrid(Tutorial._TutorialState.None); // Stop AI pathing GetComponent <AStarEnemy>().StopAllCoroutines(); } } } }