Mercurial > repos > IBBoard.WarFoundry.API.Tests
view API/EventListeningWarFoundryLoader.cs @ 192:f25cb069f700
Re #350: Add requirement to allow N of unit for specific other units
* Add unit tests for having requirements on more than one unit type
author | IBBoard <dev@ibboard.co.uk> |
---|---|
date | Sat, 03 Dec 2011 16:41:54 +0000 |
parents | 0f144576e5eb |
children |
line wrap: on
line source
using System; using IBBoard.WarFoundry.API.Factories; using System.Collections.Generic; using IBBoard.WarFoundry.API.Objects; namespace IBBoard.WarFoundry.API { public class EventListeningWarFoundryLoader : AbstractWarFoundryLoader { private IDictionary<string, GameSystem> gameSystems; private IDictionary<string, Race> races; public EventListeningWarFoundryLoader() { gameSystems = new Dictionary<string, GameSystem>(); races = new Dictionary<string, Race>(); } public override void RegisterFactory (INativeWarFoundryFactory factory) { base.RegisterFactory (factory); factory.GameSystemLoaded+= DoStoreGameSystem; factory.RaceLoaded+= DoStoreRace; } public override void UnregisterFactory (INativeWarFoundryFactory factory) { base.UnregisterFactory(factory); factory.GameSystemLoaded-= DoStoreGameSystem; factory.RaceLoaded-= DoStoreRace; } protected override GameSystem GetExistingSystemForSystem (GameSystem system) { throw new System.NotImplementedException(); } protected override void DoStoreGameSystem (GameSystem system) { gameSystems.Add(system.ID, system); } protected override void DoStoreRace (Race race) { races.Add(race.GameSystem.ID + race.ID, race); } public override GameSystem[] GetGameSystems () { throw new System.NotImplementedException(); } public override GameSystem GetGameSystem (string systemID) { return DictionaryUtils.GetValue(gameSystems, systemID); } protected override void RemoveGameSystem (GameSystem system) { throw new System.NotImplementedException(); } public override Race[] GetRaces (GameSystem system) { throw new System.NotImplementedException(); } public override Race GetRace (GameSystem system, string raceID) { return GetRace(system, raceID, ""); } public override Race GetRace (GameSystem system, string raceID, string raceSubID) { return DictionaryUtils.GetValue(races, raceID); } protected override void RemoveRace (Race race) { throw new System.NotImplementedException(); } } }