实现游戏状态方法的回调

时间:2015-10-26 01:11:28

标签: design-patterns unity3d libgdx game-engine implementation

在我的游戏引擎中,我想要像Unity3D一样拥有start()和update()回调方法。他们将形成' GameListener'接口,用户应该实现它们。如何在不添加任何侦听器的情况下实现这些回调? 例如,在libGDX中,您必须实现ApplicationListener接口才能访问render()和start()方法,而无需添加任何侦听器。

1 个答案:

答案 0 :(得分:0)

//In class SomeTypeOfSender:  
public delegate void SomeHandler(SomeTypeOfSender A, EventArgs e); //whatever 
public event SomeHandler MyHandler;

像libGDX一样使用它:

public class Listener
{
        public void Subscribe(SomeTypeOfSender  A)
        {
            A.MyHandler += new SomeTypeOfSender.SomeHandler (DoSth);
        }
        private void DoSth(SomeTypeOfSender s, EventArgs e)
        {
            System.Console.WriteLine("HEARD IT");
        }
}