Esempio n. 1
0
    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);
    }
Esempio n. 2
0
    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);
    }
Esempio n. 3
0
    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);
    }
Esempio n. 4
0
 public LCHSkill(SkillResourceLoader loader, LCHRoleData r, LCHSkillData s)
 {
     this.loader = loader;
     roleData    = r;
     _skillData  = s;
 }
Esempio n. 5
0
    public static LCHRoleData DeserializeRole(string str)
    {
        LCHRoleData _map = JsonConvert.DeserializeObject <LCHRoleData>(str);

        return(_map);
    }
Esempio n. 6
0
    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 =
    }