public override bool Cast() { bool wasCast = false; effectAlpha = 1f; Vector2 mousePosition = player.GetComponent <ClickHandler>().getMousePosition(); Vector2 playerPosition = player.GetComponent <Rigidbody2D>().position; RaycastHit2D[] hits = Physics2D.LinecastAll(playerPosition, mousePosition); foreach (RaycastHit2D hit in hits) { if (hit != null && hit.collider != null) { if (hit.collider.gameObject.GetComponent <EnemyController>() != null) { // CombatText combatText = hit.collider.gameObject.AddComponent(typeof(CombatText)) as CombatText; // combatText.text= damage.ToString(); CombatText.Create(hit.collider.gameObject.transform.position, 100.ToString(), false); StatusText.Create(hit.collider.gameObject.transform.position, "Stunned", false); hit.collider.gameObject.GetComponent <CombatTextFactory>().addCombatText("Hit Enemy with dash"); Debug.Log("Hit Enemy with dash"); } } } player.GetComponent <Rigidbody2D>().position = mousePosition; DashEffect.Create(playerPosition, mousePosition); wasCast = true; Debug.Log("Cast Dash"); return(wasCast); }
public override bool Cast() { bool wasCast = false; effectAlpha = 1f; Vector2 mousePosition = player.GetComponent <ClickHandler>().getMousePosition(); Vector2 playerPosition = player.transform.position; // foreach (RaycastHit2D hit in hits) // { // if (hit != null && hit.collider != null) // { // if (hit.collider.gameObject.GetComponent<EnemyController>() != null) // { // // CombatText combatText = hit.collider.gameObject.AddComponent(typeof(CombatText)) as CombatText; // // combatText.text= damage.ToString(); // CombatText.Create(hit.collider.gameObject.transform.position, 100.ToString(), false); // StatusText.Create(hit.collider.gameObject.transform.position, "Stunned", false); // hit.collider.gameObject.GetComponent<CombatTextFactory>().addCombatText("Hit Enemy with dash"); // Debug.Log("Hit Enemy with dash"); // } // } // } Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit[] hits = Physics.RaycastAll(ray); foreach (RaycastHit hit in hits) { if (hit.transform.name.Contains("Floor")) { Vector3 newPosition = hit.point; newPosition.y = .2f; player.transform.position = newPosition; DashEffect.Create(playerPosition, newPosition); Debug.Log(hit.point); } } wasCast = true; Debug.Log("Cast Dash"); return(wasCast); }