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; } } } }
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; } }