private void CreateGates(Configs.DungeonConfig dungeonCfg, DungeonLogic dungeonLogic) { foreach (GateConfig gateConfig in dungeonCfg.ShowGateList()) { Type gateClass = Type.GetType(gateConfig.ClassName()); Gates.GateController gateController = (Gates.GateController)gateClass .GetConstructor(new[] { typeof(int), typeof(Environment.Environment) }) .Invoke(new object[] { gateConfig.Id(), defaultEnvironment }); gateClass.GetMethod("SetCookies").Invoke(gateController, new[] { gateConfig.CookiesList() }); dungeonLogic.AddGate(gateController); } }
public GateComponent(GateController gateController) { new NotNullReference().Check(gateController, "gate"); this.gateController = gateController; }