Exemple #1
0
    void OnDraw()
    {
        if (panel == null)
        {
            panel = UIMgr.instance.CreatePanel(PanelNameDefine.JOYSTICK_PANEL) as JoystickPanel;
        }
        else
        {
            InitJoystick();
        }
        if (panel == null || panel.uiPanel == null)
        {
            return;
        }

        if (!processInput)
        {
            return;
        }

        if (InputMgr.instance.inputControlMode == InputControlMode.Normal)
        {
            Vector2 vOffset = initPos - thumbPos;
            if (vOffset.magnitude > workingSize * validFactor)
            {
                initPos = thumbPos + vOffset.normalized * workingSize * validFactor;
            }
        }
        else if (InputMgr.instance.inputControlMode == InputControlMode.InitStatic || InputMgr.instance.inputControlMode == InputControlMode.Static)
        {
            Vector2 vOffset = thumbPos - initPos;
            if (vOffset.magnitude > workingSize * validFactor)
            {
                thumbPos = initPos + vOffset.normalized * workingSize * validFactor;
            }

            //Debug.LogError(workingSize * validFactor);
        }

        if (working || drawConstant)
        {
            panel.uiPanel.alpha       = 1;
            panel.bg.localPosition    = UIMgr.instance.ScreenPosToNGUIPos(initPos);
            panel.thumb.localPosition = UIMgr.instance.ScreenPosToNGUIPos(thumbPos);
        }
        else
        {
            if (noWorkingTimer > 0.1f)
            {
                // 不工作状态时摇杆显示在左下角
                InitJoystick();

                panel.uiPanel.alpha = noWorkingTimer - 0.1f;
                if (panel.uiPanel.alpha > 1.0f)
                {
                    panel.uiPanel.alpha = 1.0f;
                }
            }
        }
    }
Exemple #2
0
 private void Start()
 {
     _instance = this;
 }