Example #1
0
        static IActorInit LoadInit(string traitName, MiniYaml my)
        {
            var info = WarGame.CreateObject <IActorInit>(traitName + "Init");

            FieldLoader.Load(info, my);
            return(info);
        }
Example #2
0
        /// <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);
        }
Example #3
0
        /// <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);
        }