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; }); } }); }
public void Wait( ) { //message UI GameObject canvas = CommonCanvasManager.GetInstance().ShowMessage("Wait", new CanvasGroup[1] { m_canvasGroup }); }
public void CloseCanvas() { if (!CommonCanvasManager.GetInstance().Return(canvas.name, true)) { canvas.SetActive(false); } }
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(); } }
void Awake() { if (singleton != null) { Debug.LogError("CommonCanvasManager singleton already exists"); } singleton = this; }
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); } }
/// <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; } }); }
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); }); }
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); } } }
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); }); }
public void OnDestroy( ) { Destroy(m_createMatchCanvas); Destroy(m_matchListCanvas); CommonCanvasManager.GetInstance().Return("message"); }
public void StopWait( ) { CommonCanvasManager.GetInstance().CloseMessagePanel(m_onWaitCanvasGroup); }
public void Wait( ) { //message UI GameObject canvas = CommonCanvasManager.GetInstance().ShowMessage("Wait", m_onWaitCanvasGroup); }
internal void ShowMessage(string p, float seconds = 2) { CanvasGroup[] cg = new CanvasGroup[1]; cg[0] = m_canvasGroup; CommonCanvasManager.GetInstance().ShowMessage(p, cg, seconds); }
/// <summary> /// 关闭UI /// </summary> public void Close( ) { CommonCanvasManager.GetInstance().Return(name); }
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); }
public void StopWait( ) { CommonCanvasManager.GetInstance().CloseMessagePanel(new CanvasGroup[1] { m_canvasGroup }); }