Eabei.GoBangGame/Eabei.GoBangService/Data/Manager/GiveupParse.cs

(开头部分) 4KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

using Eabei.Model;
using Eabei.Model.EventParam;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;


/********************************
*  命名空间: Eabei.GoBangService.Data.Manager
*  
*  功    能: N/A
*  类    名: GiveupParse
*  
*  作    者: EB
*  创建日期: 2022/6/30 13:45:43
*********************************/

namespace Eabei.GoBangService.Data
{
    /// <summary>
    /// 认输业务逻辑处理
    /// </summary>
    public class GiveupParse : DataThread<(string name, string data)>
    {
        public GiveupParse()
        {
            DataThreadCallback += GiveupParse_DataThreadCallback;
        }

        private void GiveupParse_DataThreadCallback((string name, string data) obj)
        {
            //命令协议----data   1:请求,发起   2: 询问对方 3:对方返回结果 true: 同意  false:不同意 4: 结果应答 true: 同意  false:不同意
            if (string.IsNullOrEmpty(obj.data)) return;
            if (Giveup(obj.name, out (PlayerInfo? self, PlayerInfo? rival) pairung, out string msg))
            {
                string code = obj.data[..1];
                string rivalName = pairung.rival?.Name ?? "";
                switch (code)
                {
                    case "1":
                        //if (pairung.self.CurrCamp != pairung.self.Camp)
                        Global.Instance.EventManager.Publish(new EventServerDataResult() { DataHeader = DataHeaderInfo.Giveup, Data = new object[] { rivalName, "2" } });
                        //else
                        //Global.Instance.EventManager.Publish(new EventServerDataResult() { DataHeader = DataHeaderInfo.Message, Data = new object[] { obj.name, "你不能悔棋!" } });
                        break;
                    case "3":
                        string result = obj.data[1..];
                        if (bool.TryParse(result, out bool isOk))
                        {
                            if (isOk)
                            {
                                (pairung.self.State, pairung.rival.State) = (PlayerState.Free, PlayerState.Free);
                                //Global.Instance.EventManager.Publish(new EventServerDataResult() { DataHeader = DataHeaderInfo.Giveup, Data = new object[] { rivalName, $"4{result}" } });
                                Global.Instance.EventManager.Publish(new EventServerDataResult() { DataHeader = DataHeaderInfo.Message, Data = new object[] { obj.name, $"对方已认输!" } });

                                Global.Instance.EventManager.Publish(new EventServerDataResult() { DataHeader = DataHeaderInfo.Message, Data = new object[] { rivalName, $"对方同意你认输!" } });
                            }
                            else
后面还有 50 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。