From a9888da251d3ce142dc98c6e9ab519ef37007250 Mon Sep 17 00:00:00 2001
From: client_Wu Xijin <364452445@qq.com>
Date: 星期四, 11 四月 2019 17:00:54 +0800
Subject: [PATCH] 6481 【前端】【2.0】创角修改
---
System/Login/CreateRoleWin.cs | 249 +++++++++++++++++++++----------------------------
1 files changed, 108 insertions(+), 141 deletions(-)
diff --git a/System/Login/CreateRoleWin.cs b/System/Login/CreateRoleWin.cs
index 2d7216f..567bb51 100644
--- a/System/Login/CreateRoleWin.cs
+++ b/System/Login/CreateRoleWin.cs
@@ -3,38 +3,34 @@
// [ Date ]: Saturday, September 02, 2017
//--------------------------------------------------------
-using System;
using System.Collections;
-using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
-
-using System.Text;
-using System.Text.RegularExpressions;
+using UnityEngine.Events;
namespace Snxxz.UI
{
public class CreateRoleWin : Window
{
- [SerializeField] Button qhBtn;
- [SerializeField] Image qhImg;
- [SerializeField] Button dsBtn;
- [SerializeField] Image dsImg;
- [SerializeField] Button jsBtn;
- [SerializeField] Image jsImg;
- [SerializeField] Button createBtn;
- [SerializeField] Button randomBtn;
- [SerializeField] Button backBtn;
- [SerializeField] InputField userNameInput;
- [SerializeField] Image m_DescImg;
- private int userJob = 0;
- CreateRoleHeroShow m_CreateRoleShow;
+ [SerializeField] SelectRoleButton m_JobSelect1;
+ [SerializeField] SelectRoleButton m_JobSelect2;
- LoginModel m_Model;
- LoginModel model { get { return m_Model ?? (m_Model = ModelCenter.Instance.GetModel<LoginModel>()); } }
+ [SerializeField] Button m_Create;
+ [SerializeField] Button m_RandomName;
+ [SerializeField] Button m_Back;
+
+ [SerializeField] InputField m_NameInput;
+ [SerializeField] Image m_Description;
+
+ [SerializeField] PositionTween m_LeftPostionTween;
+ [SerializeField] PositionTween m_RightPositionTween;
+ [SerializeField] UIAlphaTween m_AlphaTween;
+
+ LoginModel model { get { return ModelCenter.Instance.GetModel<LoginModel>(); } }
string m_MarkName = string.Empty;
+
#region Built-in
protected override void BindController()
{
@@ -42,17 +38,16 @@
protected override void AddListeners()
{
- qhBtn.onClick.AddListener(QhBtn);
- dsBtn.onClick.AddListener(DsBtn);
- jsBtn.onClick.AddListener(JsBtn);
+ m_JobSelect1.SetListener(SelectJob1);
+ m_JobSelect2.SetListener(SelectJob2);
- createBtn.onClick.AddListener(CreateBtn);
- randomBtn.onClick.AddListener(() =>
+ m_Back.SetListener(BackBtn);
+ m_Create.SetListener(CreateRole);
+ m_RandomName.SetListener(() =>
{
- ChangeUserName(true);
+ var job = CreateRoleManager.Instance.selectedJob.value;
+ ChangeUserName(job, true);
});
- backBtn.onClick.AddListener(BackBtn);
-
}
private void BackBtn()
@@ -62,25 +57,13 @@
protected override void OnPreOpen()
{
- DTC0309_tagPlayerLoginInfo.RoleChange += RoleChage;
+ DTC0309_tagPlayerLoginInfo.RoleChange += OnCreateRoleSuccess;
model.onCreateRole = true;
}
protected override void OnAfterOpen()
{
- userJob = 1;
- int _rand = UnityEngine.Random.Range(0, 100);
- for (int i = 0; i < GeneralDefine.RandomJobs.Count; i++)
- {
- var _value = GeneralDefine.RandomJobs[i];
- if (_value != 0 && _rand < _value)
- {
- userJob = i + 1;
- break;
- }
- }
- ChangeUserName(true);
- RoleShow(0.2f);
+
}
protected override void OnPreClose()
@@ -89,105 +72,94 @@
protected override void OnAfterClose()
{
- DTC0309_tagPlayerLoginInfo.RoleChange -= RoleChage;
+ DTC0309_tagPlayerLoginInfo.RoleChange -= OnCreateRoleSuccess;
model.onCreateRole = false;
- RemoveRoleModel();
}
+
+ protected override void OnActived()
+ {
+ base.OnActived();
+ m_LeftPostionTween.Play();
+ m_RightPositionTween.Play();
+ m_AlphaTween.Play();
+
+ ChangeUserName(CreateRoleManager.Instance.selectedJob.value, true);
+ DisplayDynamicInfo(true);
+ }
+
+ protected override void LateUpdate()
+ {
+ base.LateUpdate();
+ DisplayDynamicInfo(false);
+ }
+
#endregion
- private void JsBtn()
+ private void DisplayDynamicInfo(bool force)
{
- if (userJob == 3)
+ if (force || CreateRoleManager.Instance.selectedJob.dirty)
{
- ChangeUserName(true);
+ var job = CreateRoleManager.Instance.selectedJob.Fetch();
+
+ m_JobSelect1.SetSelected(job == 1);
+ m_JobSelect2.SetSelected(job == 2);
+
+ var config = CreateRoleConfig.Get(job);
+ m_Description.SetSprite(config.desc);
+ }
+ }
+
+ private void SelectJob1()
+ {
+ if (CreateRoleManager.Instance.selectedJob.value == 1)
+ {
+ ChangeUserName(1, true);
return;
}
- userJob = 3;
- ChangeUserName(false);
- RoleShow(0f);
+
+ ChangeUserName(1, false);
+ CreateRoleManager.Instance.View(1);
}
- private void DsBtn()
+ private void SelectJob2()
{
- if (userJob == 2)
+ if (CreateRoleManager.Instance.selectedJob.value == 2)
{
- ChangeUserName(true);
+ ChangeUserName(2, true);
return;
}
- userJob = 2;
- ChangeUserName(false);
- RoleShow(0f);
+
+ ChangeUserName(2, false);
+ CreateRoleManager.Instance.View(2);
}
- private void QhBtn()
+ private void ChangeUserName(int job, bool force = true)
{
- if (userJob == 1)
- {
- ChangeUserName(true);
- return;
- }
- userJob = 1;
- ChangeUserName(false);
- RoleShow(0f);
- }
-
- public void UpdateInfo()
- {
- CreateRoleConfig qhCfg = CreateRoleConfig.Get(1);
- CreateRoleConfig dsCfg = CreateRoleConfig.Get(2);
- CreateRoleConfig jsCfg = CreateRoleConfig.Get(3);
- CreateRoleConfig sltCfg = null;
- switch (userJob)
- {
- case 1:
- sltCfg = qhCfg;
- break;
- case 2:
- sltCfg = dsCfg;
- break;
- case 3:
- sltCfg = jsCfg;
- break;
- }
- qhBtn.image.SetSprite(userJob == 1 ? sltCfg.selectIcon : sltCfg.unselectIcon);
- dsBtn.image.SetSprite(userJob == 2 ? sltCfg.selectIcon : sltCfg.unselectIcon);
- jsBtn.image.SetSprite(userJob == 3 ? sltCfg.selectIcon : sltCfg.unselectIcon);
- qhImg.SetSprite(userJob == 1 ? "CreateRole_Job1_Select" : "CreateRole_Job1_UnSelect");
- dsImg.SetSprite(userJob == 2 ? "CreateRole_Job2_Select" : "CreateRole_Job2_UnSelect");
- jsImg.SetSprite(userJob == 3 ? "CreateRole_Job3_Select" : "CreateRole_Job3_UnSelect");
- m_DescImg.SetSprite(sltCfg.desc);
- }
-
- private void ChangeUserName(bool _force = true)
- {
- if (!_force && !m_MarkName.Equals(userNameInput.text))
+ if (!force && !m_MarkName.Equals(m_NameInput.text))
{
return;
}
- var _name = RandomNameConfig.GetFirstName(userJob) + RandomNameConfig.GetSecondName(userJob);
- m_MarkName = _name;
- ChangeUserName(_name);
+
+ var name = RandomNameConfig.GetFirstName(job) + RandomNameConfig.GetSecondName(job);
+ m_MarkName = name;
+ m_NameInput.text = name;
}
- private void ChangeUserName(string _name)
- {
- userNameInput.text = _name;
- }
-
- private void CreateBtn()
+ private void CreateRole()
{
if (GameNetSystem.Instance.netState == GameNetSystem.NetState.Connected)
{
return;
}
- if (userNameInput.text.Equals(string.Empty))
+ if (m_NameInput.text.Equals(string.Empty))
{
ServerTipDetails.DisplayNormalTip(Language.Get("CreateRole_NameNull"));
return;
}
+
int error = 0;
- if (!UIHelper.SatisfyNameLength(userNameInput.text, out error))
+ if (!UIHelper.SatisfyNameLength(m_NameInput.text, out error))
{
switch (error)
{
@@ -200,22 +172,24 @@
}
return;
}
- if (DirtyWordConfig.IsDirtWord(userNameInput.text) || UIHelper.HasSpecialCharac(userNameInput.text)
- || DirtyNameConfig.IsDirtName(userNameInput.text))
+
+ if (DirtyWordConfig.IsDirtWord(m_NameInput.text) || UIHelper.HasSpecialCharac(m_NameInput.text)
+ || DirtyNameConfig.IsDirtName(m_NameInput.text))
{
ServerTipDetails.DisplayNormalTip(Language.Get("L1007"));
return;
}
+
if (Application.internetReachability == NetworkReachability.NotReachable)
{
ServerTipDetails.DisplayNormalTip(Language.Get("L1116"));
return;
}
- LanguageVerify.Instance.VerifyPlayerName(userNameInput.text, 0, string.Empty, 0, 0, (bool ok, string name) =>
+ LanguageVerify.Instance.VerifyPlayerName(m_NameInput.text, 0, string.Empty, 0, 0, (bool ok, string name) =>
{
C0105_tagCCreateRole createRole = new C0105_tagCCreateRole();//瀹炰緥鍖朇0105_tagCCreateRole
- createRole.Job = (byte)userJob;
+ createRole.Job = (byte)CreateRoleManager.Instance.selectedJob.value;
createRole.Name = name;
createRole.Sex = 1;
createRole.Hair = 10002;
@@ -225,52 +199,45 @@
createRole.PlayerType = 1;
GameNetSystem.Instance.SendInfo(createRole);//鍙戦�佸垱瑙掑寘
});
-
-
-
- //灞忚斀鑱屼笟鐗规晥棰勫厛鍔犺浇閫伙紝浠ュ噺灏戜笉蹇呰鐨勫唴瀛樻崯鑰楀拰鑾峰緱鏇村揩鐨勫満鏅垏鎹㈤�熷害锛岃祫婧愬帇缂╀娇鐢↙Z4鎵嶈銆�
- // AssetPreLoad.Instance.PreLoadJobEffect(userJob);
}
- private void RoleChage()
+ private void OnCreateRoleSuccess()
{
if (Application.internetReachability == NetworkReachability.NotReachable)
{
ServerTipDetails.DisplayNormalTip(Language.Get("L1116"));
return;
}
- C0108_tagCRoleLoginAsk tagCRoleLoginAsk = new C0108_tagCRoleLoginAsk();
+
+ var tagCRoleLoginAsk = new C0108_tagCRoleLoginAsk();
tagCRoleLoginAsk.Type = 2;//杩涘叆娓告垙
tagCRoleLoginAsk.ClientID = SDKUtility.Instance.RegistrationID;
GameNetSystem.Instance.SendInfo(tagCRoleLoginAsk);
NetLinkWin.Show();
}
- private void RoleShow(float _delay)
+ [System.Serializable]
+ public struct SelectRoleButton
{
- StopCoroutine("DelayShowActor");
- StartCoroutine("DelayShowActor", _delay);
+ public int job;
+ public Button select;
+ public Image backGround;
+ public Image icon;
+
+ public void SetListener(UnityAction action)
+ {
+ select.SetListener(action);
+ }
+
+ public void SetSelected(bool selected)
+ {
+ var config = CreateRoleConfig.Get(job);
+ backGround.SetSprite(selected ? config.selectIcon : config.unselectIcon);
+ icon.SetSprite(selected ? "CreateRole_Job1_Select" : "CreateRole_Job1_UnSelect");
+ }
+
}
- IEnumerator DelayShowActor(float _delay)
- {
- m_CreateRoleShow = GameObject.FindObjectOfType<CreateRoleHeroShow>();
- UpdateInfo();
-
- yield return new WaitForSeconds(_delay);
- RemoveRoleModel();
- ShowRoleModel();
- }
-
- private void ShowRoleModel()
- {
- m_CreateRoleShow.CreateRoleShow(userJob);
- }
-
- private void RemoveRoleModel()
- {
- m_CreateRoleShow.Dispose();
- }
}
}
--
Gitblit v1.8.0