UI和场景跳转步骤区分设置
This commit is contained in:
parent
f7e683d099
commit
49dc7f114f
@ -22,8 +22,7 @@ namespace ZXK.LouDiXvMuNiu
|
|||||||
private List<Transform> _curModuleToolArray = new List<Transform>();//当前步骤需要用到的所有工具
|
private List<Transform> _curModuleToolArray = new List<Transform>();//当前步骤需要用到的所有工具
|
||||||
|
|
||||||
//动画交互
|
//动画交互
|
||||||
private NiuData _curStep;//为了方便做对比,临时保存当前步骤
|
public NiuData _CurSceneStep;//为了方便做对比,临时保存当前步骤
|
||||||
private NiuData _previousStep;//为了方便做对比,临时保存当前步骤
|
|
||||||
private Dictionary<bool, List<GameObject>> _curStepUseBTDic;//当前步骤要点击的所有物体,true表示正确选项,false表示错误选项
|
private Dictionary<bool, List<GameObject>> _curStepUseBTDic;//当前步骤要点击的所有物体,true表示正确选项,false表示错误选项
|
||||||
private List<OutLineRender> _currentHighlights = new List<OutLineRender>();
|
private List<OutLineRender> _currentHighlights = new List<OutLineRender>();
|
||||||
private PlayableDirector _curTimeLine = null;
|
private PlayableDirector _curTimeLine = null;
|
||||||
@ -67,7 +66,6 @@ namespace ZXK.LouDiXvMuNiu
|
|||||||
_curTimeLine = GetComponent<PlayableDirector>();
|
_curTimeLine = GetComponent<PlayableDirector>();
|
||||||
_curTimeLineCtrl = GetComponent<TimelineDirectorCtrl>();
|
_curTimeLineCtrl = GetComponent<TimelineDirectorCtrl>();
|
||||||
|
|
||||||
GameManager.Instance._DataNiuHandler.CurNiuHandler.OnValueChanged += OnValueChanged;
|
|
||||||
GameManager.Instance._EventManager.AddListener<ClickToolArgs>(OnClickToolEvent);
|
GameManager.Instance._EventManager.AddListener<ClickToolArgs>(OnClickToolEvent);
|
||||||
}
|
}
|
||||||
private void Start()
|
private void Start()
|
||||||
@ -87,84 +85,26 @@ namespace ZXK.LouDiXvMuNiu
|
|||||||
{
|
{
|
||||||
if (tempData[i].TaskType == ConstCtrl.TASKTYPE_ShowGeo)
|
if (tempData[i].TaskType == ConstCtrl.TASKTYPE_ShowGeo)
|
||||||
{
|
{
|
||||||
_curStep = tempData[i];
|
_CurSceneStep = tempData[i];
|
||||||
_previousStep = tempData[i];
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
_curStep = tempData[0];
|
_CurSceneStep = tempData[0];
|
||||||
_previousStep = tempData[0];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
GameManager.Instance._DataNiuHandler.CurNiuHandler.Value = _curStep;
|
GameManager.Instance._DataNiuHandler.CurNiuHandler.Value = _CurSceneStep;
|
||||||
}
|
|
||||||
/// <summary>
|
|
||||||
/// 步骤放生变化调用
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="obj"></param>
|
|
||||||
private void OnValueChanged(NiuData obj)
|
|
||||||
{
|
|
||||||
if (obj.TaskType.Equals(ConstCtrl.TASKTYPE_Anim))
|
|
||||||
{
|
|
||||||
if (_curStep != obj)
|
|
||||||
{//区分是否是点击UI,直接进行的步骤跳转
|
|
||||||
JumpTimeline(obj, true);
|
|
||||||
}
|
|
||||||
if (GameManager.Instance._StateContext.GetState().Name.Equals("TrainState"))
|
|
||||||
{
|
|
||||||
List<GameObject> tempToolArray = GetNeedClickTools(obj);
|
|
||||||
OnlyShowBTGeo(tempToolArray.ToArray());
|
|
||||||
}
|
|
||||||
else if (GameManager.Instance._StateContext.GetState().Name.Equals("ExamState"))
|
|
||||||
{
|
|
||||||
if (string.IsNullOrEmpty(obj.Question))
|
|
||||||
{
|
|
||||||
GetNeedClickTools(obj);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
AnswerSystemInStep(obj);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (obj.TaskType.Equals(ConstCtrl.TASKTYPE_ChoiceVideoQuestion))
|
|
||||||
{
|
|
||||||
if (_curStep != obj)
|
|
||||||
{//区分是否是点击UI,直接进行的步骤跳转
|
|
||||||
JumpTimeline(obj, true);
|
|
||||||
}
|
|
||||||
bool isExam = GameManager.Instance._StateContext.GetState().Name.Equals("ExamState");
|
|
||||||
string[] answers = obj.OptionsAll.Split("|");
|
|
||||||
if (answers.Length % 2 != 0)
|
|
||||||
{
|
|
||||||
PopUpMng.ThreeVideoChoicePanel(obj.Question, answers, answers, GetOptionIndex(obj.OptionRight), isExam, () =>
|
|
||||||
{
|
|
||||||
GameManager.Instance._DataNiuHandler.CurNiuHandler.Value = GameManager.Instance._DataNiuHandler.GetNextStep();
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (obj.TaskType.Equals(ConstCtrl.TASKTYPE_ChoicePicQuestion))
|
|
||||||
{
|
|
||||||
if (_curStep != obj)
|
|
||||||
{//区分是否是点击UI,直接进行的步骤跳转
|
|
||||||
JumpTimeline(obj, true);
|
|
||||||
}
|
|
||||||
ChoiceImgInStep(obj.ModelBT.Split("|"));
|
|
||||||
}
|
|
||||||
_previousStep = obj;
|
|
||||||
_curStep = obj;
|
|
||||||
}
|
}
|
||||||
private void Update()
|
private void Update()
|
||||||
{
|
{
|
||||||
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
|
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
|
||||||
RaycastHit rayHit;
|
RaycastHit rayHit;
|
||||||
|
|
||||||
if (PopUpMng._TriAble&& _curStep!=null)
|
if (PopUpMng._TriAble&& _CurSceneStep != null)
|
||||||
{
|
{
|
||||||
if (_curStep.TaskType.Equals(ConstCtrl.TASKTYPE_ShowGeo))
|
if (_CurSceneStep.TaskType.Equals(ConstCtrl.TASKTYPE_ShowGeo))
|
||||||
{//工具物品展示
|
{//工具物品展示
|
||||||
UI_Manage.Instance.HidePanel("TooltipBoxTip");
|
UI_Manage.Instance.HidePanel("TooltipBoxTip");
|
||||||
if (Physics.Raycast(ray, out rayHit, Mathf.Infinity))
|
if (Physics.Raycast(ray, out rayHit, Mathf.Infinity))
|
||||||
@ -177,7 +117,7 @@ namespace ZXK.LouDiXvMuNiu
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (_curStep.TaskType.Equals(ConstCtrl.TASKTYPE_Anim))
|
else if (_CurSceneStep.TaskType.Equals(ConstCtrl.TASKTYPE_Anim))
|
||||||
{//timeline动画
|
{//timeline动画
|
||||||
if (Input.GetMouseButtonUp(0) && Physics.Raycast(ray, out rayHit, Mathf.Infinity))
|
if (Input.GetMouseButtonUp(0) && Physics.Raycast(ray, out rayHit, Mathf.Infinity))
|
||||||
{
|
{
|
||||||
@ -187,47 +127,24 @@ namespace ZXK.LouDiXvMuNiu
|
|||||||
});
|
});
|
||||||
ClickToolCallInExamState(rayHit.transform.gameObject, () =>
|
ClickToolCallInExamState(rayHit.transform.gameObject, () =>
|
||||||
{
|
{
|
||||||
JumpTimeline(GameManager.Instance._DataNiuHandler.GetNextStep(_curStep.QNextNum), false);
|
JumpTimeline(GameManager.Instance._DataNiuHandler.GetNextStep(_CurSceneStep.QNextNum), false);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (_curStep.TaskType.Equals(ConstCtrl.TASKTYPE_Video))
|
else if (_CurSceneStep.TaskType.Equals(ConstCtrl.TASKTYPE_Video))
|
||||||
{
|
{
|
||||||
if (Input.GetMouseButtonUp(0) && Physics.Raycast(ray, out rayHit, Mathf.Infinity))
|
if (Input.GetMouseButtonUp(0) && Physics.Raycast(ray, out rayHit, Mathf.Infinity))
|
||||||
{
|
{
|
||||||
ClickToolCallInTrainState(rayHit.transform.gameObject, () =>
|
ClickToolCallInTrainState(rayHit.transform.gameObject, () =>
|
||||||
{
|
{
|
||||||
GameObject videoGeo = UI_Manage.Instance.ShowPanel("VideoShowPanel", Type.GetType("ZXK.LouDiXvMuNiu.VideoShowPanel"), UIGroup.Tip);
|
GameObject videoGeo = UI_Manage.Instance.ShowPanel("VideoShowPanel", Type.GetType("ZXK.LouDiXvMuNiu.VideoShowPanel"), UIGroup.Tip);
|
||||||
videoGeo.GetComponent<VideoShowPanel>().PlayVideoClip(_curStep.VideoPath, () =>
|
videoGeo.GetComponent<VideoShowPanel>().PlayVideoClip(_CurSceneStep.VideoPath, () =>
|
||||||
{
|
{
|
||||||
GameManager.Instance._DataNiuHandler.CurNiuHandler.Value = GameManager.Instance._DataNiuHandler.GetNextStep();
|
GameManager.Instance._DataNiuHandler.CurNiuHandler.Value = GameManager.Instance._DataNiuHandler.GetNextStep();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
if (GameManager.Instance._StateContext.GetState().Name.Equals("ExamState"))
|
if (GameManager.Instance._StateContext.GetState().Name.Equals("ExamState"))
|
||||||
{
|
{
|
||||||
//bool addScoreTemp = true;
|
|
||||||
//if (_curStepUseBTs.Contains(rayHit.transform.name))
|
|
||||||
//{
|
|
||||||
// _curStepUseBTs.Remove(rayHit.transform.name);
|
|
||||||
//}
|
|
||||||
//else
|
|
||||||
//{
|
|
||||||
// PopUpMng.PopChoseErrowToast(_curStep.ExamEvvr, 2.0f);
|
|
||||||
// addScoreTemp = false;
|
|
||||||
//}
|
|
||||||
//if (_curStepUseBTs.Count == 0)
|
|
||||||
//{
|
|
||||||
// if (addScoreTemp)
|
|
||||||
// {
|
|
||||||
// GameManager.Instance._DataNiuHandler.AddScore(_curStep.ModuleName, _curStep.ThreeTaskName, _curStep.Score);
|
|
||||||
// }
|
|
||||||
// for (int i = 0; i < _curSignArray.Count; i++)
|
|
||||||
// {
|
|
||||||
// _curSignArray[i].SetActive(false);
|
|
||||||
// }
|
|
||||||
// _curSignArray.Clear();
|
|
||||||
// JumpTimeline(GameManager.Instance._DataNiuHandler.GetNextStep(_curStep.QNextNum), false);
|
|
||||||
//}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -238,13 +155,11 @@ namespace ZXK.LouDiXvMuNiu
|
|||||||
private void OnDestroy()
|
private void OnDestroy()
|
||||||
{
|
{
|
||||||
_curTimeLineCtrl?.Stop();
|
_curTimeLineCtrl?.Stop();
|
||||||
GameManager.Instance._DataNiuHandler.CurNiuHandler.OnValueChanged -= OnValueChanged;
|
|
||||||
GameManager.Instance._EventManager.RemoveListener<ClickToolArgs>(OnClickToolEvent);
|
GameManager.Instance._EventManager.RemoveListener<ClickToolArgs>(OnClickToolEvent);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnClickToolEvent(ClickToolArgs e)
|
private void OnClickToolEvent(ClickToolArgs e)
|
||||||
{
|
{
|
||||||
WDebug.Log("点击到:" + e.SelectTool);
|
|
||||||
if (GameManager.Instance._StateContext.GetState().Name.Equals("ExamState"))
|
if (GameManager.Instance._StateContext.GetState().Name.Equals("ExamState"))
|
||||||
{
|
{
|
||||||
GameObject toolGeo = UtilitiesMng.GetGeoByName(new Transform[1] { _toolContain }, e.SelectTool, true);
|
GameObject toolGeo = UtilitiesMng.GetGeoByName(new Transform[1] { _toolContain }, e.SelectTool, true);
|
||||||
@ -508,7 +423,7 @@ namespace ZXK.LouDiXvMuNiu
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
PopUpMng.PopChoseErrowToast(_curStep.ExamEvvr, 2.0f);
|
PopUpMng.PopChoseErrowToast(_CurSceneStep.ExamEvvr, 2.0f);
|
||||||
addScoreTemp = false;
|
addScoreTemp = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -525,7 +440,7 @@ namespace ZXK.LouDiXvMuNiu
|
|||||||
|
|
||||||
if (addScoreTemp)
|
if (addScoreTemp)
|
||||||
{
|
{
|
||||||
GameManager.Instance._DataNiuHandler.AddScore(_curStep.ModuleName, _curStep.ThreeTaskName, _curStep.Score);
|
GameManager.Instance._DataNiuHandler.AddScore(_CurSceneStep.ModuleName, _CurSceneStep.ThreeTaskName, _CurSceneStep.Score);
|
||||||
}
|
}
|
||||||
|
|
||||||
clickFinishCall?.Invoke();
|
clickFinishCall?.Invoke();
|
||||||
@ -541,7 +456,7 @@ namespace ZXK.LouDiXvMuNiu
|
|||||||
string[] answers = step.OptionsAll.Split("|");
|
string[] answers = step.OptionsAll.Split("|");
|
||||||
PopUpMng.PopAnswerQuestions(step.Question, answers, GetOptionIndex(step.OptionRight), () =>
|
PopUpMng.PopAnswerQuestions(step.Question, answers, GetOptionIndex(step.OptionRight), () =>
|
||||||
{
|
{
|
||||||
JumpTimeline(GameManager.Instance._DataNiuHandler.GetNextStep(_curStep.QNextNum), false);
|
JumpTimeline(GameManager.Instance._DataNiuHandler.GetNextStep(_CurSceneStep.QNextNum), false);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -564,7 +479,7 @@ namespace ZXK.LouDiXvMuNiu
|
|||||||
}
|
}
|
||||||
else if (GameManager.Instance._StateContext.GetState().Name.Equals("ExamState"))
|
else if (GameManager.Instance._StateContext.GetState().Name.Equals("ExamState"))
|
||||||
{
|
{
|
||||||
GameManager.Instance._DataNiuHandler.CurNiuHandler.Value = GameManager.Instance._DataNiuHandler.GetNextStep(_curStep.QNextNum);
|
GameManager.Instance._DataNiuHandler.CurNiuHandler.Value = GameManager.Instance._DataNiuHandler.GetNextStep(_CurSceneStep.QNextNum);
|
||||||
}
|
}
|
||||||
_IsPlayAnm = true;
|
_IsPlayAnm = true;
|
||||||
});
|
});
|
||||||
@ -588,7 +503,7 @@ namespace ZXK.LouDiXvMuNiu
|
|||||||
}
|
}
|
||||||
else if (GameManager.Instance._StateContext.GetState().Name.Equals("ExamState"))
|
else if (GameManager.Instance._StateContext.GetState().Name.Equals("ExamState"))
|
||||||
{
|
{
|
||||||
JumpTimeline(GameManager.Instance._DataNiuHandler.GetNextStep(_curStep.QNextNum), false);
|
JumpTimeline(GameManager.Instance._DataNiuHandler.GetNextStep(_CurSceneStep.QNextNum), false);
|
||||||
}
|
}
|
||||||
|
|
||||||
float durTime = step.TimelineLength / 60.0f;
|
float durTime = step.TimelineLength / 60.0f;
|
||||||
@ -599,7 +514,7 @@ namespace ZXK.LouDiXvMuNiu
|
|||||||
/// 目前只有胚胎选择最后一步需要
|
/// 目前只有胚胎选择最后一步需要
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="temp"></param>
|
/// <param name="temp"></param>
|
||||||
private void ChoiceImgInStep(string[] temp)
|
public void ChoiceImgInStep(string[] temp)
|
||||||
{
|
{
|
||||||
if (GameManager.Instance._StateContext.GetState().Name.Equals("TrainState"))
|
if (GameManager.Instance._StateContext.GetState().Name.Equals("TrainState"))
|
||||||
{
|
{
|
||||||
@ -659,40 +574,40 @@ namespace ZXK.LouDiXvMuNiu
|
|||||||
/// <param name="partData"></param>
|
/// <param name="partData"></param>
|
||||||
public void JumpTimeline(NiuData partData,bool jumpStepAble)
|
public void JumpTimeline(NiuData partData,bool jumpStepAble)
|
||||||
{
|
{
|
||||||
if (_curStep == null) _curStep = partData;
|
if (_CurSceneStep == null) _CurSceneStep = partData;
|
||||||
if (_curStep.id == partData.id)
|
if (_CurSceneStep.id == partData.id)
|
||||||
{//相同步骤不跳转
|
{//相同步骤不跳转
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{//跳转不同步骤,可能是点击上下步产生的,每次点击上下步对应的跳转是上下步里面的第一个小步骤
|
{//跳转不同步骤,可能是点击上下步产生的,每次点击上下步对应的跳转是上下步里面的第一个小步骤
|
||||||
_IsPlayAnm = true;
|
_IsPlayAnm = true;
|
||||||
if (_curStep.id > partData.id)
|
if (_CurSceneStep.id > partData.id)
|
||||||
{//逆序跳转,倒播
|
{//逆序跳转,倒播
|
||||||
if (!jumpStepAble)
|
if (!jumpStepAble)
|
||||||
{
|
{
|
||||||
_curTimeLineCtrl.ContinuePlayBackwardByPausePoint(GetPlayTime(partData), () =>
|
_curTimeLineCtrl.ContinuePlayBackwardByPausePoint(GetPlayTime(partData, jumpStepAble), () =>
|
||||||
{
|
{
|
||||||
NegativeJumpStep(partData);
|
NegativeJumpStep(partData);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
_curTimeLineCtrl.StopInTime(GetPlayTime(partData));
|
_curTimeLineCtrl.StopInTime(GetPlayTime(partData, jumpStepAble));
|
||||||
NegativeJumpStep(partData);
|
NegativeJumpStep(partData);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (_curStep.id < partData.id)
|
else if (_CurSceneStep.id < partData.id)
|
||||||
{//顺序跳转,正播
|
{//顺序跳转,正播
|
||||||
if (!jumpStepAble)
|
if (!jumpStepAble)
|
||||||
{
|
{
|
||||||
_curTimeLineCtrl.ContinuePlayForwardByPausePoint(GetPlayTime(partData), () =>
|
_curTimeLineCtrl.ContinuePlayForwardByPausePoint(GetPlayTime(partData, jumpStepAble), () =>
|
||||||
{
|
{
|
||||||
PositiveJumpStep(partData);
|
PositiveJumpStep(partData);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
_curTimeLineCtrl.StopInTime(GetPlayTime(partData));
|
_curTimeLineCtrl.StopInTime(GetPlayTime(partData, jumpStepAble));
|
||||||
PositiveJumpStep(partData);
|
PositiveJumpStep(partData);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -705,7 +620,7 @@ namespace ZXK.LouDiXvMuNiu
|
|||||||
private void PositiveJumpStep(NiuData partData)
|
private void PositiveJumpStep(NiuData partData)
|
||||||
{
|
{
|
||||||
_IsPlayAnm = false;
|
_IsPlayAnm = false;
|
||||||
_curStep = partData;
|
_CurSceneStep = partData;
|
||||||
GameManager.Instance._DataNiuHandler.CurNiuHandler.Value = partData;
|
GameManager.Instance._DataNiuHandler.CurNiuHandler.Value = partData;
|
||||||
}
|
}
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -715,7 +630,7 @@ namespace ZXK.LouDiXvMuNiu
|
|||||||
private void NegativeJumpStep(NiuData partData)
|
private void NegativeJumpStep(NiuData partData)
|
||||||
{
|
{
|
||||||
_IsPlayAnm = false;
|
_IsPlayAnm = false;
|
||||||
_curStep = partData;
|
_CurSceneStep = partData;
|
||||||
GameManager.Instance._DataNiuHandler.CurNiuHandler.Value = partData;
|
GameManager.Instance._DataNiuHandler.CurNiuHandler.Value = partData;
|
||||||
}
|
}
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -723,33 +638,33 @@ namespace ZXK.LouDiXvMuNiu
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="step"></param>
|
/// <param name="step"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
private float GetPlayTime(NiuData step)
|
private float GetPlayTime(NiuData step, bool jumpStepAble)
|
||||||
{
|
{
|
||||||
int allFrame = 0;
|
int allFrame = 0;
|
||||||
List<NiuData> modelInfos = GameManager.Instance._DataNiuHandler.NiuStepTypeDic[GameManager.Instance._CurModelType];
|
List<NiuData> modelInfos = GameManager.Instance._DataNiuHandler.NiuStepTypeDic[GameManager.Instance._CurModelType];
|
||||||
|
|
||||||
string addAbleTaskName = null;
|
string addAbleTaskName = null;
|
||||||
for (int a = 0; a < modelInfos.Count; a++)
|
if (jumpStepAble)
|
||||||
{
|
{
|
||||||
if (step.id == modelInfos[a].id)
|
addAbleTaskName = step.TaskName;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
for (int a = 0; a < modelInfos.Count; a++)
|
||||||
{
|
{
|
||||||
//if(step.TaskName!= modelInfos[a - 1].TaskName)
|
if (step.id == modelInfos[a].id)
|
||||||
//{
|
|
||||||
// addAbleTaskName = modelInfos[a - 1].TaskName;
|
|
||||||
//}
|
|
||||||
//else
|
|
||||||
{
|
{
|
||||||
addAbleTaskName = step.TaskName;
|
if (step.TaskName != modelInfos[a - 1].TaskName)
|
||||||
|
{
|
||||||
|
addAbleTaskName = modelInfos[a - 1].TaskName;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
addAbleTaskName = step.TaskName;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//if (_curStep != null && step.TaskName != _curStep.TaskName)
|
|
||||||
//{
|
|
||||||
// addAbleTaskName = _curStep.TaskName;
|
|
||||||
//}
|
|
||||||
//else
|
|
||||||
//{
|
|
||||||
// addAbleTaskName = step.TaskName;
|
|
||||||
//}
|
|
||||||
for (int a = 0; a < modelInfos.Count; a++)
|
for (int a = 0; a < modelInfos.Count; a++)
|
||||||
{
|
{
|
||||||
if (modelInfos[a].TaskName.Equals(addAbleTaskName) && modelInfos[a].id < step.id)
|
if (modelInfos[a].TaskName.Equals(addAbleTaskName) && modelInfos[a].id < step.id)
|
||||||
@ -760,7 +675,7 @@ namespace ZXK.LouDiXvMuNiu
|
|||||||
return allFrame / 60.0f;
|
return allFrame / 60.0f;
|
||||||
}
|
}
|
||||||
|
|
||||||
private int GetOptionIndex(string OptionMsg)
|
public int GetOptionIndex(string OptionMsg)
|
||||||
{
|
{
|
||||||
switch (OptionMsg)
|
switch (OptionMsg)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -207,7 +207,7 @@ namespace ZXK.LouDiXvMuNiu
|
|||||||
{//前后任务名字不同
|
{//前后任务名字不同
|
||||||
NiuSceneMng._Instance.InitPlayAnmState(obj, GameManager.Instance._DataNiuHandler.CurNiuHandler.PreviousValue);
|
NiuSceneMng._Instance.InitPlayAnmState(obj, GameManager.Instance._DataNiuHandler.CurNiuHandler.PreviousValue);
|
||||||
}
|
}
|
||||||
else if(obj.ThreeTaskName != GameManager.Instance._DataNiuHandler.CurNiuHandler.PreviousValue.ThreeTaskName)
|
if(obj.ThreeTaskName != GameManager.Instance._DataNiuHandler.CurNiuHandler.PreviousValue.ThreeTaskName)
|
||||||
{//前后三级人物名字不同
|
{//前后三级人物名字不同
|
||||||
_defaultCameraTRTog.isOn = true;
|
_defaultCameraTRTog.isOn = true;
|
||||||
|
|
||||||
@ -289,6 +289,53 @@ namespace ZXK.LouDiXvMuNiu
|
|||||||
/// <param name="obj"></param>
|
/// <param name="obj"></param>
|
||||||
private void UpdateTaskType(NiuData obj)
|
private void UpdateTaskType(NiuData obj)
|
||||||
{
|
{
|
||||||
|
if (obj.TaskType.Equals(ConstCtrl.TASKTYPE_Anim))
|
||||||
|
{
|
||||||
|
if (NiuSceneMng._Instance._CurSceneStep != obj)
|
||||||
|
{//区分是否是点击UI,直接进行的步骤跳转
|
||||||
|
NiuSceneMng._Instance.JumpTimeline(obj, true);
|
||||||
|
}
|
||||||
|
if (GameManager.Instance._StateContext.GetState().Name.Equals("TrainState"))
|
||||||
|
{
|
||||||
|
List<GameObject> tempToolArray = NiuSceneMng._Instance.GetNeedClickTools(obj);
|
||||||
|
NiuSceneMng._Instance.OnlyShowBTGeo(tempToolArray.ToArray());
|
||||||
|
}
|
||||||
|
else if (GameManager.Instance._StateContext.GetState().Name.Equals("ExamState"))
|
||||||
|
{
|
||||||
|
if (string.IsNullOrEmpty(obj.Question))
|
||||||
|
{
|
||||||
|
NiuSceneMng._Instance.GetNeedClickTools(obj);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
NiuSceneMng._Instance.AnswerSystemInStep(obj);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (obj.TaskType.Equals(ConstCtrl.TASKTYPE_ChoiceVideoQuestion))
|
||||||
|
{
|
||||||
|
if (NiuSceneMng._Instance._CurSceneStep != obj)
|
||||||
|
{//区分是否是点击UI,直接进行的步骤跳转
|
||||||
|
NiuSceneMng._Instance.JumpTimeline(obj, true);
|
||||||
|
}
|
||||||
|
bool isExam = GameManager.Instance._StateContext.GetState().Name.Equals("ExamState");
|
||||||
|
string[] answers = obj.OptionsAll.Split("|");
|
||||||
|
if (answers.Length % 2 != 0)
|
||||||
|
{
|
||||||
|
PopUpMng.ThreeVideoChoicePanel(obj.Question, answers, answers, NiuSceneMng._Instance.GetOptionIndex(obj.OptionRight), isExam, () =>
|
||||||
|
{
|
||||||
|
GameManager.Instance._DataNiuHandler.CurNiuHandler.Value = GameManager.Instance._DataNiuHandler.GetNextStep();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (obj.TaskType.Equals(ConstCtrl.TASKTYPE_ChoicePicQuestion))
|
||||||
|
{
|
||||||
|
if (NiuSceneMng._Instance._CurSceneStep != obj)
|
||||||
|
{//区分是否是点击UI,直接进行的步骤跳转
|
||||||
|
NiuSceneMng._Instance.JumpTimeline(obj, true);
|
||||||
|
}
|
||||||
|
NiuSceneMng._Instance.ChoiceImgInStep(obj.ModelBT.Split("|"));
|
||||||
|
}
|
||||||
if (obj.TaskType.Equals(ConstCtrl.TASKTYPE_Video))
|
if (obj.TaskType.Equals(ConstCtrl.TASKTYPE_Video))
|
||||||
{
|
{
|
||||||
if (GameManager.Instance._StateContext.GetState().Name.Equals("TrainState"))
|
if (GameManager.Instance._StateContext.GetState().Name.Equals("TrainState"))
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user