public void DeleteSkill(string curSkillId) { LCHSkillData sk = GetSkill(curSkillId); LCHRoleData role = GetRole(sk.roleId); List <string> ids = new List <string>(); for (int i = 0; i < role.skills.Length; i++) { var s = role.skills[i]; if (s == curSkillId) { continue; } ids.Add(s); } role.skills = ids.ToArray(); loader.DeleveFile(curSkillId, SkillDataType.SKILL); skills.Remove(curSkillId); SaveRole(sk.roleId); }
public LCHRoleData GetRole(string id) { if (roles.ContainsKey(id)) { return(roles[id]); } var js = loader.LoadFile(id, SkillDataType.ROLE); //var v = JSonHelper.DeserializeDictionary(js); LCHRoleData v = JSonHelper.DeserializeRole(js); Array.Sort <string>(v.skills); if (v == null) { return(null); } roles[id] = v; v.skills = JSonHelper.ToStringList(v.skills); ////roid["skills"]; return(v); }
public void CreateRole(params object[] arg) { string id = (string)arg[0]; int type = (int)arg[1]; LCHRoleData r = new LCHRoleData(); r.id = id; string json = JsonConvert.SerializeObject(r); #if UNITY_EDITOR if (EditorModel && null == loader) { loader = new EditorFileLoader(); } if (loader.Exists(id, SkillDataType.ROLE)) { EditorUtility.DisplayDialog("提示", "同id角色已经存", "确定"); return; } #endif loader.SaveFile(id, json, SkillDataType.ROLE); }
public LCHSkill(SkillResourceLoader loader, LCHRoleData r, LCHSkillData s) { this.loader = loader; roleData = r; _skillData = s; }
public static LCHRoleData DeserializeRole(string str) { LCHRoleData _map = JsonConvert.DeserializeObject <LCHRoleData>(str); return(_map); }
public static void Create(string roleId) { EditorApplication.isPlaying = true; GameObject root = GameObject.Find("test scene"); if (null != root) { GameObject.DestroyImmediate(root); } root = new GameObject(); root.name = "test scene"; GameObject cube = GameObject.CreatePrimitive(PrimitiveType.Cube); cube.name = "ground"; cube.isStatic = true; cube.transform.localScale = new Vector3(10f, 1f, 10f); cube.transform.parent = root.transform; cube.transform.localPosition = new Vector3(0, -1, 0); cube.layer = 8; GlobalCamp _GlobalCamp = root.AddComponent <GlobalCamp>(); _GlobalCamp.ground = 1 << cube.layer; LCHRoleData data = SkillEditorData.Instance.skillsData.GetRole(roleId); #if UNITY_EDITOR GameObject role = GameObject.Instantiate(AssetDatabase.LoadAssetAtPath <GameObject>(data.mod)); role.name = "Player"; role.transform.parent = root.transform; role.transform.localPosition = Vector3.zero; LCharacter c = role.AddComponent <LCharacter>(); c.camp = 0; c.animCtrl = role.GetComponent <Animation>(); SimpleVirtualInput vi = role.AddComponent <SimpleVirtualInput>(); ActionIdle idle = role.AddComponent <ActionIdle>(); ActionWalk walk = role.AddComponent <ActionWalk>(); ActionFall fail = role.AddComponent <ActionFall>(); { int cc = c.animCtrl.GetClipCount(); foreach (AnimationState states in c.animCtrl) { string name = states.name; if (name.IndexOf("idle", System.StringComparison.OrdinalIgnoreCase) >= 0) { idle.animName = name; } if (name.IndexOf("walk", System.StringComparison.OrdinalIgnoreCase) >= 0) { walk.animName = name; } if (name.IndexOf("run", System.StringComparison.OrdinalIgnoreCase) >= 0) { walk.animName = name; } if (name.IndexOf("down", System.StringComparison.OrdinalIgnoreCase) >= 0) { fail.animName = name; } if (name.IndexOf("fail", System.StringComparison.OrdinalIgnoreCase) >= 0) { fail.animName = name; } if (name.IndexOf("walk", System.StringComparison.OrdinalIgnoreCase) >= 0) { walk.animName = name; } } } #endif //GameObject role = }