public void showIndex(int index, float time = 0.3f) { // 设置当前选中的下标,并显示图标 mShowIndex = index; int count = mPropsList.Count; for (int i = 0; i < count; ++i) { mPropsList[i].setSelected(i == mShowIndex); } // 设置当前起始和目标值 mStartOffsetValue = mCurOffsetValue; mTargetOffsetValue = -mPropsList[mShowIndex].mControlValueOffset; // 默认将范围限定到0-1之间 MathUtility.clampValue(ref mStartOffsetValue, 0.0f, 1.0f, 1.0f); MathUtility.clampValue(ref mTargetOffsetValue, 0.0f, 1.0f, 1.0f); // 需要保证起始和目标之间不超过0.5,如果超过0.5则转换范围 if (Mathf.Abs(mStartOffsetValue - mTargetOffsetValue) > 0.5f) { MathUtility.clampValue(ref mStartOffsetValue, 0.5f, 1.5f, 1.0f); MathUtility.clampValue(ref mTargetOffsetValue, 0.5f, 1.5f, 1.0f); } // 利用辅助物体开始渐变 LayoutTools.SCALE_WINDOW_EX(mControlHelper, mControlHelper.getScale(), Vector2.one, time, onHelperScaling, null); }
public void showIndex(int index) { int trackCount = mTrackList.Count; for (int i = 0; i < trackCount; ++i) { mTrackList[i].setSelected(index == i); } // 选择上一个或者是从第0个切换到了最后一个 arrowAnim(index - mShowIndex == -1 || index - mShowIndex == mTrackList.Count - 1); // 设置当前选中的下标,并显示图标 mShowIndex = index; // 设置当前起始和目标值 mStartOffsetValue = mCurOffsetValue; mTargetOffsetValue = -mTrackList[mShowIndex].mControlValueOffset; // 默认将范围限定到0-1之间 MathUtility.clampValue(ref mStartOffsetValue, 0.0f, 1.0f, 1.0f); MathUtility.clampValue(ref mTargetOffsetValue, 0.0f, 1.0f, 1.0f); // 需要保证起始和目标之间不超过0.5,如果超过0.5则转换范围 if (Mathf.Abs(mStartOffsetValue - mTargetOffsetValue) > 0.5f) { MathUtility.clampValue(ref mStartOffsetValue, 0.5f, 1.5f, 1.0f); MathUtility.clampValue(ref mTargetOffsetValue, 0.5f, 1.5f, 1.0f); } // 利用辅助物体开始渐变 LayoutTools.SCALE_WINDOW_EX(mControlHelper, mControlHelper.getScale(), Vector2.one, 0.3f, onHelperScaling, null); }
public void hideSelection() { // 无法执行回调的原因是 物体还没被显示出来 就被切换流程 中断了 没有执行完大小的缩放的动作 所以没法达到执行回调的条件 没法正常的隐藏布局 和工具函数本身没关系 LayoutTools.SCALE_WINDOW_EX(mRole, mRole.getScale(), new Vector2(0.8f, 0.8f), 0.15f, onSelectionHide); }
public override void onShow(bool immediately, string param) { LayoutTools.SCALE_WINDOW_EX(mConfirmSelectionRoot, new Vector2(0.0f, 1.0f), new Vector2(1.0f, 1.0f), 0.5f, onDoneScalePanel); LayoutTools.ALPHA_WINDOW(mConfirmSelectionRoot, 0.0f, 1.0f, 0.5f); GameTools.PLAY_AUDIO_UI(mRoot, SOUND_DEFINE.SD_TIP_SHOW); }