|
@@ -3,15 +3,32 @@ using UI.CreateRole;
|
|
|
using System;
|
|
|
using System.Text.RegularExpressions;
|
|
|
using ET;
|
|
|
+using System.Collections.Generic;
|
|
|
|
|
|
namespace GFGGame
|
|
|
{
|
|
|
public class CreateRoleView : BaseWindow
|
|
|
{
|
|
|
+ public enum State
|
|
|
+ {
|
|
|
+ IN,
|
|
|
+ IDLE,
|
|
|
+ OPEN
|
|
|
+ }
|
|
|
+
|
|
|
private UI_CreateRoleUI _ui;
|
|
|
+ private Dictionary<string, EffectUI> _effectUIDic = new Dictionary<string, EffectUI>();
|
|
|
|
|
|
public override void Dispose()
|
|
|
{
|
|
|
+ // Clear Effect
|
|
|
+ foreach(var v in _effectUIDic)
|
|
|
+ {
|
|
|
+ EffectUIPool.Recycle(v.Value);
|
|
|
+ }
|
|
|
+
|
|
|
+ _effectUIDic.Clear();
|
|
|
+
|
|
|
if (_ui != null)
|
|
|
{
|
|
|
_ui.Dispose();
|
|
@@ -30,19 +47,58 @@ namespace GFGGame
|
|
|
this.isfullScreen = true;
|
|
|
this.clickBlankToClose = false;
|
|
|
this.modal = true;
|
|
|
- _ui.m_loaBg.url = ResPathUtil.GetBgImgPath("bg_yaoqinghan");
|
|
|
- _ui.m_btnSure.onClick.Add(OnClickBtnSure);
|
|
|
- _ui.m_btnDice.onClick.Add(() =>
|
|
|
+
|
|
|
+ _ui.m_envelopeModel.m_loaBg.url = ResPathUtil.GetBgImgPath("bg_yaoqinghan");
|
|
|
+ _ui.m_envelopeModel.m_btnSure.onClick.Add(OnClickBtnSure);
|
|
|
+ _ui.m_envelopeModel.m_btnDice.onClick.Add(() =>
|
|
|
{
|
|
|
RandomRoleName().Coroutine();
|
|
|
});
|
|
|
}
|
|
|
|
|
|
+ //private bool test = false;
|
|
|
+ private void ChangeAnimationState(State state)
|
|
|
+ {
|
|
|
+ switch (state)
|
|
|
+ {
|
|
|
+ case State.IN:
|
|
|
+ _effectUIDic.Add("FX_Flower", EffectUIPool.CreateEffectUI(_ui.m_envelopeModel.m_envelope.m_flowerEffectHolder, "ui_CreateRoleUI/Before_Open", "FX_Flower"));
|
|
|
+ _effectUIDic.Add("FX_XINF", EffectUIPool.CreateEffectUI(_ui.m_envelopeModel.m_envelope.m_XINFEffectHolder, "ui_CreateRoleUI/Before_Open", "FX_XINF"));
|
|
|
+ _effectUIDic.Add("FX_LiuSu", EffectUIPool.CreateEffectUI(_ui.m_envelopeModel.m_envelope.m_LiuSuEffectHolder, "ui_CreateRoleUI/Before_Open", "FX_LiuSu"));
|
|
|
+ _effectUIDic.Add("FX_taril", EffectUIPool.CreateEffectUI(_ui.m_envelopeModel.m_trailEffectHolder, "ui_CreateRoleUI/Before_Open", "FX_taril"));
|
|
|
+
|
|
|
+ _ui.m_envelopeModel.m_t_In.Play(() =>
|
|
|
+ {
|
|
|
+ ChangeAnimationState(State.IDLE);
|
|
|
+ });
|
|
|
+ break;
|
|
|
+ case State.IDLE:
|
|
|
+ _effectUIDic.Add("FX_player", EffectUIPool.CreateEffectUI(_ui.m_envelopeModel.m_envelope.m_playerClickTipEffectHolder, "ui_CreateRoleUI/Before_Open", "FX_player"));
|
|
|
+ _ui.m_envelopeModel.m_envelope.target.onClick.Add(OnClickBtnEnvelope);
|
|
|
+ _ui.m_envelopeModel.m_t_Idle.Play(-1, 0, null);
|
|
|
+ break;
|
|
|
+ case State.OPEN:
|
|
|
+ EffectUIPool.Recycle(_effectUIDic["FX_player"]);
|
|
|
+ _effectUIDic.Remove("FX_player");
|
|
|
+ _effectUIDic.Add("FX_ShanZi", EffectUIPool.CreateEffectUI(_ui.m_envelopeModel.m_ShanZiEffectHolder, "ui_CreateRoleUI/After_Open", "FX_ShanZi"));
|
|
|
+ _effectUIDic.Add("FX_Niao", EffectUIPool.CreateEffectUI(_ui.m_envelopeModel.m_NiaoEffectHolder, "ui_CreateRoleUI/After_Open", "FX_Niao"));
|
|
|
+ _ui.m_envelopeModel.m_envelope.target.touchable = false;
|
|
|
+ _ui.m_envelopeModel.m_t_Idle.Stop();
|
|
|
+ _ui.m_envelopeModel.m_t_Open.Play();
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
protected override void OnShown()
|
|
|
{
|
|
|
base.OnShown();
|
|
|
RandomRoleName().Coroutine();
|
|
|
LogServerHelper.SendNodeLog((int)LogNode.ShowCreateRole);
|
|
|
+
|
|
|
+ ChangeAnimationState(State.IN);
|
|
|
+
|
|
|
}
|
|
|
|
|
|
protected override void OnHide()
|
|
@@ -50,9 +106,10 @@ namespace GFGGame
|
|
|
base.OnHide();
|
|
|
}
|
|
|
|
|
|
+
|
|
|
private async void OnClickBtnSure()
|
|
|
{
|
|
|
- string roleName = _ui.m_inputName.text;
|
|
|
+ string roleName = _ui.m_envelopeModel.m_inputName.text;
|
|
|
if (string.IsNullOrEmpty(roleName))
|
|
|
{
|
|
|
PromptController.Instance.ShowFloatTextPrompt("˝ÇÉŤĂű˛ťÄÜÎŞżŐ");
|
|
@@ -81,11 +138,15 @@ namespace GFGGame
|
|
|
private async ETTask RandomRoleName()
|
|
|
{
|
|
|
string name = await LoginController.ReqRandomRoleName();
|
|
|
- if(_ui != null && _ui.m_inputName != null)
|
|
|
+ if (_ui != null && _ui.m_envelopeModel.m_inputName != null)
|
|
|
{
|
|
|
- _ui.m_inputName.text = name;
|
|
|
+ _ui.m_envelopeModel.m_inputName.text = name;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ private void OnClickBtnEnvelope()
|
|
|
+ {
|
|
|
+ ChangeAnimationState(State.OPEN);
|
|
|
+ }
|
|
|
}
|
|
|
}
|