Ejemplo n.º 1
0
        public ResourceContext(LibraryContext context)
        {
            Context = context;
            Managers = new Dictionary<Type, IDictionary>();

            Sprites = new IndexedResourceManager<Sprite>(this);
            Scripts = new IndexedResourceManager<Script>(this);
            Objects = new IndexedResourceManager<Object>(this);
            Rooms = new IndexedResourceManager<Room>(this);
            Instances = new IndexedResourceManager<Instance>(this, 100001);

            Constants = new Dictionary<string, Value>();
        }
Ejemplo n.º 2
0
 public Project()
 {
     Settings    = new GameSettings();
     Information = new GameInformation();
     Sprites     = new ProjectResourceManager <SpriteResource>("sprite");
     Sounds      = new ProjectResourceManager <SoundResource>("sound");
     Backgrounds = new ProjectResourceManager <BackgroundResource>("background");
     Paths       = new ProjectResourceManager <PathResource>("path");
     Scripts     = new ProjectResourceManager <ScriptResource>("script");
     Fonts       = new ProjectResourceManager <FontResource>("font");
     DataFiles   = new ProjectResourceManager <DataFileResource>("data");
     Timelines   = new ProjectResourceManager <TimelineResource>("timeline");
     Objects     = new ProjectResourceManager <ObjectResource>("object");
     Rooms       = new ProjectResourceManager <RoomResource>("room");
     Instances   = new IndexedResourceManager <InstanceResource>(100001);
     Tiles       = new IndexedResourceManager <TileResource>(10000001);
 }
Ejemplo n.º 3
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();
        }