Esempio n. 1
0
        private void InjetServices()
        {
            GameTree gametree = Game.GameTree;

            var propsSettings = BindingFlags.Public;

            propsSettings |= BindingFlags.NonPublic;
            propsSettings |= BindingFlags.Instance;

            var thisType   = GetType();
            var properties = thisType.GetProperties(propsSettings);

            foreach (var property in properties)
            {
                var attribute = property.GetCustomAttribute <ServiceAttribute>();

                if (attribute != null)
                {
                    Type serviceType = property.PropertyType;
                    var  service     = gametree.GetService(serviceType);

                    property.SetValue(this, service);
                }
            }
        }
Esempio n. 2
0
 /// <summary>
 /// Makes a new instance of <see cref="GameTreeService"/> class.
 /// </summary>
 /// <param name="module">Parent module.</param>
 internal GameTreeService(GameTree module, GameLoop runLoop)
     : base(module, runLoop)
 {
 }
Esempio n. 3
0
 /// <summary>
 /// Loads this game.
 /// </summary>
 /// <param name="loader">pEngine GameTree module.</param>
 internal void Load(GameTree loader)
 {
     GameTree = loader;
     base.Load(loader.ModuleLoop.Scheduler);
 }