Ejemplo n.º 1
0
    public void OpenBag(Button button)
    {
        GameObject canvas;

        CommonCanvasManager.GetInstance().OpenCommonCanvas(button.name, out canvas, true);
        RectTransform panelTF = canvas.transform.GetChild(0).rectTransform();

        // 需要打开时在初始化
        BagManager bm = BagManager.GetInstance();

        bm.equipmentBag.Init(GameObject.FindGameObjectWithTag("equipment bag").transform.rectTransform(), canvas);
        bm.potionBag.Init(GameObject.FindGameObjectWithTag("potion bag").transform.rectTransform(), canvas);
        bm.sundryBag.Init(GameObject.FindGameObjectWithTag("sundry bag").transform.rectTransform(), canvas);

        button.onClick.AddListener(delegate
        {
            Sequence seq = DOTween.Sequence();
            if (!canvas.activeSelf)
            {
                canvas.SetActive(true);
                CanvasGroup canvasGroup = panelTF.GetComponent <CanvasGroup>();
                seq.Append(canvasGroup.DOFade(1, 0.2f))
                .Join(panelTF.DOScale(1, 0.2f))
                .AppendCallback(delegate
                {
                    canvasGroup.interactable = true;
                });
            }
        });
    }
Ejemplo n.º 2
0
 public void Wait( )
 {
     //message UI
     GameObject canvas = CommonCanvasManager.GetInstance().ShowMessage("Wait", new CanvasGroup[1] {
         m_canvasGroup
     });
 }
Ejemplo n.º 3
0
 public void CloseCanvas()
 {
     if (!CommonCanvasManager.GetInstance().Return(canvas.name, true))
     {
         canvas.SetActive(false);
     }
 }
Ejemplo n.º 4
0
    public void OnClick(float distance = Mathf.Infinity)
    {
        if (distance > availableDistance)
        {
            return;
        }

        //采集进度动画
        if (collectingTime != 0)
        {
            //从公用UI中得到
            GameObject canvas;
            if (CommonCanvasManager.GetInstance().OpenCommonCanvas("collecting", out canvas))
            {
                Image collectingSlider = canvas.GetComponentsInChildren <Image>()[1];

                //放在被采集物品的上方
                Vector3 pos = transform.GetPositionOffset(0, 1, 0);
                collectingSlider.transform.parent.position = Camera.main.WorldToScreenPoint(pos);

                //补间动画
                collectingSlider.DOFillAmount(1, collectingTime).OnComplete(delegate
                {
                    collectingSlider.fillAmount = 0;
                    //返回给公用
                    CommonCanvasManager.GetInstance().Return("collecting");
                    OnGot();
                });
            }
        }
        else
        {
            OnGot();
        }
    }
Ejemplo n.º 5
0
 void Awake()
 {
     if (singleton != null)
     {
         Debug.LogError("CommonCanvasManager singleton already exists");
     }
     singleton = this;
 }
Ejemplo n.º 6
0
 public void Abondon(ConstantDefine.CollectionType itemType, string function = "use")
 {
     if (m_bagItems.ContainsKey(itemType))
     {
         Text countText = m_bagGridTF.GetChild(m_bagItems[itemType].index).GetChild(2).GetComponent <Text>();
         countText.text = "";
         GameObject.Destroy(m_bagItems[itemType].itemUI);
         m_bagItems.Remove(itemType);
         CommonCanvasManager.GetInstance().Return(function);
     }
 }
