Mercurial > repos > IBBoard.WarFoundry.API.Tests
view API/EventListeningWarFoundryLoader.cs @ 110:788ef54f5b5a
Re #27: Define unit requirements
* Add last unit test to get more obvious behaviour equivalent to Rollcall's "-1" (can take unlimited X once one Y is taken)
author | IBBoard <dev@ibboard.co.uk> |
---|---|
date | Tue, 29 Mar 2011 19:51:08 +0000 |
parents | 3c2c108a2f08 |
children | 0f144576e5eb |
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; private IDictionary<string, Army> armies; public EventListeningWarFoundryLoader() { gameSystems = new Dictionary<string, GameSystem>(); races = new Dictionary<string, Race>(); armies = new Dictionary<string, Army>(); } 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(); } } }