public void Reset() { lr.enabled = false; if (StartPar) { StartPar.SetActive(false); } if (EndPar) { EndPar.SetActive(false); } }
public GameObject Emit(Vector3 Direction) { GameObject hitGO = null; RaycastHit2D hit; lr.enabled = true; if (StartPar) { StartPar.SetActive(true); StartPar.transform.rotation = Quaternion.Euler(0, 0, Mathf.Atan2(Direction.y, Direction.x) * Mathf.Rad2Deg); } if (hit = Physics2D.Raycast(transform.position + Offset * transform.transform.localScale.x, Direction, 20, Layermask)) { lr.SetPosition(0, transform.position + Offset); lr.SetPosition(1, hit.point); if (EndPar) { EndPar.SetActive(true); EndPar.transform.position = hit.point; StartPar.transform.rotation = Quaternion.Euler(0, 0, Mathf.Atan2(Direction.y, Direction.x) * Mathf.Rad2Deg); } hitGO = hit.collider.gameObject; if (hit.collider.tag == enemyTag) { EnemyController ec = hit.collider.GetComponent <EnemyController>(); ec.health.health -= Time.deltaTime * DamegeRatio; } } else { lr.SetPosition(0, transform.position + Offset); Vector3 end = transform.position + Offset + Direction * 15; end = new Vector3(end.x, end.y, 0); lr.SetPosition(1, end); } return(hitGO); }