Exemplo n.º 1
0
    public void LoadPrefabObj()
    {
        string path = Application.dataPath + "/" + skillPath + "/" + skillName.text + ".prefab";

        if (!File.Exists(path))
        {
            Debug.Log("未找到技能预设");
            return;
        }
        PlayerAnimationData pad = null;

#if UNITY_EDITOR
        pad = Instantiate(AssetDatabase.LoadAssetAtPath <PlayerAnimationData>("Assets/" + skillPath + "/" + skillName.text + ".prefab"));
#endif
        ZzcPlayAnim zpa = pad.GetComponent <ZzcPlayAnim>();
        //读取人物数据
        playerZzcPlay.totalTime = zpa.totalTime;
        playerZzcPlay.skillName = zpa.skillName;
        playerZzcPlay.setType   = zpa.setType;
        playerZzcPlay.curve     = zpa.curve;
        playerZzcPlay.oriPathPositions.Clear();
        for (int i = 0; i < zpa.oriPathPositions.Count; i++)
        {
            playerZzcPlay.oriPathPositions.Add(zpa.oriPathPositions[i]);
        }

        //读取特效数据
        for (int i = 0; i < skillEffectParent.childCount; i++)
        {
            Destroy(skillEffectParent.GetChild(i).gameObject);
        }
        for (int i = 0; i < pad.skillEffectDatas.Length; i++)
        {
            SkillEffect se = Instantiate(effectPrefab, skillEffectParent).GetComponent <SkillEffect>();
            se.prefab                  = pad.skillEffectDatas[i].prefab;
            se.waitTime                = pad.skillEffectDatas[i].waitTime;
            se.destroyTime             = pad.skillEffectDatas[i].destroyTime;
            se.playTime                = pad.skillEffectDatas[i].playTime;
            se.curve                   = pad.skillEffectDatas[i].curve;
            se.transform.localPosition = pad.skillEffectDatas[i].startPos;
            se.oriForward              = pad.skillEffectDatas[i].oriForward;
            se.originalPos             = pad.skillEffectDatas[i].oriPos;
            se.oriPathPositions.Clear();
            for (int j = 0; j < pad.skillEffectDatas[i].oriPathPositions.Count; j++)
            {
                se.oriPathPositions.Add(pad.skillEffectDatas[i].oriPathPositions[j]);
            }
        }


        Destroy(zpa.gameObject);
        Debug.Log(skillName.text + "读取完毕");
    }
Exemplo n.º 2
0
 //public string prefabName;
 // Use this for initialization
 void Start()
 {
     selfZzcplay = GetComponent <ZzcPlayAnim>();
     //prefabName = "test";
 }