private static List <string[]> GetHumanoidCombineList() { List <string[]> ret = new List <string[]>(); CHumanoidCombineTable table = new CHumanoidCombineTable(); table.Load(); foreach (CHumanoidCombineTableElement one in table.m_pElement) { bool bValid = true; foreach (string oneComp in one.m_sCombine) { if (string.IsNullOrEmpty(oneComp)) { CRuntimeLogger.LogWarning("Invalid element in Combine Table: ID = " + one.m_iID); bValid = false; break; } } if (bValid) { if (one.m_sCombine.Length < 2) { CRuntimeLogger.LogWarning("Invalid element in Combine Table: ID = " + one.m_iID); bValid = false; } } if (bValid) { ret.Add(one.m_sCombine); } } return(ret); }
public override void InitEditor() { base.InitEditor(); //load data m_pEditingData = new CHumanoidCombineTable(); m_pEditingData.Load(); }
protected override void OnGUI() { base.OnGUI(); if (GUILayout.Button("Create Default")) { List <string[]> ret = new List <string[]>(); string sP1 = "Body/Head/C_GH_Head_F"; string[] sP1G1 = { "C_GH_Head_F1_Hair1", "C_GH_Head_F2_Hair1", "C_GH_Head_F3_Hair1", "C_GH_Head_F4_Hair1", "C_GH_Head_F5_Hair1", "C_GH_Head_F6_Hair1", "C_GH_Head_F7_Hair1", "C_GH_Head_F8_Hair1", "C_GH_Head_F9_Hair1", "C_GH_Head_F10_Hair1", }; string[] sP1G2 = { "", "Hat1_1", "Hat2_1", "Hat3_1", "Hat4_1", "Hat5_1", }; string[] sP1G3 = { "", "Glass_1", "Glass_2", }; for (int i = 0; i < sP1G1.Length; ++i) { for (int j = 0; j < sP1G2.Length; ++j) { for (int k = 0; k < sP1G3.Length; ++k) { List <string> list = new List <string>(); list.Add(sP1); list.Add(sP1 + "/" + sP1G1[i]); if (!string.IsNullOrEmpty(sP1G2[j])) { list.Add(sP1 + "/" + sP1G2[j]); } if (!string.IsNullOrEmpty(sP1G3[k])) { list.Add(sP1 + "/" + sP1G3[k]); } ret.Add(list.ToArray()); } } } ret.Add(new[] { "Body/Head/C_GH_Head_M5", "Body/Head/C_GH_Head_M5/C_GH_Head_M5Hair1" }); ret.Add(new[] { "Body/Head/C_GH_Head_M6", "Body/Head/C_GH_Head_M6/C_GH_Head_M6Face" }); m_pEditingData = new CHumanoidCombineTable(); foreach (string[] cbs in ret) { CHumanoidCombineTableElement one = m_pEditingData.CreateElement(); one.m_sCombine = cbs; } m_pEditingData.Save(); RefreshData(); } }