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>(); }
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); }
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(); }