| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131 |
- 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<GamePlayInfo> playGameInfos = new List<GamePlayInfo>();
- public List<GamePlayInfo> 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<JArray> cb = delegate (JArray result)
- {
- //Debug.Log(result);
- playGameInfos.Clear();
- foreach (var itemInfo in result)
- {
- string scoreType = "";
- int currentGameType = -1; // 选一个 gameType用以查询数据
- int time = itemInfo.Value<int>("totalDuration");
- int gameType = itemInfo.Value<int>("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);
- }
- }
- }
|