示例#1
0
        protected override void OnInitialize()
        {
            base.OnInitialize();

            foreach (KeyValuePair <string, IAssetLoader> pair in Description.Loaders)
            {
                Loaders.Add(pair.Key, pair.Value);
            }

            foreach (KeyValuePair <string, IAssetInfo> pair in Description.Assets)
            {
                Assets.Add(pair.Key, pair.Value);
            }

            Log.Debug("Assets Module initialized", new
            {
                loadersCount = Loaders.Entries.Count,
                assetsCount  = Assets.Entries.Count
            });

            for (int i = 0; i < Description.PreloadAssets.Count; i++)
            {
                string id = Description.PreloadAssets[i];

                this.Load <Object>(id);
            }

            Log.Debug("Assets Module preload", new
            {
                count = Description.PreloadAssets.Count
            });
        }
示例#2
0
        private void Test()
        {
            if (RaceIsOn)
            {
                throw new Exception("Гонка уже началась! Сначала остановите гонку");
            }

            Bolides.AddRange(new List <Bolide>()
            {
                new Bolide("Ferrari", TrackWidth, TrackHeight),
                new Bolide("RedBull", TrackWidth, TrackHeight),
                new Bolide("ForceIndia", TrackWidth, TrackHeight),
                new Bolide("Mercedes", TrackWidth, TrackHeight),
            });
            foreach (Bolide bolide in Bolides)
            {
                Mechanic mechanic = new Mechanic(bolide.Name, bolide);
                mechanic.SetPosition(TrackWidth, TrackHeight);
                Mechanics.Add(mechanic);

                ReparingLoader repaing = new ReparingLoader(bolide.Name, bolide);
                repaing.SetPosition(TrackWidth, TrackHeight);
                Loaders.Add(repaing);

                SafetyCar safety = new SafetyCar(bolide.Name, bolide);
                safety.SetPosition(TrackWidth, TrackHeight);
                Loaders.Add(safety);
            }
        }
示例#3
0
        public void AddRacer(string Name)
        {
            if (!RaceIsOn)
            {
                Bolide newbolide = new Bolide(Name, TrackWidth, TrackHeight);
                Bolides.Add(newbolide);

                Mechanic newmechanic = new Mechanic(Name, newbolide);
                newmechanic.SetPosition(TrackWidth, TrackHeight);
                Mechanics.Add(newmechanic);


                ReparingLoader newloader = new ReparingLoader(Name, newbolide);
                newloader.SetPosition(TrackWidth, TrackHeight);
                Loaders.Add(newloader);

                SafetyCar safety = new SafetyCar(Name, newbolide);
                safety.SetPosition(TrackWidth, TrackHeight);
                Loaders.Add(safety);

                SetStartGrid();
            }
            else
            {
                throw new Exception("Гонка уже началась! Сначала остановите гонку");
            }
        }
示例#4
0
        /// <summary>
        /// Allow to add custom loader to the internal list
        /// </summary>
        /// <param name="loader">Loader to add</param>
        public void AddLoader(ILoader loader)
        {
            loader.AllocInstruments += AllocInstruments;
            loader.AllocPatterns    += AllocPatterns;
            loader.AllocSamples     += AllocSamples;
            loader.AllocTracks      += AllocTracks;

            Loaders.Add(loader);
        }
示例#5
0
 public void AddTask(ILoaderTaskGroup task, int parallelCount)
 {
     for (var i = 0; i < parallelCount; i++)
     {
         var newLoader = task.NewTaskLoader(this, Proxy, Logger);
         newLoader.Finished += LoaderFinished;
         Loaders.Add(newLoader);
         if (Running)
         {
             newLoader.RunNext();
         }
     }
 }
示例#6
0
        /// <summary>
        /// Load all internals loaders
        /// </summary>
        private void LoadInternalsLoaders()
        {
            // Retrieve types that implements ILoader interface
// ReSharper disable AssignNullToNotNullAttribute
            var loaders = Assembly.GetExecutingAssembly().GetExportedTypes().Where(x => x.GetInterface(typeof(ILoader).FullName, false) != null).ToList();

// ReSharper restore AssignNullToNotNullAttribute

            loaders.ForEach(new Action <Type>(x =>
            {
                var loader = (ILoader)Activator.CreateInstance(x);
                loader.AllocInstruments += AllocInstruments;
                loader.AllocPatterns    += AllocPatterns;
                loader.AllocSamples     += AllocSamples;
                loader.AllocTracks      += AllocTracks;
                Loaders.Add(loader);
            }));
        }
        protected override void OnInitialize()
        {
            base.OnInitialize();

            foreach (KeyValuePair <string, ISceneLoader> pair in Description.Loaders)
            {
                Loaders.Add(pair.Key, pair.Value);
            }

            foreach (KeyValuePair <string, ISceneInfo> pair in Description.Scenes)
            {
                Scenes.Add(pair.Key, pair.Value);
            }

            Log.Debug("Scene Module initialized", new
            {
                loadersCount = Loaders.Entries.Count,
                scenesCount  = Scenes.Entries.Count
            });
        }
示例#8
0
        private void Test()
        {
            if (RaceIsOn)
            {
                throw new Exception("Гонка уже началась! Сначала остановите гонку");
            }

            Bolides.AddRange(new List <Bolide>()
            {
                new Bolide("Ferrari"),
                new Bolide("RedBull"),
                new Bolide("ForceIndia"),
                new Bolide("Mercedes"),
            });
            foreach (Bolide bolide in Bolides)
            {
                Mechanic mechanic = new Mechanic(bolide.Name, bolide);
                mechanic.SetPosition(TrackWidth, TrackHeight);
                Mechanics.Add(mechanic);
            }

            ReparingLoader reparing1 = new ReparingLoader("Loader1");

            reparing1.SetPosition(TrackWidth, TrackHeight);
            Loaders.Add(reparing1);

            ReparingLoader reparing2 = new ReparingLoader("Loader2");

            reparing2.SetPosition(TrackWidth, TrackHeight);
            Loaders.Add(reparing2);

            CleaningLoader cleaning1 = new CleaningLoader("Loader3");

            cleaning1.SetPosition(TrackWidth, TrackHeight);
            Loaders.Add(cleaning1);

            CleaningLoader cleaning2 = new CleaningLoader("Loader4");

            cleaning2.SetPosition(TrackWidth, TrackHeight);
            Loaders.Add(cleaning2);
        }
示例#9
0
 public static void AddLoader(PluginLoader loader)
 {
     Loaders.Add(loader);
 }
示例#10
0
 public void Load(WebLoader loader)
 {
     Loaders.Add(loader);
 }