从每个实现接口的类中调用一个方法

时间:2018-12-24 18:01:13

标签: c# class methods interface game-engine

我正在开发游戏引擎。现在假设我们有一个Game类:

    using System;

    using OpenTK;
    using OpenTK.Graphics.OpenGL;
    using System.Drawing;
    using static OpenTK.Graphics.OpenGL.GL;

    namespace Test2
    {
        class Game : GameWindow
        {
            public Game(int width, int height)
                :base(width, height)
            {

            }
            protected override void OnLoad(EventArgs e)
            {
                base.OnLoad(e);
            }
            protected override void OnUpdateFrame(FrameEventArgs e)
            {
                base.OnUpdateFrame(e);
            }
            protected override void OnRenderFrame(FrameEventArgs e)
            {
                base.OnRenderFrame(e);
            }
        }
    }

我们有一种媒介,可以在每个媒介中调用一个方法。 现在假设创建游戏的人,创建一个名为ball_behaviour脚本的文件:

    using System;
    using System.Drawing;

    namespace Test2.Project.Behaviour
    {
        class Ball
        {
            public void Update()
            {

            }
            public void init()
            {
                A2D.Background = Color.CornflowerBlue;
            }
            public void preInit()
            {

            }
        }
    }

并假设还有其他类似文件,它们具有Update和init方法。例如,在Test2.Project.Behaiviour命名空间下注册的每个类中,如何从受保护的重写void OnRenderFrame调用这些方法?非常感谢您。

编辑:GameWindow类来自OpenTK,这是​​我用来将c#与OpenGL接口的API。

编辑#2:有点像Unity的方式。

0 个答案:

没有答案