예제 #1
0
        public static CfgEncoder Encode(this Dictionary <int, string> dic)
        {
            var sub = new CfgEncoder();

            if (dic == null)
            {
                return(sub);
            }

            foreach (var e in dic)
            {
                sub.Add_String(e.Key.ToString(), e.Value);
            }

            return(sub);
        }
예제 #2
0
파일: Encoder.cs 프로젝트: Hengle/Tools-3
        public CfgEncoder Add(string tag, Dictionary <int, string> dic)
        {
            var sub = new CfgEncoder();

            if (dic == null)
            {
                return(this);
            }

            foreach (var e in dic)
            {
                sub.Add_String(e.Key.ToString(), e.Value);
            }

            return(Add(tag, sub));
        }
예제 #3
0
파일: Encoder.cs 프로젝트: Hengle/Tools-3
        public CfgEncoder Add(string tag, List <string> lst)
        {
            if (lst == null)
            {
                return(this);
            }

            var cody = new CfgEncoder();

            foreach (var s in lst)
            {
                cody.Add_String(CfgDecoder.ListElementTag, s);
            }

            return(Add(tag, cody));
        }
예제 #4
0
        public override CfgEncoder Encode()
        {
            var cody = new CfgEncoder();

            if (_tags == null)
            {
                return(cody);
            }

            foreach (var t in _tags)
            {
                cody.Add_String(t.tag, t.data);
            }

            return(cody);
        }
예제 #5
0
        public CfgEncoder Encode()
        {
            var cody = new CfgEncoder()
                       .Add_IfNotNegative("insp", inspected)
                       .Add_IfNotNegative("pi", previousInspected)
                       .Add_IfNotZero("st", listSectionStartIndex)
                       .Add_IfTrue("adl", allowDuplicants)
                       .Add_IfNotDefault("s", searchData)
            ;

            if (!folderToSearch.SameAs(DefaultFolderToSearch))
            {
                cody.Add_String("fld", folderToSearch);
            }

            return(cody);
        }
예제 #6
0
        public static CfgEncoder Encode(this IEnumerable <UnrecognizedTagsList.UnrecognizedElement> lst)
        {
            var cody = new CfgEncoder();

            foreach (var e in lst)
            {
                if (e.elements.Count == 0)
                {
                    cody.Add_String(e.tag, e.data);
                }
                else
                {
                    cody.Add(e.tag, e.elements.Encode());
                }
            }

            return(cody);
        }
예제 #7
0
        public override CfgEncoder Encode()
        {
            var cody = new CfgEncoder()
                       .Add_IfNotNegative("insp", inspected)
                       .Add_IfNotNegative("pi", previousInspected)
                       .Add_IfNotZero("st", listSectionStartIndex)
                #if !NO_PEGI
                       .Add_IfNotDefault("s", searchData)
                #endif
            ;

            if (!folderToSearch.SameAs(DefaultFolderToSearch))
            {
                cody.Add_String("fld", folderToSearch);
            }

            cody.Add_IfNotDefault("ed", elementDatas);

            return(cody);
        }
예제 #8
0
        public static CfgEncoder Encode <T>(this T[] arr) where T : ICfg
        {
            var cody = new CfgEncoder();

            if (arr.IsNullOrEmpty())
            {
                return(cody);
            }

            cody.Add("len", arr.Length);

            var types = typeof(T).TryGetDerivedClasses();

            if (types != null && types.Count > 0)
            {
                foreach (var v in arr)
                {
                    cody.Add(v, types);
                }
            }
            else
            {
                foreach (var v in arr)
                {
                    if (!QcUnity.IsNullOrDestroyed_Obj(v))
                    {
                        cody.Add(CfgDecoder.ListElementTag, v.Encode());
                    }
                    else
                    {
                        cody.Add_String(CfgEncoder.NullTag, "");
                    }
                }
            }

            return(cody);
        }
예제 #9
0
        public CfgEncoder Add <T>(string tag, List <T> lst) where T : ICfg, new()
        {
            var cody = new CfgEncoder();

            if (lst == null)
            {
                return(this);
            }

            var indTypes = typeof(T).TryGetDerivedClasses();

            if (indTypes != null)
            {
                foreach (var v in lst)
                {
                    cody.Add(v, indTypes);
                }
            }
            else
            {
                foreach (var v in lst)
                {
                    if (v != null)
                    {
                        cody.Add(CfgDecoder.ListElementTag, v.Encode());
                    }
                    else
                    {
                        cody.Add_String(NullTag, "");
                    }
                }
            }


            return(Add(tag, cody));
        }
예제 #10
0
        public CfgEncoder Add_Abstract <T>(string tag, List <T> lst) where T : IGotClassTag
        {
            if (lst.IsNullOrEmpty())
            {
                return(this);
            }

            var cody = new CfgEncoder();

            foreach (var v in lst)
            {
                if (v != null)
                {
                    cody.Add(v.ClassTag, v);
                }
                else
                {
                    cody.Add_String(NullTag, "");
                }
            }


            return(Add(tag, cody));
        }