Exemple #1
0
    /// <summary>
    /// 创建技能区域展示元素
    /// </summary>
    /// <param name="element"></param>
    void CreateElement(SKillAreaElement element)
    {
        Transform elementTrans = GetElement(element);

        if (elementTrans == null)
        {
            return;
        }
        allElementTrans[element] = elementTrans;
        switch (element)
        {
        case SKillAreaElement.OuterCircle:
            elementTrans.localScale = new Vector3(outerRadius * 2, 1, outerRadius * 2) / player.transform.localScale.x;
            elementTrans.gameObject.SetActive(true);
            break;

        case SKillAreaElement.InnerCircle:
            elementTrans.localScale = new Vector3(innerRadius * 2, 1, innerRadius * 2) / player.transform.localScale.x;
            break;

        case SKillAreaElement.Cube:
            elementTrans.localScale = new Vector3(cubeWidth, 1, outerRadius) / player.transform.localScale.x;
            break;

        case SKillAreaElement.Sector60:
        case SKillAreaElement.Sector120:
            elementTrans.localScale = new Vector3(outerRadius, 1, outerRadius) / player.transform.localScale.x;
            break;

        default:
            break;
        }
    }
Exemple #2
0
    /// <summary>
    /// 每帧更新元素位置
    /// </summary>
    /// <param name="element"></param>
    void UpdateElementPosition(SKillAreaElement element)
    {
        if (allElementTrans[element] == null)
        {
            return;
        }
        switch (element)
        {
        case SKillAreaElement.OuterCircle:
            break;

        case SKillAreaElement.InnerCircle:
            allElementTrans[element].transform.position = GetCirclePosition(outerRadius);
            //CharacterAnimationDungeon._instance.EffectClone(GetCirclePosition(outerRadius));//生成特效
            break;

        case SKillAreaElement.Cube:
        case SKillAreaElement.Sector60:
        case SKillAreaElement.Sector120:
            allElementTrans[element].transform.LookAt(GetCubeSectorLookAt());
            break;

        default:
            break;
        }
        if (!allElementTrans[element].gameObject.activeSelf)
        {
            allElementTrans[element].gameObject.SetActive(true);
        }
    }
Exemple #3
0
    /// <summary>
    /// 每帧更新元素位置
    /// </summary>
    /// <param name="element"></param>
    void UpdateElementPosition(SKillAreaElement element)
    {
        if (allElementTrans[element] == null)
        {
            return;
        }
        switch (element)
        {
        case SKillAreaElement.OuterCircle:
            break;

        case SKillAreaElement.InnerCircle:
            allElementTrans[element].transform.position = GetCirclePosition(outerRadius);
            break;

        case SKillAreaElement.Cube:
        case SKillAreaElement.Sector60:
        case SKillAreaElement.Sector120:
            allElementTrans [element].transform.LookAt(GetCubeSectorLookAt());
            Target = TargetSelect(null, allElementTrans [element].gameObject);
            break;

        default:
            break;
        }
        if (!allElementTrans[element].gameObject.activeSelf)
        {
            allElementTrans[element].gameObject.SetActive(true);
        }
    }
Exemple #4
0
    /// <summary>
    /// 隐藏指定元素
    /// </summary>
    /// <param name="element"></param>
    void HideElement(SKillAreaElement element)
    {
        if (player == null)
        {
            return;
        }
        Transform parent       = GetParent();
        Transform elementTrans = parent.Find(element.ToString());

        if (elementTrans != null)
        {
            elementTrans.gameObject.SetActive(false);
        }
    }
Exemple #5
0
    void MouseDownAndCleanSkill(SKillAreaElement element)
    {
        switch (element)
        {
        case SKillAreaElement.OuterCircle:
            break;

        case SKillAreaElement.InnerCircle:
            break;

        case SKillAreaElement.Cube:
        case SKillAreaElement.Sector60:
        case SKillAreaElement.Sector120:
            break;

        default:
            break;
        }
    }
Exemple #6
0
    /// <summary>
    /// 获取元素物体
    /// </summary>
    Transform GetElement(SKillAreaElement element)
    {
        if (player == null)
        {
            return(null);
        }
        string    name         = element.ToString();
        Transform parent       = GetParent();
        Transform elementTrans = parent.Find(name);

        _elementName = name;
        if (elementTrans == null)
        {
            _inCreate = true;
            AssetManager.LoadAsset(path + allElementPath[element] + ".prefab", AssetLoadCallBack);
            return(null);
        }
        elementTrans.localEulerAngles = Vector3.zero;
        elementTrans.localPosition    = Vector3.zero;
        elementTrans.localScale       = Vector3.one;
        return(elementTrans);
    }
Exemple #7
0
    /// <summary>
    /// 获取元素物体
    /// </summary>
    Transform GetElement(SKillAreaElement element)
    {
        if (player == null)
        {
            return(null);
        }
        string    name         = element.ToString();
        Transform parent       = GetParent();
        Transform elementTrans = parent.Find(name);

        if (elementTrans == null)
        {
            GameObject elementGo = Instantiate(Resources.Load(path + allElementPath[element])) as GameObject;
            elementGo.transform.parent = parent;
            elementGo.gameObject.SetActive(false);
            elementGo.name = name;
            elementTrans   = elementGo.transform;
        }
        elementTrans.localEulerAngles = Vector3.zero;
        elementTrans.localPosition    = Vector3.zero;
        elementTrans.localScale       = Vector3.one;
        return(elementTrans);
    }