Example #1
0
        private void LoadFaction(string fold)
        {
            string filePath = fold + "/faction.csv";

            factionFile = new CSVFile();
            factionFile.ReadCsv(filePath);
            dic_Faction.Clear();
            foreach (string[] arr in factionFile.valueLines)
            {
                if (arr.Length != 7)
                {
                    LogTool.LogError("faction arr.length" + arr.Length);
                    continue;
                }
                DFaction faction = new DFaction();
                faction.id             = int.Parse(arr[0]);
                faction.alias          = arr[1];
                faction.shortdesc      = arr[2];
                faction.fulldesc       = arr[3];
                faction.id_leadperson  = int.Parse(arr[4]);
                faction.idlist_section = CommonUtil.StringToListInt(arr[5], '#'); //只保存一级子类
                foreach (int sectionid in faction.idlist_section)                 //子对象的一级父类在这初始化
                {
                    if (sectionid != -1 && dic_Section.ContainsKey(sectionid))
                    {
                        DSection section = dic_Section[sectionid];
                        section.parentid_faction = faction.id;
                    }
                }
                faction.idlist_wbuilding = CommonUtil.StringToListInt(arr[6], '#');
                dic_Faction.Add(faction.id, faction);
                EntityMgr.Instacne.AddFactionFromData(faction.id);
            }
        }
Example #2
0
        public Faction AddFactionFromData(int factionid)
        {
            if (!DataMgr.Instacne.dic_Faction.ContainsKey(factionid))
            {
                LogTool.LogError("DataMgr not have id " + factionid);
                return(null);
            }
            DFaction   dfaction = DataMgr.Instacne.dic_Faction[factionid];
            GameObject go       = new GameObject();

            go.transform.SetParent(factionEntityParent);
            Faction faction = go.AddComponent <Faction>();

            faction.Data = dfaction;
            dic_Faction.Add(faction.ID, faction);
            if (faction.ID == DataMgr.Instacne.selSaveData.id_playerFaction)
            {
                faction.isPlayer = true;
            }
            return(faction);
        }