Вызов метода из каждого класса, который реализует интерфейс - PullRequest
0 голосов
/ 24 декабря 2018

Я работаю над игровым движком.Теперь предположим, что у нас есть класс 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 script:

    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.Как я могу вызвать эти методы из защищенного переопределения void OnRenderFrame, например, в каждом классе, зарегистрированном в пространстве имен Test2.Project.Behaiviour?Огромное спасибо за продвинутый уровень.

РЕДАКТИРОВАТЬ: класс GameWindow происходит из OpenTK, API, который я использую для взаимодействия c # с OpenGL.

EDIT # 2: Вроде каккак это делает Unity.

...