private void Act(IsNere _isNere) //상호작용 { switch (_isNere) { case IsNere.Enemy: if (stat.Energy.CurrentVal > 30) { MyAnimator.SetTrigger("spell"); stat.Energy.CurrentVal -= 30; StartCoroutine(target.SpdDown(3, 1)); } break; case IsNere.NPC: break; case IsNere.SignPost: break; } }
// Start is called before the first frame update public override void Start() { if (Instance == null) { Instance = this; DontDestroyOnLoad(this.gameObject); } else { Destroy(this.gameObject); } base.Start(); dirQ = new Queue <bool>(); spriteRenderer = GetComponent <SpriteRenderer>(); MyRigidbody = GetComponent <Rigidbody2D>(); exp.Initialize(); isNere = IsNere.etc; theSL = FindObjectOfType <SaveLoad>(); }
public override bool IsNereSomeone() { Debug.Log("Check"); RaycastHit2D hit; Vector2 start = transform.position; Vector2 end = start + (facingRight ? Vector2.right : Vector2.left) * 5; hit = Physics2D.Linecast(start, end, isTarget); if (hit.transform != null) { switch (hit.collider.gameObject.layer) { case 10: //Enemy isNere = IsNere.Enemy; target = hit.collider.GetComponent <Enemy>(); break; case 11: //SignPost isNere = IsNere.SignPost; break; case 8: //NPC isNere = IsNere.NPC; break; default: break; } Debug.Log(isNere); return(true); } //어떤 종류의 대상을 마주하고 있는가? else { isNere = IsNere.etc; } return(false); }