示例#1
0
        public ActorValueFormat(DefinitionManager manager, JObject src)
            : base(manager, src)
        {
            var enumSrc = manager.ResolveDefSource("ActorValueEnum");

            actorValueEnum = (EnumDef)manager.BuildDef(enumSrc);
        }
示例#2
0
        public static ElementDef ElementDef(
            DefinitionManager manager, JObject src, string key
            )
        {
            ErrorHelpers.CheckDefProperty(src, key);
            var defSrc = src.Value <JObject>(key);

            return((ElementDef)manager.BuildDef(defSrc));
        }
示例#3
0
        public static FormatDef FormatDef(DefinitionManager manager, JObject src)
        {
            if (!src.ContainsKey("format"))
            {
                return(null);
            }
            var formatSrc = src.Value <JObject>("format");

            return((FormatDef)manager.BuildDef(formatSrc));
        }
示例#4
0
        public static Def Def(DefinitionManager manager, JObject src, string key)
        {
            if (!src.ContainsKey(key))
            {
                return(null);
            }
            var defSrc = src.Value <JObject>(key);

            return(manager.BuildDef(defSrc));
        }
示例#5
0
        public static ReadOnlyCollection <T> Defs <T>(
            DefinitionManager manager, JObject src, string key, bool optional = false
            ) where T : Def
        {
            if (!optional)
            {
                ErrorHelpers.CheckDefProperty(src, key);
            }
            var sources = src.Value <JArray>(key);

            if (sources == null)
            {
                if (optional)
                {
                    return(null);
                }
                throw new Exception("No def sources found.");
            }
            return(sources.Select(src => {
                return (T)manager.BuildDef((JObject)src);
            }).ToList().AsReadOnly());
        }