// 포톤의 PhotonNetwork.Destroy()를 지연 실행하는 코루틴 IEnumerator DestroyAfter(Mulgogi target, float delay) { // delay 만큼 대기 yield return(new WaitForSeconds(delay)); // target이 파괴되지 않았으면 파괴 실행 if (target != null) { Destroy(target); lastSpawnTime = Time.time;//Time.time 현재까지 플레이한 게임시간 } }
private void Spawn() { Item item; Mulgogi itemToCreate = MulgogiCtrl(out item);//Mulgogis[Random.Range(0, Mulgogis.Length)]; // 네트워크의 모든 클라이언트에서 해당 아이템 생성 Mulgogi createdMulgogi = Instantiate(itemToCreate, pos, Quaternion.identity); Mulgogi mulgogi = createdMulgogi.gameObject.AddComponent <Mulgogi>(); mulgogi.thisMulgogi = item; // 생성한 아이템을 0.1초 뒤에 파괴 //낚시에 실패하거나 성공했을때의 함수실행 StartCoroutine(DestroyAfter(createdMulgogi, 0.1f)); }
// 해당 아이템 착용중 사용했을때 실행될 함수 public override void Use_Equip() { base.Use_Equip(); Ray ray = new Ray(PlayerFunctions.instance.bodyTr.position + new Vector3(0, 0.5f, 0), PlayerFunctions.instance.bodyTr.forward); if (Physics.Raycast(ray, out RaycastHit hitt, 4f, layer)) { mulgogi = hitt.transform.GetComponent <Mulgogi>(); if (mulgogi != null) { isFishing = true; StartCoroutine(FishLineEffect(hitt.transform.position)); JoyStickManager.Instance.CanvasDisable(); FindObjectOfType <MinigameFish>().StartFishing(); } } }