powerfun-unity/Assets/Scripts/Scenes/LoginController.cs
2021-11-03 13:48:53 +08:00

1482 lines
54 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using Assets.Scripts;
using Assets.Scripts.Apis;
using Assets.Scripts.Apis.Models;
using Assets.Scripts.Scenes;
using Assets.Scripts.UI.Control;
using Assets.Scripts.UI.Prefab.Login;
using DG.Tweening;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading;
using System.Threading.Tasks;
using System.Timers;
using UnityEngine;
using UnityEngine.Android;
using UnityEngine.Events;
using UnityEngine.EventSystems;
using UnityEngine.SceneManagement;
using UnityEngine.UI;
#if !(UNITY_IOS || UNITY_ANDROID)
using ZenFulcrum.EmbeddedBrowser;
#endif
//记录小f 是-457和-681
public class QUserInfo
{
public long Id { get; set; }
public string Phone { get; set; }
public string NickName { get; set; }
public string Avatar { get; set; }
public string Cookie { get; set; }
}
public class LoginForm
{
public InputField email { get; set; }
public InputField password { get; set; }
}
public class SignForm
{
//页面1
public InputField email { get; set; }
public InputField captcha { get; set; }
public InputField password { get; set; }
public InputField cpassword { get; set; }
//页面2
public Dropdown years { get; set; }
public Dropdown months { get; set; }
public Dropdown days { get; set; }
public Dropdown genders { get; set; }
public InputField weight { get; set; }
public InputField height { get; set; }
public Dropdown countrys { get; set; }
public Dropdown units { get; set; }
}
public class LoginController : BaseScene
{
public GameObject loadingPanel { get; set; }
private Transform mainContent;
/*初始页面*/
private Transform quickContainer;
private Transform loginContainer;
private Transform signContainer;
//修改高度
Transform LoginBg;
/*初始页面*/
LoginForm loginForm;
[SerializeField] Button loginReturn2;
private Button remember;
/*滑动相关*/
[SerializeField] GameObject loginScrollView;
[SerializeField] GameObject signScrollView;
[SerializeField] GameObject avatarScrollView;
/*滑动相关*/
//注册
private Transform signPage1;
private Transform signPage2;
private Transform signScrollBar;
private SignForm signForm;
private LoginRegOptions regOptions;
private ScrollRect scrollPanel;
private ScrollRect scrollSign;
private ScrollRect scrollAvatar;
private Transform imagexf, imagedf;
//注册主页面
private UserResultModel userResult;
/*微信相关*/
#if !(UNITY_IOS || UNITY_ANDROID)
private Browser wxBrowser;
#endif
private string wxState;
private Transform wxLogin1;
private Transform wxLogin2;
private Transform wxLogin3;
private JObject wxInfoJson;
private bool wxLock;
/*微信相关*/
private List<QUserInfo> userInfos;
/*退出按钮*/
[SerializeField] Button exit;
/*退出按钮*/
//其他
[SerializeField] RawImage loading;
Transform toolContainer;
Dictionary<string, Selectable> formDict, signFormDict;
public string avatarName { get; private set; }
public Texture avatar;
// Start is called before the first frame update
void Start()
{
#if UNITY_ANDROID || UNITY_IOS
loadingPanel = transform.Find("LoadingPanel").gameObject;
#endif
#if UNITY_ANDROID
Permission.RequestUserPermission(Permission.FineLocation);
Permission.RequestUserPermission(Permission.ExternalStorageRead);
Permission.RequestUserPermission(Permission.ExternalStorageWrite);
#elif UNITY_IOS
Input.location.Start();
#endif
UIManager.SetModalPanel(transform.Find("ModalPanel").GetComponent<PFUIPanel>());
if (!string.IsNullOrEmpty(App.is401))
{
UIManager.ShowAlert("WARNING", "Your account has been logged in on other devices. If you did not do it yourself, please change your password in time.");
}
Init();
if (loginScrollView != null)
{
scrollPanel = loginScrollView.GetComponent<ScrollRect>();
LoginBg = loginScrollView.transform.Find("Viewport").Find("LoginBg");
mainContent = loginScrollView.transform.Find("Viewport").Find("Content");
quickContainer = mainContent.Find("Empty").Find("FormContainer-Quick");
loginContainer = mainContent.Find("FormContainer-Login").Find("Mask").Find("FormContainer");
signContainer = mainContent.Find("FormContainer-Sign");
}
if (signScrollView != null)
{
scrollSign = signScrollView.GetComponent<ScrollRect>();
var content = signScrollView.transform.Find("Viewport").Find("Content");
signPage1 = content.Find("FirstPage");
UIManager.AddEvent(signPage1.Find("next").GetComponent<Button>().gameObject,
EventTriggerType.PointerClick, (b) => goRegNext());
UIManager.AddEvent(signPage1.Find("BtnModiPass").GetComponent<Button>().gameObject,
EventTriggerType.PointerClick, (b) => goResetPassword());
//signPage1.Find("next").GetComponent<Button>().onClick.AddListener(() => { goRegNext(); });
UIManager.AddEvent(signPage1.Find("Captcha").Find("BtnGet").gameObject,
EventTriggerType.PointerClick, (b) => GetCaptcha());
//signPage1.Find("Captcha").Find("BtnGet").GetComponent<Button>().onClick.AddListener(GetCaptcha);
var email = signPage1.Find("Email").GetComponent<InputField>();
var captcha = signPage1.Find("Captcha").GetComponent<InputField>();
var password = signPage1.Find("Password").GetComponent<InputField>();
var cpassword = signPage1.Find("CPassword").GetComponent<InputField>();
//第三方登录要用的按钮
UIManager.AddEvent(signPage1.Find("previousThird").GetComponent<Button>().gameObject,
EventTriggerType.PointerClick, (b) => goThirdPrev());
//signPage1.Find("previousThird").GetComponent<Button>().onClick.AddListener(goThirdPrev);
UIManager.AddEvent(signPage1.Find("signThird").GetComponent<Button>().gameObject,
EventTriggerType.PointerClick, (b) => goRegNext(1));
//signPage1.Find("signThird").GetComponent<Button>().onClick.AddListener(() => { goRegNext(1); });
signPage2 = content.Find("NextPage");
//UIManager.AddEvent(signPage2.Find("previous").GetComponent<Button>().gameObject,
// EventTriggerType.PointerClick, (b) => goRegPrev());
//signPage2.Find("previous").GetComponent<Button>().enabled = false;
//signPage2.Find("previous").GetComponent<Button>().interactable = false;
//signPage2.Find("previous").GetComponent<Button>().onClick.AddListener(goRegPrev);
UIManager.AddEvent(signPage2.Find("sign").GetComponent<Button>().gameObject,
EventTriggerType.PointerClick, (b) => goRegEnd());
//signPage2.Find("sign").GetComponent<Button>().onClick.AddListener(goRegEnd);
//注册2 字段
var years = signPage2.Find("Year").GetComponent<Dropdown>();
var months = signPage2.Find("Month").GetComponent<Dropdown>();
var days = signPage2.Find("Day").GetComponent<Dropdown>();
var genders = signPage2.Find("Gender").GetComponent<Dropdown>();
var countrys = signPage2.Find("Country").GetComponent<Dropdown>();
var units = signPage2.Find("Unit").GetComponent<Dropdown>();
regOptions = new LoginRegOptions();
years.options = regOptions.years;
months.options = regOptions.months;
days.options = regOptions.days;
years.captionText.text = "Year";
months.captionText.text = "Month";
days.captionText.text = "Day";
years.onValueChanged.AddListener((int index) =>
{
if (index != -1 && months.value != -1)
{
days.options = regOptions.GetDayOptions(int.Parse(years.captionText.text), int.Parse(months.captionText.text));
days.value = 0;
}
});
months.onValueChanged.AddListener((int index) =>
{
if (index != -1 && years.value != -1)
{
days.options = regOptions.GetDayOptions(int.Parse(years.captionText.text), int.Parse(months.captionText.text));
days.value = 0;
}
});
genders.options = regOptions.genders;
genders.captionText.text = "Gender";
countrys.options = regOptions.countrys;
countrys.value = regOptions.countryDefaultValue;
countrys.onValueChanged.AddListener((int index) =>
{
countrys.transform.Find("RawImage").GetComponent<RawImage>().texture = regOptions.GetCountryImage(index);
});
units.options = regOptions.units;
units.captionText.text = "Display Units";
signForm = new SignForm()
{
email = email,
captcha = captcha,
password = password,
cpassword = cpassword,
weight = signPage2.Find("Weight").GetComponent<InputField>(),
height = signPage2.Find("Height").GetComponent<InputField>(),
years = years,
months = months,
days = days,
genders = genders,
countrys = countrys,
units = units,
};
#if !(UNITY_ANDROID || UNITY_IOS)
signScrollBar = signScrollView.transform.Find("Image").Find("Image");
#endif
}
if (avatarScrollView != null)
{
scrollAvatar = avatarScrollView.GetComponent<ScrollRect>();
var content = scrollAvatar.transform.Find("Viewport").Find("Content");
foreach (var user in userInfos)
{
#if !(UNITY_ANDROID || UNITY_IOS)
var info = Instantiate(Resources.Load<GameObject>("UI/Prefab/Login/QuickUserInfo")).transform;
#else
var info = Instantiate(Resources.Load<GameObject>("UI/Prefab/Login/Mobile/QuickUserInfo")).transform;
#endif
info.GetComponent<QuickLoginUser>().Initial(user, transform);
info.SetParent(content);
info.localScale = new Vector3(1, 1, 1);
}
content.Find("empty1").transform.SetSiblingIndex(0);
content.Find("empty2").transform.SetSiblingIndex(content.childCount - 1);
scrollAvatar.GetComponent<QuickLoginScroll>().Initial();
}
if (quickContainer != null)
{
var loginNewAccount = quickContainer.Find("loginNewAccount").GetComponent<Button>();
UIManager.AddEvent(loginNewAccount.gameObject, EventTriggerType.PointerClick, (b) => goLogin());
}
if (loginContainer != null)
{
var returnQuick = loginContainer.Find("returnQuick").GetComponent<Button>();
UIManager.AddEvent(returnQuick.gameObject, EventTriggerType.PointerClick, (b) => ReturnQuick());
var sign = loginContainer.Find("reg").GetComponent<Button>();
UIManager.AddEvent(sign.gameObject, EventTriggerType.PointerClick, (b) => goSign());
remember = loginContainer.Find("rememberButton").GetComponent<Button>();
UIManager.AddEvent(remember.gameObject, EventTriggerType.PointerClick, (b) =>
{
var gou = remember.transform.Find("Gou");
if (gou.gameObject.activeSelf)
{
gou.gameObject.SetActive(false);
}
else
{
gou.gameObject.SetActive(true);
}
});
UIManager.AddEvent(loginContainer.Find("ForgetPassword").gameObject, EventTriggerType.PointerClick, (e) => goSign(type: 1));
#if !(UNITY_IOS || UNITY_ANDROID)
var wechatLogin = loginContainer.Find("otherContainer").Find("Wechat").GetComponent<Button>();
UIManager.AddEvent(wechatLogin.gameObject, EventTriggerType.PointerClick, (b) =>
{
if (wxLock) return;
wxLock = true;
//wxState = (DateTime.Now.ToUniversalTime().Ticks / 10000 * new System.Random().Next(1, 5)).ToString();
wxBrowser.Url = $"https://open.weixin.qq.com/connect/qrconnect?appid={App.WxAppId}&redirect_uri=https%3A%2F%2Fwx.powerfun.com.cn%2FNoAuth%2Fv1%2FWxWebLogin&response_type=code&scope=snsapi_login&state=unity#wechat_redirect";
AdjustWxQrCode();
//wxBrowser.RegisterFunction("isFinish", args =>
//{
// Debug.Log(331);
// startJs = false;
//});
////AdjustWxQrCode();
//startJs = true;
//var wx1 = mainContent.Find("FormContainer-Login").Find("Mask").Find("FormContainer-wx1");
wxLogin1.gameObject.SetActive(true);
//Debug.Log(178 + "已经开启" + wx1.gameObject.activeSelf);
//wx1.GetComponent<CanvasGroup>().DOFade(1, 0.8f).onComplete = () => { wxLock = false; };
wxLogin1.DOLocalMoveY(0, 0.3f).onComplete = () => { wxLock = false; };
});
#endif
var login = loginContainer.Find("login").GetComponent<Button>();
UIManager.AddEvent(login.gameObject, EventTriggerType.PointerClick, (b) => Submit());
//login.onClick.AddListener(Submit);
loginForm = new LoginForm()
{
email = loginContainer.Find("phone").GetComponent<InputField>(),
password = loginContainer.Find("pwd").GetComponent<InputField>()
};
}
//if (loginReturn2 != null)
//{
// loginReturn2.onClick.AddListener(goLoginReturn2);
//}
if (signContainer != null)
{
#if !(UNITY_ANDROID || UNITY_IOS)
var loginr2 = signContainer.Find("loginr2").GetComponent<Button>();
UIManager.AddEvent(loginr2.gameObject, EventTriggerType.PointerClick, (b) =>
{
goLoginReturn2();
});
#else
UIManager.AddEvent(signContainer.Find("loginr2").gameObject, EventTriggerType.PointerClick, (b) =>
{
goLoginReturn2();
});
#endif
}
if (exit != null)
{
UIManager.AddEvent(exit.gameObject, EventTriggerType.PointerClick, (b) =>
{
UIManager.ShowConfirm("Quit", "Do you want to quit PowerFun?", () =>
{
Application.Quit();
}, 2);
});
}
#if !(UNITY_IOS || UNITY_ANDROID)
wxLogin1 = mainContent.Find("FormContainer-Login").Find("Mask").Find("FormContainer-wx1");
if (wxLogin1 != null)
{
UIManager.AddEvent(wxLogin1.Find("Image").gameObject, EventTriggerType.PointerClick, (b) =>
{
wxReturnLogin();
});
wxBrowser = wxLogin1.Find("Browser (GUI)").GetComponent<Browser>();
if (wxBrowser != null)
{
// wxBrowser.EvalJS(@"Object.defineProperties(Navigator.prototype, {
// language: {
// value: 'zh-CN',
// configurable: false,
// enumerable: true,
// writable: false
// },
// languages: {
// value: ['zh-CN','en','zh'],
// configurable: false,
// enumerable: true,
// writable: false
// }
//});");
wxBrowser.onTextureUpdated += OnUserScan;
//browser.Zoom = 0.5f;
//browser.
}
}
#endif
wxLogin2 = mainContent.Find("FormContainer-wx2");
if (wxLogin2 != null)
{
UIManager.AddEvent(wxLogin2.Find("return").gameObject, EventTriggerType.PointerClick, (b) =>
{
#if !(UNITY_IOS || UNITY_ANDROID)
wxLogin1.gameObject.SetActive(false);
wxLogin1.GetComponent<RectTransform>().localPosition = new Vector3(0, -573, 0);
#endif
wxLogin2.gameObject.SetActive(false);
//wxLogin3.gameObject.SetActive(false);
pageNums = 4;
//Canvas.ForceUpdateCanvases();
StartScrollPanel(1);
});
wxLogin2.Find("Next").GetComponent<Button>().onClick.AddListener(() =>
{
this.goSign(false);
});
}
wxLogin3 = mainContent.Find("FormContainer-wx3");
if (wxLogin3 != null)
{
UIManager.AddEvent(wxLogin3.Find("return").gameObject, EventTriggerType.PointerClick, (b) =>
{
if (signContainer.gameObject.activeSelf)
{
if (pageNums == 5)
{
#if UNITY_ANDROID || UNITY_IOS
MobileAni(false);
#endif
StartScrollPanel(3);
}
else if (pageNums == 4)
{
#if UNITY_ANDROID || UNITY_IOS
MobileAni(false);
#endif
StartScrollPanel(2);
}
else
{
StartScrollPanel(1);
}
}
else
{
signContainer.gameObject.SetActive(true);
#if !(UNITY_IOS || UNITY_ANDROID)
wxLogin1.gameObject.SetActive(false);
wxLogin1.GetComponent<RectTransform>().localPosition = new Vector3(0, -573, 0);
#endif
pageNums = 4;
//wxLogin3.gameObject.SetActive(false);
StartScrollPanel(1);
}
});
UIManager.AddEvent(wxLogin3.Find("rememberButton").gameObject, EventTriggerType.PointerClick, (b) =>
{
var gou = wxLogin3.Find("rememberButton").Find("Gou").gameObject;
gou.SetActive(!gou.activeSelf);
});
UIManager.AddEvent(wxLogin3.Find("Next").gameObject, EventTriggerType.PointerClick, (b) =>
{
goMain(wxLogin3.Find("rememberButton").Find("Gou"));
});
}
imagexf = transform.Find("Panel").Find("LoginContainer").Find("Imagexf");
imagedf = transform.Find("Panel").Find("LoginContainer").Find("Imagedf");
toolContainer = transform.Find("Panel").Find("ToolContainer");
if (toolContainer != null)
{
UIManager.AddEvent(toolContainer.Find("Setting").gameObject, EventTriggerType.PointerClick, (b) =>
{
UIManager.ShowSettingModal();
});
//toolContainer.Find("Setting").GetComponent<Button>().onClick.AddListener(() =>
//{
// UIManager.ShowSettingModal();
//});
UIManager.AddEvent(toolContainer.Find("Msg").gameObject, EventTriggerType.PointerClick, (b) =>
{
UIManager.ShowNewsModal();
});
//toolContainer.Find("Msg").GetComponent<Button>().onClick.AddListener(() =>
//{
// UIManager.ShowNewsModal();
//});
}
if (userInfos.Count == 0) goLoginImmediately();
formDict = new Dictionary<string, Selectable>()
{
{"Phone",loginForm.email },
{"Pwd",loginForm.password },
};
#if !(UNITY_ANDROID || UNITY_IOS)
loginForm.email.onEndEdit.AddListener(async (s) =>
{
if (!string.IsNullOrEmpty(s) && avatarName!=s)
{
var r = await ConfigHelper.userApi.GetHeadImg(s);
if (!string.IsNullOrEmpty(r))
{
Utils.DisplayImage(loginContainer.Find("Avatar").GetComponent<RawImage>(), r);
avatarName = s;
}
else
{
loginContainer.Find("Avatar").GetComponent<RawImage>().texture = avatar;
}
}
});
#endif
signFormDict = new Dictionary<string, Selectable>
{
{ "Phone",signForm.email},
{ "Captcha",signForm.captcha},
{ "Pwd",signForm.password},
{ "CPwd",signForm.cpassword},
{ "Years",signForm.years},
{ "Months",signForm.months},
{ "Days",signForm.days},
};
avatar = Resources.Load<Texture>("Images/New Account");
#if UNITY_ANDROID || UNITY_IOS
transform.Find("Version").GetComponent<Text>().text = $"V{App.AppVersion}";
#else
transform.Find("Panel").Find("Version").GetComponent<Text>().text = $"V{App.AppVersion}";
#endif
}
public void Test(string key)
{
Debug.Log(key);
}
async void Init()
{
Debug.Log(535);
UIManager.Instance.ModalsPanel = this.transform.Find("ModalPanel").GetComponent<PFUIPanel>();
userInfos = UIManager.Instance.userInfos;
App.DefaultRotateTexture = Utils.ReadTextureFromPlayerPrefs("rotateImage");
App.firstEnter = PlayerPrefs.GetInt("firstEnter");
PlayerPrefs.SetInt("firstEnter", 1);
var notifyId = PlayerPrefs.GetInt("notifyId");
var r = await ConfigHelper.userApi.GetNotify();
if (r.result)
{
#if !(UNITY_ANDROID || UNITY_IOS)
//#if !UNITY_EDITOR
var ver = r.data.Value<JObject>("Version").ToObject<UpdateModel>();
if (ver != null && ver.HasUpdate)
{
App.UpdateObject = ver;
Debug.Log(Application.persistentDataPath + "/PowerFun.exe");
UIManager.ShowDownloadModal();
}
//#endif
App.notifyContent = r.data.Value<string>("Content");
if (r.data.Value<int>("Id") != notifyId)//r.data.Value<int>("Id") != notifyId
{
UIManager.ShowNewsModal();
PlayerPrefs.SetInt("notifyId", r.data.Value<int>("Id"));
}
#else
var rr = await ConfigHelper.userApi.GetVersions();
if (rr.result)
{
#if UNITY_ANDROID
var info = rr.data.Value<JObject>("UnityApk");
#elif UNITY_IOS
var info = rr.data.Value<JObject>("UnityIos");
#endif
if (Utils.isUpdate(App.AppVersion,info.Value<string>("Version"))) return;
}
Debug.Log(notifyId);
var ver = r.data.Value<JObject>("Version").ToObject<UpdateModel>();
if (ver.UpdateLog.Count + 1 != notifyId) //ver.UpdateLog.Count != notifyId
{
var log = ver.UpdateLog.FirstOrDefault();
if (log != null)
{
App.notifyContent = log.Desc;
}
else
{
App.notifyContent = r.data.Value<string>("Content");
}
PlayerPrefs.SetInt("notifyId", ver.UpdateLog.Count + 1);
UIManager.ShowNewsModal();
}
#endif
}
GetRotateImage();
}
async void GetRotateImage()
{
if (!App.TextureCache.ContainsKey("rotateImage"))
{
var locationInfo = await ConfigHelper.thirdPartApi.GetLocationInfo();
App.latitude = locationInfo.latitude;
App.longitude = locationInfo.longitude;
//if (locationInfo.status == 0)
//{
// Debug.Log(locationInfo.address);
// Utils.DownloadImageToLocal(StartCoroutine,
// $"https://api.mapbox.com/styles/v1/mapbox/dark-v10/static/{locationInfo.content.point.x},{locationInfo.content.point.y},12.14,0/1280x1280?access_token=pk.eyJ1IjoiYW5keXNqdCIsImEiOiJja2ZhajE5OGwwamRiMnltcW96bHk0ZWFuIn0.GvKanc6UveWSvIjS9HfBPA",
// "rotateImage");
//}
//else
//{
// Debug.Log(locationInfo.message);
//}
Debug.Log(JsonConvert.SerializeObject(locationInfo));
var i = await ConfigHelper.thirdPartApi.GetMapImage(locationInfo);
var t = new Texture2D(2, 2);
if (t.LoadImage(Utils.StreamToBytes(i)))
{
Debug.Log("成功");
App.TextureCache["rotateImage"] = t;
Utils.WriteTextureToPlayerPrefs("rotateImage", t);
}
//Debug.Log(locationInfo.country);
//Utils.DownloadImageToLocal(StartCoroutine,
//$"https://api.mapbox.com/styles/v1/mapbox/dark-v10/static/{locationInfo.longitude},{locationInfo.latitude},12.14,0/1280x1280?access_token=pk.eyJ1IjoiYW5keXNqdCIsImEiOiJja2ZhajE5OGwwamRiMnltcW96bHk0ZWFuIn0.GvKanc6UveWSvIjS9HfBPA",
//"rotateImage");
}
}
/// <summary>
/// 执行js 修改微信登录页样式
/// </summary>
private void AdjustWxQrCode()
{
#if !(UNITY_IOS || UNITY_ANDROID)
wxBrowser.EvalJSCSP(@"
document.getElementsByClassName('qrcode')[0].style.marginTop = 0;
document.getElementsByClassName('title')[0].style.display = 'none';
document.getElementById('wx_default_tip').childNodes[3].innerHTML = `""PowerFun""`;
document.body.style.background = '#272732';
document.body.style.overflow = 'hidden';
document.body.style.transformOrigin = 'top left';
document.body.style.transform = 'scale(0.85106382978)';
document.body.style.padding = '0';").Done();
#endif
}
//浏览器加载回调
#if !(UNITY_IOS || UNITY_ANDROID)
private async void OnUserScan()
{
if (wxBrowser.Url.Contains("qrconnect"))
{
//AdjustWxQrCode();
}
var rgx = Regex.Match(wxBrowser.Url, @"https\:\/\/wx.powerfun.com.cn/NoAuth/v1/WxWebLogin\?code=(.*?)&state=(.*?)$");
var groups = rgx.Groups;
if (groups.Count == 3)
{
//wxBrowser.LoadHTML("<div />");
var state = groups[2].Value;
if (state == "unity")
{
//wxBrowser.
//var acjson = await ConfigHelper.thirdPartApi.GetWxAccessToken(groups[1].Value);
//var infojson = await ConfigHelper.thirdPartApi.GetWxUserInfo(
// acjson.Value<string>("access_token"), acjson.Value<string>("openid"));
//string unionId = wxInfoJson.Value<string>("unionid"),
// openId = wxInfoJson.Value<string>("openid");
await goWxLoginWithCode(groups[1].Value, groups[2].Value);
}
}
}
#endif
public async Task goWxLoginWithCode(string code, string state)
{
var r = await ConfigHelper.userApi.OnWebWxLoginCheckUnionIdByCode(code,state);
if (r.result)
{
JObject data = JObject.FromObject(r.data);
if (data.Value<string>("success") != null && data.Value<string>("success") == "False")
{
wxInfoJson = data;
wxLogin2.gameObject.SetActive(true);
Utils.DisplayImage(wxLogin2.Find("Avatar").GetComponent<RawImage>(),
wxInfoJson.Value<string>("headimgurl"));
wxLogin2.Find("NickName").GetComponent<Text>().text = wxInfoJson.Value<string>("nickname");
wxLogin3.gameObject.SetActive(true);
Utils.DisplayImage(wxLogin3.Find("Avatar").GetComponent<RawImage>(),
wxInfoJson.Value<string>("headimgurl"));
wxLogin3.Find("NickName").GetComponent<Text>().text = wxInfoJson.Value<string>("nickname");
pageNums = 5;
//this.goSign();
StartScrollPanel(2);
}
else
{
RefreshWx3(data.ToObject<UserResultModel>(), 1);
wxLogin3.gameObject.SetActive(true);
//Utils.DisplayImage(StartCoroutine,
//wxLogin3.Find("Avatar").GetComponent<RawImage>(),
//wxInfoJson.Value<string>("headimgurl"));
//wxLogin3.Find("NickName").GetComponent<Text>().text = wxInfoJson.Value<string>("nickname");
signContainer.gameObject.SetActive(false);
pageNums = 3;
MobileAni(true);
//this.goSign();
StartScrollPanel(2);
}
}
else
{
Utils.showToast(gameObject, r.errMsg);
}
}
private void goThirdNext()
{
this.StartScrollPanel(4);
}
private void goThirdPrev()
{
this.StartScrollPanel(2);
}
private void OnDestroy()
{
}
#region
int time = 0;
float timer = 0f;
bool startCaptcha = false;
async void GetCaptcha()
{
var btn = signPage1.Find("Captcha").Find("BtnGet");
btn.GetComponent<Button>().enabled = false;
btn.GetComponent<Button>().interactable = false;
var btnText = signPage1.Find("Captcha").Find("BtnGet").Find("Text").GetComponent<Text>();
var Email = signForm.email;
var r = await ConfigHelper.userApi.GetCaptcha(Email.text);
//Timer t = new Ti
if (r.result)
{
if (pageNums == 5)
{
if (r.data.Value<bool>("isExist"))
{
HidePassword();
}
else
{
ShowPassword(true);
}
}
time = 60;
btnText.text = $"Again({time})";
System.Timers.Timer timer = new System.Timers.Timer();
btn.GetComponent<Button>().enabled = false;
btn.GetComponent<Button>().interactable = false;
startCaptcha = true;
//timer.Interval = 1000;
//timer.AutoReset = true;
//timer.Elapsed += new ElapsedEventHandler(CaptchaTimerTick);
//timer.Enabled = true;
//btnGet.
}
else
{
btn.GetComponent<Button>().enabled = true;
btn.GetComponent<Button>().interactable = true;
Utils.showToast(gameObject, r.errMsg);
Utils.SetValidate(signFormDict, r.errFieldMsg);
}
}
#endregion
void CaptchaTimerTick()
{
timer -= Time.deltaTime;
if (timer <= 0)
{
var btn = signPage1.Find("Captcha").Find("BtnGet");
var btnText = signPage1.Find("Captcha").Find("BtnGet").Find("Text").GetComponent<Text>();
btnText.text = $"Again({time--})";
if (time < 0)
{
btnText.text = "Get";
btn.GetComponent<Button>().enabled = true;
btn.GetComponent<Button>().interactable = true;
startCaptcha = false;
//timer.Stop();
}
timer = 1.0f;
}
}
private void goRegPrev()
{
signForm.email.text = "";
signForm.password.text = "";
signForm.captcha.text = "";
signForm.cpassword.text = "";
StartScrollSign(0);
}
//0-普通 1-微信
private async void goRegNext(int signType = 0)
{
var Email = signForm.email;
var Captcha = signForm.captcha;
var Password = signForm.password;
var CPassword = signForm.cpassword;
if (Password.text != CPassword.text)
{
Utils.SetValidate(signFormDict, JArray.FromObject(new object[]
{
new { Field="Pwd"},
new { Field="CPwd"},
}));
Utils.showToast(gameObject, "Two password entries are inconsistent");//两次密码输入不一致
return;
}
//JsonConvert
JsonResult<object> r = null;
if (signType == 0)
{
r = await ConfigHelper.userApi.Register(Email.text, Password.text, Captcha.text);
}
else if (signType == 1)
{
r = await ConfigHelper.userApi.OnWebWxLogin(Email.text,
Captcha.text,
Password.text,
wxInfoJson.Value<string>("unionId"),
wxInfoJson.Value<string>("openId"));
}
if (r != null && r.result)
{
var u = JObject.FromObject(r.data).ToObject<UserResultModel>();
RefreshWx3(u, signType);
LoadInfo();
StartScrollSign(1);
}
else
{
var errorList = JArray.FromObject(r.data);
Utils.SetValidate(signFormDict, errorList);
Utils.showToast(gameObject, r.errMsg);
}
}
async void goRegNextWithoutPass()
{
var Email = signForm.email;
var Captcha = signForm.captcha;
var r = await ConfigHelper.userApi.OnWebWxLogin(Email.text,
Captcha.text,
"",
wxInfoJson.Value<string>("unionId"),
wxInfoJson.Value<string>("openId"));
if (r.result)
{
var u = JObject.FromObject(r.data).ToObject<UserResultModel>();
RefreshWx3(u, 1);
MobileAni(true);
StartScrollPanel(4);
}
else
{
Utils.showToast(gameObject, r.errMsg);
}
}
/// <summary>
/// 重置密码逻辑
/// </summary>
async void goResetPassword()
{
var Email = signForm.email;
var Captcha = signForm.captcha;
var Password = signForm.password;
var CPassword = signForm.cpassword;
if (Password.text != CPassword.text)
{
Utils.SetValidate(signFormDict, JArray.FromObject(new object[]
{
new { Field="Pwd"},
new { Field="CPwd"},
}));
Utils.showToast(gameObject, "Two password entries are inconsistent");//两次密码输入不一致
return;
}
var r = await ConfigHelper.userApi.ResetPassword(Email.text, Captcha.text, Password.text);
if (r.result)
{
Utils.showToast(gameObject, "Success", type: 1);
goLoginReturn2();
}
else
{
Utils.showToast(gameObject, r.errMsg);
}
}
void RefreshWx3(UserResultModel data, int type)
{
Utils.DisplayHead(wxLogin3.Find("Avatar").GetComponent<RawImage>(),
data.WxHeadImg);
wxLogin3.Find("Wx").gameObject.SetActive(type == 1);
wxLogin3.Find("NickName").GetComponent<Text>().text = data.Nickname;
userResult = data;
App.CurrentUser = data;
}
void MobileAni(bool flag)
{
#if UNITY_ANDROID || UNITY_IOS
if (flag)
{
//顯示pf
imagedf.GetComponent<Image>().DOFade(1, 0.3f);
imagexf.GetComponent<Image>().DOFade(1, 0.3f);
LoginBg.GetComponent<RectTransform>().DOSizeDelta(new Vector2(354, 300), 0.3f);
LoginBg.GetComponent<RectTransform>().DOLocalMoveY(-35, 0.3f);
}
else
{
imagedf.GetComponent<Image>().DOFade(0, .3f);
imagexf.GetComponent<Image>().DOFade(0, .3f);
LoginBg.GetComponent<RectTransform>().DOSizeDelta(new Vector2(354, 370), .3f);
LoginBg.GetComponent<RectTransform>().DOLocalMoveY(0, .3f);
}
#endif
}
/// <summary>
/// 去最后一页准备进入主场景
/// </summary>
void goRegEnd()
{
if (!UpdateInfo()) return;
#if UNITY_ANDROID || UNITY_IOS
MobileAni(true);
#endif
if (pageNums == 5)
{
this.StartScrollPanel(4);
}
else
{
this.StartScrollPanel(3);
}
//throw new NotImplementedException();
}
/// <summary>
/// 加载信息
/// </summary>
void LoadInfo()
{
var _days = signForm.days.GetComponent<PFUIDropdown>();
var _months = signForm.months.GetComponent<PFUIDropdown>();
var _years = signForm.years.GetComponent<PFUIDropdown>();
var _genders = signForm.genders.GetComponent<PFUIDropdown>();
var _countrys = signForm.countrys.GetComponent<PFUIDropdown>();
var _units = signForm.units.GetComponent<PFUIDropdown>();
var _weight = signForm.weight.GetComponent<PFUIInputField>();
var _height = signForm.height.GetComponent<PFUIInputField>();
if (userResult.Birthday.HasValue)
{
_days.SelectValue(userResult.Birthday.Value.Day.ToString());
_months.SelectValue(userResult.Birthday.Value.Month.ToString());
_years.SelectValue(userResult.Birthday.Value.Year.ToString());
}
_genders.SelectIndex(userResult.Sex - 1);
_countrys.SelectIndex(UIManager.Instance.loginRegOptions.GetCountryIndexByName(userResult.Country));
_units.SelectIndex(userResult.Unit);
_weight.Text = userResult.Weight.ToString();
_height.Text = userResult.Height.ToString();
}
/// <summary>
/// 注册页2 修改信息
/// </summary>
/// <returns></returns>
bool UpdateInfo()
{
if (userResult == null) return false;
var _days = signForm.days.GetComponent<PFUIDropdown>();
var _months = signForm.months.GetComponent<PFUIDropdown>();
var _years = signForm.years.GetComponent<PFUIDropdown>();
var _genders = signForm.genders.GetComponent<PFUIDropdown>();
var _countrys = signForm.countrys.GetComponent<PFUIDropdown>();
var _units = signForm.units.GetComponent<PFUIDropdown>();
var _weight = signForm.weight.GetComponent<PFUIInputField>();
var _height = signForm.height.GetComponent<PFUIInputField>();
if (signForm.years.value != -1 && signForm.months.value != -1 && signForm.days.value != -1)
{
userResult.Birthday = new DateTime(int.Parse(_years.SelectedItem), int.Parse(_months.SelectedItem), int.Parse(_days.SelectedItem));
}
else
{
Utils.SetValidate(signFormDict, JArray.FromObject(new object[]
{
new { Field = "Years", ErrMsg = "" },
new { Field = "Months", ErrMsg = "" },
new { Field = "Days", ErrMsg = "" }
}));
Utils.showToast(gameObject, "Please select birthday");//请选择生日
return false;
}
userResult.Sex = _genders.SelectedIndex + 1;
userResult.Country = UIManager.Instance.loginRegOptions.GetCountryName(_countrys.SelectedIndex);
userResult.Unit = _units.SelectedIndex;
userResult.Weight = double.Parse(_weight.Text);
userResult.Height = int.Parse(_height.Text);
if (string.IsNullOrEmpty(userResult.Nickname))
{
userResult.Nickname = userResult.Phone;
}
var r = ConfigHelper.userApi.Update(userResult, out string cookie, "");
return r.result;
//userResult.Birthday.v
}
/// <summary>
/// 微信2/注册返回登录
/// </summary>
private void goLoginReturn2()
{
#if UNITY_ANDROID || UNITY_IOS
MobileAni(true);
#endif
if (wxLogin2.gameObject.activeSelf) wxLogin2.gameObject.SetActive(false);
//if (wxLogin3.gameObject.activeSelf) wxLogin3.gameObject.SetActive(false);
pageNums = 4;
#if !(UNITY_ANDROID || UNITY_IOS)
if (wxLogin1.transform.localPosition.y == 0)
{
wxReturnLogin();
}
#else
transform.GetComponent<LoginControllerMobile>().HideThirdLoginPage();
#endif
Canvas.ForceUpdateCanvases();
this.StartScrollPanel(1);
}
#if !(UNITY_IOS || UNITY_ANDROID)
void wxReturnLogin()
{
wxLock = true;
wxBrowser.LoadHTML("<div/>");
//wxBrowser.Url = "chrome://version/";
wxLogin1.DOLocalMoveY(-573, 0.3f).onComplete = () =>
{
wxLock = false;
wxLogin1.gameObject.SetActive(false);
};
}
#endif
/// <summary>
/// 立刻跳到登录页并且返回按钮强行失效
/// </summary>
private void goLoginImmediately()
{
#if !(UNITY_IOS || UNITY_ANDROID)
imagedf.localPosition = new Vector3(-580, -34, 0);
imagexf.localPosition = new Vector3(0, -669, 0);
LoginBg.localPosition = Vector3.zero;
LoginBg.GetComponent<RectTransform>().sizeDelta = new Vector2(360, 573);
#endif
var scrollValue = 1f / (pageNums - 1);
var value = 1 * scrollValue;
scrollPanel.horizontalNormalizedPosition = value;
loginContainer.Find("returnQuick").GetComponent<Button>().gameObject.SetActive(false);
}
/// <summary>
/// 返回快速登录页
/// </summary>
void ReturnQuick()
{
#if !(UNITY_IOS || UNITY_ANDROID)
if (imagexf != null)
{
imagexf.DOLocalMoveY(-575, 0.3f);
}
if (imagedf != null)
{
imagedf.DOLocalMoveY(-128, 0.3f);
}
if (LoginBg != null)
{
LoginBg.GetComponent<RectTransform>().DOSizeDelta(new Vector2(360, 385), 0.3f);
LoginBg.GetComponent<RectTransform>().DOLocalMoveY(-94, 0.3f);
}
#endif
this.StartScrollPanel(0);
}
/// <summary>
/// 去登录页
/// </summary>
/// <param name="noReturn"></param>
public void goLogin(bool noReturn = false)
{
#if !(UNITY_IOS || UNITY_ANDROID)
if (imagexf != null)
{
imagexf.DOLocalMoveY(-669, 0.3f);
}
if (imagedf != null)
{
imagedf.DOLocalMoveY(-34, 0.3f);
}
if (LoginBg != null)
{
LoginBg.GetComponent<RectTransform>().DOSizeDelta(new Vector2(360, 573), 0.3f);
LoginBg.GetComponent<RectTransform>().DOLocalMoveY(0, 0.3f);
}
#endif
//DOTween.To(() => o, x => o = x, t, 0.3f);
this.StartScrollPanel(1);
if (noReturn)
{
loginContainer.Find("returnQuick").GetComponent<Button>().gameObject.SetActive(false);
}
}
void HidePassword()
{
signPage1.Find("Password").gameObject.SetActive(false);
signPage1.Find("CPassword").gameObject.SetActive(false);
UIManager.RemoveEvent(signPage1.Find("signThird").gameObject);
UIManager.AddEvent(signPage1.Find("signThird").gameObject, EventTriggerType.PointerClick, (b) =>
{
goRegNextWithoutPass();
});
//signPage1.Find("signThird").GetComponent<Button>().onClick.RemoveAllListeners();
//signPage1.Find("signThird").GetComponent<Button>().onClick.AddListener(goRegNextWithoutPass);
}
void ShowPassword(bool ignoreEmail = false)
{
if (!ignoreEmail)
{
signForm.email.text = "";
}
signForm.password.text = "";
signForm.captcha.text = "";
signForm.cpassword.text = "";
signPage1.Find("Password").gameObject.SetActive(true);
signPage1.Find("CPassword").gameObject.SetActive(true);
UIManager.RemoveEvent(signPage1.Find("signThird").gameObject);
UIManager.AddEvent(signPage1.Find("signThird").gameObject, EventTriggerType.PointerClick, (b) =>
{
goRegNext(1);
});
//signPage1.Find("signThird").GetComponent<Button>().onClick.RemoveAllListeners();
//signPage1.Find("signThird").GetComponent<Button>().onClick.AddListener(() => { ; });
}
/// <summary>
///
/// </summary>
/// <param name="isAccount"></param>
/// <param name="type">0 注册 1 忘记密码</param>
void goSign(bool isAccount = true, int type = 0)
{
#if UNITY_ANDROID || UNITY_IOS
MobileAni(false);
#endif
if (!isAccount)
{
pageNums = 5;
//wxLogin2.gameObject.SetActive(false);
signPage1.Find("next").gameObject.SetActive(false);
signPage1.Find("BtnModiPass").gameObject.SetActive(false);
#if !(UNITY_ANDROID || UNITY_IOS)
signPage1.Find("previousThird").gameObject.SetActive(true);
#endif
signPage1.Find("signThird").gameObject.SetActive(true);
ShowPassword();
this.StartScrollPanel(3);
this.StartScrollSign(0);
}
else
{
if (type == 0)
{
pageNums = 4;
signContainer.Find("signText").GetComponent<Text>().text = "SIGN UP";
wxLogin2.gameObject.SetActive(false);
signPage1.Find("next").gameObject.SetActive(true);
signPage1.Find("BtnModiPass").gameObject.SetActive(false);
signPage1.Find("previousThird").gameObject.SetActive(false);
signPage1.Find("signThird").gameObject.SetActive(false);
ShowPassword();
this.StartScrollPanel(2);
this.StartScrollSign(0);
}
else
{
pageNums = 4;
signContainer.Find("signText").GetComponent<Text>().text = "RESET PASSWORD";
wxLogin2.gameObject.SetActive(false);
signPage1.Find("next").gameObject.SetActive(false);
signPage1.Find("BtnModiPass").gameObject.SetActive(true);
signPage1.Find("previousThird").gameObject.SetActive(false);
signPage1.Find("signThird").gameObject.SetActive(false);
ShowPassword();
this.StartScrollPanel(2);
this.StartScrollSign(0);
}
}
}
/// <summary>
/// 登录/注册完成,去首页
/// </summary>
/// <param name="gou"></param>
void goMain(Transform gou)
{
#if (UNITY_ANDROID || UNITY_IOS)
StartCoroutine("Loading");
#endif
var data = userResult;
if (data == null) return;
//ConfigHelper.CurrentUser = res.data;
if (gou != null && gou.gameObject.activeSelf)
{
SaveInfo(data);
//PlayerPrefs.SetString("UserInfos", JsonConvert.SerializeObject(userInfos));
}
else
{
var u = userInfos.Find(x => x.Id == data.Id);
if (u != null)
{
userInfos.Remove(u);
}
UIManager.Instance.userInfos = userInfos;
UIManager.Instance.userInfoIndex = 0;
}
App.CurrentUser = data;
App.RideSetting.Sensitivity = data.Sensitivity;
//查询我参加的比赛
Task.Run(() =>
{
UIManager.UpdateJoinCompetition();
});
//SceneManager.LoadSceneAsync("MainScene");
StartCoroutine("LoadMain");
}
private IEnumerator Loading()
{
yield return null;
DontDestroyOnLoad(loadingPanel);
Utils.showLoadingExtension(loadingPanel);
}
private IEnumerator LoadMain()
{
yield return new WaitForSeconds(1f);
SceneManager.LoadSceneAsync("MainScene").completed += QuickLoginUser_completed;
}
private void QuickLoginUser_completed(AsyncOperation obj)
{
//Utils.hideLoadingExtension(loadingPanel);
}
/// <summary>
/// 缓存打钩的用户信息
/// </summary>
/// <param name="data"></param>
public void SaveInfo(UserResultModel data)
{
var index = userInfos.FindIndex(x => x.Id == data.Id);
if (index == -1)
{
userInfos.Add(new QUserInfo
{
Id = data.Id,
NickName = data.Nickname,
Avatar = data.WxHeadImg,
Cookie = data.cookie,
Phone = data.Phone
});
index = userInfos.Count - 1;
}
else
{
var u = userInfos[index];
u.Id = data.Id;
u.NickName = data.Nickname;
u.Avatar = data.WxHeadImg;
u.Cookie = data.cookie;
u.Phone = data.Phone;
//userInfos.Insert(0, new QUserInfo
//{
// Id = data.Id,
// NickName = data.Nickname,
// Avatar = data.WxHeadImg,
// Cookie = data.cookie
//});
//userInfos.Remove(u);
}
UIManager.Instance.userInfos = userInfos;
UIManager.Instance.userInfoIndex = index;
}
/// <summary>
/// 登录提交
/// </summary>
async void Submit()
{
var res = await ConfigHelper.userApi.LoginV1(loginForm.email.text, loginForm.password.text, "");
//var res = await NoAuthApi.Login(phone.text, pwd.text);
if (res.result)
{
userResult = JObject.FromObject(res.data).ToObject<UserResultModel>();
goMain(remember.transform.Find("Gou"));
}
else
{
if (res.data != null)
{
var errorList = JArray.FromObject(res.data);
Utils.SetValidate(formDict, errorList);
}
Utils.showToast(gameObject, res.errMsg);
}
}
// Update is called once per frame
void Update()
{
//Debug.Log($"{phone.isFocused}, ${pwd != null}, ${Input.GetKeyDown(KeyCode.Tab)}");
if (Input.GetKeyDown(KeyCode.Tab))
{
if (loginForm != null && loginForm.email.isFocused && loginForm.password != null)
{
loginForm.password.ActivateInputField();
}
if (signForm != null)
{
if (signForm.email.isFocused)
{
signForm.captcha.ActivateInputField();
}
if (signForm.captcha.isFocused)
{
signForm.password.ActivateInputField();
}
if (signForm.password.isFocused)
{
signForm.cpassword.ActivateInputField();
}
if (signForm.cpassword.isFocused)
{
signForm.email.ActivateInputField();
}
}
}
if (Input.GetKeyDown(KeyCode.KeypadEnter) || Input.GetKeyDown(KeyCode.Return))
{
if (loginForm != null && !string.IsNullOrEmpty(loginForm.email.text) && !string.IsNullOrEmpty(loginForm.password.text))
{
Submit();
}
}
if (startCaptcha)
{
CaptchaTimerTick();
}
//if (wxLogin1.gameObject.activeInHierarchy)
//{
// adjTime += Time.deltaTime;
// if (adjTime >= 0.5 && wxLogin1.gameObject.activeInHierarchy && startJs)
// {
// Debug.Log("在调整");
// adjTime = 0;
// AdjustWxQrCode();
// }
//}
}
private void FixedUpdate()
{
goScrollPanel();
goScrollSign();
}
//float adjTime = 0;
//bool startJs = false;
#region
private int tmpImdex = 0;
private int scrollPanelIndex = 2;
//private float scrollValue = 0.5f;
private bool startScrollPanel = false;
private void StartScrollPanel(int index)
{
if (startScrollPanel) return;
scrollPanelIndex = index;
startScrollPanel = true;
}
private int pageNums = 4;
private void goScrollPanel()
{
var index = scrollPanelIndex;
var scrollValue = 1f / (pageNums - 1);
var value = index * scrollValue;
if (scrollPanel != null && startScrollPanel)
{
if (scrollPanel.horizontalNormalizedPosition >= value)
{
scrollPanel.horizontalNormalizedPosition -= (scrollValue / 10);
if (scrollPanel.horizontalNormalizedPosition <= value)
{
scrollPanel.horizontalNormalizedPosition = value;
startScrollPanel = false;
}
}
else
{
scrollPanel.horizontalNormalizedPosition += (scrollValue / 10);
if (scrollPanel.horizontalNormalizedPosition >= value)
{
scrollPanel.horizontalNormalizedPosition = value;
startScrollPanel = false;
}
}
}
}
#endregion
#region
private bool startScrollSign = false;
private int scrollSignIndex = 0;
private void StartScrollSign(int index)
{
if (startScrollSign) return;
scrollSignIndex = index;
startScrollSign = true;
Debug.Log($"{index},{index * 160}");
if (index == 1)
{
if (signForm.years.value != -1) signForm.years.value = 0;
if (signForm.months.value != -1) signForm.months.value = 0;
if (signForm.days.value != -1) signForm.days.value = 0;
if (signForm.countrys.value != -1) signForm.countrys.value = regOptions.countryDefaultValue;
if (signForm.genders.value != -1) signForm.genders.value = 0;
if (signForm.units.value != -1) signForm.units.value = 0;
if (pageNums == 5 && wxInfoJson != null)
{
var sex = wxInfoJson.Value<int>("sex");
if (sex > 0)
{
signForm.genders.value = sex - 1;
}
var country = wxInfoJson.Value<string>("country");
signForm.countrys.value = regOptions.GetCountryIndexByCode(country);
}
//if (string.IsNullOrEmpty(signForm.weight.text))
//{
// signForm.weight.text = "";
//}
//if (!string.IsNullOrEmpty(signForm.height.text))
//{
// signForm.height.text = "";
//}
}
#if !(UNITY_ANDROID || UNITY_IOS)
signScrollBar.DOLocalMoveX((index-1) *160, 0.2f);
#endif
}
private void goScrollSign()
{
float value = scrollSignIndex;
if (scrollSign != null && startScrollSign)
{
if (scrollSignIndex == 0)
{
scrollSign.horizontalNormalizedPosition -= (1f / 10);
if (scrollSign.horizontalNormalizedPosition <= 0)
{
scrollSign.horizontalNormalizedPosition = 0;
startScrollSign = false;
}
}
else if (scrollSignIndex == 1)
{
scrollSign.horizontalNormalizedPosition += (1f / 10);
if (scrollSign.horizontalNormalizedPosition >= 1)
{
scrollSign.horizontalNormalizedPosition = 1;
startScrollSign = false;
}
}
}
}
#endregion
}