174 lines
4.9 KiB
C#
174 lines
4.9 KiB
C#
using System;
|
|
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
using UnityEngine.Networking;
|
|
|
|
namespace Assets.MyGame.Scripts.Net.WebResponses.ChineseChess
|
|
{
|
|
[Serializable]
|
|
public class ChineseChessGameClassList
|
|
{
|
|
/// <summary>
|
|
/// 创建房间参数
|
|
/// </summary>
|
|
public class CreateRoomParam
|
|
{
|
|
|
|
/// <summary>
|
|
/// 房间id
|
|
/// </summary>
|
|
public string roomId { get; set; }
|
|
|
|
/// <summary>
|
|
/// 用户ID
|
|
/// </summary>
|
|
public string userId { get; set; }
|
|
|
|
/// <summary>
|
|
/// 游戏类型 1 我方黑 2 我方红
|
|
/// </summary>
|
|
public int gameType { get; set; }
|
|
|
|
/// <summary>
|
|
/// 密码,可为空字符串
|
|
/// </summary>
|
|
public string password { get; set; }
|
|
|
|
/// <summary>
|
|
/// 金币数量
|
|
/// </summary>
|
|
public int gold { get; set; } = 1000;
|
|
}
|
|
[Serializable]
|
|
/// <summary>
|
|
/// 游戏房间
|
|
/// </summary>
|
|
public class ChessGameRoom
|
|
{
|
|
/// <summary>
|
|
/// 用户列表
|
|
/// </summary>
|
|
public List<RedisGameUser> users { get; set; } = new List<RedisGameUser>();
|
|
/// <summary>
|
|
/// 房间id
|
|
/// </summary>
|
|
public string roomId { get; set; }
|
|
|
|
/// <summary>
|
|
/// 创建时间
|
|
/// </summary>
|
|
public DateTime createTime { get; set; }
|
|
|
|
/// <summary>
|
|
/// 游戏类型 1 房主黑 2 房主红
|
|
/// </summary>
|
|
public int gameType { get; set; }
|
|
|
|
/// <summary>
|
|
/// 密码,可为空字符串
|
|
/// </summary>
|
|
public string password { get; set; }
|
|
|
|
/// <summary>
|
|
/// 创建者id
|
|
/// </summary>
|
|
public string createUserId { get; set; }
|
|
|
|
/// <summary>
|
|
/// 状态 1 未开始 2 进行中 3 已结束
|
|
/// </summary>
|
|
public int state { get; set; } = 1;
|
|
/// <summary>
|
|
/// 金币数量
|
|
/// </summary>
|
|
public int gold { get; set; } = 1000;
|
|
}
|
|
[Serializable]
|
|
/// <summary>
|
|
/// 缓存中的游戏用户模型
|
|
/// </summary>
|
|
public class RedisGameUser
|
|
{
|
|
//下载头像 失败最多重试5次
|
|
|
|
public IEnumerator DownTexture2d(System.Action<Texture2D> action)
|
|
{
|
|
string url = userAvatar;
|
|
int downCount = 5;
|
|
Texture2D avatarTexture2D = new Texture2D(100, 100);
|
|
//if (avatarTexture2D == null)
|
|
for (int i = 0; i < downCount; i++)
|
|
{
|
|
using (UnityWebRequest www = UnityWebRequestTexture.GetTexture(url))
|
|
{
|
|
yield return www.SendWebRequest();
|
|
if (www.result == UnityWebRequest.Result.ConnectionError ||
|
|
www.result == UnityWebRequest.Result.ProtocolError)
|
|
{
|
|
Debug.LogError("下载失败: " + www.error);
|
|
downCount++;
|
|
if (downCount == 5)
|
|
{
|
|
|
|
action.Invoke(new Texture2D(100, 100));
|
|
|
|
yield break;
|
|
}
|
|
|
|
}
|
|
else
|
|
{
|
|
avatarTexture2D = DownloadHandlerTexture.GetContent(www);
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
action.Invoke(avatarTexture2D);
|
|
|
|
}
|
|
|
|
/// <summary>
|
|
/// 链接Id
|
|
/// </summary>
|
|
public string cid { get; set; }
|
|
/// <summary>
|
|
/// 用户ID
|
|
/// </summary>
|
|
public string userId { get; set; }
|
|
/// <summary>
|
|
/// 用户名称
|
|
/// </summary>
|
|
|
|
public string userName { get; set; }
|
|
|
|
/// <summary>
|
|
/// 用户头像
|
|
/// </summary>
|
|
public string userAvatar { get; set; }
|
|
|
|
/// <summary>
|
|
/// 用户类型 1 黑方 2 红方
|
|
/// </summary>
|
|
public int type { get; set; }
|
|
/// <summary>
|
|
/// 是否掉线
|
|
/// </summary>
|
|
public bool isLeave { get; set; } = false;
|
|
|
|
/// <summary>
|
|
/// 是否准备
|
|
/// </summary>
|
|
public bool isReady { get; set; } = false;
|
|
/// <summary>
|
|
/// 金币数量
|
|
/// </summary>
|
|
public int gold { get; set; } = 0;
|
|
}
|
|
|
|
|
|
|
|
}
|
|
}
|