예제 #1
0
    void IEndDragHandler.OnEndDrag(PointerEventData eventData)
    {
        if (button.cdName == null || button.cdName.Length == 0)
        {
            return;
        }
        var _param = character.GetSkillCDSkillParams(button.cdName);

        if (null == _param)
        {
            return;
        }
        VirtualInput.KeyCode bt = _param.button;
        VirtualInput.buttons[(int)bt]    = true;
        VirtualInput.js_buttons[(int)bt] = true;

        if (holdingDrag == this)
        {
            VirtualInput.skillDir = skillDir;
            holdingDrag           = null;
            fellowCharacter.gameObject.SetActive(false);
            fellowCharacter.rangeGamObject.SetActive(false);
        }
        isTargetting = false;
        VirtualInput.isTargetting = false;
        count = 2;
    }
예제 #2
0
    public void OnPointerClick(PointerEventData eventData)
    {
        if (button.cdName == null || button.cdName.Length == 0)
        {
            VirtualInput.buttons[(int)keyCode]    = true;
            VirtualInput.js_buttons[(int)keyCode] = true;
            count = 2;
            return;
        }
        if (dragging)
        {
            return;
        }
        var _param = character.GetSkillCDSkillParams(button.cdName);

        if (null == _param)
        {
            return;
        }
        VirtualInput.KeyCode bt = _param.button;
        //fellowCharacter.forward  = skillDir

        if (_param.type == SkillParams.TYPE.DRAG_DIR)
        {
            VirtualInput.skillDir = fellowCharacter.forward;
        }
        else
        {
            VirtualInput.skillDir = Vector3.zero;
        }

        VirtualInput.buttons[(int)bt]    = true;
        VirtualInput.js_buttons[(int)bt] = true;
        if (holdingDrag == this)
        {
            fellowCharacter.gameObject.SetActive(false);
            fellowCharacter.rangeGamObject.SetActive(false);

            holdingDrag = null;
        }
        VirtualInput.isTargetting = false;
        isTargetting = false;
        count        = 2;
    }
예제 #3
0
    public void init()
    {
        if (null != Selecter)
        {
            GameObject g = GameObject.Instantiate(Selecter);
            g.name = "selecter";
            LCHSelecter ls = g.AddComponent <LCHSelecter>();
            ls.character = character.character;
        }

        //objects.Clear();
        for (int i = 0; i < buttons.Length; i++)
        {
            var        button = buttons[i];
            GameObject g      = button.image.gameObject;
            button.image.sprite = buttons[i].sprite;

            LCHButton lb = g.AddComponent <LCHButton>();


            GameObject g2 = new GameObject();
            g2.name               = "button cd" + i;
            g2.transform.parent   = g.transform;
            button.cdImage        = g2.AddComponent <Image>();
            button.cdImage.sprite = buttons[i].sprite;
            button.cdImage.rectTransform.anchorMin        = button.cdImage.rectTransform.anchorMax = button.cdImage.rectTransform.pivot = new Vector2(1, 0);
            button.cdImage.rectTransform.sizeDelta        = button.image.rectTransform.sizeDelta;
            button.cdImage.rectTransform.anchoredPosition = Vector2.zero;

            button.cdImage.type          = Image.Type.Filled;
            button.cdImage.fillMethod    = Image.FillMethod.Radial360;
            button.cdImage.fillClockwise = false;
            button.cdImage.fillOrigin    = 2;

            button.cdImage.color      = cdColor;
            button.cdImage.fillAmount = 0.3f;

            GameObject g3 = new GameObject();
            g3.name             = "text cd" + i;
            g3.transform.parent = g2.transform;
            button.txt          = g3.AddComponent <Text>();
            Outline ol = g3.AddComponent <Outline>();
            button.txt.rectTransform.anchorMin        = button.txt.rectTransform.anchorMax = button.txt.rectTransform.pivot = new Vector2(1, 0);
            button.cdImage.rectTransform.sizeDelta    = button.image.rectTransform.sizeDelta;
            button.txt.rectTransform.anchoredPosition = Vector2.zero;

            button.txt.font      = font;
            button.txt.alignment = TextAnchor.MiddleCenter;
            button.txt.text      = "10";
            button.txt.fontStyle = FontStyle.Bold;
            button.txt.color     = cdFontColor;
            ;
            button.txt.fontSize = (int)fontSize;

            ol.effectColor = cdFontShadowColor;



            lb.button         = button;
            lb.character      = character.character;
            lb.dirMat         = dirMat;
            lb.pointMat       = pointMat;
            lb.pointOperaSize = pointOperaSize * Screen.height;
            lb.randMat        = randMat;
            lb.keyCode        = buttons[i].keyCode;
            lb.targetMat      = targetMat;
        }
    }
