예제 #1
0
 public MonoGamePlugins()
 {
     _game    = new GameCreatorXnaGame();
     Graphics = new MonoGameGraphicsPlugin(_game);
     Audio    = new MonoGameAudioPlugin(_game);
     Input    = new MonoGameInputPlugin(_game);
     Timer    = new MonoGameTimerPlugin(_game);
 }
예제 #2
0
        public OpenTKPlugins()
        {
            var options = new ToolkitOptions();

            options.Backend = PlatformBackend.PreferNative;
            Toolkit.Init(options);

            _gameWindow = new GameCreatorOpenTKGameWindow();
            Graphics    = new OpenTKGraphicsPlugin(_gameWindow);
            Audio       = new OpenTKAudioPlugin();
            Input       = new OpenTKInputPlugin(_gameWindow);
            Timer       = new OpenTKTimerPlugin(_gameWindow);
        }
예제 #3
0
 public TestGame(IGraphicsPlugin graphics, IInputPlugin input, IAudioPlugin audio,
                 ITimerPlugin timer, IResourceContext resourceContext)
     : base(graphics, input, audio, timer, resourceContext)
 {
     timer.TargetFps = 30;
 }
예제 #4
0
        protected GameContext(IGraphicsPlugin graphics, IInputPlugin input, IAudioPlugin audio,
                              ITimerPlugin timer, IResourceContext predefinedResources)
        {
            Timer    = timer;
            Graphics = graphics;
            Input    = input;
            Audio    = audio;

            var sprites = predefinedResources.GetPredefinedSprites(this);

            Sprites = new IndexedResourceManager <GameSprite>(sprites);

            var sounds = predefinedResources.GetPredefinedSounds(this);

            Sounds = new IndexedResourceManager <GameSound>(sounds);

            var backgrounds = predefinedResources.GetPredefinedBackgrounds(this);

            Backgrounds = new IndexedResourceManager <GameBackground>(backgrounds);

            var fonts = predefinedResources.GetPredefinedFonts(this);

            Fonts = new IndexedResourceManager <GameFont>(fonts);

            var paths = predefinedResources.GetPredefinedPaths(this);

            Paths = new IndexedResourceManager <GamePath>(paths);

            var scripts = predefinedResources.GetPredefinedScripts(this);

            Scripts = new IndexedResourceManager <GameScript>(scripts);

            var timelines = predefinedResources.GetPredefinedTimelines(this);

            Timelines = new IndexedResourceManager <GameTimeline>(timelines);

            var objects = predefinedResources.GetPredefinedObjects(this);

            Objects = new IndexedResourceManager <GameObject>(objects);
            foreach (var gameObject in Objects)
            {
                gameObject.OnRegisterEvents();
            }

            Instances = new IndexedResourceManager <IInstance>(100001);

            var rooms = predefinedResources.GetPredefinedRooms(this);

            Rooms     = new IndexedResourceManager <GameRoom>(rooms);
            RoomOrder = rooms.Select(r => r.Id).ToList();

            var triggers = predefinedResources.GetPredefinedTriggers(this);

            Triggers = new IndexedResourceManager <ITrigger>(triggers);

            Instances.SetNextIndex(predefinedResources.NextInstanceId);
            Sprites.SetNextIndex(predefinedResources.NextSpriteId);
            Objects.SetNextIndex(predefinedResources.NextObjectId);
            Rooms.SetNextIndex(predefinedResources.NextRoomId);

            Graphics.Load  += Graphics_Load;
            Graphics.Draw  += Graphics_Update;
            Input.KeyPress += Input_KeyPress;

            Library = new StandardLibrary(this);

            Init();
        }
예제 #5
0
 public FakeGameContext(IGraphicsPlugin graphics, IInputPlugin input, IAudioPlugin audio,
                        ITimerPlugin timer, IResourceContext resources)
     : base(graphics, input, audio, timer, resources)
 {
 }