void SetParent(Transform thisTrans, Transform parentTrans) { thisTrans.SetParent(parentTrans); thisTrans.localPosition = Vector3.zero; thisTrans.localRotation = Quaternion.identity; thisTrans.localScale = Vector3.one; ChapterHelper.SetActive(thisTrans.gameObject, true); }
//显示拥抱 void ShowHugGrandpa_image() { ChapterHelper.SetActive(hugGrandpa_image.gameObject, true); dialogueBoxBubble.Initial(() => { ShowEndScene(); dialogueBoxBubble.Close(); }); dialogueBoxBubble.Show(); }
public async void SwitchAnima(ChapterType chapterType) { Mask.gameObject.SetActive(true); switch (chapterType) { case ChapterType.Main: //全部移动到左边 ChapterHelper.SetActive(m_chapterList.gameObject, true); m_chapterList.Init(_curVersionsMaxCount + 1, _passChapterID, _unlockMaxChapterID); m_OADList.transform.DOLocalMoveX(1242, 0.3f); ZjbBtn_canvasGroup.DOFade(0, switchBtnPosDutation); (ZjbBtn_canvasGroup.transform as RectTransform).DOAnchorPosY(diamondStartPosY, switchBtnPosDutation); diamondBtn_canvasGroup.DOFade(1, switchBtnPosDutation); (diamondBtn_canvasGroup.transform as RectTransform).DOAnchorPosY(diamondEndPosY, switchBtnPosDutation); m_chapterList.transform.DOLocalMoveX(0, 0.3f).OnComplete(() => { btn_chapter.enabled = true; btn_OAD.enabled = true; }); StartCoroutine(CutIn(2)); await UniTask.Delay(300); break; case ChapterType.OAD: ChapterHelper.SetActive(m_OADList.gameObject, true); m_chapterList.transform.DOLocalMoveX(-1242, 0.3f); ZjbBtn_canvasGroup.DOFade(1, switchBtnPosDutation); (ZjbBtn_canvasGroup.transform as RectTransform).DOAnchorPosY(diamondEndPosY, switchBtnPosDutation); diamondBtn_canvasGroup.DOFade(0, switchBtnPosDutation); (diamondBtn_canvasGroup.transform as RectTransform).DOAnchorPosY(diamondStartPosY, switchBtnPosDutation); m_OADList.transform.DOLocalMoveX(0, 0.3f).OnComplete(() => { btn_chapter.enabled = true; btn_OAD.enabled = true; Mask.gameObject.SetActive(false); }); await UniTask.Delay(300); m_chapterList.Clear(); break; } }
//显示鼓掌 void ShowPaPaPa_Image() { ChapterHelper.SetActive(papapa_image.gameObject, true, async() => { ChapterHelper.SetActive(platform_image.gameObject, false); papapa_text1.text = ChapterTool.GetChapterFunctionString(10000542); papapa_text2.text = ChapterTool.GetChapterFunctionString(10000542); papapa_text1.transform.GetComponent <CanvasGroup>().DOFade(1, 0.4f); papapa_text1.transform.DOLocalMove(new Vector3(-14, 1016, 0), 0.4f); papapa_text2.transform.GetComponent <CanvasGroup>().DOFade(1, 0.2f); papapa_text2.transform.DOLocalMove(new Vector3(560, -1100, 0), 0.2f); await UniTask.Delay(500); OpenClickBtn(true); }); }
//显示路人讲话 async void ShowPasserby_Image() { var data = ChapterTool.GetChapterData(10000005); string dialogue = ChapterTool.GetDialogueString(data); particle.Clear(); particle.Pause();//暂停特效 ChapterHelper.SetActive(passerby_image.gameObject, true, () => { ChapterHelper.SetActive(lecture_image.gameObject, false); passerbyDialgoue.Play(dialogue); }); await UniTask.Delay(800); OpenClickBtn(true); }
//显示最后一幕 async void ShowEndScene() { //隐藏之前的所有图 ChapterHelper.SetActive(carMoveBG.gameObject, false); ChapterHelper.SetActive(hugGrandpa_image.gameObject, false); ChapterHelper.SetActive(endScene.gameObject, true); var parfab = await ABManager.GetAssetAsync <GameObject>("openDoor"); var go = GameObject.Instantiate(parfab); go.transform.parent = _oneScene; anim = go.transform.Find("Camera/kaimen").GetComponent <Animator>(); //显示最后一幕时 请求保存 if (isFirst) {//新手引导初次阅读 ChapterModuleManager._Instance.RequestPassChapter(); end_btn.onClick.RemoveAllListeners(); end_btn.onClick.AddListener(() => { end_btn.enabled = false; GoToManor(); }); } else { ChapterModuleManager._Instance.ClickEndChapterBtn(end_btn, null, async() => { anim.SetBool("openDoor", true); await UniTask.Delay(1500); endScene.GetComponent <CanvasGroup>().DOFade(0, 3f); await UniTask.Delay(3500); }, 5500); } //首次通关序章 if (isFirst) { end_btn.transform.Find("Text").GetComponent <Text>().text = StaticData.GetMultilingual(120224);//去庄园 } else { end_btn.transform.Find("Text").GetComponent <Text>().text = ChapterTool.GetChapterFunctionString(10000000);//下一章 } }
//显示女主讲话 void ShowLecture_Image(int index) { switch (index) { case 1: //生成特效 var ParticleParfab = ABManager.GetAsset <GameObject>(ParticleName); GameObject parParfab = GameObject.Instantiate(ParticleParfab); particle = parParfab.GetComponent <ParticleSystem>(); ChapterHelper.SetParent(parParfab, UIRoot.instance.GetUIRootCanvas().transform); (parParfab.transform as RectTransform).anchoredPosition = Vector2.zero; particle.Play(); ChapterHelper.SetActive(lecture_image.gameObject, true, () => { ChapterHelper.SetActive(appearOnTheStage0_image.gameObject, false); }); dialogueBox.SetStartDialogueId(10000004); dialogueBox.Initial(() => { dialogueBox.Close(); //OpenClickBtn(true); ClickBtn(); }); dialogueBox.Show(); break; case 2: particle.Play(); //开启特效 ChapterHelper.SetActive(lecture_image.gameObject, true, () => { ChapterHelper.SetActive(passerby_image.gameObject, false); }); dialogueBox.SetStartDialogueId(10000006); dialogueBox.Initial(() => { dialogueBox.Close(); //OpenClickBtn(true); ClickBtn(); }); dialogueBox.Show(); break; } }
//显示主持人 void ShowCompere_Image(int index) { switch (index) { case 1: ChapterHelper.SetActive(compere_image.gameObject, true, async() => { ChapterHelper.SetActive(papapa_image.gameObject, false); await UniTask.Delay(100); (compereHand_image.transform as RectTransform).DOAnchorPos(Resethand1Pos, 0.3f); compereHand_image.transform.DORotate(Resethand1Rotation, 0.3f); (compereHand2_image.transform as RectTransform).DOAnchorPos(Resethand2Pos, 0.3f); compereHand2_image.transform.DORotate(Resethand2Rotation, 0.3f); }); dialogueBox.SetStartDialogueId(10000003); dialogueBox.Initial(() => { dialogueBox.Close(); //OpenClickBtn(true); ClickBtn(); }); dialogueBox.Show(); break; case 2: particle.Clear(); particle.Pause(); //暂停特效 ChapterHelper.SetActive(compere_image.gameObject, true, () => { ChapterHelper.SetActive(lecture_image.gameObject, false); }); dialogueBox.SetStartDialogueId(10000007); dialogueBox.Initial(() => { dialogueBox.Close(); //OpenClickBtn(true); ClickBtn(); }); dialogueBox.Show(); break; } }
public void StepCut(int index) { if (index > 6) { return; } switch (index) { case 0: //取消等待男主说话 cancellationToken.Cancel(); ChapterHelper.SetActive(nvDialogue.gameObject, false); ShowCarMoveBGAnswer(); break; case 1: ShowHugGrandpa_image(); break; } }
//显示合照 async void ShwoGroupPhoto_Image() { ChapterHelper.SetActive(groupPhoto_image.gameObject, true, () => { ChapterHelper.SetActive(compere_image.gameObject, false); PhotoMaskTop.DOAnchorPosY(0, 0.8f); PhotoMaskBottom.DOAnchorPosY(0, 0.8f); }); //生成点击引导 var clickGuidance = await ClickGuidance(photo_btn.transform); (clickGuidance.transform as RectTransform).anchoredPosition = Vector2.zero; //拍照 photo_btn.onClick.RemoveAllListeners(); photo_btn.onClick.AddListener(() => { GameObject.Destroy(clickGuidance); ClickPhotoBtn(); }); //清除之前生成的所有 if (particle != null) { GameObject.Destroy(particle.gameObject); } }
//车内回答 async void ShowCarMoveBGAnswer() {//男主回答 ChapterHelper.SetActive(nanDialogue.gameObject, true); //带头像男主说话 name_nan.text = ChapterTool.GetChapterFunctionString(10000002); var data = ChapterTool.GetChapterData(10000029); dialogueText_nan.word = ChapterTool.GetDialogueString(data); dialogueText_nan.Play(); dialogueText_nan.Speed6Play(); await UniTask.Delay(2700); ChapterHelper.SetActive(nanDialogue.gameObject, false); WallLoop wallLoop = carMoveBG.transform.Find("MoveBg").GetComponent <WallLoop>(); wallLoop.callback = () => { ClickBtn(); }; }
//显示车外live2D动画 async UniTask ShowCarMoveBG(CancellationTokenSource cancellationTokenSource) { ChapterHelper.SetActive(carMoveBG.gameObject, true); await UniTask.Delay(500); //带头像女主说话 var data = ChapterTool.GetChapterData(10000028); ChapterHelper.SetActive(nvDialogue.gameObject, true); name_nv.text = StaticData.playerInfoData.userInfo.Name; dialogueText_nv.word = ChapterTool.GetDialogueString(data); dialogueText_nv.Play(); dialogueText_nv.Speed6Play(); dialogueText_nv.onAnimationEnd.AddListener(() => { OpenClickBtn(true); }); await UniTask.Delay(TimeSpan.FromMilliseconds(2700), cancellationToken : cancellationTokenSource.Token); OpenClickBtn(false);//玩家如果没点击先关闭按钮 ChapterHelper.SetActive(nvDialogue.gameObject, false); _clickIndex++; ShowCarMoveBGAnswer(); }
//手机震动 async void GetPhoneCall() { bubble_image.transform.localScale = Vector3.zero; bubble_image.transform.DOScale(1f, 0.3f); //生成点击引导 var clickGuidance = await ClickGuidance(bubble_image.transform, 0.5f); (clickGuidance.transform as RectTransform).anchoredPosition = (phone.transform as RectTransform).anchoredPosition; ChapterHelper.SetActive(bubble_image.gameObject, true); phone.onClick.RemoveAllListeners(); phone.onClick.AddListener(async() => { if (walk_RewImage != null) { GameObject.Destroy(walk_RewImage.gameObject); } GameObject.Destroy(clickGuidance.gameObject); await OpenChatView(); ChapterHelper.Fade(walk_RewImage, 0, 0.8f, 1); }); }
//拍照效果 async void TakePhotos() { ChapterHelper.SetActive(white.gameObject, true); await UniTask.Delay(durationTime); ChapterHelper.SetActive(white.gameObject, false); PhotoMaskTop.anchoredPosition = new Vector2(0, ChapterBase.photoMask1InitY); PhotoMaskBottom.anchoredPosition = new Vector2(0, ChapterBase.photoMask2InitY); groupPhoto_image.transform.DOScale(ChapterBase.lessenScale, ChapterBase.lessenScaleDurationTime); groupPhoto_image.rectTransform.DOAnchorPosY(ChapterBase.photoY, ChapterBase.lessenScaleDurationTime).OnComplete(() => { ChapterHelper.Fade(save_btn.transform.parent.gameObject, 1, 1f, 0); //按钮条件注册 save_btn.onClick.RemoveAllListeners(); save_btn.onClick.AddListener(SavePhotoBtn); savebtn_text.text = "保存图片";//TODO next_btn.onClick.RemoveAllListeners(); next_btn.onClick.AddListener(ClickNext); nextbtn_text.text = "下一步";//TODO }); }
//显示登台 async void ShowAppearOnTheStage_Image(int index) { switch (index) { case 1: ChapterHelper.SetActive(appearOnTheStage0_image.gameObject, true, () => { ChapterHelper.SetActive(compere_image.gameObject, false); ChapterHelper.SetActive(appearOnTheStage1_image.gameObject, true); }); break; case 2: MoveY(appearOnTheStage2_image.rectTransform, -1170); break; case 3: MoveY(appearOnTheStage3_image.rectTransform, -1539); break; case 4: if (ScreenRatio < 1.8f) { appearOnTheStage0_image.rectTransform.DOAnchorPosY(475f, 0.6f); } if (ScreenRatio > 1.8f) { appearOnTheStage0_image.rectTransform.DOAnchorPosY(175f, 0.6f); } MoveY(appearOnTheStage4_image.rectTransform, -2154); break; } await UniTask.Delay(800); OpenClickBtn(true); }
//信息更新 void ShwoData() { if (_currShowData == null) { return; } bool isShowRedDot; //红点逻辑 if (ChapterHelper.localOADList.Contains(_currShowData.ExtraStoryId)) { isShowRedDot = false; } else { isShowRedDot = true; } //上新逻辑 UpNow = PlayerPrefs.GetInt($"OAD+{_currShowData.ExtraStoryId}"); if (UpNow == 2) {//上新逻辑关闭 New_image.gameObject.SetActive(false); } else { New_image.gameObject.SetActive(true); } try { ItemPicture_image.sprite = ABManager.GetAsset <Sprite>(_currShowData.picture); } catch { Debug.LogError("番外icon没找到"); } bool isUnlock = UIChapterComponent.Instance.OADID.Contains(_currShowData.ExtraStoryId.ToString()) ? true : false;//在列表里则解锁 if (!isUnlock) { if (_currShowData.Price.Count != 0)//紫星币 { type = OADItemType.Money; } else//AD { type = OADItemType.AD; if (UIChapterComponent.Instance.ADList != null)//没看过广告的用户 请求回返空 { foreach (var item in UIChapterComponent.Instance.ADList) { if (item.GoodsId != _currShowData.ExtraStoryId) { continue; } ADcount = item.AdvNum; } } } } else { type = OADItemType.Unlock; } string OADName = ChapterHelper.GetOADDialogueString(ChapterHelper.GetOADData(_currShowData.ExtraStoryName)); this.OADName_Text.text = OADName; if (type == OADItemType.AD && this.ADcount >= _currShowData.AdvertisingNum) { type = OADItemType.Unlock; } switch (type) { case OADItemType.AD: ChapterHelper.SetActive(unlock.gameObject, true); ChapterHelper.SetActive(start.gameObject, false); //unlockIcon.sprite = ABManager.GetAsset<Sprite>("");//广告Icon图片 watchCount.text = $"{this.ADcount}/{_currShowData.AdvertisingNum}"; NoUnlockRedDot.gameObject.SetActive(isShowRedDot); break; case OADItemType.Money: ChapterHelper.SetActive(unlock.gameObject, true); ChapterHelper.SetActive(start.gameObject, false); unlockIcon.sprite = ABManager.GetAsset <Sprite>("dj_zjb"); //紫星币Icon图片 watchCount.text = _currShowData.Price[0].Count.ToString(); //颜色变化(不足为红够了变白) NoUnlockRedDot.gameObject.SetActive(isShowRedDot); break; case OADItemType.Unlock: ChapterHelper.SetActive(start.gameObject, true); ChapterHelper.SetActive(unlock.gameObject, false); UnlockRedDot.gameObject.SetActive(isShowRedDot); startWatch_text.text = StaticData.GetMultilingual(120292); //国际化获取 break; } }
//章节番外切换按钮 void OnClickOADBtn(ChapterType chapterType) { btn_chapter.enabled = false; btn_OAD.enabled = false; GetUserInfo();//刷新数据 if (chapterType == ChapterType.Main) { if (line == ChapterType.Main) { btn_chapter.enabled = true; btn_OAD.enabled = true; return; } line = ChapterType.Main; btn_chapter.image.sprite = selectBtn_sprite; btn_OAD.image.sprite = noSelectBtn_sprite; chapterText.color = selectText_Color; OADText.color = noselectText_Color; chapterShadow.effectColor = new Color(1f, 1f, 1f); chapterShadow.effectDistance = new Vector2(1, -2); OADShadow.effectColor = new Color(63f / 255f, 119f / 255f, 188f / 255f); OADShadow.effectDistance = new Vector2(2, 1); chapterShadow.enabled = true; chapterOutLine.enabled = false; OADShadow.enabled = false; OADOutLine.enabled = true; SwitchAnima(line); //动画后再清除 //m_chapterList.Clear(); //m_chapterList.Init(_mainMaxCount, _passChapterID, _unlockMaxChapterID); } else {//番外开启 if (!StaticData.IsOpenFunction(10021)) { btn_chapter.enabled = true; btn_OAD.enabled = true; return; } if (line == ChapterType.OAD) { btn_chapter.enabled = true; btn_OAD.enabled = true; return; } line = ChapterType.OAD; btn_chapter.image.sprite = noSelectBtn_sprite; btn_OAD.image.sprite = selectBtn_sprite; chapterText.color = noselectText_Color; OADText.color = selectText_Color; OADShadow.effectColor = new Color(1f, 1f, 1f); OADShadow.effectDistance = new Vector2(1, -2); chapterShadow.effectColor = new Color(63f / 255f, 119f / 255f, 188f / 255f); chapterShadow.effectDistance = new Vector2(2, 1); chapterShadow.enabled = false; chapterOutLine.enabled = true; OADShadow.enabled = true; OADOutLine.enabled = false; SwitchAnima(line); ChapterHelper.SetActive(m_OADList.gameObject, true); //m_OADList.Clear(); //m_OADList.Init(_OADMaxCount, OADid); } //用户信息 //StaticData.playerInfoData.userInfo //Debug.Log("点击了切换章节按钮"); ////通关请求 //CSClearance cSClearance = new CSClearance() { SectionId = 1001 }; //ProtocalManager.Instance().SendCSClearance(cSClearance, (SCEmptyClearance cs) => {}, (ErrorInfo e) => { Debug.Log("章节请求失败"); }); }