|  | @@ -3,15 +3,33 @@ using UI.CreateRole;
 | 
	
		
			
				|  |  |  using System;
 | 
	
		
			
				|  |  |  using System.Text.RegularExpressions;
 | 
	
		
			
				|  |  |  using ET;
 | 
	
		
			
				|  |  | +using System.Collections.Generic;
 | 
	
		
			
				|  |  | +using UnityEngine;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  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 +48,59 @@ 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_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_XINF", EffectUIPool.CreateEffectUI(_ui.m_envelopeModel.m_envelope.m_XINFEffectHolder, "ui_CreateRoleUI/Before_Open", "FX_XINF"));
 | 
	
		
			
				|  |  | +                    _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:
 | 
	
		
			
				|  |  | +                    //_effectUIDic["FX_player"].GetObj().GetComponentInChildren<Animator>().SetTrigger("Close");
 | 
	
		
			
				|  |  | +                    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 +108,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 +140,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);
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  }
 |