|
@@ -20,6 +20,7 @@ namespace GFGGame
|
|
|
private GameObject _sceneObject;
|
|
|
private GameObject _animObject;
|
|
|
private EffectUI _effectUI1;
|
|
|
+ private EffectUI _effect;
|
|
|
private DressUpObj _dressUpObj;
|
|
|
private GameObject _dressUpSceneObj;
|
|
|
private GameObject _selfHeadImgObj;
|
|
@@ -70,6 +71,8 @@ namespace GFGGame
|
|
|
_isShowLetters = false;
|
|
|
EffectUIPool.Recycle(_effectUI1);
|
|
|
_effectUI1 = null;
|
|
|
+ EffectUIPool.Recycle(_effect);
|
|
|
+ _effect = null;
|
|
|
_onScreenEffectComplete = null;
|
|
|
_typingEffect = null;
|
|
|
if (_ui != null)
|
|
@@ -157,8 +160,12 @@ namespace GFGGame
|
|
|
{
|
|
|
skipable = true;
|
|
|
}
|
|
|
-
|
|
|
+ if (MainStoryDataManager.currentLevelCfgId == 100001001 && !InstanceZonesDataManager.CheckLevelPass(MainStoryDataManager.currentLevelCfgId))
|
|
|
+ {
|
|
|
+ skipable = false;
|
|
|
+ }
|
|
|
_ui.m_btnSkip.visible = skipable;
|
|
|
+
|
|
|
_ui.m_c1.selectedIndex = 0;
|
|
|
|
|
|
if (_storyStartID == MainStoryDataManager.priorId)
|
|
@@ -357,6 +364,7 @@ namespace GFGGame
|
|
|
_ui.m_dialogName.target.visible = false;
|
|
|
_ui.m_dialogHead.target.visible = false;
|
|
|
float delay = 0;
|
|
|
+ bool isWait = false;
|
|
|
//屏幕效果
|
|
|
if (_currentStepCfg != null)
|
|
|
{
|
|
@@ -367,11 +375,12 @@ namespace GFGGame
|
|
|
}
|
|
|
else if (_currentStepCfg.blankScreenDur > 0)
|
|
|
{
|
|
|
+ isWait = true;
|
|
|
delay = _currentStepCfg.blankScreenDur;
|
|
|
UpdatePic("0");
|
|
|
}
|
|
|
}
|
|
|
- if (delay > 0)
|
|
|
+ if (delay > 0 && !isWait)
|
|
|
{
|
|
|
//转换成秒
|
|
|
delay = delay / 1000f;
|
|
@@ -379,6 +388,22 @@ namespace GFGGame
|
|
|
Timers.inst.Add(delay, 1, OnScreenEffectComplete);
|
|
|
StoryDialogDataManager.Instance.dialogShowDelay = 0.6f;
|
|
|
}
|
|
|
+ else if (isWait)
|
|
|
+ {
|
|
|
+ if (_autoPlay)
|
|
|
+ {
|
|
|
+ //转换成秒
|
|
|
+ delay = delay / 1000f;
|
|
|
+ _onScreenEffectComplete = OnScreenEffectComplete;
|
|
|
+ Timers.inst.Add(delay, 1, OnScreenEffectComplete);
|
|
|
+ StoryDialogDataManager.Instance.dialogShowDelay = 0.6f;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ _onScreenEffectComplete = OnScreenEffectComplete;
|
|
|
+ StoryDialogDataManager.Instance.dialogShowDelay = 0.6f;
|
|
|
+ }
|
|
|
+ }
|
|
|
else
|
|
|
{
|
|
|
OnScreenEffectComplete();
|
|
@@ -414,7 +439,7 @@ namespace GFGGame
|
|
|
_currentStepCfg = storyDialogCfg;
|
|
|
UpdateMusic(storyDialogCfg.musicRes);
|
|
|
UpdateBg(storyDialogCfg.bgRes);
|
|
|
- UpdatePic(storyDialogCfg.picRes, storyDialogCfg.faceRes);
|
|
|
+ UpdatePic(storyDialogCfg.picRes, storyDialogCfg.faceRes, storyDialogCfg.emojiRes);
|
|
|
|
|
|
UpdateAnim(storyDialogCfg.aniRes);
|
|
|
UpdateRoleObj(storyDialogCfg.name);
|
|
@@ -792,7 +817,7 @@ namespace GFGGame
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- private void UpdatePic(string value, string faceValue = "")
|
|
|
+ private void UpdatePic(string value, string faceValue = "", string emojiValue = "")
|
|
|
{
|
|
|
if (IsTeaParty)
|
|
|
{
|
|
@@ -803,13 +828,23 @@ namespace GFGGame
|
|
|
{
|
|
|
SceneController.UpdateDialogPic(value, _sceneObject);
|
|
|
}
|
|
|
-
|
|
|
if (faceValue.Length > 0)
|
|
|
{
|
|
|
SceneController.InitPicFace(faceValue, _sceneObject);
|
|
|
}
|
|
|
+ if (emojiValue.Length > 0)
|
|
|
+ {
|
|
|
+ SceneController.UpdateDialogPic("0", _sceneObject);
|
|
|
+ UpdateLiveEmoji(emojiValue);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ private void UpdateLiveEmoji(string EmojiRes)
|
|
|
+ {
|
|
|
+ if (EmojiRes.Length > 0 && !IsTeaParty)
|
|
|
+ {
|
|
|
+ SceneController.UpdateEmojiAni(EmojiRes, ref _animObject);
|
|
|
+ }
|
|
|
}
|
|
|
-
|
|
|
private void UpdateAnim(string value)
|
|
|
{
|
|
|
if (value.Length > 0 && !IsTeaParty)
|
|
@@ -877,9 +912,23 @@ namespace GFGGame
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- private void PlayEffect(string[] infos)
|
|
|
+ private void PlayEffect(string[] value)
|
|
|
{
|
|
|
-
|
|
|
+ if (value.Length > 0)
|
|
|
+ {
|
|
|
+ if (value[0] == "0")
|
|
|
+ {
|
|
|
+ EffectUIPool.Recycle(_effect);
|
|
|
+ _effect = null;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ EffectUIPool.Recycle(_effect);
|
|
|
+ _effect = null;
|
|
|
+ _effect = EffectUIPool.CreateEffectUI(_ui.m_effect, "ui_gyp", value[0]);
|
|
|
+ _ui.m_effect.visible = true;
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
private void PlayShake(int[] shakeInfoArr)
|