예제 #4
0
    public void OnPointerDown(PointerEventData eventData)
    {
        if (button.cdName == null || button.cdName.Length == 0)
        {
            return;
        }
        if (holdingDrag != null)
        {
            return;
        }
        dragging = false;

        var _param = character.GetSkillCDSkillParams(button.cdName);

        if (null == _param)
        {
            return;
        }

        //Debug.LogError("_param.isUsing = " + _param.isUsing);
        if (_param.isUsing == false
            &&
            (
                (_param.State == 0 && _param.cd < 0.0001f) ||
                (_param.State > 0 && _param.cd > 0.0001f)
            )

            )
        {
            if (_param.type == SkillParams.TYPE.DRAG_DIR)
            {
                initMesh( );

                BuildDirCtrl(fellowCharacter.dirMesh, _param.skillWidth, _param.skillRange);

                fellowCharacter.transform.position        = character.GetCurPosition() + Vector3.up * 0.1f;
                fellowCharacter.forward                   = character.GetCurForward();
                fellowCharacter.meshRender.sharedMaterial = dirMat;
                fellowCharacter.filter.sharedMesh         = fellowCharacter.dirMesh;
                fellowCharacter.type = _param.type;
                fellowCharacter.meshRender.enabled = true;
            }
            else if (_param.type == SkillParams.TYPE.DRAG_TARGET)
            {
                initMesh();

                fellowCharacter.forward = character.GetCurXZForward();
                UpdateCharacterSelectyion(false);
                Vector3 curPos = character.GetCurPosition();
                isTargetting = true;
                VirtualInput.isTargetting = true;
                //0.850
                fellowCharacter.transform.position = curPos + Vector3.up * 0.1f;
                CircularTarget(fellowCharacter.targetMesh, _param.skillRange * 1.0f, _param.skillRange * 0.5f, -45, 45, 3);



                fellowCharacter.meshRender.sharedMaterial = targetMat;
                fellowCharacter.filter.sharedMesh         = fellowCharacter.targetMesh;
                fellowCharacter.type = _param.type;
                fellowCharacter.meshRender.enabled = true;
            }
            else if (_param.type == SkillParams.TYPE.DRAG_POINT)
            {
                initMesh( );


                BuildPointCtrl(fellowCharacter.pointMesh, _param.skillWidth);

                fellowCharacter.transform.position        = character.GetCurPosition() + Vector3.up * 0.1f;
                fellowCharacter.forward                   = character.GetCurForward();
                fellowCharacter.meshRender.sharedMaterial = pointMat;
                fellowCharacter.filter.sharedMesh         = fellowCharacter.pointMesh;
                fellowCharacter.type               = _param.type;
                fellowCharacter.skillRange         = _param.skillRange;
                fellowCharacter.meshRender.enabled = true;
            }
            else
            {
                initMesh( );
                BuildPointCtrl(fellowCharacter.pointMesh, _param.skillWidth);
                fellowCharacter.meshRender.enabled = false;
            }

            fellowCharacter.character = character;
            holdingDrag = this;
            fellowCharacter.gameObject.SetActive(true);
            fellowCharacter.rangeGamObject.SetActive(true);


            fellowCharacter.rangeGamObject.transform.localScale = new Vector3(_param.skillRange, 1, _param.skillRange);
        }
    }