private void DragUp(PointerEventData obj) { if (chapterGuidance != null) { GameObject.Destroy(chapterGuidance.gameObject); } UIPanelDrag item = obj.pointerPress.transform.GetComponent <UIPanelDrag>(); if (item != null) { if (IsDragSucceed(item)) { item.gameObject.SetActive(false); if (IsAllDragSuceed()) { Debug.Log("奖励收拾完毕"); _outBtn.gameObject.SetActive(true); } } } else { Debug.Log("无效拖拽"); } }
/// <summary> /// 初始化组件 /// </summary> /// <param name="endAction"></param> public void Initial(Action endAction) { _endAction = endAction; _thisCanvasGroup = GetComponent <CanvasGroup>(); _roleRect = transform.Find("Role").GetComponent <RectTransform>(); _weedingBtnRect = transform.Find("WeedingBtn").GetComponent <RectTransform>(); _weedingBtn = _weedingBtnRect.GetComponent <Button>(); _awardItem = transform.Find("AwardItem").GetComponent <UIPanelDrag>(); _outBtn = transform.Find("OutBtn").GetComponent <Button>(); _tetragonumComponent = transform.Find("DialogueBox_Tetragonum").GetComponent <DialogueBoxTetragonumComponent>(); _outBtn.onClick.RemoveAllListeners(); _outBtn.onClick.AddListener(ClickOutBtn); _weedingBtn.onClick.RemoveAllListeners(); _weedingBtn.onClick.AddListener(ClickWeedingBtn); _weedingBtn.gameObject.SetActive(false);//recompose InitialWeedBtn(); _roleRect.localPosition = _weedBtns[_currWeedIndex].transform.localPosition; //显示人物对象 _roleRect.gameObject.SetActive(true); roleWeedingAnimatorController = _roleRect.Find("ChuCao/chucao").GetComponent <Animator>(); _outBtn.gameObject.SetActive(false); OpenTrashCan(true); if (_startDialogueId != 0) { _tetragonumComponent.SetStartDialogueId(_startDialogueId); _tetragonumComponent.Initial(() => { _tetragonumComponent.Close(); }); _tetragonumComponent.gameObject.SetActive(true); _tetragonumComponent.Show(); } else { _tetragonumComponent.gameObject.SetActive(false); } }
/// <summary> /// 初始化食物 /// </summary> public void InitialFood() { for (int i = 0; i < _items.Count; i++) { UIPanelDrag item = _items[i]; item.actionOnPointerDown = PointerDown; item.actionOnPointerUp = PointerUp; item.localPos = item.transform.localPosition; } }
/// <summary> /// 获取对应垃圾桶对象 /// </summary> /// <param name="itemTage"></param> /// <returns></returns> public Transform GetTrashCan(UIPanelDrag itemTage) { Transform tageTra = null; foreach (var item in _showAwardItemDic) { if (item.Value.Contains(itemTage)) { tageTra = item.Key; } } return(tageTra); }
/// <summary> /// 鼠标放开 /// </summary> /// <param name="obj"></param> private void PointerUp(PointerEventData obj) { UIPanelDrag item = obj.pointerDrag.transform.GetComponent <UIPanelDrag>(); if (item != null && Vector3.Distance(item.transform.localPosition, _wokRect.localPosition) < 200) { item.gameObject.SetActive(false); OpenAffirmBtn(true); OpenOperation(true); int index = _items.IndexOf(item); MoveGlobu(_speeds[_currEnergyValue], _foodEnergyValue[_currEnergyValue], MoveEnd); } }
/// <summary> /// 判断拖拽是否成功 /// </summary> /// <param name="item"></param> /// <returns></returns> public bool IsDragSucceed(UIPanelDrag item) { Transform tageTra = GetTrashCan(item); bool isSucced = false; if (Vector3.Distance(item.transform.localPosition, tageTra.localPosition) < 300) { Debug.Log("拖拽成功"); isSucced = true; } else { Debug.Log("拖拽失败"); isSucced = false; } return(isSucced); }
public void Initial() { _thisRect = GetComponent <RectTransform>(); _btn = transform.Find("Button").GetComponent <UIPanelDrag>(); _btnRect = _btn.transform.GetComponent <RectTransform>(); _label = _btn.transform.Find("Label").GetComponent <Image>(); _canvasGroup = GetComponent <CanvasGroup>(); _btn.m_DragPlane = GetComponent <RectTransform>(); _canvasScaler = UIRoot.instance.GetUIRootCanvasTop().transform.GetComponent <CanvasScaler>(); _btn.actionOnClick = ClickBtn; _btn.actionOnPointerUp = PointerUp; _btn.actionOnPointerDown = PointerDown; InitialPoint(); ChatTool.EnrollChatMiniAction(OpenLabelAction); _canvasGroup.alpha = 0.5f; OpenLabel(ChatTool.IsNewMessagePrivateChat()); _isInitial = true; }
/// <summary> /// 创建除草奖励 /// </summary> /// <param name="tagePoin"></param> void CreationAwardItem(Vector3 tagePoin) { GameObject obj = GameObject.Instantiate(_awardItem.gameObject, transform); UIPanelDrag item = obj.GetComponent <UIPanelDrag>(); item.localPos = tagePoin; item.transform.localPosition = tagePoin; int index = Random.Range(0, _awardItemSprites.Count); Image awardIcon = item.GetComponent <Image>(); awardIcon.sprite = _awardItemSprites[index]; awardIcon.SetNativeSize(); Transform trashCanTage = _trashCan[index]; item.actionOnPointerUp = DragUp; if (_showAwardItemDic.ContainsKey(trashCanTage)) { _showAwardItemDic[trashCanTage].Add(item); } else { List <UIPanelDrag> uIPanelDrags = new List <UIPanelDrag>(); uIPanelDrags.Add(item); _showAwardItemDic.Add(trashCanTage, uIPanelDrags); } _allAwards.Add(item); item.gameObject.SetActive(true); //item.enabled = false; if (onece) {//创建引导 createGuidance = () => { var parfab = ABManager.GetAsset <GameObject>("ChapterGuidance"); GameObject guidance = GameObject.Instantiate(parfab, transform); chapterGuidance = guidance.GetComponent <ChapterGuidance>(); chapterGuidance.PlayGuidanceAnima(item.transform.localPosition, trashCanTage.transform.localPosition); }; onece = false; } }
/// <summary> /// 初始化组件 /// </summary> public override void Initial() { _oneIamgeRect = transform.Find("One").GetComponent <RectTransform>(); _oneIamgeCanvasGroup = _oneIamgeRect.GetComponent <CanvasGroup>(); _oneIamgeRect.gameObject.SetActive(true); _twoImageRect = transform.Find("Two").GetComponent <RectTransform>(); _twoImagCanvasGroup = _twoImageRect.GetComponent <CanvasGroup>(); _therrBoxRect = transform.Find("TherBox").GetComponent <RectTransform>(); _fourRect = transform.Find("Four").GetComponent <RectTransform>(); _fourCanvasGroup = _fourRect.GetComponent <CanvasGroup>(); _cupRect = _fourRect.Find("Cup").GetComponent <RectTransform>(); _cupCanvasGroup = _cupRect.GetComponent <CanvasGroup>(); _bgtOneCanvasGroup = _fourRect.Find("BgOne").GetComponent <CanvasGroup>(); _cupRectDrag = _cupRect.GetComponent <UIPanelDrag>(); _cupRectDrag.m_DragPlane = _fourRect; _cupRectDrag.actionOnPointerUp = PointerUp; _cupRectDrag.actionOnPointerDown = PointerDown; _answerThePhoneRect = transform.Find("AnswerThePhone").GetComponent <RectTransform>(); _answerThePhoneCanvasGroup = _answerThePhoneRect.GetComponent <CanvasGroup>(); _phoneRect = _fourRect.Find("Phone").GetComponent <RectTransform>(); _phoneCanvasGroup = _phoneRect.GetComponent <CanvasGroup>(); _bgTwoRect = _fourRect.Find("BgTwo").GetComponent <RectTransform>(); _bgTwoCanvasGroup = _bgTwoRect.GetComponent <CanvasGroup>(); _clickBtn = GetComponent <Button>(); _clickBtn.onClick.RemoveListener(ClickBtn); _clickBtn.onClick.AddListener(ClickBtn); _phoneBtn = _bgTwoRect.Find("PhoneBtn").GetComponent <Button>(); _oneBtn = _phoneRect.Find("BtnOne").GetComponent <Button>(); _twoBtn = _phoneRect.Find("BtnTwo").GetComponent <Button>(); _fiveRect = transform.Find("Five").GetComponent <RectTransform>(); _fiveBtnBoxRect = transform.Find("FiveBtnBox").GetComponent <RectTransform>(); _fiveBtnOne = _fiveBtnBoxRect.Find("One").GetComponent <Button>(); _fiveBtnOneText = _fiveBtnOne.transform.Find("Text").GetComponent <Text>(); _fiveBtnTwo = _fiveBtnBoxRect.Find("Two").GetComponent <Button>(); _fiveBtnTwoText = _fiveBtnTwo.transform.Find("Text").GetComponent <Text>(); _fiveBtnTherr = _fiveBtnBoxRect.Find("Therr").GetComponent <Button>(); _fiveBtnTherrText = _fiveBtnTherr.transform.Find("Text").GetComponent <Text>(); _oneBtn.onClick.RemoveAllListeners(); _oneBtn.onClick.AddListener(ClickOneBtn); _twoBtn.onClick.RemoveAllListeners(); _twoBtn.onClick.AddListener(ClickTwoBtn); _fiveBtnOneText.text = ChapterTool.GetDialogueString(12000063); _fiveBtnTwoText.text = ChapterTool.GetDialogueString(12000064); _fiveBtnTherrText.text = ChapterTool.GetChapterFunctionString(10000000); _fiveBtnOne.onClick.RemoveAllListeners(); _fiveBtnOne.onClick.AddListener(ClickFiveBtnOne); _fiveBtnTwo.onClick.RemoveAllListeners(); _fiveBtnTwo.onClick.AddListener(ClickFiveBtnTwo); _phoneBtn.onClick.RemoveAllListeners(); _phoneBtn.onClick.AddListener(ClickBtn); ChapterModuleManager._Instance.ClickEndChapterBtn(_fiveBtnTherr, NextStep); //_fiveBtnTherr.onClick.RemoveAllListeners(); //_fiveBtnTherr.onClick.AddListener(ClickFiveBtnTherr); _dialogueBase = transform.Find("DialogueBox_Bubble").GetComponent <DialogueBoxBubbleComponent>(); _dialogueBoxTetragonumComponent = transform.Find("DialogueBox_Tetragonum").GetComponent <DialogueBoxTetragonumComponent>(); _dialogueBaseTwo = transform.Find("DialogueBox_BubbleTwo").GetComponent <DialogueBoxBubbleComponent>(); _dialogueBaseTherr = transform.Find("DialogueBox_BubbleTherr").GetComponent <DialogueBoxBubbleComponent>(); _dialogueBaseFour = transform.Find("DialogueBox_BubbleFour").GetComponent <DialogueBoxBubbleComponent>(); _dialogueBaseFive = transform.Find("DialogueBox_BubbleFive").GetComponent <DialogueBoxBubbleComponent>(); _chapterGuidance = _fourRect.Find("ChapterGuidance").GetComponent <ChapterGuidance>(); //表情 nanface1_image = transform.Find("Two/nanface1_image").GetComponent <Image>(); nanface2_image = transform.Find("Two/nanface2_image").GetComponent <Image>(); nvface1_image = transform.Find("Two/nvface1_image").GetComponent <Image>(); nvface2_image = transform.Find("Two/nvface2_image").GetComponent <Image>(); nvface3_image = transform.Find("Two/nvface3_image").GetComponent <Image>(); nvface4_image = transform.Find("Two/nvface4_image").GetComponent <Image>(); //phone表情 nv2_Rect = _answerThePhoneRect.Find("nv2") as RectTransform; nv1Face1_phone = _answerThePhoneRect.Find("nv1/nv1Face1").GetComponent <Image>(); nv1Face2_phone = _answerThePhoneRect.Find("nv1/nv1Face2").GetComponent <Image>(); nv1Face3_phone = _answerThePhoneRect.Find("nv1/nv1Face3").GetComponent <Image>(); nv2Face1_phone = nv2_Rect.Find("nv2Face1").GetComponent <Image>(); nv2Face2_phone = nv2_Rect.Find("nv2Face2").GetComponent <Image>(); nv2Face3_phone = nv2_Rect.Find("nv2Face3").GetComponent <Image>(); //endScene表情 nanface1_image_endScene = _fiveRect.Find("nanface1_image").GetComponent <Image>(); nanface2_image_endScene = _fiveRect.Find("nanface2_image").GetComponent <Image>(); nvface1_image_endScene = _fiveRect.Find("nvface1_image").GetComponent <Image>(); nvface2_image_endScene = _fiveRect.Find("nvface2_image").GetComponent <Image>(); ClickBtn(); base.Initial(); }