static IActorInit LoadInit(string traitName, MiniYaml my) { var info = WarGame.CreateObject <IActorInit>(traitName + "Init"); FieldLoader.Load(info, my); return(info); }
/// <summary> /// 加载子弹头 /// </summary> /// <param name="yaml"></param> /// <returns></returns> static object LoadWarheads(MiniYaml yaml) { var retList = new List <IWarHead>(); foreach (var node in yaml.Nodes.Where(n => n.Key.StartsWith("Warhead"))) { var ret = WarGame.CreateObject <IWarHead>(node.Value.Value + "Warhead"); FieldLoader.Load(ret, node.Value); retList.Add(ret); } return(retList); }
/// <summary> /// 加载飞行体 /// </summary> /// <param name="yaml"></param> /// <returns></returns> static object LoadProjectile(MiniYaml yaml) { MiniYaml proj; if (!yaml.ToDictionary().TryGetValue("Projectile", out proj)) { return(null); } var ret = WarGame.CreateObject <IProjectileInfo>(proj.Value + "Info"); FieldLoader.Load(ret, proj); return(ret); }