public void Update() { if (mTaskCameraPlaying) { if (mTaskCameraAnimation != null && !mTaskCameraAnimation.IsPlaying(mTaskCameraAnimationName)) { if (talkList[curIndex].effectIDTail > 0) { ///设置 SpriteScenePreground效果的//// TweenGroupConfig tweenGroupConfig = Globals.Instance.MDataTableManager.GetConfig <TweenGroupConfig>(); if (tweenGroupConfig.IsPregroundGroup("SpriteScenePreground", talkList[curIndex].effectIDTail)) { GameObject priorGameObj = Globals.Instance.MSceneManager.mTaskCamera.transform.Find("SpriteScenePreground").gameObject; if (priorGameObj != null) { NGUITools.SetActive(priorGameObj, true); } } TweenGroup tweenGroup = textureBackgroundScene.GetComponent <TweenGroup>(); if (tweenGroup == null) { tweenGroup = textureBackgroundScene.gameObject.AddComponent <TweenGroup>(); } tweenGroup.setTweenGroupID(talkList[curIndex].effectIDTail); tweenGroup.playTweenAnimation(); tweenGroup.TweenFinishedEvents += OnTweenGroupFinishendEvent; } else { PressedButton(null); } mTaskCameraPlaying = false; } } // if (mSpeakering ) // { // // mSpeakerTime -= Time.deltaTime; // if (mSpeakerTime < 0.0f) // { // Animator animator = mCharacterCustomizeCurrent.getCharacterAnimator(); // if (animator.layerCount > 2) // { // animator.SetInteger("index",0); // } // mSpeakering = false; // } // } return; }
private void PressedButton(GameObject obj) { // tzz added // the talk list will be null if used in Teach scene // check TeachFirstEnterGame.cs for detail if (mTypewriterEffect == null) { return; } if (mTypewriterEffect.IsTypewriterIng()) { mTypewriterEffect.FinishTypewriter(); return; } if (mMustPlayEffect) { if (FinishedTipSprite.gameObject.active) { if (talkList[curIndex].effectIDTail > 0) { ///设置 SpriteScenePreground效果的//// TweenGroupConfig tweenGroupConfig = Globals.Instance.MDataTableManager.GetConfig <TweenGroupConfig>(); if (tweenGroupConfig.IsPregroundGroup("SpriteScenePreground", talkList[curIndex].effectIDTail)) { GameObject priorGameObj = Globals.Instance.MSceneManager.mTaskCamera.transform.Find("SpriteScenePreground").gameObject; if (priorGameObj != null) { NGUITools.SetActive(priorGameObj, true); } } TweenGroup tweenGroup = textureBackgroundScene.GetComponent <TweenGroup>(); if (tweenGroup == null) { tweenGroup = textureBackgroundScene.gameObject.AddComponent <TweenGroup>(); } tweenGroup.setTweenGroupID(talkList[curIndex].effectIDTail); tweenGroup.playTweenAnimation(); tweenGroup.TweenFinishedEvents += OnTweenGroupFinishendEvent; NGUITools.SetActive(TaskDialogGameObject, false); } } return; } if (talkList == null || talkList.Count == 0 || curIndex >= talkList.Count || mAniPlayIng /*|| CurTask == null*/) { if (mForTZZDelegate != null) { mForTZZDelegate(); } return; } //对话结束 if (curIndex == talkList.Count - 1) { if (CurTask == null) { // DestroyThisGUI(); if (mTalkCallBackDelegate != null) { mTalkCallBackDelegate(); mTalkCallBackDelegate = null; } return; } int nCurTaskID = CurTask.Task_ID; if (!mClentTask) { if (!ProcessorTaskBefoeFinished(nCurTaskID)) { SendTaskMessage(); } } // DestroyThisGUI(); if (mTalkCallBackDelegate != null) { mTalkCallBackDelegate(); mTalkCallBackDelegate = null; } if (GameStatusManager.Instance.MGameState == GameState.GAME_STATE_COPY) { GameStatusManager.Instance.MCurrentGameStatus.Resume(); } //TalkAniOut(); return; } else { if (talkList[curIndex].talkTpye == (int)TALKTYE.TALK4) { NGUITools.SetActive(TaskDialogGameObject, false); if (talkList[curIndex].effectIDTail > 0) { ///设置 SpriteScenePreground效果的//// TweenGroupConfig tweenGroupConfig = Globals.Instance.MDataTableManager.GetConfig <TweenGroupConfig>(); if (tweenGroupConfig.IsPregroundGroup("SpriteScenePreground", talkList[curIndex].effectIDTail)) { GameObject priorGameObj = Globals.Instance.MSceneManager.mTaskCamera.transform.Find("SpriteScenePreground").gameObject; if (priorGameObj != null) { NGUITools.SetActive(priorGameObj, true); } } TweenGroup tweenGroup = textureBackgroundScene.GetComponent <TweenGroup>(); if (tweenGroup == null) { tweenGroup = textureBackgroundScene.gameObject.AddComponent <TweenGroup>(); } tweenGroup.setTweenGroupID(talkList[curIndex].effectIDTail); tweenGroup.playTweenAnimation(); tweenGroup.TweenFinishedEvents += OnCGTweenGroupFinishendEvent; mMustPlayEffect = true; curIndex++; return; } } curIndex++; } SetText(talkList[curIndex]); }
public void playTweenAnimation() { TweenGroupConfig tweenGroupConfig = Globals.Instance.MDataTableManager.GetConfig <TweenGroupConfig>(); TweenGroupConfig.TweenGroupObject tweenGpObj; tweenGroupConfig.GetItemElement(TweenGroupID, out tweenGpObj); mTweenGroupObject = tweenGpObj; for (int i = 0; i < tweenGpObj.TweenCellInfoList.Count; i++) { TweenGroupConfig.TweenCellInfo cellInfo = tweenGpObj.TweenCellInfoList[i]; if (cellInfo.TweenName == "TweenPosition") { GameObject tweenObj; if (cellInfo.TweenGameObject != "") { tweenObj = GameObject.Find(cellInfo.TweenGameObject); } else { tweenObj = gameObject; } if (tweenObj == null) { continue; } if (cellInfo.TweenValueType == (int)TweenValueType.VECTOR3) { Vector3 toPosition = StrParser.ParseVec3(cellInfo.TweenValueTo); toPosition += gameObject.transform.localPosition; TweenPosition tweenPosition = TweenPosition.Begin(tweenObj, cellInfo.TweenDuration, toPosition); if (cellInfo.StartTime > 0) { tweenPosition.delay = cellInfo.StartTime; } EventDelegate.Add(tweenPosition.onFinished, onCellTweenFinished); mTweenCellCount++; } } else if (cellInfo.TweenName == "TweenAlpha") { GameObject tweenObj; if (cellInfo.TweenGameObject != "") { tweenObj = GameObject.Find(cellInfo.TweenGameObject); } else { tweenObj = gameObject; } if (cellInfo.TweenValueType == (int)TweenValueType.FLOAT) { float toValue = StrParser.ParseFloat(cellInfo.TweenValueTo, 0); TweenAlpha tweenAlpha = TweenAlpha.Begin(tweenObj, cellInfo.TweenDuration, toValue); tweenAlpha.from = StrParser.ParseFloat(cellInfo.TweenValueFrom, 0); if (cellInfo.StartTime > 0) { tweenAlpha.delay = cellInfo.StartTime; } EventDelegate.Add(tweenAlpha.onFinished, onCellTweenFinished); mTweenCellCount++; } } else if (cellInfo.TweenName == "Shake") { GameObject tweenObj; if (cellInfo.TweenGameObject != "") { tweenObj = GameObject.Find(cellInfo.TweenGameObject); } else { tweenObj = gameObject; } iTween.ShakePosition(tweenObj, new Vector3(20, 20, 0), 1, delegate(){ onCellTweenFinished(); }); mTweenCellCount++; } } }