Ejemplo n.º 7
0
    /// <summary>
    /// 普通状态打开背包,显示物品信息;
    /// 根据物品类型,装备/药可以使用,杂物(包括任务物品)不可使用
    /// </summary>
    public void OpenToDisplayDetail( )
    {
        GameObject useCanvas;

        //该UI正被使用时,直接替换显示内容
        CommonCanvasManager.GetInstance().OpenCommonCanvas("use", out useCanvas);
        Transform panelTF = useCanvas.transform.Find("Panel");

        panelTF.Find("Image/pic").GetComponent <Image>().sprite = GetComponent <Image>().sprite;
        panelTF.Find("name").GetComponent <Text>().text         = itemInfo.name;
        panelTF.Find("description").GetComponent <Text>().text  = itemInfo.info;

        Button useButton = panelTF.Find("use").GetComponent <Button>();

        //使用
        useButton.enabled = true;
        // 把使用功能改成自己的
        useButton.onClick.RemoveAllListeners();
        useButton.onClick.AddListener(delegate
        {
            onUsedMethod();
        });

        //丢弃
        Button abondonButton = panelTF.Find("abondon").GetComponent <Button>();

        abondonButton.onClick.RemoveAllListeners();
        abondonButton.onClick.AddListener(delegate
        {
            BagManager bm = BagManager.GetInstance();
            switch (bagType)
            {
            case ConstantDefine.BagItemType.Equipment:
                bm.equipmentBag.Abondon(type);
                break;

            case ConstantDefine.BagItemType.Potion:
                bm.potionBag.Abondon(type);
                break;

            case ConstantDefine.BagItemType.Sundry:
                bm.sundryBag.Abondon(type);
                break;

            case ConstantDefine.BagItemType.Money:
                break;

            default:
                break;
            }
        });
    }
Ejemplo n.º 8
0
    public void OnLoginSuccess( )
    {
        CommonCanvasManager.GetInstance().ShowMessage("Login succees", null, 0.5f);
        GameObject  matchUICanvas    = GameObject.Find("match ui");
        Sequence    seq              = DOTween.Sequence();
        CanvasGroup loginCanvasGroup = GetComponent <CanvasGroup>();
        CanvasGroup matchCanvasGroup = matchUICanvas.GetComponent <CanvasGroup>();

        seq.Append(transform.DOScale(0.5f, 0.2f)).Join(loginCanvasGroup.DOFade(0, 0.2f)).Join(matchCanvasGroup.DOFade(1, 0.2f)).AppendCallback(() =>
        {
            matchCanvasGroup.interactable = true;
            Destroy(transform.parent.gameObject);
        });
    }
Ejemplo n.º 9
0
    public void OnClick(float distance = Mathf.Infinity)
    {
        if (distance > availableDistance)
        {
            return;
        }

        //打开商店面板
        CommonCanvasManager.GetInstance().OpenCommonCanvas("bag", out m_shopCanvas, true);
        if (m_toggleTFs == null)
        {
            ToggleController toggleController = m_shopCanvas.GetComponentInChildren <ToggleController>();
            m_toggleTFs = new Transform[toggleController.tabs.Length];
            for (byte i = 0; i < toggleController.tabs.Length; i++)
            {
                Toggle toggle = toggleController.tabs[i].toggle;
                m_toggleTFs[i] = toggle.transform;
                toggle.gameObject.SetActive(true);
                byte index = i;
                toggle.onValueChanged.AddListener(delegate
                {
                    _OnSelect(index);
                });
            }
            Button closeButton = m_shopCanvas.transform.GetChild(0).Find("close").GetComponent <Button>();
            closeButton.onClick.AddListener(delegate
            {
                _Close();
            });
        }
        else
        {
            m_toggleTFs[0].GetComponent <Toggle>().isOn = true;
            m_toggleTFs[0].SetAsFirstSibling();
            m_toggleTFs[1].GetComponent <Toggle>().isOn = false;
            m_toggleTFs[1].SetAsLastSibling();
            for (int i = 0; i < m_toggleTFs.Length; i++)
            {
                m_toggleTFs[i].gameObject.SetActive(true);
            }
        }
    }
Ejemplo n.º 10
0
    public void DisplayRewardUI( )
    {
        GameObject rewardCanvas;

        CommonCanvasManager.GetInstance().OpenCommonCanvas("reward", out rewardCanvas, true);
        Sprite[] sprites = new Sprite[items.Length];
        for (int i = 0; i < sprites.Length; i++)
        {
            sprites[i] = Resources.Load <Sprite>("ui/item/" + items[i].itemInfo.name);
        }
        RewardUI rewardUI = rewardCanvas.GetComponentInChildren <RewardUI>();

        rewardUI.Init(exp, gold, sprites, counts);
        Button button = rewardUI.GetComponentInChildren <Button>();

        button.onClick.RemoveAllListeners();
        button.onClick.AddListener(delegate
        {
            OnGot();
            //领完就关闭
            CommonCanvasManager.GetInstance().Return("reward", true);
        });
    }
