/// <summary> /// Test flyweight NPC generation. /// Note that the test deviates significantly from the original /// test, since we need to store EX/IN-states separately. /// </summary> private void TestFlyweight() { NPCFlyweightFactory npcFwFac = new NPCFlyweightFactory(); List <NPCExState> allNPCExStates = CreateNPCExStates(npcFwFac); List <NPCFlyweight> allNPCFlyweights = CreateNPCFlyweights(npcFwFac, allNPCExStates); AnimateAll(allNPCExStates, allNPCFlyweights); DoneWithTest("(flyweight w/o revised)"); }
private List <NPCFlyweight> CreateNPCFlyweights(NPCFlyweightFactory npcFwFac, List <NPCExState> allNPCExStates) { List <NPCFlyweight> all = new List <NPCFlyweight>(); foreach (NPCExState exState in allNPCExStates) { all.Add(npcFwFac.CreateFlyWeight(exState.TypeOfNPC)); } return(all); }
private List <NPCExState> CreateNPCExStates(NPCFlyweightFactory npcFwFac) { List <NPCExState> all = new List <NPCExState>(); for (int i = 0; i < noOfNPCs; i++) { all.Add(npcFwFac.CreateExState()); } return(all); }