Merge branch 'dev_lishuo' into dev_cyp

# Conflicts:
#	Assets/Resources/UI/Prefab/Panel/Mobile/DevicePanel.prefab
#	Assets/Scenes/Login-Mobile.unity
#	Assets/Scenes/Login.unity
#	Assets/Scripts/App.cs
#	Assets/Scripts/Editor.meta
#	Assets/Scripts/Scenes/Ride/Scripts/CyclingController.cs
This commit is contained in:
Caiyanpeng committed 2021-11-23 09:51:10 +08:00
commit 190a66bb68
89 files changed
+9195 -1628

No files matched your search

+8 -1
View File
@@ -45,6 +45,13 @@ namespace Assets.Scripts.Apis
httpClient = new System.Net.Http.HttpClient(httpClientHandler);
httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
HandleHeaders(httpClient.DefaultRequestHeaders);
App.ChangeLanguageEvent += App_ChangeLanguageEvent;
}
//语言切换
private static void App_ChangeLanguageEvent()
{
httpClient.DefaultRequestHeaders.Remove("Language");
httpClient.DefaultRequestHeaders.Add("Language", App.GetLocalLanguage());
}
protected async Task<bool> GetAsFileSync(string url, string fileName)
@@ -487,7 +494,7 @@ namespace Assets.Scripts.Apis
private void AddLanguage()
{
httpClient.DefaultRequestHeaders.Remove("Language");
httpClient.DefaultRequestHeaders.Add("Language", "en");
httpClient.DefaultRequestHeaders.Add("Language", App.GetLocalLanguage());
}
/// <summary>
+56 -1
View File
@@ -12,10 +12,13 @@ using Assets.Scripts;
using System;
using System.Threading.Tasks;
using System.Timers;
using Newtonsoft.Json;
public delegate void ChangeLanguageDelegate();
public static class App
{
public static string Host = "http://192.168.0.101:5084/";
public static string Host = "http://192.168.0.102:5082/";
public static string AppVersion = Application.version;
@@ -101,9 +104,61 @@ public static class App
public static string WorkoutsUrl { get; internal set; }
public static long delayTime { get; set; }
public static List<OnlineUser> userList = new List<OnlineUser>();
private static string language { get; set; }
public static Dictionary<string, string> LanguageManager { get; set; }
#region 语言改变事件
public static event ChangeLanguageDelegate ChangeLanguageEvent;
static Dictionary<string, Dictionary<string, string>> dic;
public static string GetLocalLanguage()
{
return language;
}
public static void ChangeLanguage(string lan)
{
language = lan;
if (dic.ContainsKey(language))
{
LanguageManager = dic[language];
}
if (ChangeLanguageEvent != null)
{
ChangeLanguageEvent();
}
}
public static string GetLocalString(string value)
{
if (LanguageManager != null && LanguageManager.ContainsKey(value))
{
return LanguageManager[value];
}
return value;
}
private static void InitLanguage()
{
var systemLanguage = Application.systemLanguage.ToString().ToLower();
if (systemLanguage.Contains("chinese"))
{
language = "zh";
}
else
{
language = "en";
}
var a = Resources.Load<TextAsset>("UI/language");
dic = JsonConvert.DeserializeObject<Dictionary<string, Dictionary<string, string>>>(a.text);
if (dic.ContainsKey(language))
{
LanguageManager = dic[language];
}
}
#endregion
static App()
{
InitLanguage();
#if !UNITY_EDITOR
//Host = "http://pf.juze.pro/";
//Host = "http://192.168.0.101:5087/";
+1 -1
View File
@@ -90,7 +90,7 @@ namespace Assets.Scripts.Scenes
{
isNetWorkLose = false;
App.delayTime = ping.time;
Debug.Log(App.delayTime);
//Debug.Log(App.delayTime);
ping.DestroyPing();
ping = null;
}
+10 -10
View File
@@ -187,9 +187,9 @@ public class LoginController : BaseScene
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.captionText.text = App.GetLocalString("Year");
months.captionText.text = App.GetLocalString("Month");
days.captionText.text = App.GetLocalString("Day");
years.onValueChanged.AddListener((int index) =>
{
if (index != -1 && months.value != -1)
@@ -207,7 +207,7 @@ public class LoginController : BaseScene
}
});
genders.options = regOptions.genders;
genders.captionText.text = "Gender";
genders.captionText.text = App.GetLocalString("Gender");
countrys.options = regOptions.countrys;
countrys.value = regOptions.countryDefaultValue;
countrys.onValueChanged.AddListener((int index) =>
@@ -215,7 +215,7 @@ public class LoginController : BaseScene
countrys.transform.Find("RawImage").GetComponent<RawImage>().texture = regOptions.GetCountryImage(index);
});
units.options = regOptions.units;
units.captionText.text = "Display Units";
units.captionText.text = App.GetLocalString("Display Units");
signForm = new SignForm()
{
email = email,
@@ -782,16 +782,16 @@ public class LoginController : BaseScene
{
var btn = signPage1.Find("Captcha").Find("BtnGet");
var btnText = signPage1.Find("Captcha").Find("BtnGet").Find("Text").GetComponent<Text>();
btnText.text = $"Again({time--})";
btnText.text = $"{App.GetLocalString("Again")}({time--})";
if (time < 0)
{
btnText.text = "Get";
btnText.text = App.GetLocalString("Get");
btn.GetComponent<Button>().enabled = true;
btn.GetComponent<Button>().interactable = true;
startCaptcha = false;
//timer.Stop();
}
timer = 1.0f;
timer += 1.0f;
}
}
@@ -1184,7 +1184,7 @@ public class LoginController : BaseScene
if (type == 0)
{
pageNums = 4;
signContainer.Find("signText").GetComponent<Text>().text = "SIGN UP";
signContainer.Find("signText").GetComponent<Text>().text = App.GetLocalString("SIGN UP");
wxLogin2.gameObject.SetActive(false);
signPage1.Find("next").gameObject.SetActive(true);
signPage1.Find("BtnModiPass").gameObject.SetActive(false);
@@ -1197,7 +1197,7 @@ public class LoginController : BaseScene
else
{
pageNums = 4;
signContainer.Find("signText").GetComponent<Text>().text = "RESET PASSWORD";
signContainer.Find("signText").GetComponent<Text>().text = App.GetLocalString("RESET PASSWORD");
wxLogin2.gameObject.SetActive(false);
signPage1.Find("next").gameObject.SetActive(false);
signPage1.Find("BtnModiPass").gameObject.SetActive(true);
@@ -222,7 +222,7 @@ namespace Assets.Scenes.Ride.Scripts
//比赛状态
CompetitionStatus.text = competition.StatusVlaue.ToString();
//参赛选手
Contestant.text = competition.UserList.Count.ToString() + "Riders";
Contestant.text = competition.UserList.Count.ToString() + App.GetLocalString("Riders");
ShowPlayers(competition.UserList);
//路书描述
mapDescText.text = GetMaxString(competition.Dec, 400);
@@ -335,7 +335,7 @@ namespace Assets.Scenes.Ride.Scripts
_raceStart = competition.Status == 3;
_canEnter = competition.CanEnter;
Contestant.text = competition.UserList.Count.ToString() + "Riders";
Contestant.text = competition.UserList.Count.ToString() + App.GetLocalString("Riders");
ShowPlayers(competition.UserList);
}
}
@@ -36,7 +36,7 @@ namespace Assets.Scenes.Ride.Scripts
//比赛开始前倒计时
if (count >= 0 && !competitionModel.recorderData.Saved)
{
ShowCountDown(count, "Get Ready!");//显示倒计时面板信息
ShowCountDown(count, App.GetLocalString("Get Ready!"));//显示倒计时面板信息
Timer.gameObject.SetActive(false);
TimerTitle.gameObject.SetActive(false);
}
@@ -50,7 +50,7 @@ namespace Assets.Scenes.Ride.Scripts
{
#if UNITY_IOS || UNITY_ANDROID
//显示倒计时面板信息
ShowCountDown(s.Item1, "Time Limit");
ShowCountDown(s.Item1, App.GetLocalString("Time Limit"));
#else
ShowCountDown(s.Item1, "Get The First Place. Time Limit");
#endif
@@ -59,7 +59,7 @@ namespace Assets.Scenes.Ride.Scripts
{
//显示倒计时面板信息
//ShowCountDown(s.Item1, "remaining");
ShowCountDown(s.Item1, "Remaining Time");
ShowCountDown(s.Item1, App.GetLocalString("Remaining Time"));
}
//显示当前选手骑行时间
Timer.gameObject.SetActive(true);
@@ -409,7 +409,7 @@ namespace Assets.Scenes.Ride.Scripts
heartRate.text = (currentPlayer.HeartRate ?? 0).ToString();
candance.text = $"{Math.Round(currentPlayer.Cadance, 0)}";
preSlopeText.text = $"{Math.Round(currentPlayer.PreSlope, 1)}%";
currentSlopeToatalDistanceText.text = $"Total:{Math.Round(currentPlayer.CurrentDistance, 0)}M";
currentSlopeToatalDistanceText.text = $"{App.GetLocalString("Total")}:{Math.Round(currentPlayer.CurrentDistance, 0)}M";
//坡度相关数据
nextSlopeText.text = Math.Round(currentPlayer.NextSlope, 1).ToString() + "%";
//nextSlopeDistanceText.GetComponent<NumberDotween>().AnimateNum((float)playerController.NextSlopeDistance, 0, "-{0}M");
+1 -1
View File
@@ -66,7 +66,7 @@ namespace Assets.Scripts.UI.Control
isSelected = false;
this.mInnerInputField.OnDeselect(eventData);
transform.Find("Placeholder").GetComponent<Text>().text = placeHolderText;
transform.Find("Placeholder").GetComponent<Text>().text = App.GetLocalString(placeHolderText);
//var image = this.transform.GetComponent<Image>();
//var png1 = Resources.Load<Sprite>("Images/ipt-0");
//image.sprite = png1;
+23
View File
@@ -11,6 +11,7 @@ namespace Assets.Scripts.UI.Control
[RequireComponent(typeof(Text))]
public class PFUIText : PFUIComponentBase
{
public string key;
private Text text;
public string Text
@@ -27,6 +28,28 @@ namespace Assets.Scripts.UI.Control
protected void Awake()
{
text = this.transform.GetComponent<Text>();
if (string.IsNullOrEmpty(key))
{
key = text.text;//默认英文内容为key值
}
}
protected void Start()
{
Debug.Log(text.text);
if (App.LanguageManager != null && App.LanguageManager.ContainsKey(key))
{
Debug.Log(text.text);
text.text = App.LanguageManager[key];
}
App.ChangeLanguageEvent += App_ChangeLanguageEvent;
}
private void App_ChangeLanguageEvent()
{
if (App.LanguageManager != null && App.LanguageManager.ContainsKey(text.text))
{
text.text = App.LanguageManager[key];
}
}
}
}
+5 -2
View File
@@ -71,8 +71,8 @@ public class Confirm : PFUIPanel
// return;
//}
//text.text = txt;
_title.Text = title;
_content.Text = content;
_title.Text = App.GetLocalString(title);
_content.Text = App.GetLocalString(content);
_callback = callback;
_cancelCallback = cancelCallback;
}
@@ -85,6 +85,9 @@ public class Confirm : PFUIPanel
ok = "Yes";
cancel = "No";
}
ok = App.GetLocalString(ok);
cancel = App.GetLocalString(cancel);
_ok.transform.Find("Text").GetComponent<Text>().text = ok;
_cancel.transform.Find("Text").GetComponent<Text>().text = cancel;
}
@@ -276,8 +276,8 @@ public class DeviceView : MonoBehaviour
connectionPanel.SetActive(false);
logo.sprite = sprite0;
noDevice.text = "NO DEVICE";
searchState.text = "Searching...";
noDevice.text = App.GetLocalString("NO DEVICE");
searchState.text = App.GetLocalString("Searching...");
var hasDevice = false;
if (SensorType == SensorType.SpeedCadence) {
@@ -54,13 +54,14 @@ namespace Assets.Scripts.UI.Prefab.Login
{
months.Add(new Dropdown.OptionData(m.ToString()));
}
days = new List<Dropdown.OptionData>();
genders = new List<Dropdown.OptionData>() {new Dropdown.OptionData("Male"), new Dropdown.OptionData("FeMale") };
genders = new List<Dropdown.OptionData>() {new Dropdown.OptionData(App.GetLocalString("Male")), new Dropdown.OptionData(App.GetLocalString("FeMale")) };
var countryJson = Resources.Load<TextAsset>("UI/flags-mini").text;
countryList = JsonConvert.DeserializeObject<List<CountryModel>>(countryJson);
countrys = countryList.Select(x => new Dropdown.OptionData(x.country)).ToList();
countryDefaultValue = countryList.FindIndex(x => x.country == "中国");
units = new List<Dropdown.OptionData>() { new Dropdown.OptionData("Metric"), new Dropdown.OptionData("Imperial") };
units = new List<Dropdown.OptionData>() { new Dropdown.OptionData(App.GetLocalString("Metric")), new Dropdown.OptionData(App.GetLocalString("Imperial")) };
}
public Texture GetCountryImage(int index)
{
@@ -9,7 +9,7 @@ namespace Assets.Scripts.UI.Prefab.MapList
{
public class MapFilterOptions
{
public static List<Dropdown.OptionData> distances = new string[] {"All",
public static List<Dropdown.OptionData> distances = new string[] {App.GetLocalString("All"),
"0-5KM",
"5-10KM",
"10-20KM",
@@ -20,7 +20,7 @@ namespace Assets.Scripts.UI.Prefab.MapList
"Over 200KM", }.Select(x=>new Dropdown.OptionData(x)).ToList();
public static Dictionary<string, string> distanceDict = new Dictionary<string, string>()
{
{"All","" },
{App.GetLocalString("All"),"" },
{"0-5KM","0-5" },
{"5-10KM","5-10" },
{"10-20KM","10-20" },
@@ -32,7 +32,7 @@ namespace Assets.Scripts.UI.Prefab.MapList
};
public static Dictionary<string,string> diffDict = new Dictionary<string, string>()
{
{"FLAT","0-100" },
{App.GetLocalString("FLAT"),"0-100" },
{"LV.4","100-250" },
{"LV.3","250-350" },
{"LV.2","350-550" },
@@ -40,11 +40,22 @@ namespace Assets.Scripts.UI.Prefab.MapList
{"HC","750-99999" },
};
public static List<Dropdown.OptionData> sorts = new string[] {
"Near", "Trend","Name","Distance","Difficulty","Time"
App.GetLocalString("Near"), App.GetLocalString("Trend"), App.GetLocalString("Name"), App.GetLocalString("Distance"), App.GetLocalString("Difficulty"), App.GetLocalString("Time")
}.Select(x => new Dropdown.OptionData(x)).ToList();
public static Dictionary<string, string> sortsDict = new Dictionary<string, string>()
{
{App.GetLocalString("Near"),"Near" },
{App.GetLocalString("Trend"),"Trend" },
{App.GetLocalString("Name"),"Name" },
{App.GetLocalString("Distance"),"Distance" },
{App.GetLocalString("Difficulty"),"Difficulty" },
{App.GetLocalString("Time"),"Time" },
};
public static Dictionary<string, string> diffDisplayDict = new Dictionary<string, string>()
{
{"FLAT","0-100" },
{App.GetLocalString("FLAT"),"0-100" },
{"LV.4","100-250" },
{"LV.3","250-350" },
{"LV.2","350-550" },
@@ -175,7 +175,7 @@ public class EditUserController : PFUIPanel, INativeOnMobileImageSelect
mSexDropdown.ClearOptions();
mSexDropdown.AddOptions(new List<string>
{
"Male","Female"
App.GetLocalString("Male"),App.GetLocalString("Female")
});
mUnitDropdown.ClearOptions();
mUnitDropdown.AddOptions(UIManager.Instance.loginRegOptions.units);
@@ -226,7 +226,9 @@ public class MapListController : PFUIPanel
drop.value = 0;
drop.onValueChanged.AddListener((int index)=>
{
sort = drop.options[index].text;
var text = drop.options[index].text;
sort = MapFilterOptions.sortsDict[text];
if (sort == "Trend")
{
sort = "Hot";
+4 -4
View File
@@ -85,10 +85,10 @@ public class RaceScript : PFUIPanel
var map = currentItem.GetComponent<RaceItemScript>().mapCompetition;
if (map.Status == 1)
{
currentItem.Find("GetReadyContainer/Title").GetComponent<Text>().text = "Start for Registration";
currentItem.Find("GetReadyContainer/Title").GetComponent<Text>().text = App.GetLocalString("Start for Registration");
currentItem.Find("GetReadyContainer/Value").GetComponent<Text>().text =
map.StartApplyTime.ToLocalTime().ToString("yyyy-MM-dd HH:mm");
currentItem.Find("GetReadyContainer-2/Title").GetComponent<Text>().text = "Deadline for Registration";
currentItem.Find("GetReadyContainer-2/Title").GetComponent<Text>().text = App.GetLocalString("Deadline for Registration");
currentItem.Find("GetReadyContainer-2/Value").GetComponent<Text>().text =
map.EndApplyTime.ToLocalTime().ToString("yyyy-MM-dd HH:mm");
@@ -104,7 +104,7 @@ public class RaceScript : PFUIPanel
}
else if (map.Status == 3)
{
currentItem.Find("GetReadyContainer/Title").GetComponent<Text>().text = "Start Time";
currentItem.Find("GetReadyContainer/Title").GetComponent<Text>().text = App.GetLocalString("Start Time");
currentItem.Find("GetReadyContainer/Value").GetComponent<Text>().text =
map.StartTime.ToLocalTime().ToString("yyyy-MM-dd HH:mm");
}
@@ -132,7 +132,7 @@ public class RaceScript : PFUIPanel
{
currentItem.Find("GetReadyContainer").GetComponent<CanvasGroup>().alpha = 1;
currentItem.Find("GetReadyContainer/Title").GetComponent<Text>().text
= map.HasJoin ? "Get Ready" : "Start Time";
= App.GetLocalString(map.HasJoin ? "Get Ready" : "Start Time");
currentItem.Find("GetReadyContainer/Value").GetComponent<Text>().text
= map.HasJoin ? Utils.GetCountDown(time): map.StartTime.ToLocalTime().ToString("yyyy-MM-dd HH:mm");
}
+6 -1
View File
@@ -968,11 +968,16 @@ public class UIManager : MonoBehaviour
Confirm confirm = null;
public static void ShowConfirm(string title, string content, UnityAction action,int type = 2,UnityAction cancel = null)
{
if (UIManager.Instance == null)
{
return;
}
if(UIManager.Instance.confirm == null)
title = App.GetLocalString(title);
content = App.GetLocalString(content);
if (UIManager.Instance.confirm == null)
{
UIManager.Instance.confirm = UIManager.Instance.GetInstance<Confirm>("Confirm", ref UIManager.Instance.confirm);
UIManager.Show(UIManager.Instance.confirm, null, true);