| کانال توسعهدهندگان بازی |
Photo
click to show
click to show
در کد زیر (C# برای Unity) یک سیستم ساده رویداد برای وقتی که دشمن میمیرد پیادهسازی شده است، اما در طول اجرای طولانی بازی باعث Memory Leak و افت عملکرد میشود:
public class Enemy : MonoBehaviour
{
public static event Action OnAnyEnemyDied;
private void OnEnable()
{
OnAnyEnemyDied += HandleAnyEnemyDied;
}
private void OnDisable()
{
// عمداً خالی گذاشته شده
}
private void OnDestroy()
{
if (OnAnyEnemyDied != null)
{
OnAnyEnemyDied();
}
}
private void HandleAnyEnemyDied()
{
Debug.Log("Enemy heard another enemy died");
}
}
در این پیادهسازی چه چیزی باید اصلاح شود تا از Memory Leak و فراخوانیهای ناخواسته رویداد در طول بازی جلوگیری شود؟
🔖 #GameDev #بازیسازی
👤 Developix
💎 Channel: @DevelopixGame
2 · 310 ·