diff --git a/Assets/Prefabs/Trick.prefab b/Assets/Prefabs/Trick.prefab index c9050d7..8ade7d4 100644 --- a/Assets/Prefabs/Trick.prefab +++ b/Assets/Prefabs/Trick.prefab @@ -184,3 +184,4 @@ MonoBehaviour: targetRefreshInterval: 0.4 consumeDistance: 0.35 wanderInterval: 1.2 + trickPrefab: {fileID: 700000000, guid: 8bf8957665594a718535d06aba0cdee7, type: 3} diff --git a/Assets/Scripts/TrickController.cs b/Assets/Scripts/TrickController.cs index 55e56f3..c27237f 100644 --- a/Assets/Scripts/TrickController.cs +++ b/Assets/Scripts/TrickController.cs @@ -10,6 +10,7 @@ public class TrickController : MonoBehaviour [SerializeField] private float targetRefreshInterval = 0.4f; [SerializeField] private float consumeDistance = 0.35f; [SerializeField] private float wanderInterval = 1.2f; + [SerializeField] private TrickController trickPrefab; private Rigidbody2D body; private Transform target; @@ -144,15 +145,28 @@ public class TrickController : MonoBehaviour continue; } + var spawnPosition = hit.transform.position; Destroy(hit.gameObject); if (target == hit.transform) { target = null; } + SpawnTrick(spawnPosition); break; } } + private void SpawnTrick(Vector3 position) + { + if (trickPrefab != null) + { + Instantiate(trickPrefab, position, Quaternion.identity); + return; + } + + Instantiate(gameObject, position, Quaternion.identity); + } + public void SetCarried(bool carried) { isCarried = carried;