private void Reset() { // SpellCardTime _isShowSpellCardTime = false; _scTimeObject.SetActive(false); // 符卡名称 TweenManager.GetInstance().RemoveTweenByGo(_scNameObject); _scNameObject.SetActive(false); // 隐藏符卡结算ui _isShowSpellCardInfo = false; _isShowingSCResult = false; _spellCardResultPanel.SetActive(false); if (_isShowImgExtend) { _imgExtendGo.SetActive(false); TweenManager.GetInstance().RemoveTweenByGo(_imgExtendGo); } _isShowImgExtend = false; _bossInfoSCLeft = 0; if (_isShowBossInfo) { _bossInfoGo.SetActive(false); _isShowBossInfo = false; } }
// Update is called once per frame void Update() { FPSController.GetInstance().SleepToNextFrame(); //if (_isFirst) //{ // _isFirst = false; // _lastFrameTime = TimeUtil.GetTimestamp(); //} //else //{ // long curFrameTime = TimeUtil.GetTimestamp(); // Logger.Log("FrameDuration = " + 1000f * (curFrameTime - _lastFrameTime) / 10000000); // _lastFrameTime = curFrameTime; //} _fsm.Update(); TimerManager.GetInstance().Update(); TweenManager.GetInstance().Update(); UIManager.GetInstance().Update(); SoundManager.GetInstance().Update(); // 销毁检测 if (Global.SysBusyValue < Consts.SysBusyValue) { ObjectsPool.GetInstance().CheckDestroyPoolObjects(); if (Global.SysBusyValue == 0) { ObjectsPool.GetInstance().DestroyProtoTypes(); } } }
/// <summary> /// 按下ESC键 /// </summary> private void OnEscHandler() { // 若当前是子选择界面,返回上一级 if (_state == StateConfirm) { _state = StatePause; TweenManager.GetInstance().RemoveTweenByGo(_curYesNoItem); _yesNoPanel.SetActive(false); SetCurSelectItem(_curSelectIndex); SoundManager.GetInstance().Play("se_selectcancel", Consts.DefaultUISEVolume, false, false); } // 若当前正在暂停界面,则直接返回游戏 else if (_state == StatePause) { if (_pauseState == ePauseViewState.PauseAfterGameClear) { return; } if (_pauseState == ePauseViewState.PauseAfterReplayFinished) { return; } if (_pauseState == ePauseViewState.PauseAfterGameOver) { return; } Hide(); CommandManager.GetInstance().RunCommand(CommandConsts.ContinueGame); SoundManager.GetInstance().Play("se_selectcancel", Consts.DefaultUISEVolume, false, false); } }
private void OnPlayerExtend() { if (_isShowImgExtend) { TweenManager.GetInstance().RemoveTweenByGo(_imgExtendGo); } else { _isShowImgExtend = true; _imgExtendGo.SetActive(true); _imgExtend.color = new Color(1, 1, 1, 0); } // 出现 TweenAlpha tween = TweenManager.GetInstance().Create <TweenAlpha>(); tween.SetParas(_imgExtendGo, 0, 10, ePlayMode.Once); tween.SetParas(1, InterpolationMode.Linear); TweenManager.GetInstance().AddTween(tween); // 渐隐 tween = TweenManager.GetInstance().Create <TweenAlpha>(); tween.SetParas(_imgExtendGo, 120, 20, ePlayMode.Once); tween.SetParas(0, InterpolationMode.Linear); tween.SetFinishCallBack(OnExtendFinish); TweenManager.GetInstance().AddTween(tween); SoundManager.GetInstance().Play("se_extend", Consts.DefaultUISEVolume, false, false); }
private void PlayCGAni(object[] datas) { _charCGGo.SetActive(true); _isPlayingCharCG = true; string path = (string)datas[0]; _charCGImg.sprite = Resources.Load <Sprite>(path); _charCGImg.SetNativeSize(); ILuaState luaState = (ILuaState)datas[1]; List <TweenBase> tweenList = ParseLuaTableToTweenList(luaState); int count = tweenList.Count; int maxTime = 0; TweenBase tween; for (int i = 0; i < count; i++) { tween = tweenList[i]; if (maxTime < tween.delay + tween.duration) { maxTime = tween.delay + tween.duration; } } TweenPos2D endTween = new TweenPos2D(); endTween.SetParas(_charCGGo, maxTime + 1, 0, ePlayMode.Once); endTween.SetFinishCallBack(OnPlayCGFinish); endTween.SetIgnoreTimeScale(false); TweenManager.GetInstance().AddTweens(_charCGGo, tweenList); }
public void TweenToPos(Vector2 pos, int duration) { TweenAnchoredPos tween = TweenManager.GetInstance().Create <TweenAnchoredPos>(); tween.SetParas(_itemGo, 0, duration, ePlayMode.Once); tween.SetParas(pos, InterpolationMode.EaseOutQuad); TweenManager.GetInstance().AddTween(tween); }
/// <summary> /// 设置主界面当前选中的选项 /// </summary> /// <param name="index"></param> private void SetSelectIndex(int index, bool playAni) { ReplayItem item; if (_selectIndex != -1) { item = _itemList[_selectIndex]; item.ShowDetails(false); } _selectIndex = index; if (!playAni) { float posY = 0; for (int i = 0; i < MaxInfoCount; i++) { item = _itemList[i]; item.SetAnchoredPos(new Vector2(0, posY)); if (i == _selectIndex) { _selectedImgTf.anchoredPosition = new Vector2(0, posY); item.ShowDetails(true); posY -= DetailsHeight; } else { posY -= InfoHeight; } } _viewState = eViewState.Wait; _stateTime = 0; } else { float posY = 0; for (int i = 0; i < MaxInfoCount; i++) { item = _itemList[i]; Vector2 endPos = new Vector2(0, posY); item.TweenToPos(endPos, TweenDuration); if (i == _selectIndex) { TweenAnchoredPos tween = TweenManager.GetInstance().Create <TweenAnchoredPos>(); tween.SetParas(_selectedImgTf.gameObject, 0, TweenDuration, ePlayMode.Once); tween.SetParas(endPos, InterpolationMode.EaseOutQuad); tween.SetFinishCallBack(SelItemTweenCallback); TweenManager.GetInstance().AddTween(tween); _viewState = eViewState.SelectNextAni; posY -= DetailsHeight; } else { posY -= InfoHeight; } } } }
/// <summary> /// 设置UI左上方BOSS信息 /// <para>scLeft 为0时表示最后一张符卡,不显示代表剩余数量的星星,依次类推</para> /// </summary> /// <param name="bossName"></param> /// <param name="scLeft"></param> private void OnShowBossInfo(string bossName, int scLeft) { GameObject go; Image img; TweenAlpha tween; if (!_isShowBossInfo) { // 整个面板设置为可见 _bossInfoGo.SetActive(true); // bossName Color textCol = _bossInfoNameText.color; textCol.a = 0; _bossInfoNameText.color = textCol; tween = TweenManager.GetInstance().Create <TweenAlpha>(); tween.SetParas(_bossInfoNameText.gameObject, 0, 30, ePlayMode.Once); tween.SetParas(1, InterpolationMode.Linear); TweenManager.GetInstance().AddTween(tween); } _bossInfoNameText.text = bossName; if (scLeft < 0) { scLeft = 0; } // scCount // 如果剩余符卡数比当前创建的星星数量多,则先创建 if (scLeft > _bossInfoStarTotalCount) { while (_bossInfoStarTotalCount < scLeft) { go = GameObject.Instantiate(_bossInfoStarProto, _bossInfoContainerTf, false); go.GetComponent <RectTransform>().anchoredPosition = new Vector2(_bossInfoStarTotalCount * BossInfoSCCountIntervalX, 0); _bossInfoStarList.Add(go.GetComponent <Image>()); _bossInfoStarTotalCount++; } } for (int i = 0; i < scLeft; i++) { img = _bossInfoStarList[i]; go = img.gameObject; go.SetActive(true); go.transform.localScale = Vector3.one; img.color = new Color(1, 1, 1, 0); tween = TweenManager.GetInstance().Create <TweenAlpha>(); tween.SetParas(go.gameObject, 0, 30, ePlayMode.Once); tween.SetParas(1, InterpolationMode.Linear); TweenManager.GetInstance().AddTween(tween); } for (int i = scLeft; i < _bossInfoStarTotalCount; i++) { _bossInfoStarList[i].gameObject.SetActive(false); } _bossInfoSCLeft = scLeft; _isShowBossInfo = true; }
public void Execute(int cmd, object data) { if (cmd == CommandConsts.PreloadComplete) { TweenAlpha tween = TweenManager.GetInstance().Create <TweenAlpha>(); tween.SetParas(_bgGo, 0, 20, ePlayMode.Once); tween.SetParas(1, 0, InterpolationMode.Linear); tween.SetFinishCallBack(TweenCallback); TweenManager.GetInstance().AddTween(tween); } }
/// <summary> /// 显示符卡名称 /// </summary> private void ShowSpellCardInfo(string scName) { _scNameText.text = scName; _scNameObject.SetActive(true); _scNameObject.transform.localPosition = new Vector2(192, -112); TweenPos2D tweenPos = TweenManager.GetInstance().Create <TweenPos2D>(); tweenPos.SetParas(_scNameObject, 60, 60, ePlayMode.Once); tweenPos.SetParas(new Vector2(192, -112), new Vector2(192, 224), InterpolationMode.Linear); tweenPos.SetIgnoreTimeScale(false); TweenManager.GetInstance().AddTween(tweenPos); _isShowSpellCardInfo = true; }
public override void Update() { if (_curFinishCommandCount >= _totalWaitCommandCount) { UIManager.GetInstance().UnregisterViewUpdate(this); // 缓动 TweenAlpha tween = TweenManager.GetInstance().Create <TweenAlpha>(); tween.SetParas(_bgGo, 0, 20, ePlayMode.Once); tween.SetParas(1, 0, InterpolationMode.Linear); tween.SetFinishCallBack(TweenCallback); TweenManager.GetInstance().AddTween(tween); } }
protected override void OnHide() { TweenManager.GetInstance().RemoveTweenByGo(_curSelectItem); ResetImgColor(_curSelectItem); _curSelectItem = null; if (_curYesNoItem != null) { TweenManager.GetInstance().RemoveTweenByGo(_curYesNoItem); ResetImgColor(_curYesNoItem); _curYesNoItem = null; } _availableList.Clear(); }
protected override void OnShow(object data = null) { _bgGo.GetComponent <Image>().color = new Color(0, 0, 0, 1); _loadingImg.color = new Color(1, 1, 1, 1); TweenAlpha tween = TweenManager.GetInstance().Create <TweenAlpha>(); tween.SetParas(_loadingImg.gameObject, 0, 60, ePlayMode.PingPong); tween.SetParas(1, 0, InterpolationMode.Linear); TweenManager.GetInstance().AddTween(tween); CommandManager.GetInstance().Register(CommandConsts.PreloadComplete, this); //UIManager.GetInstance().RegisterViewUpdate(this); }
/// <summary> /// 设置主界面当前选中的选项 /// </summary> /// <param name="index"></param> private void SetSelectIndex(int index) { if (_selectIndex != -1) { TitleItem item = _itemList[_selectIndex]; TweenManager.GetInstance().RemoveTweenByGo(item.img.gameObject); item.img.color = new Color(1, 1, 1, 1); } _selectIndex = index; if (_selectIndex != -1) { TitleItem item = _itemList[_selectIndex]; TweenColor tween = TweenManager.GetInstance().Create <TweenColor>(); tween.SetParas(item.img.gameObject, 0, 30, ePlayMode.PingPong); tween.SetParas(new Color(1, 1, 1, 1), new Color(0.5f, 0, 0, 1), InterpolationMode.Linear); TweenManager.GetInstance().AddTween(tween); } }
/// <summary> /// index取值为0或者1,代表yes or no /// </summary> /// <param name="index"></param> private void SetCurYesNoItem(int index) { if (_curYesNoItem != null) { // 移除当前选择的item的特效 TweenManager.GetInstance().RemoveTweenByGo(_curYesNoItem); ResetImgColor(_curYesNoItem); } // 切换 _curYesNoIndex = index; _curYesNoItem = _yesNoItems[index]; // 添加特效 TweenColor tween = TweenManager.GetInstance().Create <TweenColor>(); tween.SetParas(_curYesNoItem, 0, 60, ePlayMode.PingPong); tween.SetParas(new Color(1, 1, 1, 1), new Color(0.5f, 0, 0, 1), InterpolationMode.Linear); TweenManager.GetInstance().AddTween(tween); }
private void InitItemsOnShow() { _availableBit = 0; _availableBit |= 1 << 0; _availableBit |= 1 << 3; _availableBit |= 1 << 6; _availableIndexList = new List <int>(); for (int i = 0; i < _itemCount; i++) { if ((_availableBit & (1 << i)) != 0) { _availableIndexList.Add(i); } } TitleItem item; for (int i = 0; i < _itemCount; i++) { item = _itemList[i]; item.tf.anchoredPosition = item.start; // 起始状态 if ((_availableBit & (1 << i)) != 0) { item.img.sprite = ResourceManager.GetInstance().GetSprite("MainViewAtlas", _titleItemDataList[i].spName + "_1"); item.img.color = new Color(1, 1, 1, 1); } else { item.img.sprite = ResourceManager.GetInstance().GetSprite("MainViewAtlas", _titleItemDataList[i].spName + "_0"); item.img.color = new Color(0.25f, 0.25f, 0.25f, 1); } // 添加缓动动画 TweenAnchoredPos tween = TweenManager.GetInstance().Create <TweenAnchoredPos>(); tween.SetParas(item.go, 10 * i, 15, ePlayMode.Once); tween.SetParas(item.end, InterpolationMode.EaseInQuad); if (i == _itemCount - 1) { tween.SetFinishCallBack(OnAppearAniFinish); } TweenManager.GetInstance().AddTween(tween); } _isAniFinish = false; _state = eMainViewState.AppearAni; }
private void Quit() { TitleItem item; for (int i = 0; i < _itemCount; i++) { item = _itemList[i]; // 添加缓动动画 TweenAnchoredPos tween = TweenManager.GetInstance().Create <TweenAnchoredPos>(); tween.SetParas(item.go, 5 * i, 10, ePlayMode.Once); tween.SetParas(item.start, InterpolationMode.EaseOutQuad); if (i == _itemCount - 1) { tween.SetFinishCallBack(OnQuitAniFinish); } TweenManager.GetInstance().AddTween(tween); } _isAniFinish = false; _state = eMainViewState.QuitAni; }
/// <summary> /// 设置主界面当前选中的选项 /// </summary> /// <param name="index"></param> private void SetSelectIndex(int index, int appearDir) { _selectIndex = index; SelCharacterData data = _charDatas[_selectIndex]; _charCGImg.sprite = ResourceManager.GetInstance().GetSprite("SelCharView", data.spName); _charDesImg.sprite = ResourceManager.GetInstance().GetSprite("SelCharView", data.desSp); if (appearDir == Consts.DIR_NULL) { _viewState = eViewState.Wait; _stateTime = 0; } else { TweenRotation tween0 = TweenManager.GetInstance().Create <TweenRotation>(); tween0.SetParas(_charDesTf.gameObject, 0, 30, ePlayMode.Once); TweenAnchoredPos tween1 = TweenManager.GetInstance().Create <TweenAnchoredPos>(); tween1.SetParas(_charCGTf.gameObject, 0, 30, ePlayMode.Once); if (appearDir == Consts.DIR_LEFT) { _charDesTf.localEulerAngles = new Vector3(0, 270, 0); tween0.SetParas(new Vector3(0, 360, 0), InterpolationMode.Linear); _charCGTf.anchoredPosition = CGLeftAppearPos; } else { _charDesTf.localEulerAngles = new Vector3(0, 90, 0); tween0.SetParas(Vector3.zero, InterpolationMode.Linear); _charCGTf.anchoredPosition = CGRightAppearPos; } tween1.SetParas(CGDefaultPos, InterpolationMode.EaseInQuad); tween1.SetFinishCallBack(SelCharTweenCallback); TweenManager.GetInstance().AddTween(tween0); TweenManager.GetInstance().AddTween(tween1); _viewState = eViewState.ChangeCharAni; } }
private void Init() { #if Release Logger.Open(); #endif CommandManager.GetInstance().Init(); DataManager.GetInstance().Init(); ResourceManager.GetInstance().Init(); SoundManager.GetInstance().Init(GameObject.Find("Sound").transform); TimerManager.GetInstance().Init(); TweenManager.GetInstance().Init(); UIManager.GetInstance().Init(); _fsm = new GameStateMachine(); _fsm.Init(); _fsm.AddState((int)eGameState.Preload, new StatePreload()); _fsm.AddState((int)eGameState.STG, new StateSTGMain()); _fsm.AddState((int)eGameState.Title, new StateTitle()); _fsm.SetNextStateId((int)eGameState.Preload); //Application.targetFrameRate = 60; }
/// <summary> /// 界面打开的时候的界面动画 /// </summary> private void PlayShowAni() { int i; GameObject go; TweenPos3D tweenPos; TweenAlpha tweenAlpha; int dDelay = 60 / 5; int duration = dDelay; for (i = 0; i < 5; i++) { go = _itemGoList[i]; // 位置 tweenPos = TweenManager.GetInstance().Create <TweenPos3D>(); tweenPos.SetParas(go, dDelay * i, duration, ePlayMode.Once); tweenPos.SetParas(_imgMovementDatas[i * 2], _imgMovementDatas[i * 2 + 1], InterpolationMode.EaseInQuad); if (i == 4) { tweenPos.SetFinishCallBack(ShowAniFinishHandler); } // 透明度 tweenAlpha = TweenManager.GetInstance().Create <TweenAlpha>(); tweenAlpha.SetParas(go, 0, dDelay * i, ePlayMode.Once); // todo 暂时使用取巧的写法 float endAlpha = 1; if (i >= 1) { if ((_availableIndex & (1 << (i - 1))) == 0) { endAlpha = 0.3f; } } tweenAlpha.SetParas(0, endAlpha, InterpolationMode.None); TweenManager.GetInstance().AddTween(go, tweenPos); TweenManager.GetInstance().AddTween(go, tweenAlpha); } }
/// <summary> /// 根据栈顶的table创建对应的tween /// </summary> /// <param name="luaState"></param> /// <returns></returns> private TweenBase CreateTweenByTable(ILuaState luaState) { luaState.GetField(-1, "type"); // 缓动类型 eTweenType type = (eTweenType)luaState.ToInteger(-1); luaState.Pop(1); // delay and duration int delay, duration; luaState.GetField(-1, "delay"); delay = luaState.ToInteger(-1); luaState.GetField(-2, "duration"); duration = luaState.ToInteger(-1); luaState.Pop(2); switch (type) { case eTweenType.Alhpa: { TweenAlpha tween = TweenManager.GetInstance().Create <TweenAlpha>(); float begin, end; InterpolationMode mode; luaState.GetField(-1, "beginValue"); begin = (float)luaState.ToNumber(-1); luaState.GetField(-2, "endValue"); end = (float)luaState.ToNumber(-1); luaState.GetField(-3, "mode"); mode = (InterpolationMode)luaState.ToInteger(-1); luaState.Pop(3); tween.SetParas(_charCGGo, delay, duration, ePlayMode.Once); tween.SetParas(begin, end, mode); return(tween); } case eTweenType.Color: { TweenColor tween = TweenManager.GetInstance().Create <TweenColor>(); Color begin, end; InterpolationMode mode; luaState.GetField(-1, "beginValue"); begin = InterpreterManager.GetInstance().TranslateTableToColor(luaState); luaState.GetField(-2, "endValue"); end = InterpreterManager.GetInstance().TranslateTableToColor(luaState); luaState.GetField(-3, "mode"); mode = (InterpolationMode)luaState.ToInteger(-1); luaState.Pop(3); tween.SetParas(_charCGGo, delay, duration, ePlayMode.Once); tween.SetParas(begin, end, mode); return(tween); } case eTweenType.Pos2D: { TweenPos2D tween = TweenManager.GetInstance().Create <TweenPos2D>(); Vector2 begin, end; InterpolationMode mode; luaState.GetField(-1, "beginValue"); begin = InterpreterManager.GetInstance().TranslateTableToVector2(luaState); luaState.GetField(-2, "endValue"); end = InterpreterManager.GetInstance().TranslateTableToVector2(luaState); luaState.GetField(-3, "mode"); mode = (InterpolationMode)luaState.ToInteger(-1); luaState.Pop(3); tween.SetParas(_charCGGo, delay, duration, ePlayMode.Once); tween.SetParas(begin, end, mode); return(tween); } case eTweenType.Pos3D: { TweenPos3D tween = TweenManager.GetInstance().Create <TweenPos3D>(); Vector3 begin, end; InterpolationMode mode; luaState.GetField(-1, "beginValue"); begin = InterpreterManager.GetInstance().TranslateTableToVector3(luaState); luaState.GetField(-2, "endValue"); end = InterpreterManager.GetInstance().TranslateTableToVector3(luaState); luaState.GetField(-3, "mode"); mode = (InterpolationMode)luaState.ToInteger(-1); luaState.Pop(3); tween.SetParas(_charCGGo, delay, duration, ePlayMode.Once); tween.SetParas(begin, end, mode); return(tween); } case eTweenType.Rotation: { TweenRotation tween = TweenManager.GetInstance().Create <TweenRotation>(); Vector3 begin, end; InterpolationMode mode; luaState.GetField(-1, "beginValue"); begin = InterpreterManager.GetInstance().TranslateTableToVector3(luaState); luaState.GetField(-2, "endValue"); end = InterpreterManager.GetInstance().TranslateTableToVector3(luaState); luaState.GetField(-3, "mode"); mode = (InterpolationMode)luaState.ToInteger(-1); luaState.Pop(3); tween.SetParas(_charCGGo, delay, duration, ePlayMode.Once); tween.SetParas(begin, end, mode); return(tween); } case eTweenType.Scale: { TweenScale tween = TweenManager.GetInstance().Create <TweenScale>(); Vector3 begin, end; InterpolationMode mode; luaState.GetField(-1, "beginValue"); begin = InterpreterManager.GetInstance().TranslateTableToVector3(luaState); luaState.GetField(-2, "endValue"); end = InterpreterManager.GetInstance().TranslateTableToVector3(luaState); luaState.GetField(-3, "mode"); mode = (InterpolationMode)luaState.ToInteger(-1); luaState.Pop(3); tween.SetParas(_charCGGo, delay, duration, ePlayMode.Once); tween.SetParas(begin, end, mode); return(tween); } } Logger.LogError("Create Tween by table fail! eTweenType not match!"); return(null); }
protected override void OnHide() { TweenManager.GetInstance().RemoveTweenByGo(_loadingImg.gameObject); base.OnHide(); }
/// <summary> /// 按下确认键 /// </summary> private void OnConfirmHandler() { if (_state == StatePause) { if (_curSelectIndex == IndexReturnToGame) { Hide(); if (_pauseState == ePauseViewState.PauseAfterGameOver) { CommandManager.GetInstance().RunCommand(CommandConsts.ContinueGameAfterGameOver); } else { CommandManager.GetInstance().RunCommand(CommandConsts.ContinueGame); } SoundManager.GetInstance().Play("se_selectok", Consts.DefaultUISEVolume, false, false); } else if (_curSelectIndex == IndexBackToTitle) { _state = StateConfirm; _yesNoPanel.SetActive(true); TweenManager.GetInstance().RemoveTweenByGo(_curSelectItem); SetCurYesNoItem(IndexNo); SoundManager.GetInstance().Play("se_selectok", Consts.DefaultUISEVolume, false, false); } else if (_curSelectIndex == IndexSaveReplay) { _state = StateConfirm; _yesNoPanel.SetActive(true); TweenManager.GetInstance().RemoveTweenByGo(_curSelectItem); SetCurYesNoItem(IndexNo); SoundManager.GetInstance().Play("se_selectok", Consts.DefaultUISEVolume, false, false); } else if (_curSelectIndex == IndexRetry) { _state = StateConfirm; _yesNoPanel.SetActive(true); TweenManager.GetInstance().RemoveTweenByGo(_curSelectItem); SetCurYesNoItem(IndexNo); SoundManager.GetInstance().Play("se_selectok", Consts.DefaultUISEVolume, false, false); } } else if (_state == StateConfirm) { // 返回上一级界面、即返回暂停界面 if (_curYesNoIndex == IndexNo) { _state = StatePause; TweenManager.GetInstance().RemoveTweenByGo(_curYesNoItem); _yesNoPanel.SetActive(false); SetCurSelectItem(_curSelectIndex); SoundManager.GetInstance().Play("se_selectcancel", Consts.DefaultUISEVolume, false, false); } else if (_curYesNoIndex == IndexYes) { if (_curSelectIndex == IndexBackToTitle) { OnBackToTitle(); } else if (_curSelectIndex == IndexSaveReplay) { OnSaveReplay(); } else if (_curSelectIndex == IndexRetry) { OnRetry(); } SoundManager.GetInstance().Play("se_selectok", Consts.DefaultUISEVolume, false, false); } } }
/// <summary> /// 符卡结束回调 /// <para>bool isSpellCard 是否为符卡(非符or符卡)</para> /// <para>bool isFinishSpellCard 是否成功击破符卡</para> /// <para>bool getBonus 是否获得符卡bonus<para> /// <para>int timePassed 经过的时间</para> /// <para>int realTimePassed 经过的时间</para> /// </summary> /// <param name="datas"></param> private void OnSpellCardFinish(object[] datas) { // 隐藏符卡时间 _isShowSpellCardTime = false; _scTimeObject.SetActive(false); if (_isShowSpellCardInfo) { // 隐藏符卡名称 _scNameObject.SetActive(false); TweenManager.GetInstance().RemoveTweenByGo(_scNameObject); } // 如果是符卡,则显示符卡通过信息 bool isSpellCard = (bool)datas[0]; if (isSpellCard == true) { _spellCardResultPanel.SetActive(true); _isFinishSC = (bool)datas[1]; if (_isFinishSC) { // 显示符卡击破时间 _finishTimePanel.SetActive(true); int timePassed = (int)datas[3]; UpdateShowTime(timePassed, _finishTimeDatas); // 判断是否获得bonus bool getBonus = (bool)datas[2]; if (getBonus) { _getBonusGo.SetActive(true); _bonusFailGo.SetActive(false); SoundManager.GetInstance().Play("se_scbonus", Consts.DefaultUISEVolume, false, false); } else { _getBonusGo.SetActive(false); _bonusFailGo.SetActive(true); } } else { _finishTimePanel.SetActive(false); _getBonusGo.SetActive(false); _bonusFailGo.SetActive(true); SoundManager.GetInstance().Play("se_scfault", Consts.DefaultUISEVolume, false, false); } // 显示实际时间 int realTimePassed = (int)datas[4]; UpdateShowTime(realTimePassed, _realTimeDatas); // 设置符卡结果面板动画参数 _resultState = 0; _resultTime = 0; for (int i = 0; i < 10; i++) { _realTimeDatas[i].sr.color = new Color(1, 1, 1, 0); } _realTimeText.color = new Color(1, 1, 1, 0); if (_isFinishSC) { for (int i = 0; i < 10; i++) { _finishTimeDatas[i].sr.color = new Color(1, 1, 1, 0); } _finishTimeText.color = new Color(1, 1, 1, 0); } _getBonusGo.transform.localScale = new Vector3(100, 100, 1); _bonusFailGo.transform.localScale = new Vector3(100, 100, 1); _isShowingSCResult = true; // 更新BossInfo if (_isShowBossInfo) { if (_bossInfoSCLeft > 0) { _bossInfoSCLeft--; GameObject starGo = _bossInfoStarList[_bossInfoSCLeft].gameObject; TweenAlpha tween0 = TweenManager.GetInstance().Create <TweenAlpha>(); tween0.SetParas(starGo, 0, 30, ePlayMode.Once); tween0.SetParas(0, InterpolationMode.Linear); TweenManager.GetInstance().AddTween(tween0); TweenScale tween1 = TweenManager.GetInstance().Create <TweenScale>(); tween1.SetParas(starGo, 0, 30, ePlayMode.Once); tween1.SetParas(new Vector3(2, 2, 1), InterpolationMode.EaseOutQuad); TweenManager.GetInstance().AddTween(tween1); } else { _isShowBossInfo = false; _bossInfoGo.SetActive(false); } } } else { _spellCardResultPanel.SetActive(false); } }