Ejemplo n.º 11
0
 public void OnDestroy( )
 {
     Destroy(m_createMatchCanvas);
     Destroy(m_matchListCanvas);
     CommonCanvasManager.GetInstance().Return("message");
 }
Ejemplo n.º 12
0
 public void StopWait( )
 {
     CommonCanvasManager.GetInstance().CloseMessagePanel(m_onWaitCanvasGroup);
 }
Ejemplo n.º 13
0
 public void Wait( )
 {
     //message UI
     GameObject canvas = CommonCanvasManager.GetInstance().ShowMessage("Wait", m_onWaitCanvasGroup);
 }
Ejemplo n.º 14
0
 internal void ShowMessage(string p, float seconds = 2)
 {
     CanvasGroup[] cg = new CanvasGroup[1];
     cg[0] = m_canvasGroup;
     CommonCanvasManager.GetInstance().ShowMessage(p, cg, seconds);
 }
Ejemplo n.º 15
0
 /// <summary>
 /// 关闭UI
 /// </summary>
 public void Close( )
 {
     CommonCanvasManager.GetInstance().Return(name);
 }
Ejemplo n.º 16
0
    private void _RoomSceneInit ( )
    {
        if (m_matchUI != null)
            Destroy(m_matchUI);

        if (m_roomUI != null)
            return;

        m_roomUI = Instantiate(Resources.Load("ui/room ui")) as GameObject;

        m_waitingPanel = m_roomUI.transform.GetChild(3).gameObject;
        m_waitingTipsText = m_waitingPanel.GetComponentInChildren<Text>();
        RectTransform menuTF = m_roomUI.transform.GetChild(4) as RectTransform;
        float width = ((RectTransform)menuTF).sizeDelta.x / 5;
        Button[] buttons = menuTF.GetComponentsInChildren<Button>();
        //箭头
        buttons[0].onClick.AddListener(delegate
        {
            RectTransform buttonTf = buttons[0].rectTransform();
            Sequence seq = DOTween.Sequence();
            if (buttonTf.localRotation.eulerAngles.z > 90)
            {
                seq.Append(menuTF.DOAnchorPos(menuTF.anchoredPosition - new Vector2(width * 4, 0), 0.5f))
                   .Join(buttonTf.DORotate(new Vector3(0, 0, 0), 0.2f));
            }
            else
            {
                seq.Append(menuTF.DOAnchorPos(menuTF.anchoredPosition + new Vector2(width * 4, 0), 0.5f))
                   .Join(buttonTf.DORotate(new Vector3(0, 0, 180), 0.2f));
            }
        });
        //角色、背包、设定
        for (int i = 1; i < 4; i++)
        {
            string name = buttons[i].name;
            GameObject canvas;
            CommonCanvasManager.GetInstance().OpenCommonCanvas(name, out canvas, true);
            RectTransform panelTF = canvas.transform.GetChild(0).rectTransform();
            switch (i)
            {
                //背包面板
                case 2:
                    BagManager bm = BagManager.GetInstance();
                    bm.equipmentBag.Init(GameObject.FindGameObjectWithTag("equipment bag").transform.rectTransform(), canvas);
                    bm.potionBag.Init(GameObject.FindGameObjectWithTag("potion bag").transform.rectTransform(), canvas);
                    bm.sundryBag.Init(GameObject.FindGameObjectWithTag("sundry bag").transform.rectTransform(), canvas);
                    break;
                default:
                    break;
            }
            buttons[i].onClick.AddListener(delegate
            {
                Sequence seq = DOTween.Sequence();
                if (!canvas.activeSelf)
                {
                    canvas.SetActive(true);
                    CanvasGroup canvasGroup = panelTF.GetComponent<CanvasGroup>();
                    seq.Append(canvasGroup.DOFade(1, 0.2f))
                       .Join(panelTF.DOScale(1, 0.2f))
                       .AppendCallback(delegate
                       {
                           canvasGroup.interactable = true;
                       });
                }
            });
            canvas.SetActive(false);
        }
        m_waitingPanel.SetActive(false);
    }
Ejemplo n.º 17
0
 public void StopWait( )
 {
     CommonCanvasManager.GetInstance().CloseMessagePanel(new CanvasGroup[1] {
         m_canvasGroup
     });
 }