using AppUI.Config; using AppUI.Manager.View; using Newtonsoft.Json.Linq; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using UHomeView = AppUI.View.Home.Main.HomeView; namespace AppUI.View.Home.UserCenter { public class UserCenterView : MonoBehaviour, MenuBackInterface { //处理分数叠加的情况 List playGameInfos = new List(); public List PlayGameInfos { get => playGameInfos; } // Start is called before the first frame update void Start() { PersistenHandler.ins?.menuBackCtr.views.Add(this); getPlayTimeByGameType(); } void OnDestroy() { PersistenHandler.ins?.menuBackCtr.views.Remove(this); } // Update is called once per frame void Update() { } public bool OnMenuBack() { ViewManager.HideView(UIViewType.UserCenterView); return true; } public void OnClick_Back() { AudioMgr.ins.PlayBtn(); ViewManager.HideView(UIViewType.UserCenterView); } public void NotifyUserInfoRefresh() { //RenderUserInfo(); UHomeView.ins.RenderNameOrGender(); UHomeView.ins.RenderMyAvatarSprite(); } void getPlayTimeByGameType() { System.Action cb = delegate (JArray result) { //Debug.Log(result); playGameInfos.Clear(); foreach (var itemInfo in result) { string scoreType = ""; int currentGameType = -1; // 选一个 gameType用以查询数据 int time = itemInfo.Value("totalDuration"); int gameType = itemInfo.Value("gameType"); //Debug.Log(gameType+" = " + time); switch (gameType) { case 1: //静止靶 (单人) case 2: //静止靶 (本地PK) case 9: //静止靶 (联机PK) scoreType = "OlynpicArchery"; currentGameType = 1; break; case 3://兔子关卡 (单人) case 6://兔子关卡 (本地PK) case 10://兔子关卡 (联机PK) scoreType = "HareHunt"; currentGameType = 3; break; case 4: //野鸡关卡 (单人) case 7: //野鸡关卡 (本地PK) case 11://野鸡关卡 (联机PK) scoreType = "PheasuntHunt"; currentGameType = 4; break; case 5: //野狼关卡 (单人) case 8: //野狼关卡 (本地PK) case 12://野狼关卡 (联机PK) scoreType = "WolfHunt"; currentGameType = 5; break; case 13: //野鸭关卡 (单人) scoreType = "LevelDuckHunter"; currentGameType = 13; break; case 14: //荒野射击 (单人) scoreType = "LevelWildAttack"; currentGameType = 14; break; case 15: //水果达人 (单人) scoreType = "FruitExpert"; currentGameType = 15; break; } if (scoreType != "") { bool bCanAdd = true; foreach (GamePlayInfo _item in playGameInfos) { if (_item.ScoreType == scoreType) { _item.PlayTime += time; bCanAdd = false; } } if (bCanAdd) { GamePlayInfo gamePlayInfo = new GamePlayInfo(); gamePlayInfo.PlayTime = time; gamePlayInfo.ScoreType = scoreType; gamePlayInfo.GameType = currentGameType; playGameInfos.Add(gamePlayInfo); } } } }; UserPlayer.ins.call("UserGameAnalyseComp.getUserGamePlayTime", null, cb); } } }