//PURPLE RAIN public override void SkillTwo() { if (finishedSkillTwo) { gunsight.SetActive(false); return; } if (Input.GetKeyDown(KeyCode.Escape)) { playerController.AbortSkillTwo(); return; } if (Input.GetMouseButtonDown(0)) { gunsight.SetActive(false); Vector3 mousePosition = Camera.main.ScreenToWorldPoint(Input.mousePosition); Collider2D[] colliders = Physics2D.OverlapCircleAll(mousePosition, purpleRainPoisonArea); foreach (Collider2D collider in colliders) { if (collider.CompareTag(Tags.enemy)) { CmdSkillTwo(collider.gameObject); } } CmdComboField(mousePosition); anim.SetTrigger("SkillTwo"); StartCoroutine("ResetFinishedSkillTwo"); finishedSkillTwo = true; playerController.IncreaseUltimateCharge(ConstantsDictionary.ultiIncreaseForSkill); return; } if (!gunsight.activeInHierarchy && !finishedSkillTwo) { Vector3 mousePosition = Camera.main.ScreenToWorldPoint(Input.mousePosition); gunsight.transform.position = new Vector3(mousePosition.x, mousePosition.y, 0); gunsight.transform.localScale = gunsightScale * purpleRainPoisonArea; gunsight.SetActive(true); } else { Vector3 mousePosition = Camera.main.ScreenToWorldPoint(Input.mousePosition); gunsight.transform.position = new Vector3(mousePosition.x, mousePosition.y, 0); } }
//I GOT YA public override void SkillTwo() { if (finishedSkillTwo) { return; } if (Input.GetKeyDown(KeyCode.Escape)) { gunsight.SetActive(false); playerController.AbortSkillTwo(); return; } if (Input.GetMouseButtonDown(0) && enemySelected != null) { //deactivate aim e gunsight gunsight.SetActive(false); EnemyController enContr = enemySelected.GetComponent <EnemyController>(); enContr.DeactivateAimBox(); //throw hook GameObject hookToThrow = GameObject.Instantiate(hook); hookToThrow.transform.position = gameObject.transform.position; Hook hookScript = hookToThrow.GetComponent <Hook>(); hookScript.playerToReach = enemySelected.transform; NetworkServer.Spawn(hookToThrow); anim.SetTrigger("SkillTwo"); //apply stun is skill is unlocked if (iGotYaStun) { enContr.ApplyStun(iGotYaStunDuration); } //deal damage to the enemies in the area and gets aggro on all of them Collider2D[] colliders = Physics2D.OverlapCircleAll(enemySelected.transform.position, iGotYaDmgArea); foreach (Collider2D collider in colliders) { if (collider.CompareTag(Tags.enemy)) { CmdSkillTwo(collider.gameObject); } } finishedSkillTwo = true; StartCoroutine("ResetFinishedSkillTwo"); playerController.IncreaseUltimateCharge(ConstantsDictionary.ultiIncreaseForSkill); CmdComboField(enemySelected.transform.position); return; } //far vedere l'area intorno al fisherman in cui si possono selezionare i nemici gunsight.transform.position = transform.position; gunsight.transform.localScale = new Vector3(iGotYaDmgArea, iGotYaDmgArea, 1); gunsight.SetActive(true); //inizializzazione variabili di ricerca bool found = false; Vector3 mousePosition = Camera.main.ScreenToWorldPoint(Input.mousePosition); bool check = false; //prendo tutti i collider dove c'è il mouse Collider2D[] col = Physics2D.OverlapPointAll(mousePosition); EnemyController controllerSelected = null; if (col.Length > 0) { foreach (Collider2D c in col) { if (c.gameObject.CompareTag(Tags.enemy) && (Vector2.Distance(gameObject.transform.position, c.gameObject.transform.position) < iGotYaDmgArea)) { check = true; enemySelected = c.gameObject; controllerSelected = enemySelected.GetComponent <EnemyController>(); controllerSelected.ActivateAimBox(); break; } } } if (check) { found = true; if (controllerSelected != lastEnemySelected) { if (lastEnemySelected != null) { lastEnemySelected.DeactivateAimBox(); } lastEnemySelected = controllerSelected; } } if (lastFound == true && found == false) { if (lastEnemySelected != null) { lastEnemySelected.DeactivateAimBox(); } enemySelected = null; } lastFound = found; }