Esempio n. 1
0
    GrassSkillInfo DataToInfo(GrassSkillData data)
    {
        GrassSkillInfo info = new GrassSkillInfo();

        info.prefabID = data.spreadDir;
        info.delay    = (float)data.delay / 1000f;
        info.duration = (float)data.duration / 1000f;
        info.scale    = Vector3.one;
        if (!string.IsNullOrEmpty(data.size))
        {
            if (data.spreadDir.StartsWith("3"))
            {
                var strs = data.size.Split(',');
                info.scale = new Vector3(float.Parse(strs [0]) * 1.5f, 1, float.Parse(strs [1]) * 1.5f);
            }
            else
            {
                float rad = float.Parse(data.size);
                info.scale = new Vector3(rad * 2 * 1.5f, 1, rad * 2 * 1.5f);
            }
        }
        if (!string.IsNullOrEmpty(data.angle))
        {
            var strs = data.angle.Split(',');
            info.angle1 = float.Parse(strs [0]);
            info.angle2 = float.Parse(strs [1]);
        }
        if (!string.IsNullOrEmpty(data.offset))
        {
            var strs = data.offset.Split(',');
            info.offset = new Vector2(float.Parse(strs [0]), float.Parse(strs [1]));
        }

        return(info);
    }
Esempio n. 2
0
    public void PlaySkill(Vector3 pos, Vector3 dir, GrassSkillData data)
    {
        if (data == null)
        {
            Debug.LogError("GrassSkillData数据为空,请联系陶恩恩");
        }
        GrassSkillInfo info = DataToInfo(data);
        //GameObject go = Instantiate(GetPrefab(info.prefabID)) as GameObject;
        GameObject go = EasyPoolManager.Instantiate(GetPrefab(info.prefabID)) as GameObject;


        GrassSkillShape shape = go.GetComponent <GrassSkillShape> ();

        shape.Play(pos, dir, info);
    }
Esempio n. 3
0
 public void PlaySkill(Transform obj, GrassSkillData data)
 {
     PlaySkill(obj.position, obj.forward, data);
 }
Esempio n. 4
0
 public void AddPrint_Skill(Vector3 pos, Vector3 dir, GrassSkillData data)
 {
     GrassSkillCut.Instance.PlaySkill(pos, dir, data);
 }