using System.Collections; using Api; using Game; using HttpApi; using Message; using Sound; using TMPro; using UI; using UnityEngine; using UnityEngine.SceneManagement; namespace Comp { public class BattleMainComp : MonoBehaviour { public GameObject mainCamera; public GameObject resultPanel; public TextMeshProUGUI localName, antiName; public volatile bool end = false; private void Start() { SoundCore.Instance.PlaySound(SoundType.BattleBgmMain, SoundCtrl.BattleBgmPlayer, true, true); MessageComp.Instance.OnBattleClientMsg += OnClientMsg; localName.text = AccountManager.Instance.selfInfo.name; ApiComp.Instance.GetBattleDetail(GameCore.Instance.curBattleSession, (obj) => { StartCoroutine(StartGame(obj)); }, (code, msg) => { // TODO Do nothing Debug.LogWarning("request battle err " + msg); }); // //TODO 测试数据 // var localPlayer = new GamePlayer() { cockId = 1, playerAvatar = "aa", playerId = 1, playerName = "P1" }; // var antiPlayer = new GamePlayer() { cockId = 1, playerAvatar = "aa", playerId = 2, playerName = "P2" }; // _battleSession = "1VS2:1677309130682:NDYUXWKXWJ"; // // TODO 测试 // var logs = // "{\"fromPlayer\":1,\"fromPlayerHp\":210,\"toPlayerHp\":210,\"toPlayer\":2,\"fromCock\":1,\"toCock\":1,\"winPlayer\":1,\"battleCount\":31,\"winPlayerHp\":42,\"logArray\":[{\"index\":7,\"logs\":[{\"id\":7,\"msg\":\"第7回合:玩家[1]跳起来啄击落空了,玩家[2]受到0点伤害,剩下162血量\",\"from\":1,\"to\":2,\"type\":1,\"value\":0},{\"id\":7,\"msg\":\"\",\"from\":2,\"to\":1,\"type\":1,\"value\":0}]},{\"index\":11,\"logs\":[{\"id\":11,\"msg\":\"第11回合:玩家[2]普通啄击落空了,玩家[1]受到0点伤害,剩下138血量\",\"from\":2,\"to\":1,\"type\":2,\"value\":0},{\"id\":11,\"msg\":\"\",\"from\":1,\"to\":2,\"type\":1,\"value\":0}]},{\"index\":24,\"logs\":[{\"id\":24,\"msg\":\"第24回合:玩家[1]普通啄击,玩家[2]受到12点伤害,剩下54血量\",\"from\":1,\"to\":2,\"type\":1,\"value\":12},{\"id\":24,\"msg\":\"\",\"from\":2,\"to\":1,\"type\":1,\"value\":0}]},{\"index\":1,\"logs\":[{\"id\":1,\"msg\":\"第1回合:玩家[2]跳起来啄击,玩家[1]受到24点伤害,剩下186血量\",\"from\":2,\"to\":1,\"type\":2,\"value\":24},{\"id\":1,\"msg\":\"\",\"from\":1,\"to\":2,\"type\":1,\"value\":0}]},{\"index\":12,\"logs\":[{\"id\":12,\"msg\":\"第12回合:玩家[2]普通啄击,玩家[1]受到12点伤害,剩下126血量\",\"from\":2,\"to\":1,\"type\":1,\"value\":12},{\"id\":12,\"msg\":\"\",\"from\":1,\"to\":2,\"type\":1,\"value\":0}]},{\"index\":22,\"logs\":[{\"id\":22,\"msg\":\"第22回合:玩家[2]普通啄击,玩家[1]受到12点伤害,剩下66血量\",\"from\":2,\"to\":1,\"type\":1,\"value\":12},{\"id\":22,\"msg\":\"\",\"from\":1,\"to\":2,\"type\":1,\"value\":0}]},{\"index\":15,\"logs\":[{\"id\":15,\"msg\":\"第15回合:玩家[1]跳起来啄击,玩家[2]受到24点伤害,剩下114血量\",\"from\":1,\"to\":2,\"type\":2,\"value\":24},{\"id\":15,\"msg\":\"\",\"from\":2,\"to\":1,\"type\":1,\"value\":0}]},{\"index\":18,\"logs\":[{\"id\":18,\"msg\":\"第18回合:玩家[2]普通啄击,玩家[1]受到12点伤害,剩下90血量\",\"from\":2,\"to\":1,\"type\":1,\"value\":12},{\"id\":18,\"msg\":\"\",\"from\":1,\"to\":2,\"type\":1,\"value\":0}]},{\"index\":20,\"logs\":[{\"id\":20,\"msg\":\"第20回合:玩家[1]跳起来啄击,玩家[2]受到24点伤害,剩下66血量\",\"from\":1,\"to\":2,\"type\":2,\"value\":24},{\"id\":20,\"msg\":\"\",\"from\":2,\"to\":1,\"type\":2,\"value\":0}]},{\"index\":25,\"logs\":[{\"id\":25,\"msg\":\"第25回合:玩家[1]跳起来啄击,玩家[2]受到24点伤害,剩下30血量\",\"from\":1,\"to\":2,\"type\":2,\"value\":24},{\"id\":25,\"msg\":\"\",\"from\":2,\"to\":1,\"type\":1,\"value\":0}]},{\"index\":28,\"logs\":[{\"id\":28,\"msg\":\"第28回合:玩家[2]普通啄击,玩家[1]受到12点伤害,剩下54血量\",\"from\":2,\"to\":1,\"type\":1,\"value\":12},{\"id\":28,\"msg\":\"\",\"from\":1,\"to\":2,\"type\":1,\"value\":0}]},{\"index\":8,\"logs\":[{\"id\":8,\"msg\":\"第8回合:玩家[1]普通啄击落空了,玩家[2]受到0点伤害,剩下162血量\",\"from\":1,\"to\":2,\"type\":2,\"value\":0},{\"id\":8,\"msg\":\"\",\"from\":2,\"to\":1,\"type\":1,\"value\":0}]},{\"index\":19,\"logs\":[{\"id\":19,\"msg\":\"第19回合:玩家[2]普通啄击,玩家[1]受到12点伤害,剩下78血量\",\"from\":2,\"to\":1,\"type\":1,\"value\":12},{\"id\":19,\"msg\":\"\",\"from\":1,\"to\":2,\"type\":2,\"value\":0}]},{\"index\":23,\"logs\":[{\"id\":23,\"msg\":\"第23回合:玩家[2]跳起来啄击落空了,玩家[1]受到0点伤害,剩下66血量\",\"from\":2,\"to\":1,\"type\":1,\"value\":0},{\"id\":23,\"msg\":\"\",\"from\":1,\"to\":2,\"type\":1,\"value\":0}]},{\"index\":27,\"logs\":[{\"id\":27,\"msg\":\"第27回合:玩家[1]普通啄击,玩家[2]受到12点伤害,剩下6血量\",\"from\":1,\"to\":2,\"type\":1,\"value\":12},{\"id\":27,\"msg\":\"\",\"from\":2,\"to\":1,\"type\":1,\"value\":0}]},{\"index\":31,\"logs\":[{\"id\":31,\"msg\":\"第31回合:玩家[1]普通啄击,玩家[2]受到12点伤害,剩下-6血量\",\"from\":1,\"to\":2,\"type\":1,\"value\":12},{\"id\":31,\"msg\":\"\",\"from\":2,\"to\":1,\"type\":1,\"value\":0}]},{\"index\":4,\"logs\":[{\"id\":4,\"msg\":\"第4回合:玩家[1]跳起来啄击,玩家[2]受到24点伤害,剩下174血量\",\"from\":1,\"to\":2,\"type\":2,\"value\":24},{\"id\":4,\"msg\":\"\",\"from\":2,\"to\":1,\"type\":1,\"value\":0}]},{\"index\":30,\"logs\":[{\"id\":30,\"msg\":\"第30回合:玩家[2]普通啄击,玩家[1]受到12点伤害,剩下42血量\",\"from\":2,\"to\":1,\"type\":1,\"value\":12},{\"id\":30,\"msg\":\"\",\"from\":1,\"to\":2,\"type\":1,\"value\":0}]},{\"index\":29,\"logs\":[{\"id\":29,\"msg\":\"第29回合:玩家[1]跳起来啄击落空了,玩家[2]受到0点伤害,剩下6血量\",\"from\":1,\"to\":2,\"type\":1,\"value\":0},{\"id\":29,\"msg\":\"\",\"from\":2,\"to\":1,\"type\":1,\"value\":0}]},{\"index\":2,\"logs\":[{\"id\":2,\"msg\":\"第2回合:玩家[1]普通啄击,玩家[2]受到12点伤害,剩下198血量\",\"from\":1,\"to\":2,\"type\":1,\"value\":12},{\"id\":2,\"msg\":\"\",\"from\":2,\"to\":1,\"type\":2,\"value\":0}]},{\"index\":6,\"logs\":[{\"id\":6,\"msg\":\"第6回合:玩家[2]跳起来啄击落空了,玩家[1]受到0点伤害,剩下186血量\",\"from\":2,\"to\":1,\"type\":1,\"value\":0},{\"id\":6,\"msg\":\"\",\"from\":1,\"to\":2,\"type\":1,\"value\":0}]},{\"index\":9,\"logs\":[{\"id\":9,\"msg\":\"第9回合:玩家[2]跳起来啄击,玩家[1]受到24点伤害,剩下162血量\",\"from\":2,\"to\":1,\"type\":2,\"value\":24},{\"id\":9,\"msg\":\"\",\"from\":1,\"to\":2,\"type\":1,\"value\":0}]},{\"index\":10,\"logs\":[{\"id\":10,\"msg\":\"第10回合:玩家[2]跳起来啄击,玩家[1]受到24点伤害,剩下138血量\",\"from\":2,\"to\":1,\"type\":2,\"value\":24},{\"id\":10,\"msg\":\"\",\"from\":1,\"to\":2,\"type\":1,\"value\":0}]},{\"index\":26,\"logs\":[{\"id\":26,\"msg\":\"第26回合:玩家[1]普通啄击,玩家[2]受到12点伤害,剩下18血量\",\"from\":1,\"to\":2,\"type\":1,\"value\":12},{\"id\":26,\"msg\":\"\",\"from\":2,\"to\":1,\"type\":1,\"value\":0}]},{\"index\":17,\"logs\":[{\"id\":17,\"msg\":\"第17回合:玩家[2]跳起来啄击,玩家[1]受到24点伤害,剩下102血量\",\"from\":2,\"to\":1,\"type\":2,\"value\":24},{\"id\":17,\"msg\":\"\",\"from\":1,\"to\":2,\"type\":1,\"value\":0}]},{\"index\":21,\"logs\":[{\"id\":21,\"msg\":\"第21回合:玩家[2]跳起来啄击落空了,玩家[1]受到0点伤害,剩下78血量\",\"from\":2,\"to\":1,\"type\":1,\"value\":0},{\"id\":21,\"msg\":\"\",\"from\":1,\"to\":2,\"type\":1,\"value\":0}]},{\"index\":3,\"logs\":[{\"id\":3,\"msg\":\"第3回合:玩家[2]普通啄击落空了,玩家[1]受到0点伤害,剩下186血量\",\"from\":2,\"to\":1,\"type\":2,\"value\":0},{\"id\":3,\"msg\":\"\",\"from\":1,\"to\":2,\"type\":2,\"value\":0}]},{\"index\":5,\"logs\":[{\"id\":5,\"msg\":\"第5回合:玩家[1]普通啄击,玩家[2]受到12点伤害,剩下162血量\",\"from\":1,\"to\":2,\"type\":1,\"value\":12},{\"id\":5,\"msg\":\"\",\"from\":2,\"to\":1,\"type\":2,\"value\":0}]},{\"index\":13,\"logs\":[{\"id\":13,\"msg\":\"第13回合:玩家[1]普通啄击,玩家[2]受到12点伤害,剩下150血量\",\"from\":1,\"to\":2,\"type\":1,\"value\":12},{\"id\":13,\"msg\":\"\",\"from\":2,\"to\":1,\"type\":1,\"value\":0}]},{\"index\":14,\"logs\":[{\"id\":14,\"msg\":\"第14回合:玩家[1]普通啄击,玩家[2]受到12点伤害,剩下138血量\",\"from\":1,\"to\":2,\"type\":1,\"value\":12},{\"id\":14,\"msg\":\"\",\"from\":2,\"to\":1,\"type\":2,\"value\":0}]},{\"index\":16,\"logs\":[{\"id\":16,\"msg\":\"第16回合:玩家[1]跳起来啄击,玩家[2]受到24点伤害,剩下90血量\",\"from\":1,\"to\":2,\"type\":2,\"value\":24},{\"id\":16,\"msg\":\"\",\"from\":2,\"to\":1,\"type\":1,\"value\":0}]}],\"dbId\":0}"; } private IEnumerator StartGame(BattleDetailListObj obj) { var localPlayerId = AccountManager.Instance.selfInfo.playerId; GamePlayer localPlayer, antiPlayer; if (localPlayerId == obj.fromPlayer) { localPlayer = new GamePlayer() { cockId = obj.fromCock, playerId = obj.fromPlayer }; antiPlayer = new GamePlayer() { cockId = obj.toCock, playerId = obj.toPlayer }; } else { localPlayer = new GamePlayer() { cockId = obj.toCock, playerId = obj.toPlayer }; antiPlayer = new GamePlayer() { cockId = obj.fromCock, playerId = obj.fromPlayer }; } Debug.Log("local player is " + localPlayer.playerId + "==== anti player is " + antiPlayer.playerId); ApiComp.Instance.QueryPlayerInfo(antiPlayer.playerId, (data) => { antiName.text = data.name; }, (code, msg) => { antiName.text = "net error"; }); GameCore.Instance.Init(localPlayer, antiPlayer, gameObject, mainCamera, obj, resultPanel); yield return new WaitForEndOfFrame(); } private void OnClientMsg(int playerId, MsgContent content) { if (content.contentType == "lift") { Debug.Log("接收lift"); GameCore.Instance.GetCurState().LiftCock(); } } public void Lift() { Debug.Log("click lift"); // GameCore.Instance.TransitionToState(GameCore.Instance.endState); ApiComp.Instance.MsgInBattle(GameCore.Instance.curBattleSession, new MsgContent() { contentType = "lift" }); GameCore.Instance.GetCurState().LiftCock(); } public void ClickResult() { Debug.Log("Click result"); GameStartJumper.BackToUI(); // 获取当前场景 // var currentScene = SceneManager.GetActiveScene(); // // 关闭当前场景 // SceneManager.UnloadSceneAsync(currentScene); } private void Update() { if (end) { end = false; StartCoroutine(End()); } } private IEnumerator End() { yield return new WaitForSeconds(2f); GameCore.Instance.TransitionToState(GameCore.Instance.endState); } } }