1
@@ -662,7 +662,25 @@ MonoBehaviour:
|
|||||||
m_RotationOrder: 4
|
m_RotationOrder: 4
|
||||||
m_MixOutCurve:
|
m_MixOutCurve:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
m_Curve: []
|
m_Curve:
|
||||||
|
- serializedVersion: 3
|
||||||
|
time: 0
|
||||||
|
value: 1
|
||||||
|
inSlope: 0
|
||||||
|
outSlope: 0
|
||||||
|
tangentMode: 0
|
||||||
|
weightedMode: 0
|
||||||
|
inWeight: 0
|
||||||
|
outWeight: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
time: 1
|
||||||
|
value: 0
|
||||||
|
inSlope: 0
|
||||||
|
outSlope: 0
|
||||||
|
tangentMode: 0
|
||||||
|
weightedMode: 0
|
||||||
|
inWeight: 0
|
||||||
|
outWeight: 0
|
||||||
m_PreInfinity: 2
|
m_PreInfinity: 2
|
||||||
m_PostInfinity: 2
|
m_PostInfinity: 2
|
||||||
m_RotationOrder: 4
|
m_RotationOrder: 4
|
||||||
@@ -806,7 +824,25 @@ MonoBehaviour:
|
|||||||
m_BlendOutDuration: -1
|
m_BlendOutDuration: -1
|
||||||
m_MixInCurve:
|
m_MixInCurve:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
m_Curve: []
|
m_Curve:
|
||||||
|
- serializedVersion: 3
|
||||||
|
time: 0
|
||||||
|
value: 0
|
||||||
|
inSlope: 0
|
||||||
|
outSlope: 0
|
||||||
|
tangentMode: 0
|
||||||
|
weightedMode: 0
|
||||||
|
inWeight: 0
|
||||||
|
outWeight: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
time: 1
|
||||||
|
value: 1
|
||||||
|
inSlope: 0
|
||||||
|
outSlope: 0
|
||||||
|
tangentMode: 0
|
||||||
|
weightedMode: 0
|
||||||
|
inWeight: 0
|
||||||
|
outWeight: 0
|
||||||
m_PreInfinity: 2
|
m_PreInfinity: 2
|
||||||
m_PostInfinity: 2
|
m_PostInfinity: 2
|
||||||
m_RotationOrder: 4
|
m_RotationOrder: 4
|
||||||
@@ -1523,7 +1559,7 @@ MonoBehaviour:
|
|||||||
m_Script: {fileID: 11500000, guid: 15c38f6fa1940124db1ab7f6fe7268d1, type: 3}
|
m_Script: {fileID: 11500000, guid: 15c38f6fa1940124db1ab7f6fe7268d1, type: 3}
|
||||||
m_Name: Signal Emitter
|
m_Name: Signal Emitter
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
m_Time: 38.516666666666666
|
m_Time: 37.56925170068027
|
||||||
m_Retroactive: 0
|
m_Retroactive: 0
|
||||||
m_EmitOnce: 0
|
m_EmitOnce: 0
|
||||||
m_Asset: {fileID: 11400000, guid: 27ead056a3555a449b1c33be851ca0c5, type: 2}
|
m_Asset: {fileID: 11400000, guid: 27ead056a3555a449b1c33be851ca0c5, type: 2}
|
||||||
|
|||||||
@@ -24,6 +24,7 @@ MonoBehaviour:
|
|||||||
m_Markers:
|
m_Markers:
|
||||||
m_Objects:
|
m_Objects:
|
||||||
- {fileID: 52122530592584653}
|
- {fileID: 52122530592584653}
|
||||||
|
- {fileID: -3767978809465459993}
|
||||||
--- !u!114 &-8410463078486255931
|
--- !u!114 &-8410463078486255931
|
||||||
MonoBehaviour:
|
MonoBehaviour:
|
||||||
m_ObjectHideFlags: 1
|
m_ObjectHideFlags: 1
|
||||||
@@ -290,6 +291,22 @@ MonoBehaviour:
|
|||||||
searchHierarchy: 0
|
searchHierarchy: 0
|
||||||
active: 1
|
active: 1
|
||||||
postPlayback: 2
|
postPlayback: 2
|
||||||
|
--- !u!114 &-3767978809465459993
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 1
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 0}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 15c38f6fa1940124db1ab7f6fe7268d1, type: 3}
|
||||||
|
m_Name: Signal Emitter
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
m_Time: 6.333333333333333
|
||||||
|
m_Retroactive: 0
|
||||||
|
m_EmitOnce: 0
|
||||||
|
m_Asset: {fileID: 0}
|
||||||
--- !u!114 &-3350020437337939349
|
--- !u!114 &-3350020437337939349
|
||||||
MonoBehaviour:
|
MonoBehaviour:
|
||||||
m_ObjectHideFlags: 1
|
m_ObjectHideFlags: 1
|
||||||
|
|||||||
@@ -641,17 +641,32 @@ MonoBehaviour:
|
|||||||
m_Script: {fileID: 11500000, guid: 5e5dca86a57fe2144a34f1f2ddb93962, type: 3}
|
m_Script: {fileID: 11500000, guid: 5e5dca86a57fe2144a34f1f2ddb93962, type: 3}
|
||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
|
beilv: 0
|
||||||
guid:
|
guid:
|
||||||
|
lastMoveLineId:
|
||||||
monsterData:
|
monsterData:
|
||||||
die_Score: 0
|
die_Score: 0
|
||||||
isDie: 0
|
isDie: 0
|
||||||
fishTypeConfig:
|
fishTypeConfig:
|
||||||
fishNumber:
|
fishNumber:
|
||||||
fishName:
|
fishName:
|
||||||
|
fishBrief:
|
||||||
fishType: 0
|
fishType: 0
|
||||||
fishScore: 0
|
fishScore: 0
|
||||||
killWeight: 0
|
killWeight: 0
|
||||||
pathList:
|
pathList:
|
||||||
|
fishImage:
|
||||||
|
fishMultipleDesc:
|
||||||
|
moveLine:
|
||||||
|
bezierCurveData:
|
||||||
|
name:
|
||||||
|
start: {x: 0, y: 0}
|
||||||
|
controlPoints: []
|
||||||
|
end: {x: 0, y: 0}
|
||||||
|
moveTime: 0
|
||||||
|
moveSpeed: 0
|
||||||
|
cachedCamera: {fileID: 0}
|
||||||
|
cachedUirootRect: {fileID: 0}
|
||||||
skeleton: {fileID: 0}
|
skeleton: {fileID: 0}
|
||||||
isSpine: 1
|
isSpine: 1
|
||||||
fishTypeID: 13003
|
fishTypeID: 13003
|
||||||
@@ -659,6 +674,7 @@ MonoBehaviour:
|
|||||||
HP: 5
|
HP: 5
|
||||||
effect_Die: {fileID: 0}
|
effect_Die: {fileID: 0}
|
||||||
effect_DieAward: {fileID: 0}
|
effect_DieAward: {fileID: 0}
|
||||||
|
currEffect_DieAward: {fileID: 0}
|
||||||
isMove: 1
|
isMove: 1
|
||||||
is3D: 0
|
is3D: 0
|
||||||
forwordXYZ: X
|
forwordXYZ: X
|
||||||
@@ -666,7 +682,20 @@ MonoBehaviour:
|
|||||||
moveTime: 0
|
moveTime: 0
|
||||||
isyz: 0
|
isyz: 0
|
||||||
yzID:
|
yzID:
|
||||||
|
colliderList: []
|
||||||
|
lockPoint: {fileID: 0}
|
||||||
|
bingDongEffect: []
|
||||||
|
needLockEvent: 0
|
||||||
|
createVideoClip: {fileID: 0}
|
||||||
|
rotationPY: 60
|
||||||
|
useMirrorCompensate: 1
|
||||||
|
baseMmove: 0
|
||||||
isRotate: 1
|
isRotate: 1
|
||||||
|
isNot1: 0
|
||||||
|
ischild0: 0
|
||||||
|
depthOffset: 0
|
||||||
|
is2DFish: 0
|
||||||
|
sortOrder2D: 0
|
||||||
--- !u!1 &1709867586078768
|
--- !u!1 &1709867586078768
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
|||||||
@@ -866,17 +866,32 @@ MonoBehaviour:
|
|||||||
m_Script: {fileID: 11500000, guid: 5e5dca86a57fe2144a34f1f2ddb93962, type: 3}
|
m_Script: {fileID: 11500000, guid: 5e5dca86a57fe2144a34f1f2ddb93962, type: 3}
|
||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
|
beilv: 0
|
||||||
guid:
|
guid:
|
||||||
|
lastMoveLineId:
|
||||||
monsterData:
|
monsterData:
|
||||||
die_Score: 0
|
die_Score: 0
|
||||||
isDie: 0
|
isDie: 0
|
||||||
fishTypeConfig:
|
fishTypeConfig:
|
||||||
fishNumber:
|
fishNumber:
|
||||||
fishName:
|
fishName:
|
||||||
|
fishBrief:
|
||||||
fishType: 0
|
fishType: 0
|
||||||
fishScore: 0
|
fishScore: 0
|
||||||
killWeight: 0
|
killWeight: 0
|
||||||
pathList:
|
pathList:
|
||||||
|
fishImage:
|
||||||
|
fishMultipleDesc:
|
||||||
|
moveLine:
|
||||||
|
bezierCurveData:
|
||||||
|
name:
|
||||||
|
start: {x: 0, y: 0}
|
||||||
|
controlPoints: []
|
||||||
|
end: {x: 0, y: 0}
|
||||||
|
moveTime: 0
|
||||||
|
moveSpeed: 0
|
||||||
|
cachedCamera: {fileID: 0}
|
||||||
|
cachedUirootRect: {fileID: 0}
|
||||||
skeleton: {fileID: 0}
|
skeleton: {fileID: 0}
|
||||||
isSpine: 1
|
isSpine: 1
|
||||||
fishTypeID: 13006
|
fishTypeID: 13006
|
||||||
@@ -884,6 +899,7 @@ MonoBehaviour:
|
|||||||
HP: 5
|
HP: 5
|
||||||
effect_Die: {fileID: 0}
|
effect_Die: {fileID: 0}
|
||||||
effect_DieAward: {fileID: 0}
|
effect_DieAward: {fileID: 0}
|
||||||
|
currEffect_DieAward: {fileID: 0}
|
||||||
isMove: 1
|
isMove: 1
|
||||||
is3D: 0
|
is3D: 0
|
||||||
forwordXYZ: X
|
forwordXYZ: X
|
||||||
@@ -891,7 +907,20 @@ MonoBehaviour:
|
|||||||
moveTime: 0
|
moveTime: 0
|
||||||
isyz: 0
|
isyz: 0
|
||||||
yzID:
|
yzID:
|
||||||
|
colliderList: []
|
||||||
|
lockPoint: {fileID: 0}
|
||||||
|
bingDongEffect: []
|
||||||
|
needLockEvent: 0
|
||||||
|
createVideoClip: {fileID: 0}
|
||||||
|
rotationPY: 60
|
||||||
|
useMirrorCompensate: 1
|
||||||
|
baseMmove: 0
|
||||||
isRotate: 1
|
isRotate: 1
|
||||||
|
isNot1: 0
|
||||||
|
ischild0: 0
|
||||||
|
depthOffset: 0
|
||||||
|
is2DFish: 0
|
||||||
|
sortOrder2D: 0
|
||||||
--- !u!1 &1709867586078768
|
--- !u!1 &1709867586078768
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
|||||||
@@ -4311,9 +4311,9 @@ RectTransform:
|
|||||||
m_LocalScale: {x: 0, y: 0, z: 0}
|
m_LocalScale: {x: 0, y: 0, z: 0}
|
||||||
m_ConstrainProportionsScale: 0
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children:
|
m_Children:
|
||||||
|
- {fileID: 1159290238}
|
||||||
- {fileID: 1819495571}
|
- {fileID: 1819495571}
|
||||||
- {fileID: 3182697403238626235}
|
- {fileID: 3182697403238626235}
|
||||||
- {fileID: 1159290238}
|
|
||||||
m_Father: {fileID: 0}
|
m_Father: {fileID: 0}
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 0}
|
m_AnchorMin: {x: 0, y: 0}
|
||||||
|
|||||||
@@ -76,9 +76,12 @@ public class RoomPlayerInfo
|
|||||||
/// <summary>玩家 ID</summary>
|
/// <summary>玩家 ID</summary>
|
||||||
public string userId;
|
public string userId;
|
||||||
|
|
||||||
/// <summary>玩家昵称</summary>
|
/// <summary>玩家名字</summary>
|
||||||
public string userName;
|
public string userName;
|
||||||
|
|
||||||
|
/// <summary>玩家编号(短ID,游戏内显示用)</summary>
|
||||||
|
public string userNumber;
|
||||||
|
|
||||||
/// <summary>头像 URL</summary>
|
/// <summary>头像 URL</summary>
|
||||||
public string avatar;
|
public string avatar;
|
||||||
|
|
||||||
|
|||||||
@@ -1,100 +1,116 @@
|
|||||||
using Assets.MyGame.Scripts.Net.WebResponses;
|
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
|
||||||
namespace Assets.MyGame.Scripts.Net.WebResponses
|
namespace Assets.MyGame.Scripts.Net.WebResponses
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 房间进入通知(RoomJoinNotice)
|
/// 房间进入通知(RoomJoinNotice)—— 后端新版玩家数据
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[Serializable]
|
[Serializable]
|
||||||
public class RoomJoinNotice
|
public class RoomJoinNotice
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 玩家唯一 ID
|
/// 玩家Id
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string userId;
|
public string UserId { get; set; } = string.Empty;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 玩家昵称
|
/// 玩家名字
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string userName;
|
public string UserName { get; set; } = string.Empty;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 玩家头像 URL
|
/// 玩家编号(短ID,游戏内显示用)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string avatar;
|
public string UserNumber { get; set; } = string.Empty;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 是否红名(可能用于标识特殊玩家)
|
/// 玩家头像
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public bool isRedName;
|
public string Avatar { get; set; } = string.Empty;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// VIP 等级
|
/// 玩家是否红名
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public int vipLevel;
|
public bool IsRedName { get; set; } = false;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 玩家卡牌等级(可能用于展示)
|
/// 玩家等级
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public int userCardLevel;
|
public int Level { get; set; } = 0;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 玩家唯一客户端 ID(可能用于房间定位)
|
/// Vip等级
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string cId;
|
public int VipLevel { get; set; } = 0;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 玩家CID
|
||||||
|
/// </summary>
|
||||||
|
public string CId { get; set; } = string.Empty;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 玩家金币
|
/// 玩家金币
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public long gold;
|
public long Gold { get; set; } = 0;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 玩家钻石
|
/// 玩家钻石
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public long diamond;
|
public int Diamond { get; set; } = 0;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 玩家在房间中的位置(1~4)
|
/// 玩家位置
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public int position;
|
public int Position { get; set; } = 0;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 当前使用的炮台编号
|
/// 炮台
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string cannonId;
|
public string CannonId { get; set; } = string.Empty;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 当前使用的翅膀编号
|
/// 翅膀
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string wingsId;
|
public string WingsId { get; set; } = string.Empty;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 当前使用的战神编号
|
/// 战神
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string warGodId;
|
public string WarGodId { get; set; } = string.Empty;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 当前炮倍(例如 1000、2000)
|
/// 炮倍
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public int cannonMultiple;
|
public int CannonMultiple { get; set; } = 1;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 进入房间时的金币(用于统计)
|
/// 进场金币
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public long beginCoin;
|
public long BeginCoin { get; set; } = 0;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 进入房间的时间戳(秒)
|
/// 进房后达到的最高金币
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public long beginTime;
|
public long MaxGold { get; set; } = 0;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 玩家状态(0 正常,其他状态可扩展)
|
/// 进场时间
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public int state;
|
public long BeginTime { get; set; } = 0;
|
||||||
|
|
||||||
/// <summary>是否为机器人(后端下发)</summary>
|
/// <summary>
|
||||||
public bool isBot;
|
/// 状态 0 正常 1 断线中
|
||||||
|
/// </summary>
|
||||||
|
public int State { get; set; } = 0;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 是否为机器人
|
||||||
|
/// </summary>
|
||||||
|
public bool IsBot { get; set; } = false;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 是否挂机中
|
||||||
|
/// </summary>
|
||||||
|
public bool IsAfk { get; set; } = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -261,6 +261,7 @@ namespace Assets.MyGame.Scripts.Net
|
|||||||
|
|
||||||
case "GameEnd":
|
case "GameEnd":
|
||||||
{
|
{
|
||||||
|
if (roomMainPanel != null) roomMainPanel.StopWaitCountdown(); // 游戏结束停走棋倒计时
|
||||||
var va = JsonConvert.DeserializeObject<WebSocketResponseBase<Dictionary<string, object>>>(msg).arguments[0];
|
var va = JsonConvert.DeserializeObject<WebSocketResponseBase<Dictionary<string, object>>>(msg).arguments[0];
|
||||||
string winUserId = va["winUserId"]?.ToString();
|
string winUserId = va["winUserId"]?.ToString();
|
||||||
if (string.IsNullOrEmpty(winUserId))
|
if (string.IsNullOrEmpty(winUserId))
|
||||||
@@ -303,9 +304,8 @@ namespace Assets.MyGame.Scripts.Net
|
|||||||
|
|
||||||
case "SyncGameData":
|
case "SyncGameData":
|
||||||
{
|
{
|
||||||
var va = JsonConvert.DeserializeObject<WebSocketResponseBase<Dictionary<string, object>>>(msg).arguments[0];
|
// 象棋走棋帧同步数据:后端只透传,交给主面板解析处理
|
||||||
string data = va["data"]?.ToString();
|
if (roomMainPanel != null) roomMainPanel.OnChessNetData(msg);
|
||||||
Debug.Log("[Chess] 同步数据: " + data);
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|||||||
@@ -62,9 +62,9 @@ namespace Assets.MyGame.Scripts.Net
|
|||||||
{
|
{
|
||||||
var notice = JsonConvert.DeserializeObject<WebSocketResponseBase<RoomJoinNotice>>(msg).arguments[0];
|
var notice = JsonConvert.DeserializeObject<WebSocketResponseBase<RoomJoinNotice>>(msg).arguments[0];
|
||||||
string myId = GameManager.Instance.user?.id;
|
string myId = GameManager.Instance.user?.id;
|
||||||
if (!string.IsNullOrEmpty(myId) && notice.userId == myId)
|
if (!string.IsNullOrEmpty(myId) && notice.UserId == myId)
|
||||||
{
|
{
|
||||||
GameManager.LogGoldFlowReceiveGain("RoomJoinNotice", $"推送金币={notice.gold} 钻石={notice.diamond} 炮台消耗={notice.cannonMultiple} 座位={notice.position}");
|
GameManager.LogGoldFlowReceiveGain("RoomJoinNotice", $"推送金币={notice.Gold} 钻石={notice.Diamond} 炮台消耗={notice.CannonMultiple} 座位={notice.Position}");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch { }
|
catch { }
|
||||||
@@ -139,15 +139,15 @@ namespace Assets.MyGame.Scripts.Net
|
|||||||
{
|
{
|
||||||
var notice = v.arguments[0];
|
var notice = v.arguments[0];
|
||||||
// 如果座位被bot占用则替换
|
// 如果座位被bot占用则替换
|
||||||
var targetSit = fishPanel.list_Sits.Find(s => s.posID == notice.position);
|
var targetSit = fishPanel.list_Sits.Find(s => s.posID == notice.Position);
|
||||||
if (targetSit != null && targetSit.isBot)
|
if (targetSit != null && targetSit.isBot)
|
||||||
{
|
{
|
||||||
targetSit.isBot = false;
|
targetSit.isBot = false;
|
||||||
targetSit.ShowWaiting();
|
targetSit.ShowWaiting();
|
||||||
}
|
}
|
||||||
fishPanel.JoinGame(notice.position, notice.gold, notice.diamond, notice.cannonMultiple, 0, notice.userId, notice.cannonId, notice.wingsId, notice.warGodId);
|
fishPanel.JoinGame(notice.Position, notice.Gold, notice.Diamond, notice.CannonMultiple, 0, notice.UserId, notice.CannonId, notice.WingsId, notice.WarGodId);
|
||||||
// 后端动态加入的机器人也要标记
|
// 后端动态加入的机器人也要标记
|
||||||
if (targetSit != null && !string.IsNullOrEmpty(notice.userId) && notice.userId.StartsWith("bot_"))
|
if (targetSit != null && !string.IsNullOrEmpty(notice.UserId) && notice.UserId.StartsWith("bot_"))
|
||||||
targetSit.isBot = true;
|
targetSit.isBot = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
using Assets.MyGame.Scripts.Net;
|
using Assets.MyGame.Scripts.Net;
|
||||||
using Assets.MyGame.Scripts.Net.WebResponses.ChineseChess;
|
using Assets.MyGame.Scripts.Net.WebResponses.ChineseChess;
|
||||||
using Newtonsoft.Json;
|
using Newtonsoft.Json;
|
||||||
|
|
||||||
@@ -62,6 +62,8 @@ public partial class WebSocketSendList
|
|||||||
}
|
}
|
||||||
public static void SyncGameDataChineseChess(string gameId, string data)
|
public static void SyncGameDataChineseChess(string gameId, string data)
|
||||||
{
|
{
|
||||||
WebSocketManager.Instance.Send(SocketType.chess, "{\"type\":1,\"target\":\"SyncGameData\",\"invocationId\":\"1\",\"arguments\":[\"" + gameId + "\",\"" + data + "\"]}");
|
// data 是 JSON 字符串(象棋走子帧数据),必须整体转义后再嵌入外层报文,否则引号会破坏 JSON
|
||||||
|
string escaped = data == null ? "\"\"" : JsonConvert.SerializeObject(data);
|
||||||
|
WebSocketManager.Instance.Send(SocketType.chess, "{\"type\":1,\"target\":\"SyncGameData\",\"invocationId\":\"1\",\"arguments\":[\"" + gameId + "\"," + escaped + "]}");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -973,19 +973,26 @@ public class SitPosData : MonoBehaviour, IPointerDownHandler, IPointerUpHandler
|
|||||||
/// 数据来自服务端下发的 RoomInfo.players / RoomJoinNotice):
|
/// 数据来自服务端下发的 RoomInfo.players / RoomJoinNotice):
|
||||||
/// 玩家ID、昵称、头像、VIP 图标(0~10 级一一对应)、VIP 等级背景(每两级一个)。
|
/// 玩家ID、昵称、头像、VIP 图标(0~10 级一一对应)、VIP 等级背景(每两级一个)。
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="userId">玩家唯一 ID(显示在 tmp_UserNumber)</param>
|
/// <param name="userId">玩家唯一 ID(用于判断是否本人)</param>
|
||||||
/// <param name="userName">玩家昵称(显示在 tmp_UserName)</param>
|
/// <param name="userName">玩家昵称(显示在 tmp_UserName)</param>
|
||||||
/// <param name="avatar">头像名/URL(走 GameManager 头像缓存,找不到回退默认头像)</param>
|
/// <param name="avatar">头像名/URL(走 GameManager 头像缓存,找不到回退默认头像)</param>
|
||||||
/// <param name="vipLevel">VIP 等级 0~10</param>
|
/// <param name="vipLevel">VIP 等级 0~10</param>
|
||||||
public void SetUserInfo(string userId, string userName, string avatar, int vipLevel)
|
/// <param name="userNumber">玩家编号(短ID,显示在 tmp_UserNumber;空则回退显示 userId)</param>
|
||||||
|
public void SetUserInfo(string userId, string userName, string avatar, int vipLevel, string userNumber = null)
|
||||||
{
|
{
|
||||||
// 玩家 ID
|
// 玩家 ID:优先显示后端下发的短编号 UserNumber,没有再用 userId
|
||||||
if (tmp_UserNumber != null && !string.IsNullOrEmpty(userId))
|
if (tmp_UserNumber != null)
|
||||||
tmp_UserNumber.text = userId;
|
{
|
||||||
|
string displayId = string.IsNullOrEmpty(userNumber) ? userId : userNumber;
|
||||||
|
if (!string.IsNullOrEmpty(displayId))
|
||||||
|
tmp_UserNumber.text = displayId;
|
||||||
|
}
|
||||||
|
|
||||||
// 昵称
|
// 昵称:非本人的名字打码(前2后2保留,中间***),自己原样显示
|
||||||
if (tmp_UserName != null && !string.IsNullOrEmpty(userName))
|
if (tmp_UserName != null && !string.IsNullOrEmpty(userName))
|
||||||
tmp_UserName.text = userName;
|
tmp_UserName.text = userId == GameManager.Instance?.user?.id
|
||||||
|
? userName
|
||||||
|
: MaskUserName(userName);
|
||||||
|
|
||||||
// 头像:优先 GameManager 头像缓存(Resources/Avatar),查不到用默认头像
|
// 头像:优先 GameManager 头像缓存(Resources/Avatar),查不到用默认头像
|
||||||
if (img_Head != null)
|
if (img_Head != null)
|
||||||
@@ -1018,6 +1025,17 @@ public class SitPosData : MonoBehaviour, IPointerDownHandler, IPointerUpHandler
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 非本人昵称打码:保留前 2 位和后 2 位,中间用 *** 代替。
|
||||||
|
/// 例:123456789 → 12***89;12345 → 12***45。不足 5 位原样显示。
|
||||||
|
/// </summary>
|
||||||
|
private static string MaskUserName(string name)
|
||||||
|
{
|
||||||
|
if (string.IsNullOrEmpty(name) || name.Length < 5)
|
||||||
|
return name;
|
||||||
|
return name.Substring(0, 1) + "***" + name.Substring(name.Length - 1);
|
||||||
|
}
|
||||||
|
|
||||||
#region 表情包显示(spineObj / ziObj)
|
#region 表情包显示(spineObj / ziObj)
|
||||||
|
|
||||||
/// <summary>表情显示时长(秒),超时自动隐藏</summary>
|
/// <summary>表情显示时长(秒),超时自动隐藏</summary>
|
||||||
|
|||||||
@@ -416,7 +416,7 @@ RectTransform:
|
|||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||||
m_AnchoredPosition: {x: 0, y: 124.7}
|
m_AnchoredPosition: {x: 0, y: 88.6}
|
||||||
m_SizeDelta: {x: 150, y: 139}
|
m_SizeDelta: {x: 150, y: 139}
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
--- !u!222 &5270299543555156791
|
--- !u!222 &5270299543555156791
|
||||||
@@ -447,7 +447,7 @@ MonoBehaviour:
|
|||||||
m_OnCullStateChanged:
|
m_OnCullStateChanged:
|
||||||
m_PersistentCalls:
|
m_PersistentCalls:
|
||||||
m_Calls: []
|
m_Calls: []
|
||||||
m_Sprite: {fileID: 21300000, guid: 5b31886d5bcd88f41affc8104222893f, type: 3}
|
m_Sprite: {fileID: 21300000, guid: 835b61b6f33236b408b6039f602c21b7, type: 3}
|
||||||
m_Type: 0
|
m_Type: 0
|
||||||
m_PreserveAspect: 0
|
m_PreserveAspect: 0
|
||||||
m_FillCenter: 1
|
m_FillCenter: 1
|
||||||
|
|||||||
@@ -8430,7 +8430,7 @@ PrefabInstance:
|
|||||||
- target: {fileID: 5485079200766063859, guid: 965597318af75eb4b9f2af433facf3d4,
|
- target: {fileID: 5485079200766063859, guid: 965597318af75eb4b9f2af433facf3d4,
|
||||||
type: 3}
|
type: 3}
|
||||||
propertyPath: m_IsActive
|
propertyPath: m_IsActive
|
||||||
value: 1
|
value: 0
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
m_RemovedComponents: []
|
m_RemovedComponents: []
|
||||||
m_RemovedGameObjects: []
|
m_RemovedGameObjects: []
|
||||||
|
|||||||
@@ -4126,6 +4126,12 @@ PrefabInstance:
|
|||||||
insertIndex: -1
|
insertIndex: -1
|
||||||
addedObject: {fileID: 6427896563708412520}
|
addedObject: {fileID: 6427896563708412520}
|
||||||
m_SourcePrefab: {fileID: 100100000, guid: 8eea6c1a6ddb0eb479afc35eb58efc97, type: 3}
|
m_SourcePrefab: {fileID: 100100000, guid: 8eea6c1a6ddb0eb479afc35eb58efc97, type: 3}
|
||||||
|
--- !u!1 &305017329864058515 stripped
|
||||||
|
GameObject:
|
||||||
|
m_CorrespondingSourceObject: {fileID: 43175906713270589, guid: 8eea6c1a6ddb0eb479afc35eb58efc97,
|
||||||
|
type: 3}
|
||||||
|
m_PrefabInstance: {fileID: 334049117776732078}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
--- !u!1 &5119560591553211127 stripped
|
--- !u!1 &5119560591553211127 stripped
|
||||||
GameObject:
|
GameObject:
|
||||||
m_CorrespondingSourceObject: {fileID: 4876996923753723225, guid: 8eea6c1a6ddb0eb479afc35eb58efc97,
|
m_CorrespondingSourceObject: {fileID: 4876996923753723225, guid: 8eea6c1a6ddb0eb479afc35eb58efc97,
|
||||||
@@ -4173,7 +4179,7 @@ MonoBehaviour:
|
|||||||
isEffEnd: 0
|
isEffEnd: 0
|
||||||
isScoreStart: 0
|
isScoreStart: 0
|
||||||
isGoldEffectStart: 0
|
isGoldEffectStart: 0
|
||||||
mod: {fileID: 0}
|
mod: {fileID: 305017329864058515}
|
||||||
--- !u!1 &5455853164041459123 stripped
|
--- !u!1 &5455853164041459123 stripped
|
||||||
GameObject:
|
GameObject:
|
||||||
m_CorrespondingSourceObject: {fileID: 5698692268160748061, guid: 8eea6c1a6ddb0eb479afc35eb58efc97,
|
m_CorrespondingSourceObject: {fileID: 5698692268160748061, guid: 8eea6c1a6ddb0eb479afc35eb58efc97,
|
||||||
|
|||||||
@@ -117,7 +117,7 @@ PrefabInstance:
|
|||||||
type: 3}
|
type: 3}
|
||||||
propertyPath: m_Sprite
|
propertyPath: m_Sprite
|
||||||
value:
|
value:
|
||||||
objectReference: {fileID: -2085821068, guid: 68e4fec764425b4438eb6a06c7b99c16,
|
objectReference: {fileID: 1246215499, guid: 68e4fec764425b4438eb6a06c7b99c16,
|
||||||
type: 3}
|
type: 3}
|
||||||
- target: {fileID: 4213903445032130685, guid: a96966a1d55149a4f83724f224013303,
|
- target: {fileID: 4213903445032130685, guid: a96966a1d55149a4f83724f224013303,
|
||||||
type: 3}
|
type: 3}
|
||||||
@@ -147,7 +147,7 @@ PrefabInstance:
|
|||||||
- target: {fileID: 4213903445032130685, guid: a96966a1d55149a4f83724f224013303,
|
- target: {fileID: 4213903445032130685, guid: a96966a1d55149a4f83724f224013303,
|
||||||
type: 3}
|
type: 3}
|
||||||
propertyPath: m_AnchoredPosition.y
|
propertyPath: m_AnchoredPosition.y
|
||||||
value: 180
|
value: 77
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 5627438144398829183, guid: a96966a1d55149a4f83724f224013303,
|
- target: {fileID: 5627438144398829183, guid: a96966a1d55149a4f83724f224013303,
|
||||||
type: 3}
|
type: 3}
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ public class YGLGDieEvent : BJRedPacketEvent
|
|||||||
private IEnumerator ScrollTo(int target, Action onComplete)
|
private IEnumerator ScrollTo(int target, Action onComplete)
|
||||||
{
|
{
|
||||||
int from = currScore;
|
int from = currScore;
|
||||||
float duration = 5f;
|
float duration = 3f;
|
||||||
float elapsed = 0f;
|
float elapsed = 0f;
|
||||||
float coinInterval = 0.12f;
|
float coinInterval = 0.12f;
|
||||||
float nextCoinTime = 0f;
|
float nextCoinTime = 0f;
|
||||||
|
|||||||
@@ -117,7 +117,7 @@ PrefabInstance:
|
|||||||
type: 3}
|
type: 3}
|
||||||
propertyPath: m_Sprite
|
propertyPath: m_Sprite
|
||||||
value:
|
value:
|
||||||
objectReference: {fileID: -835389033, guid: 68e4fec764425b4438eb6a06c7b99c16,
|
objectReference: {fileID: -511180246, guid: 68e4fec764425b4438eb6a06c7b99c16,
|
||||||
type: 3}
|
type: 3}
|
||||||
- target: {fileID: 4213903445032130685, guid: a96966a1d55149a4f83724f224013303,
|
- target: {fileID: 4213903445032130685, guid: a96966a1d55149a4f83724f224013303,
|
||||||
type: 3}
|
type: 3}
|
||||||
|
|||||||
@@ -117,7 +117,7 @@ PrefabInstance:
|
|||||||
type: 3}
|
type: 3}
|
||||||
propertyPath: m_Sprite
|
propertyPath: m_Sprite
|
||||||
value:
|
value:
|
||||||
objectReference: {fileID: -835389033, guid: 68e4fec764425b4438eb6a06c7b99c16,
|
objectReference: {fileID: 126247453, guid: 68e4fec764425b4438eb6a06c7b99c16,
|
||||||
type: 3}
|
type: 3}
|
||||||
- target: {fileID: 4213903445032130685, guid: a96966a1d55149a4f83724f224013303,
|
- target: {fileID: 4213903445032130685, guid: a96966a1d55149a4f83724f224013303,
|
||||||
type: 3}
|
type: 3}
|
||||||
|
|||||||
@@ -3526,6 +3526,21 @@ PrefabInstance:
|
|||||||
propertyPath: m_Layer
|
propertyPath: m_Layer
|
||||||
value: 10
|
value: 10
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 3603314851026112076, guid: 0fb8f3919645bc946bca0af33bdeea70,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalRotation.w
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 3603314851026112076, guid: 0fb8f3919645bc946bca0af33bdeea70,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalRotation.y
|
||||||
|
value: 1
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 3603314851026112076, guid: 0fb8f3919645bc946bca0af33bdeea70,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.y
|
||||||
|
value: 180
|
||||||
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 3606933170008871548, guid: 0fb8f3919645bc946bca0af33bdeea70,
|
- target: {fileID: 3606933170008871548, guid: 0fb8f3919645bc946bca0af33bdeea70,
|
||||||
type: 3}
|
type: 3}
|
||||||
propertyPath: m_Layer
|
propertyPath: m_Layer
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ PrefabInstance:
|
|||||||
- target: {fileID: 236781439713602893, guid: a96966a1d55149a4f83724f224013303,
|
- target: {fileID: 236781439713602893, guid: a96966a1d55149a4f83724f224013303,
|
||||||
type: 3}
|
type: 3}
|
||||||
propertyPath: m_Name
|
propertyPath: m_Name
|
||||||
value: UI_baojiang Variant
|
value: UI_baojiang Variant 11
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 685976588209175045, guid: a96966a1d55149a4f83724f224013303,
|
- target: {fileID: 685976588209175045, guid: a96966a1d55149a4f83724f224013303,
|
||||||
type: 3}
|
type: 3}
|
||||||
@@ -113,6 +113,42 @@ PrefabInstance:
|
|||||||
propertyPath: m_LocalEulerAnglesHint.z
|
propertyPath: m_LocalEulerAnglesHint.z
|
||||||
value: 0
|
value: 0
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 2278261232015200288, guid: a96966a1d55149a4f83724f224013303,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_Sprite
|
||||||
|
value:
|
||||||
|
objectReference: {fileID: 21300000, guid: edc1137651685c04995987764c6ef1f7,
|
||||||
|
type: 2}
|
||||||
|
- target: {fileID: 4213903445032130685, guid: a96966a1d55149a4f83724f224013303,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_SizeDelta.x
|
||||||
|
value: 376
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4213903445032130685, guid: a96966a1d55149a4f83724f224013303,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_SizeDelta.y
|
||||||
|
value: 319
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4213903445032130685, guid: a96966a1d55149a4f83724f224013303,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalScale.x
|
||||||
|
value: 2.3643734
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4213903445032130685, guid: a96966a1d55149a4f83724f224013303,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalScale.y
|
||||||
|
value: 2.3643734
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4213903445032130685, guid: a96966a1d55149a4f83724f224013303,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalScale.z
|
||||||
|
value: 2.3643734
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4213903445032130685, guid: a96966a1d55149a4f83724f224013303,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_AnchoredPosition.y
|
||||||
|
value: 166
|
||||||
|
objectReference: {fileID: 0}
|
||||||
m_RemovedComponents: []
|
m_RemovedComponents: []
|
||||||
m_RemovedGameObjects: []
|
m_RemovedGameObjects: []
|
||||||
m_AddedGameObjects: []
|
m_AddedGameObjects: []
|
||||||
|
|||||||
@@ -240,6 +240,46 @@ PrefabInstance:
|
|||||||
propertyPath: m_LocalEulerAnglesHint.z
|
propertyPath: m_LocalEulerAnglesHint.z
|
||||||
value: -0
|
value: -0
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4632457200066912, guid: d4f11eaa7570f9c44b093687263b450f, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.w
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4632457200066912, guid: d4f11eaa7570f9c44b093687263b450f, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.x
|
||||||
|
value: 1
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4632457200066912, guid: d4f11eaa7570f9c44b093687263b450f, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4632457200066912, guid: d4f11eaa7570f9c44b093687263b450f, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.z
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4632457200066912, guid: d4f11eaa7570f9c44b093687263b450f, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.y
|
||||||
|
value: 180
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4632457200066912, guid: d4f11eaa7570f9c44b093687263b450f, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.z
|
||||||
|
value: 180
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4634108722742392, guid: d4f11eaa7570f9c44b093687263b450f, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.w
|
||||||
|
value: 1
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4634108722742392, guid: d4f11eaa7570f9c44b093687263b450f, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.z
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4634108722742392, guid: d4f11eaa7570f9c44b093687263b450f, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4634108722742392, guid: d4f11eaa7570f9c44b093687263b450f, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.z
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
m_RemovedComponents:
|
m_RemovedComponents:
|
||||||
- {fileID: 114621510681728303, guid: d4f11eaa7570f9c44b093687263b450f, type: 3}
|
- {fileID: 114621510681728303, guid: d4f11eaa7570f9c44b093687263b450f, type: 3}
|
||||||
- {fileID: 135518489005915545, guid: d4f11eaa7570f9c44b093687263b450f, type: 3}
|
- {fileID: 135518489005915545, guid: d4f11eaa7570f9c44b093687263b450f, type: 3}
|
||||||
@@ -639,19 +679,23 @@ MonoBehaviour:
|
|||||||
currEffect_DieAward: {fileID: 0}
|
currEffect_DieAward: {fileID: 0}
|
||||||
isMove: 1
|
isMove: 1
|
||||||
is3D: 0
|
is3D: 0
|
||||||
forwordXYZ: -Z
|
forwordXYZ: Z
|
||||||
fishenum: 0
|
fishenum: 0
|
||||||
moveTime: 0
|
moveTime: 0
|
||||||
isyz: 0
|
isyz: 0
|
||||||
yzID:
|
yzID:
|
||||||
colliderList: []
|
colliderList: []
|
||||||
lockPoint: {fileID: 5461717199468334793}
|
lockPoint: {fileID: 5461717199468334793}
|
||||||
bingDongEffect: {fileID: 0}
|
bingDongEffect:
|
||||||
|
- {fileID: 0}
|
||||||
needLockEvent: 0
|
needLockEvent: 0
|
||||||
createVideoClip: {fileID: 0}
|
createVideoClip: {fileID: 0}
|
||||||
rotationPY: 80
|
rotationPY: 80
|
||||||
|
useMirrorCompensate: 1
|
||||||
baseMmove: 0
|
baseMmove: 0
|
||||||
isRotate: 1
|
isRotate: 1
|
||||||
isNot1: 0
|
isNot1: 0
|
||||||
ischild0: 1
|
ischild0: 1
|
||||||
depthOffset: -850
|
depthOffset: -850
|
||||||
|
is2DFish: 0
|
||||||
|
sortOrder2D: 0
|
||||||
|
|||||||
@@ -45,30 +45,32 @@ MonoBehaviour:
|
|||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
bjEndUI: {fileID: 0}
|
bjEndUI: {fileID: 0}
|
||||||
useScorePanel: 1
|
bjEndUIOffsetY: 150
|
||||||
tMP_Score: {fileID: 0}
|
|
||||||
scorePanelPrefab: {fileID: 0}
|
|
||||||
currScore: 0
|
|
||||||
maxScore: 0
|
|
||||||
scoreCount: 0
|
|
||||||
posID: 0
|
posID: 0
|
||||||
paoBei: 0
|
paoBei: 0
|
||||||
fishScore: 0
|
fishScore: 0
|
||||||
bJbeishu: 0
|
bJbeishu: 0
|
||||||
|
maxScore: 0
|
||||||
|
startOffset: {x: 0, y: 0, z: -100}
|
||||||
|
isSelf: 0
|
||||||
|
isScoreEnd: 0
|
||||||
|
useScorePanel: 0
|
||||||
|
tMP_Score: {fileID: 0}
|
||||||
|
scorePanelPrefab: {fileID: 0}
|
||||||
|
currScore: 0
|
||||||
|
scoreCount: 0
|
||||||
|
bigPrizeFishMode: 0
|
||||||
showDelay: 3
|
showDelay: 3
|
||||||
moveDuration: 0.5
|
moveDuration: 0.5
|
||||||
moveEase: 6
|
moveEase: 6
|
||||||
startOffset: {x: 0, y: 0, z: -100}
|
|
||||||
bjEndUIOffsetY: 150
|
|
||||||
coinFlyDuration: 0.5
|
coinFlyDuration: 0.5
|
||||||
coinArrivalInterval: 0.1
|
coinArrivalInterval: 0.1
|
||||||
isSelf: 0
|
showAddScoreFX: 1
|
||||||
autoFinishOnScoreFull: 1
|
autoFinishOnScoreFull: 1
|
||||||
totalBJCount: 0
|
totalBJCount: 0
|
||||||
currBJCount: 0
|
currBJCount: 0
|
||||||
isEffEnd: 0
|
isEffEnd: 0
|
||||||
isScoreStart: 0
|
isScoreStart: 0
|
||||||
isScoreEnd: 0
|
|
||||||
isGoldEffectStart: 0
|
isGoldEffectStart: 0
|
||||||
baoJiangMode: 0
|
baoJiangMode: 0
|
||||||
endUIType: 1
|
endUIType: 1
|
||||||
@@ -88,16 +90,21 @@ MonoBehaviour:
|
|||||||
dieEffectTesyNum: 0
|
dieEffectTesyNum: 0
|
||||||
minBJCount: 10
|
minBJCount: 10
|
||||||
maxBJCount: 15
|
maxBJCount: 15
|
||||||
|
laserPrefab: {fileID: 0}
|
||||||
|
laserLengthCorrect: 1
|
||||||
lightningMaterial: {fileID: 2100000, guid: a023113e8eb8bf245b8ba10c3e9788d1, type: 2}
|
lightningMaterial: {fileID: 2100000, guid: a023113e8eb8bf245b8ba10c3e9788d1, type: 2}
|
||||||
lightningColor: {r: 1, g: 0.92156863, b: 0.015686275, a: 1}
|
lightningColor: {r: 1, g: 0.92156863, b: 0.015686275, a: 1}
|
||||||
lightningWidth: 0.08
|
lightningWidth: 0.08
|
||||||
zigzagSegments: 6
|
zigzagSegments: 6
|
||||||
zigzagJitter: 0.5
|
zigzagJitter: 0.5
|
||||||
|
flickerRate: 12
|
||||||
explosionPrefab: {fileID: 1709254077376921, guid: 08be47e4b1d3e1c4a895269c2c08653c,
|
explosionPrefab: {fileID: 1709254077376921, guid: 08be47e4b1d3e1c4a895269c2c08653c,
|
||||||
type: 3}
|
type: 3}
|
||||||
explosionRadius: 10
|
explosionRadius: 10
|
||||||
|
hitFxPrefab: {fileID: 0}
|
||||||
lightningCount: 5
|
lightningCount: 5
|
||||||
lightningRange: 5
|
circleRange: 3
|
||||||
|
fillRange: 0
|
||||||
lightningWait: 0.5
|
lightningWait: 0.5
|
||||||
killDelay: 0.3
|
killDelay: 0.3
|
||||||
fishLayer:
|
fishLayer:
|
||||||
|
|||||||
@@ -284,35 +284,32 @@ MonoBehaviour:
|
|||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
bjEndUI: {fileID: -8120521337631753117, guid: 24beb697c2a6de5468bbfc86bdf3a918,
|
bjEndUI: {fileID: -8120521337631753117, guid: 24beb697c2a6de5468bbfc86bdf3a918,
|
||||||
type: 3}
|
type: 3}
|
||||||
useScorePanel: 1
|
bjEndUIOffsetY: 150
|
||||||
tMP_Score: {fileID: 0}
|
|
||||||
scorePanelPrefab: {fileID: 0}
|
|
||||||
currScore: 0
|
|
||||||
maxScore: 0
|
|
||||||
scoreCount: 0
|
|
||||||
posID: 0
|
posID: 0
|
||||||
paoBei: 0
|
paoBei: 0
|
||||||
fishScore: 0
|
fishScore: 0
|
||||||
bJbeishu: 0
|
bJbeishu: 0
|
||||||
|
maxScore: 0
|
||||||
|
startOffset: {x: 0, y: 0, z: -100}
|
||||||
|
isSelf: 0
|
||||||
|
isScoreEnd: 0
|
||||||
|
useScorePanel: 0
|
||||||
|
tMP_Score: {fileID: 0}
|
||||||
|
scorePanelPrefab: {fileID: 0}
|
||||||
|
currScore: 0
|
||||||
|
scoreCount: 0
|
||||||
|
bigPrizeFishMode: 0
|
||||||
showDelay: 3
|
showDelay: 3
|
||||||
moveDuration: 0.5
|
moveDuration: 0.5
|
||||||
moveEase: 6
|
moveEase: 6
|
||||||
startOffset: {x: 0, y: 0, z: -100}
|
|
||||||
bjEndUIOffsetY: 150
|
|
||||||
coinFlyDuration: 0.5
|
coinFlyDuration: 0.5
|
||||||
coinArrivalInterval: 0.1
|
coinArrivalInterval: 0.1
|
||||||
isSelf: 0
|
showAddScoreFX: 1
|
||||||
autoFinishOnScoreFull: 1
|
autoFinishOnScoreFull: 1
|
||||||
totalBJCount: 0
|
totalBJCount: 0
|
||||||
currBJCount: 0
|
currBJCount: 0
|
||||||
isEffEnd: 0
|
isEffEnd: 0
|
||||||
isScoreStart: 0
|
isScoreStart: 0
|
||||||
isScoreEnd: 0
|
|
||||||
isGoldEffectStart: 0
|
isGoldEffectStart: 0
|
||||||
explosionRadius: 5
|
|
||||||
fishLayer:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Bits: 0
|
|
||||||
explosionDelay: 0.5
|
|
||||||
explosionDuration: 2
|
|
||||||
explosionCenter: {x: 0, y: 0, z: 0}
|
explosionCenter: {x: 0, y: 0, z: 0}
|
||||||
|
baoJiItemCount: 30
|
||||||
|
|||||||
@@ -886,9 +886,9 @@ RectTransform:
|
|||||||
m_Father: {fileID: 8031883748199427146}
|
m_Father: {fileID: 8031883748199427146}
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 0}
|
m_AnchorMin: {x: 0, y: 0}
|
||||||
m_AnchorMax: {x: 1, y: 1}
|
m_AnchorMax: {x: 1, y: 0}
|
||||||
m_AnchoredPosition: {x: -0.49072266, y: -262.72168}
|
m_AnchoredPosition: {x: -0.49072266, y: 112.27832}
|
||||||
m_SizeDelta: {x: -79.6833, y: -700.8773}
|
m_SizeDelta: {x: -79.6833, y: 49.12268}
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
--- !u!222 &5611486403026417207
|
--- !u!222 &5611486403026417207
|
||||||
CanvasRenderer:
|
CanvasRenderer:
|
||||||
|
|||||||
@@ -1,5 +1,160 @@
|
|||||||
%YAML 1.1
|
%YAML 1.1
|
||||||
%TAG !u! tag:unity3d.com,2011:
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!1 &125206822854412785
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 6392373564129328243}
|
||||||
|
- component: {fileID: 1065876367236267521}
|
||||||
|
- component: {fileID: 5290092168513550006}
|
||||||
|
- component: {fileID: 2141871406713982016}
|
||||||
|
m_Layer: 5
|
||||||
|
m_Name: Image
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!224 &6392373564129328243
|
||||||
|
RectTransform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 125206822854412785}
|
||||||
|
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||||
|
m_LocalPosition: {x: 0, y: 0, z: 5.705655}
|
||||||
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
|
m_Children: []
|
||||||
|
m_Father: {fileID: 2747341826554260929}
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||||
|
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||||
|
m_AnchoredPosition: {x: -51.759155, y: 251.07983}
|
||||||
|
m_SizeDelta: {x: 60, y: 60}
|
||||||
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
|
--- !u!222 &1065876367236267521
|
||||||
|
CanvasRenderer:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 125206822854412785}
|
||||||
|
m_CullTransparentMesh: 1
|
||||||
|
--- !u!114 &5290092168513550006
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 125206822854412785}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
m_Material: {fileID: 0}
|
||||||
|
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
m_RaycastTarget: 1
|
||||||
|
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
m_Maskable: 1
|
||||||
|
m_OnCullStateChanged:
|
||||||
|
m_PersistentCalls:
|
||||||
|
m_Calls: []
|
||||||
|
m_Sprite: {fileID: 0}
|
||||||
|
m_Type: 0
|
||||||
|
m_PreserveAspect: 0
|
||||||
|
m_FillCenter: 1
|
||||||
|
m_FillMethod: 4
|
||||||
|
m_FillAmount: 1
|
||||||
|
m_FillClockwise: 1
|
||||||
|
m_FillOrigin: 0
|
||||||
|
m_UseSpriteMesh: 0
|
||||||
|
m_PixelsPerUnitMultiplier: 1
|
||||||
|
--- !u!114 &2141871406713982016
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 125206822854412785}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
m_Navigation:
|
||||||
|
m_Mode: 3
|
||||||
|
m_WrapAround: 0
|
||||||
|
m_SelectOnUp: {fileID: 0}
|
||||||
|
m_SelectOnDown: {fileID: 0}
|
||||||
|
m_SelectOnLeft: {fileID: 0}
|
||||||
|
m_SelectOnRight: {fileID: 0}
|
||||||
|
m_Transition: 1
|
||||||
|
m_Colors:
|
||||||
|
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
|
||||||
|
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
|
||||||
|
m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
|
||||||
|
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
|
||||||
|
m_ColorMultiplier: 1
|
||||||
|
m_FadeDuration: 0.1
|
||||||
|
m_SpriteState:
|
||||||
|
m_HighlightedSprite: {fileID: 0}
|
||||||
|
m_PressedSprite: {fileID: 0}
|
||||||
|
m_SelectedSprite: {fileID: 0}
|
||||||
|
m_DisabledSprite: {fileID: 0}
|
||||||
|
m_AnimationTriggers:
|
||||||
|
m_NormalTrigger: Normal
|
||||||
|
m_HighlightedTrigger: Highlighted
|
||||||
|
m_PressedTrigger: Pressed
|
||||||
|
m_SelectedTrigger: Selected
|
||||||
|
m_DisabledTrigger: Disabled
|
||||||
|
m_Interactable: 1
|
||||||
|
m_TargetGraphic: {fileID: 5290092168513550006}
|
||||||
|
m_OnClick:
|
||||||
|
m_PersistentCalls:
|
||||||
|
m_Calls: []
|
||||||
|
--- !u!1 &410539498292643559
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 2062513398397270554}
|
||||||
|
m_Layer: 0
|
||||||
|
m_Name: start
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!224 &2062513398397270554
|
||||||
|
RectTransform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 410539498292643559}
|
||||||
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
|
m_Children: []
|
||||||
|
m_Father: {fileID: 1650206161006120839}
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||||
|
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||||
|
m_AnchoredPosition: {x: -267.8, y: -3.1}
|
||||||
|
m_SizeDelta: {x: 100, y: 100}
|
||||||
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
--- !u!1 &428869252117790975
|
--- !u!1 &428869252117790975
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -17,7 +172,7 @@ GameObject:
|
|||||||
m_Icon: {fileID: 0}
|
m_Icon: {fileID: 0}
|
||||||
m_NavMeshLayer: 0
|
m_NavMeshLayer: 0
|
||||||
m_StaticEditorFlags: 0
|
m_StaticEditorFlags: 0
|
||||||
m_IsActive: 1
|
m_IsActive: 0
|
||||||
--- !u!224 &1755596749695405114
|
--- !u!224 &1755596749695405114
|
||||||
RectTransform:
|
RectTransform:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -672,6 +827,7 @@ RectTransform:
|
|||||||
- {fileID: 551837965639396177}
|
- {fileID: 551837965639396177}
|
||||||
- {fileID: 4852173693812700946}
|
- {fileID: 4852173693812700946}
|
||||||
- {fileID: 6605999270105133777}
|
- {fileID: 6605999270105133777}
|
||||||
|
- {fileID: 2747341826554260929}
|
||||||
m_Father: {fileID: 0}
|
m_Father: {fileID: 0}
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 0}
|
m_AnchorMin: {x: 0, y: 0}
|
||||||
@@ -748,6 +904,7 @@ MonoBehaviour:
|
|||||||
tmp_CoinCount_Top: {fileID: 5805709281203068529}
|
tmp_CoinCount_Top: {fileID: 5805709281203068529}
|
||||||
tmp_WaitTime_Top: {fileID: 7342989625873532498}
|
tmp_WaitTime_Top: {fileID: 7342989625873532498}
|
||||||
img_Title_Top: {fileID: 5212885171862005544}
|
img_Title_Top: {fileID: 5212885171862005544}
|
||||||
|
chessBoard: {fileID: 1568158661184407560}
|
||||||
skeletonGraphic: {fileID: 2515020745373521213}
|
skeletonGraphic: {fileID: 2515020745373521213}
|
||||||
skineName_JinXingZhong: jrz
|
skineName_JinXingZhong: jrz
|
||||||
skineName_KaiShi: ks
|
skineName_KaiShi: ks
|
||||||
@@ -2517,6 +2674,38 @@ MonoBehaviour:
|
|||||||
m_FillOrigin: 0
|
m_FillOrigin: 0
|
||||||
m_UseSpriteMesh: 0
|
m_UseSpriteMesh: 0
|
||||||
m_PixelsPerUnitMultiplier: 1
|
m_PixelsPerUnitMultiplier: 1
|
||||||
|
--- !u!1 &7559696001170718660
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 2747341826554260929}
|
||||||
|
m_Layer: 0
|
||||||
|
m_Name: GameObject
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 0
|
||||||
|
--- !u!4 &2747341826554260929
|
||||||
|
Transform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 7559696001170718660}
|
||||||
|
serializedVersion: 2
|
||||||
|
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||||
|
m_LocalPosition: {x: 101.759186, y: -201.07983, z: -5.705655}
|
||||||
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
|
m_Children:
|
||||||
|
- {fileID: 6392373564129328243}
|
||||||
|
m_Father: {fileID: 2713217087351076567}
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
--- !u!1 &7794285192166842006
|
--- !u!1 &7794285192166842006
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -2528,8 +2717,9 @@ GameObject:
|
|||||||
- component: {fileID: 1650206161006120839}
|
- component: {fileID: 1650206161006120839}
|
||||||
- component: {fileID: 1879959141934861467}
|
- component: {fileID: 1879959141934861467}
|
||||||
- component: {fileID: 3183306154905010273}
|
- component: {fileID: 3183306154905010273}
|
||||||
|
- component: {fileID: 1568158661184407560}
|
||||||
m_Layer: 0
|
m_Layer: 0
|
||||||
m_Name: "\u670B\u5BA2\u6E38\u620F"
|
m_Name: ChessBoard
|
||||||
m_TagString: Untagged
|
m_TagString: Untagged
|
||||||
m_Icon: {fileID: 0}
|
m_Icon: {fileID: 0}
|
||||||
m_NavMeshLayer: 0
|
m_NavMeshLayer: 0
|
||||||
@@ -2546,7 +2736,9 @@ RectTransform:
|
|||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
m_ConstrainProportionsScale: 0
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children: []
|
m_Children:
|
||||||
|
- {fileID: 3121338166189145531}
|
||||||
|
- {fileID: 2062513398397270554}
|
||||||
m_Father: {fileID: 2713217087351076567}
|
m_Father: {fileID: 2713217087351076567}
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||||
@@ -2592,6 +2784,92 @@ MonoBehaviour:
|
|||||||
m_FillOrigin: 0
|
m_FillOrigin: 0
|
||||||
m_UseSpriteMesh: 0
|
m_UseSpriteMesh: 0
|
||||||
m_PixelsPerUnitMultiplier: 1
|
m_PixelsPerUnitMultiplier: 1
|
||||||
|
--- !u!114 &1568158661184407560
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 7794285192166842006}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 223dd72793f90b243a81f10d13afda56, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
point_Start: {fileID: 2062513398397270554}
|
||||||
|
point_End: {fileID: 3121338166189145531}
|
||||||
|
img_Board: {fileID: 3183306154905010273}
|
||||||
|
draw_BoardLines: 1
|
||||||
|
prefab_Piece: {fileID: 125206822854412785}
|
||||||
|
prefab_Cell: {fileID: 0}
|
||||||
|
sprite_RedPieces:
|
||||||
|
- {fileID: 21300000, guid: 74aa68ddfe726a64eaae41e9698b9dc5, type: 3}
|
||||||
|
- {fileID: 21300000, guid: 995b97cc64f6d5541bfa374957ab0b96, type: 3}
|
||||||
|
- {fileID: 21300000, guid: 8350afd2b074f884f9d72252ef81cfc9, type: 3}
|
||||||
|
- {fileID: 21300000, guid: a049a9929b74a0841a97b0528f917b9a, type: 3}
|
||||||
|
- {fileID: 21300000, guid: ce6a7b638b7f8434ba28ed76aba0243b, type: 3}
|
||||||
|
- {fileID: 21300000, guid: 545769dba244abf4ea0e17e6fe536302, type: 3}
|
||||||
|
- {fileID: 21300000, guid: ff21c6db7f58b8440b6a408128d141bf, type: 3}
|
||||||
|
sprite_BlackPieces:
|
||||||
|
- {fileID: 21300000, guid: fb088f476f754414ca609df46af3f35d, type: 3}
|
||||||
|
- {fileID: 21300000, guid: b3087b407d4d9e24c88a4cc7a1171cb8, type: 3}
|
||||||
|
- {fileID: 21300000, guid: 2e4606e92e5ee394aa75847e8ede0d14, type: 3}
|
||||||
|
- {fileID: 21300000, guid: af0e0ab60ec4fd040bed05c3fbecc3f5, type: 3}
|
||||||
|
- {fileID: 21300000, guid: 0e566efffec368f4aa13b8680bd0fd07, type: 3}
|
||||||
|
- {fileID: 21300000, guid: aedf529cde0a46843b121f9361b8794b, type: 3}
|
||||||
|
- {fileID: 21300000, guid: 75494ddcdfe976542bc8875e3d66a37e, type: 3}
|
||||||
|
pieceScale: 0.92
|
||||||
|
sprite_LastFromMark: {fileID: 21300016, guid: 1b142012a72db0d41a9f63afbeccb5c8,
|
||||||
|
type: 3}
|
||||||
|
sprite_LastToMark: {fileID: 21300032, guid: 1b142012a72db0d41a9f63afbeccb5c8, type: 3}
|
||||||
|
lastMarkScale: 0.85
|
||||||
|
sprite_HintDot: {fileID: 21300012, guid: 1b142012a72db0d41a9f63afbeccb5c8, type: 3}
|
||||||
|
selectMarkScale: 1
|
||||||
|
show_DebugPoints: 1
|
||||||
|
sprite_PieceBg: {fileID: 21300000, guid: 27bc0b59ac2895d479eb92f497deab45, type: 3}
|
||||||
|
font_Piece: {fileID: 11400000, guid: 5d4a713fdd931db4c9ce49f068b54e0a, type: 2}
|
||||||
|
color_RedText: {r: 0.7764706, g: 0.15686275, b: 0.15686275, a: 1}
|
||||||
|
color_BlackText: {r: 0.12941177, g: 0.12941177, b: 0.12941177, a: 1}
|
||||||
|
tr_Lines: {fileID: 0}
|
||||||
|
tr_Cells: {fileID: 0}
|
||||||
|
tr_UnderMarks: {fileID: 0}
|
||||||
|
tr_Pieces: {fileID: 0}
|
||||||
|
tr_Marks: {fileID: 0}
|
||||||
|
--- !u!1 &7794397196396407390
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 3121338166189145531}
|
||||||
|
m_Layer: 0
|
||||||
|
m_Name: end
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!224 &3121338166189145531
|
||||||
|
RectTransform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 7794397196396407390}
|
||||||
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
|
m_Children: []
|
||||||
|
m_Father: {fileID: 1650206161006120839}
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||||
|
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||||
|
m_AnchoredPosition: {x: -267.8, y: 64.3}
|
||||||
|
m_SizeDelta: {x: 100, y: 100}
|
||||||
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
--- !u!1 &8038616329731275413
|
--- !u!1 &8038616329731275413
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
|||||||
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 2177a7b189de42a4e837f5e419cd3475
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -0,0 +1,752 @@
|
|||||||
|
using DG.Tweening;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using TMPro;
|
||||||
|
using UnityEngine;
|
||||||
|
using UnityEngine.UI;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 棋盘控件(挂在 ChineseChessMainPanel 下)
|
||||||
|
///
|
||||||
|
/// 定位方案(配合自备棋盘底图):
|
||||||
|
/// 1. 自备棋盘底图:作为本物体的子物体摆好(拖到 img_Board,可选)
|
||||||
|
/// 2. 建两个空物体作定位点,精确摆到底图交叉点上:
|
||||||
|
/// point_Start:楚河汉界【下方】的左上角交叉点(红方河沿最左侧,逻辑 (0,4))
|
||||||
|
/// point_End :楚河汉界【上方】的左下角交叉点(与起始点同列、隔河相邻,逻辑 (0,5))
|
||||||
|
/// 3. 两点距离 = 网格间距;代码从起始点出发生成全部 90 个定位点
|
||||||
|
/// 4. 黑方视角:逻辑坐标镜像映射(我方棋子永远在下方),底图不用转
|
||||||
|
///
|
||||||
|
/// 棋子:
|
||||||
|
/// - prefab_Piece:只放 Image + Button 的预制体(不加任何脚本,脚本由代码动态添加)
|
||||||
|
/// - sprite_RedPieces / sprite_BlackPieces:拖展示图,顺序:将/帅、士/仕、象/相、马、车、炮、兵/卒
|
||||||
|
/// - 都不配则代码生成默认棋子(米色圆 + 汉字)
|
||||||
|
///
|
||||||
|
/// 调试:show_DebugPoints = true 生成 90 个半透明小点,用于校准定位点与底图对齐
|
||||||
|
/// </summary>
|
||||||
|
public class UIChessBoard : MonoBehaviour
|
||||||
|
{
|
||||||
|
[Header("棋盘定位(必填)")]
|
||||||
|
public RectTransform point_Start; // 起始定位点:楚河汉界下方左上角交叉点(红方河沿最左)
|
||||||
|
public RectTransform point_End; // 间距定位点:楚河汉界上方左下角交叉点(与起始点同列隔河)
|
||||||
|
public Image img_Board; // 棋盘底图(自摆拖入;不填且 draw_BoardLines 开启时代码画线)
|
||||||
|
public bool draw_BoardLines = true; // 无底图时代码绘制棋盘线(有底图自动忽略)
|
||||||
|
|
||||||
|
[Header("棋子/格子预制体(只放 Image + Button,脚本由代码动态添加)")]
|
||||||
|
public GameObject prefab_Piece;
|
||||||
|
public GameObject prefab_Cell; // 可选:格子预制体
|
||||||
|
|
||||||
|
[Header("棋子展示图(顺序:将/帅 士/仕 象/相 马 车 炮 兵/卒)")]
|
||||||
|
public Sprite[] sprite_RedPieces;
|
||||||
|
public Sprite[] sprite_BlackPieces;
|
||||||
|
[Range(0.5f, 1.5f)] public float pieceScale = 0.92f; // 棋子直径 = 网格间距 × pieceScale
|
||||||
|
|
||||||
|
[Header("上一步历史标记图(仅显示上一位玩家的起点/终点,不填用半透明方块)")]
|
||||||
|
public Sprite sprite_LastFromMark; // 起点标记图
|
||||||
|
public Sprite sprite_LastToMark; // 终点标记图
|
||||||
|
[Range(0.3f, 1.5f)] public float lastMarkScale = 0.85f; // 标记大小 = 格距 × 此值
|
||||||
|
|
||||||
|
[Header("选中标记图(点击自己棋子时显示在棋子下面)")]
|
||||||
|
public Sprite sprite_HintDot; // 点击选中的棋子下面显示的图(沿用原字段名,之前拖的图自动关联)
|
||||||
|
[Range(0.3f, 1.5f)] public float selectMarkScale = 1.0f; // 标记大小 = 格距 × 此值
|
||||||
|
|
||||||
|
[Header("调试")]
|
||||||
|
public bool show_DebugPoints = false; // 显示 90 个定位点小圆点(校准底图对齐用)
|
||||||
|
|
||||||
|
[Header("无展示图时的默认样式")]
|
||||||
|
public Sprite sprite_PieceBg; // 棋子底图(默认:代码生成的米色圆)
|
||||||
|
public TMP_FontAsset font_Piece; // 棋子文字字体(默认:TMP 默认字体)
|
||||||
|
public Color color_RedText = new Color32(0xC6, 0x28, 0x28, 0xFF);
|
||||||
|
public Color color_BlackText = new Color32(0x21, 0x21, 0x21, 0xFF);
|
||||||
|
|
||||||
|
[Header("运行时自动生成(不用拖)")]
|
||||||
|
public RectTransform tr_Lines; // 棋盘线层(仅无底图时用)
|
||||||
|
public RectTransform tr_Cells; // 格子层(90 个定位点)
|
||||||
|
public RectTransform tr_UnderMarks; // 选中标记层(在棋子下面)
|
||||||
|
public RectTransform tr_Pieces; // 棋子层
|
||||||
|
public RectTransform tr_Marks; // 提示层(上一步标记/提示文字)
|
||||||
|
|
||||||
|
/// <summary>解析后的字体(font_Piece 或 TMP 默认字体)</summary>
|
||||||
|
public TMP_FontAsset ResolvedFont { get; private set; }
|
||||||
|
|
||||||
|
// 格子缓存:按逻辑坐标存 [y,x]
|
||||||
|
private UIChessCell[,] cells = new UIChessCell[ChessConst.BoardHeight, ChessConst.BoardWidth];
|
||||||
|
// 棋子缓存:pieceId → 控件
|
||||||
|
private readonly Dictionary<int, UIChessPiece> pieceMap = new Dictionary<int, UIChessPiece>();
|
||||||
|
|
||||||
|
private ChessGameManager gameManager;
|
||||||
|
private ChessCamp myCamp;
|
||||||
|
private bool flipped; // 我方为黑方时,逻辑坐标镜像映射(我方永远在下方)
|
||||||
|
private UIChessPiece selectedPiece;
|
||||||
|
private readonly List<Vector2Int> selectedMoves = new List<Vector2Int>();
|
||||||
|
private RectTransform lastFromMark;
|
||||||
|
private RectTransform lastToMark;
|
||||||
|
private Image img_SelectMark; // 选中标记(点击棋子时显示在棋子下面)
|
||||||
|
private TextMeshProUGUI tmp_Toast;
|
||||||
|
private Tween toastTween;
|
||||||
|
|
||||||
|
// ---- 定位计算结果 ----
|
||||||
|
private bool gridValid; // 定位点是否有效
|
||||||
|
private Vector2 gridStart; // 起始点在格层本地坐标(逻辑 (0,4))
|
||||||
|
private Vector2 gridUp; // 逻辑 y+ 方向(指向黑方)
|
||||||
|
private Vector2 gridRight; // 逻辑 x+ 方向(红方视角从左到右)
|
||||||
|
private float cellStep; // 网格间距(两定位点距离)
|
||||||
|
private float gridAngle; // 网格旋转角(底图正摆时为 0)
|
||||||
|
private float pieceSize; // 棋子直径
|
||||||
|
private bool interactable = true;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 初始化棋盘(每次开一局调用一次)
|
||||||
|
/// </summary>
|
||||||
|
public void Init(ChessGameManager manager, ChessCamp camp)
|
||||||
|
{
|
||||||
|
Clear();
|
||||||
|
gameManager = manager;
|
||||||
|
myCamp = camp;
|
||||||
|
flipped = camp == ChessCamp.Black;
|
||||||
|
|
||||||
|
ResolvedFont = font_Piece != null ? font_Piece : TMP_Settings.defaultFontAsset;
|
||||||
|
if (ResolvedFont == null)
|
||||||
|
Debug.LogWarning("[UIChessBoard] 未找到可用 TMP 字体,棋子文字可能无法显示,请在 Inspector 给 font_Piece 拖入中文字体");
|
||||||
|
|
||||||
|
BuildContainers();
|
||||||
|
CalcGridFromPoints(); // ★ 两定位点 → 间距 + 方向
|
||||||
|
BuildCells(); // ★ 90 个棋盘定位点
|
||||||
|
if (img_Board == null && draw_BoardLines) BuildBoardLines(); // 无底图时才代码画线
|
||||||
|
BuildPieces(); // ★ 全部棋子(预制体优先,脚本动态添加)
|
||||||
|
if (show_DebugPoints) BuildDebugPoints();
|
||||||
|
BuildToast();
|
||||||
|
|
||||||
|
// 订阅数据层事件 → 表现层
|
||||||
|
gameManager.OnMoveApplied += OnChessMoveApplied;
|
||||||
|
gameManager.OnUndoApplied += OnChessUndoApplied;
|
||||||
|
gameManager.OnGameOver += OnChessGameOver;
|
||||||
|
gameManager.OnTurnChanged += OnTurnChanged;
|
||||||
|
|
||||||
|
SetInteractable(true);
|
||||||
|
if (gridValid) ShowToast(myCamp == ChessCamp.Red ? "红方先行" : "对方先行");
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>清空棋盘(对局结束/面板隐藏时调用,Init 内部也会先调一次保证可重入)</summary>
|
||||||
|
public void Clear()
|
||||||
|
{
|
||||||
|
if (gameManager != null)
|
||||||
|
{
|
||||||
|
gameManager.OnMoveApplied -= OnChessMoveApplied;
|
||||||
|
gameManager.OnUndoApplied -= OnChessUndoApplied;
|
||||||
|
gameManager.OnGameOver -= OnChessGameOver;
|
||||||
|
gameManager.OnTurnChanged -= OnTurnChanged;
|
||||||
|
gameManager = null;
|
||||||
|
}
|
||||||
|
ClearSelection();
|
||||||
|
selectedPiece = null;
|
||||||
|
selectedMoves.Clear();
|
||||||
|
HideLastMoveMark();
|
||||||
|
|
||||||
|
if (tr_Lines != null) { Destroy(tr_Lines.gameObject); tr_Lines = null; }
|
||||||
|
if (tr_Cells != null) { Destroy(tr_Cells.gameObject); tr_Cells = null; }
|
||||||
|
if (tr_UnderMarks != null) { Destroy(tr_UnderMarks.gameObject); tr_UnderMarks = null; }
|
||||||
|
if (tr_Pieces != null) { Destroy(tr_Pieces.gameObject); tr_Pieces = null; }
|
||||||
|
if (tr_Marks != null) { Destroy(tr_Marks.gameObject); tr_Marks = null; }
|
||||||
|
|
||||||
|
lastFromMark = null;
|
||||||
|
lastToMark = null;
|
||||||
|
img_SelectMark = null;
|
||||||
|
tmp_Toast = null;
|
||||||
|
toastTween?.Kill();
|
||||||
|
toastTween = null;
|
||||||
|
pieceMap.Clear();
|
||||||
|
cells = new UIChessCell[ChessConst.BoardHeight, ChessConst.BoardWidth];
|
||||||
|
gridValid = false;
|
||||||
|
cellStep = 0f;
|
||||||
|
interactable = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// ================= 资源取用(供棋子控件访问) =================
|
||||||
|
|
||||||
|
/// <summary>取某方某类型棋子的展示图(未配置返回 null)</summary>
|
||||||
|
public Sprite GetTypeSprite(ChessCamp camp, ChessPieceType type)
|
||||||
|
{
|
||||||
|
var arr = camp == ChessCamp.Red ? sprite_RedPieces : sprite_BlackPieces;
|
||||||
|
int idx = (int)type - 1; // ChessPieceType:Jiang=1 Shi=2 Xiang=3 Ma=4 Ju=5 Pao=6 Bing=7
|
||||||
|
if (arr == null || idx < 0 || idx >= arr.Length) return null;
|
||||||
|
return arr[idx];
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>取某方棋子文字颜色</summary>
|
||||||
|
public Color GetTextColor(ChessCamp camp)
|
||||||
|
{
|
||||||
|
return camp == ChessCamp.Red ? color_RedText : color_BlackText;
|
||||||
|
}
|
||||||
|
|
||||||
|
// ================= 定位计算(核心) =================
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 由两个定位点计算网格:间距 = 两点距离,方向 = 起点→终点 为 y+(指向黑方)
|
||||||
|
/// </summary>
|
||||||
|
private void CalcGridFromPoints()
|
||||||
|
{
|
||||||
|
if (point_Start == null || point_End == null)
|
||||||
|
{
|
||||||
|
Debug.LogError("[UIChessBoard] 未配置定位点 point_Start / point_End!\n" +
|
||||||
|
"摆法:楚河汉界下方左上角交叉点 = point_Start;上方左下角交叉点 = point_End(两点同列隔河)");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
Vector2 s = ToBoardLocal(point_Start);
|
||||||
|
Vector2 e = ToBoardLocal(point_End);
|
||||||
|
Vector2 delta = e - s;
|
||||||
|
cellStep = delta.magnitude;
|
||||||
|
|
||||||
|
if (cellStep < 1f)
|
||||||
|
{
|
||||||
|
Debug.LogError("[UIChessBoard] 两个定位点重合或距离过近(间距=" + cellStep + "),请检查摆放");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
gridStart = s;
|
||||||
|
gridUp = delta.normalized; // 逻辑 y+ 方向(起点→终点,指向黑方)
|
||||||
|
gridRight = new Vector2(gridUp.y, -gridUp.x); // 逻辑 x+ 方向(红方视角从左到右)
|
||||||
|
gridAngle = Mathf.Atan2(gridUp.y, gridUp.x) * Mathf.Rad2Deg - 90f;
|
||||||
|
pieceSize = cellStep * pieceScale;
|
||||||
|
gridValid = true;
|
||||||
|
|
||||||
|
Debug.Log($"[UIChessBoard] 定位成功:网格间距={cellStep:F2},起点=({s.x:F1}, {s.y:F1})," +
|
||||||
|
$"将生成 90 个定位点 + 32 个棋子(棋子直径={pieceSize:F1})");
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>任意 Transform → 格层本地坐标(与格子/棋子的 anchoredPosition 同一坐标系)</summary>
|
||||||
|
private Vector2 ToBoardLocal(Transform t)
|
||||||
|
{
|
||||||
|
return (Vector2)tr_Cells.InverseTransformPoint(t.position);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>物理网格坐标:从起始点(逻辑 0,4)出发按间距推算</summary>
|
||||||
|
private Vector2 PhysicalPos(int x, int y)
|
||||||
|
{
|
||||||
|
return gridStart + gridRight * (x * cellStep) + gridUp * ((y - 4) * cellStep);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>逻辑坐标 → 棋盘位置(黑方视角镜像:我方永远在下方)</summary>
|
||||||
|
private Vector2 GetPos(int x, int y)
|
||||||
|
{
|
||||||
|
if (flipped)
|
||||||
|
{
|
||||||
|
x = ChessConst.BoardWidth - 1 - x;
|
||||||
|
y = ChessConst.BoardHeight - 1 - y;
|
||||||
|
}
|
||||||
|
return PhysicalPos(x, y);
|
||||||
|
}
|
||||||
|
|
||||||
|
private Vector2 GetPos(Vector2Int p)
|
||||||
|
{
|
||||||
|
return GetPos(p.x, p.y);
|
||||||
|
}
|
||||||
|
|
||||||
|
// ================= 父子层级 =================
|
||||||
|
|
||||||
|
/// <summary>生成容器层:线 → 格子 → 选中标记 → 棋子 → 提示</summary>
|
||||||
|
private void BuildContainers()
|
||||||
|
{
|
||||||
|
tr_Lines = CreateLayer("Lines");
|
||||||
|
tr_Cells = CreateLayer("Cells");
|
||||||
|
tr_UnderMarks = CreateLayer("UnderMarks");
|
||||||
|
tr_Pieces = CreateLayer("Pieces");
|
||||||
|
tr_Marks = CreateLayer("Marks");
|
||||||
|
}
|
||||||
|
|
||||||
|
private RectTransform CreateLayer(string name)
|
||||||
|
{
|
||||||
|
var go = new GameObject(name, typeof(RectTransform));
|
||||||
|
var rt = go.GetComponent<RectTransform>();
|
||||||
|
rt.SetParent(transform, false);
|
||||||
|
rt.anchorMin = Vector2.zero;
|
||||||
|
rt.anchorMax = Vector2.one;
|
||||||
|
rt.offsetMin = Vector2.zero;
|
||||||
|
rt.offsetMax = Vector2.zero;
|
||||||
|
rt.pivot = new Vector2(0.5f, 0.5f);
|
||||||
|
return rt;
|
||||||
|
}
|
||||||
|
|
||||||
|
// ================= 90 个棋盘定位点 =================
|
||||||
|
|
||||||
|
/// <summary>按定位点生成全部格子(透明点击区 + 走子提示),支持拖格子预制体</summary>
|
||||||
|
private void BuildCells()
|
||||||
|
{
|
||||||
|
if (!gridValid) return;
|
||||||
|
|
||||||
|
for (int y = 0; y < ChessConst.BoardHeight; y++)
|
||||||
|
{
|
||||||
|
for (int x = 0; x < ChessConst.BoardWidth; x++)
|
||||||
|
{
|
||||||
|
GameObject go;
|
||||||
|
if (prefab_Cell != null)
|
||||||
|
{
|
||||||
|
go = Instantiate(prefab_Cell, tr_Cells);
|
||||||
|
if (go.GetComponent<RectTransform>() == null)
|
||||||
|
{
|
||||||
|
Debug.LogError("[UIChessBoard] 格子预制体根节点必须是 UI 物体(带 RectTransform)");
|
||||||
|
Destroy(go);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
go = new GameObject("Cell", typeof(RectTransform), typeof(Image), typeof(Button));
|
||||||
|
go.GetComponent<Image>().color = new Color(1f, 1f, 1f, 0f); // 透明热区
|
||||||
|
}
|
||||||
|
|
||||||
|
var crt = (RectTransform)go.transform;
|
||||||
|
if (crt.parent != tr_Cells) crt.SetParent(tr_Cells, false);
|
||||||
|
crt.anchoredPosition = GetPos(x, y);
|
||||||
|
crt.sizeDelta = new Vector2(cellStep, cellStep);
|
||||||
|
crt.localEulerAngles = new Vector3(0f, 0f, gridAngle);
|
||||||
|
|
||||||
|
var cell = go.GetComponent<UIChessCell>();
|
||||||
|
if (cell == null) cell = go.AddComponent<UIChessCell>();
|
||||||
|
cell.Init(this, new Vector2Int(x, y), cellStep);
|
||||||
|
cells[y, x] = cell;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>显示 90 个定位点小圆点(校准底图对齐用)</summary>
|
||||||
|
private void BuildDebugPoints()
|
||||||
|
{
|
||||||
|
Sprite dot = ChessArtFactory.GetDotSprite();
|
||||||
|
for (int y = 0; y < ChessConst.BoardHeight; y++)
|
||||||
|
{
|
||||||
|
for (int x = 0; x < ChessConst.BoardWidth; x++)
|
||||||
|
{
|
||||||
|
var go = new GameObject("DebugPoint_" + x + "_" + y, typeof(RectTransform), typeof(Image));
|
||||||
|
var rt = (RectTransform)go.transform;
|
||||||
|
rt.SetParent(tr_Marks, false);
|
||||||
|
rt.anchoredPosition = PhysicalPos(x, y);
|
||||||
|
rt.sizeDelta = new Vector2(cellStep * 0.16f, cellStep * 0.16f);
|
||||||
|
var img = go.GetComponent<Image>();
|
||||||
|
img.sprite = dot;
|
||||||
|
img.color = new Color(0f, 0.75f, 1f, 0.55f);
|
||||||
|
img.raycastTarget = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Debug.Log("[UIChessBoard] 已显示 90 个定位点(蓝色小点),确认与底图对齐后关闭 show_DebugPoints");
|
||||||
|
}
|
||||||
|
|
||||||
|
// ================= 无底图时的代码绘线(可忽略) =================
|
||||||
|
|
||||||
|
/// <summary>自备底图时不调用;无底图时代码绘制棋盘线(横线/竖线/河界断开/九宫/楚河汉界)</summary>
|
||||||
|
private void BuildBoardLines()
|
||||||
|
{
|
||||||
|
if (!gridValid) return;
|
||||||
|
|
||||||
|
Color lineColor = new Color32(0x5B, 0x3A, 0x1E, 0xFF);
|
||||||
|
float thickness = Mathf.Max(2f, cellStep * 0.015f);
|
||||||
|
|
||||||
|
// 棋盘底色
|
||||||
|
var brt = (RectTransform)transform;
|
||||||
|
var bgGo = new GameObject("BoardBg", typeof(RectTransform), typeof(Image));
|
||||||
|
var bgRt = (RectTransform)bgGo.transform;
|
||||||
|
bgRt.SetParent(tr_Lines, false);
|
||||||
|
bgRt.anchorMin = bgRt.anchorMax = new Vector2(0.5f, 0.5f);
|
||||||
|
bgRt.anchoredPosition = Vector2.zero;
|
||||||
|
bgRt.sizeDelta = new Vector2(brt.rect.width, brt.rect.height);
|
||||||
|
var bgImg = bgGo.GetComponent<Image>();
|
||||||
|
bgImg.color = new Color32(0xE9, 0xC5, 0x8C, 0xFF);
|
||||||
|
bgImg.raycastTarget = false;
|
||||||
|
|
||||||
|
// 10 条横线
|
||||||
|
for (int y = 0; y < ChessConst.BoardHeight; y++)
|
||||||
|
DrawLine(PhysicalPos(0, y), PhysicalPos(8, y), thickness, lineColor);
|
||||||
|
|
||||||
|
// 9 条竖线(中间 7 列在河界处断开)
|
||||||
|
for (int x = 0; x < ChessConst.BoardWidth; x++)
|
||||||
|
{
|
||||||
|
if (x == 0 || x == 8)
|
||||||
|
{
|
||||||
|
DrawLine(PhysicalPos(x, 9), PhysicalPos(x, 0), thickness, lineColor);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
DrawLine(PhysicalPos(x, 9), PhysicalPos(x, 5), thickness, lineColor);
|
||||||
|
DrawLine(PhysicalPos(x, 4), PhysicalPos(x, 0), thickness, lineColor);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 九宫斜线
|
||||||
|
DrawLine(PhysicalPos(3, 0), PhysicalPos(5, 2), thickness, lineColor);
|
||||||
|
DrawLine(PhysicalPos(5, 0), PhysicalPos(3, 2), thickness, lineColor);
|
||||||
|
DrawLine(PhysicalPos(3, 7), PhysicalPos(5, 9), thickness, lineColor);
|
||||||
|
DrawLine(PhysicalPos(5, 7), PhysicalPos(3, 9), thickness, lineColor);
|
||||||
|
|
||||||
|
// 楚河 汉界
|
||||||
|
float riverY = (PhysicalPos(0, 4).y + PhysicalPos(0, 5).y) * 0.5f;
|
||||||
|
CreateBoardText("楚河", new Vector2(PhysicalPos(2, 0).x, riverY), cellStep * 0.55f, lineColor);
|
||||||
|
CreateBoardText("汉界", new Vector2(PhysicalPos(6, 0).x, riverY), cellStep * 0.55f, lineColor);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void DrawLine(Vector2 a, Vector2 b, float thickness, Color color)
|
||||||
|
{
|
||||||
|
Vector2 dir = b - a;
|
||||||
|
float len = dir.magnitude;
|
||||||
|
if (len < 0.001f) return;
|
||||||
|
float angle = Mathf.Atan2(dir.y, dir.x) * Mathf.Rad2Deg;
|
||||||
|
|
||||||
|
var go = new GameObject("Line", typeof(RectTransform), typeof(Image));
|
||||||
|
var rt = (RectTransform)go.transform;
|
||||||
|
rt.SetParent(tr_Lines, false);
|
||||||
|
rt.localEulerAngles = new Vector3(0, 0, angle);
|
||||||
|
rt.sizeDelta = new Vector2(len + thickness, thickness);
|
||||||
|
rt.anchoredPosition = (a + b) * 0.5f;
|
||||||
|
var img = go.GetComponent<Image>();
|
||||||
|
img.color = color;
|
||||||
|
img.raycastTarget = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void CreateBoardText(string text, Vector2 pos, float fontSize, Color color)
|
||||||
|
{
|
||||||
|
if (ResolvedFont == null) return;
|
||||||
|
var go = new GameObject("Text_" + text, typeof(RectTransform));
|
||||||
|
var rt = (RectTransform)go.transform;
|
||||||
|
rt.SetParent(tr_Lines, false);
|
||||||
|
rt.anchorMin = rt.anchorMax = new Vector2(0.5f, 0.5f);
|
||||||
|
rt.anchoredPosition = pos;
|
||||||
|
rt.sizeDelta = new Vector2(cellStep * 3f, fontSize * 1.8f);
|
||||||
|
var t = go.AddComponent<TextMeshProUGUI>();
|
||||||
|
t.font = ResolvedFont;
|
||||||
|
t.text = text;
|
||||||
|
t.fontSize = fontSize;
|
||||||
|
t.alignment = TextAlignmentOptions.Center;
|
||||||
|
t.color = color;
|
||||||
|
t.raycastTarget = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// ================= 棋子生成 =================
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 按棋盘数据生成全部存活棋子:
|
||||||
|
/// 有 prefab_Piece(只带 Image + Button)→ 实例化后动态加 UIChessPiece;
|
||||||
|
/// 没有 → 代码生成默认棋子(米色圆 + 汉字)
|
||||||
|
/// </summary>
|
||||||
|
private void BuildPieces()
|
||||||
|
{
|
||||||
|
ClearPieces();
|
||||||
|
if (!gridValid) return;
|
||||||
|
|
||||||
|
foreach (var pd in gameManager.board.allPieces)
|
||||||
|
{
|
||||||
|
if (!pd.isAlive) continue;
|
||||||
|
|
||||||
|
GameObject go;
|
||||||
|
if (prefab_Piece != null)
|
||||||
|
{
|
||||||
|
go = Instantiate(prefab_Piece, tr_Pieces);
|
||||||
|
if (go.GetComponent<RectTransform>() == null)
|
||||||
|
{
|
||||||
|
Debug.LogError("[UIChessBoard] 棋子预制体根节点必须是 UI 物体(带 RectTransform)");
|
||||||
|
Destroy(go);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
go = new GameObject("Piece", typeof(RectTransform), typeof(Image), typeof(Button));
|
||||||
|
}
|
||||||
|
|
||||||
|
var prt = (RectTransform)go.transform;
|
||||||
|
if (prt.parent != tr_Pieces) prt.SetParent(tr_Pieces, false);
|
||||||
|
prt.sizeDelta = new Vector2(pieceSize, pieceSize);
|
||||||
|
prt.anchoredPosition = GetPos(pd.pos);
|
||||||
|
prt.localEulerAngles = new Vector3(0f, 0f, gridAngle);
|
||||||
|
|
||||||
|
// 预制体上没有任何脚本,这里动态添加
|
||||||
|
var piece = go.GetComponent<UIChessPiece>();
|
||||||
|
if (piece == null) piece = go.AddComponent<UIChessPiece>();
|
||||||
|
if (prefab_Piece == null) SetupDefaultPieceVisual(piece); // 代码生成时补默认子物体
|
||||||
|
piece.Init(this, pd);
|
||||||
|
pieceMap[pd.id] = piece;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>代码生成棋子时的默认子物体(选中圈 + 汉字)</summary>
|
||||||
|
private void SetupDefaultPieceVisual(UIChessPiece piece)
|
||||||
|
{
|
||||||
|
var go = piece.gameObject;
|
||||||
|
|
||||||
|
// 选中圈
|
||||||
|
var sgo = new GameObject("SelectRing", typeof(RectTransform), typeof(Image));
|
||||||
|
var srt = (RectTransform)sgo.transform;
|
||||||
|
srt.SetParent(go.transform, false);
|
||||||
|
srt.anchorMin = srt.anchorMax = new Vector2(0.5f, 0.5f);
|
||||||
|
srt.anchoredPosition = Vector2.zero;
|
||||||
|
srt.sizeDelta = new Vector2(pieceSize * 1.30f, pieceSize * 1.30f);
|
||||||
|
var simg = sgo.GetComponent<Image>();
|
||||||
|
simg.sprite = ChessArtFactory.GetRingSprite();
|
||||||
|
simg.color = new Color(1f, 0.84f, 0.31f, 0.95f);
|
||||||
|
simg.raycastTarget = false;
|
||||||
|
sgo.SetActive(false);
|
||||||
|
piece.img_Select = simg;
|
||||||
|
|
||||||
|
// 汉字
|
||||||
|
if (ResolvedFont != null)
|
||||||
|
{
|
||||||
|
var tgo = new GameObject("Label", typeof(RectTransform));
|
||||||
|
var trt = (RectTransform)tgo.transform;
|
||||||
|
trt.SetParent(go.transform, false);
|
||||||
|
trt.anchorMin = Vector2.zero;
|
||||||
|
trt.anchorMax = Vector2.one;
|
||||||
|
trt.offsetMin = Vector2.zero;
|
||||||
|
trt.offsetMax = Vector2.zero;
|
||||||
|
var t = tgo.AddComponent<TextMeshProUGUI>();
|
||||||
|
t.font = ResolvedFont;
|
||||||
|
t.alignment = TextAlignmentOptions.Center;
|
||||||
|
t.enableAutoSizing = true;
|
||||||
|
t.fontSizeMin = 8f;
|
||||||
|
t.fontSizeMax = Mathf.Max(10f, pieceSize * 0.55f);
|
||||||
|
piece.tmp_Label = t;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void ClearPieces()
|
||||||
|
{
|
||||||
|
foreach (var kv in pieceMap)
|
||||||
|
if (kv.Value != null) Destroy(kv.Value.gameObject);
|
||||||
|
pieceMap.Clear();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>悔棋后全量刷新棋子(按数据层状态重建,最可靠)</summary>
|
||||||
|
public void RefreshAllPieces()
|
||||||
|
{
|
||||||
|
ClearSelection();
|
||||||
|
selectedPiece = null;
|
||||||
|
BuildPieces();
|
||||||
|
HideLastMoveMark();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void BuildToast()
|
||||||
|
{
|
||||||
|
var go = new GameObject("Toast", typeof(RectTransform));
|
||||||
|
var rt = (RectTransform)go.transform;
|
||||||
|
rt.SetParent(tr_Marks, false);
|
||||||
|
rt.anchorMin = rt.anchorMax = new Vector2(0.5f, 0.5f);
|
||||||
|
rt.anchoredPosition = new Vector2(0f, cellStep * 2.2f);
|
||||||
|
rt.sizeDelta = new Vector2(cellStep * 9f, cellStep * 1.2f);
|
||||||
|
|
||||||
|
tmp_Toast = go.AddComponent<TextMeshProUGUI>();
|
||||||
|
if (ResolvedFont != null) tmp_Toast.font = ResolvedFont;
|
||||||
|
tmp_Toast.alignment = TextAlignmentOptions.Center;
|
||||||
|
tmp_Toast.fontSize = cellStep * 0.50f;
|
||||||
|
tmp_Toast.color = new Color(0.80f, 0.16f, 0.12f, 1f);
|
||||||
|
tmp_Toast.raycastTarget = false;
|
||||||
|
go.SetActive(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
// ================= 点击交互 =================
|
||||||
|
|
||||||
|
public void OnPieceClicked(UIChessPiece piece)
|
||||||
|
{
|
||||||
|
if (!interactable || gameManager == null || gameManager.isGameOver) return;
|
||||||
|
if (piece == null || piece.data == null) return;
|
||||||
|
|
||||||
|
if (piece.data.camp == myCamp)
|
||||||
|
{
|
||||||
|
// 点自己的子:选中并显示走点
|
||||||
|
if (!gameManager.IsMyTurn)
|
||||||
|
{
|
||||||
|
ShowToast("还没轮到你走棋");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (selectedPiece == piece)
|
||||||
|
{
|
||||||
|
ClearSelection();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
SelectPiece(piece);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// 点对方的子:若它在当前选中子的合法落点里 → 吃子
|
||||||
|
if (selectedPiece != null && selectedMoves.Contains(piece.data.pos))
|
||||||
|
{
|
||||||
|
gameManager.TryLocalMove(selectedPiece.data.pos, piece.data.pos);
|
||||||
|
}
|
||||||
|
ClearSelection();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void OnCellClicked(UIChessCell cell)
|
||||||
|
{
|
||||||
|
if (!interactable || gameManager == null || gameManager.isGameOver) return;
|
||||||
|
if (selectedPiece == null || cell == null) return;
|
||||||
|
|
||||||
|
if (selectedMoves.Contains(cell.gridPos))
|
||||||
|
{
|
||||||
|
gameManager.TryLocalMove(selectedPiece.data.pos, cell.gridPos);
|
||||||
|
}
|
||||||
|
ClearSelection();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void SelectPiece(UIChessPiece piece)
|
||||||
|
{
|
||||||
|
ClearSelection();
|
||||||
|
selectedPiece = piece;
|
||||||
|
piece.SetSelected(true);
|
||||||
|
ShowSelectMark(piece); // 点击选中的棋子下面显示标记图
|
||||||
|
selectedMoves.AddRange(gameManager.rules.GetLegalMoves(gameManager.board, piece.data));
|
||||||
|
for (int i = 0; i < selectedMoves.Count; i++)
|
||||||
|
{
|
||||||
|
var target = gameManager.board.GetPiece(selectedMoves[i]);
|
||||||
|
cells[selectedMoves[i].y, selectedMoves[i].x].ShowHint(target != null);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void ClearSelection()
|
||||||
|
{
|
||||||
|
if (selectedPiece != null) selectedPiece.SetSelected(false);
|
||||||
|
selectedPiece = null;
|
||||||
|
selectedMoves.Clear();
|
||||||
|
HideSelectMark();
|
||||||
|
for (int y = 0; y < ChessConst.BoardHeight; y++)
|
||||||
|
for (int x = 0; x < ChessConst.BoardWidth; x++)
|
||||||
|
if (cells[y, x] != null) cells[y, x].HideHint();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>选中标记:显示在点击的棋子下面(拖了 sprite_HintDot 才显示)</summary>
|
||||||
|
private void ShowSelectMark(UIChessPiece piece)
|
||||||
|
{
|
||||||
|
if (sprite_HintDot == null || piece == null || piece.data == null || !gridValid) return;
|
||||||
|
if (img_SelectMark == null)
|
||||||
|
{
|
||||||
|
var go = new GameObject("SelectMark", typeof(RectTransform), typeof(Image));
|
||||||
|
var rt = (RectTransform)go.transform;
|
||||||
|
rt.SetParent(tr_UnderMarks, false);
|
||||||
|
img_SelectMark = go.GetComponent<Image>();
|
||||||
|
img_SelectMark.raycastTarget = false;
|
||||||
|
}
|
||||||
|
img_SelectMark.sprite = sprite_HintDot;
|
||||||
|
var mrt = (RectTransform)img_SelectMark.transform;
|
||||||
|
mrt.anchoredPosition = GetPos(piece.data.pos);
|
||||||
|
float s = cellStep * selectMarkScale;
|
||||||
|
mrt.sizeDelta = new Vector2(s, s);
|
||||||
|
mrt.localEulerAngles = new Vector3(0f, 0f, gridAngle);
|
||||||
|
img_SelectMark.gameObject.SetActive(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void HideSelectMark()
|
||||||
|
{
|
||||||
|
if (img_SelectMark != null) img_SelectMark.gameObject.SetActive(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
// ================= 数据层事件 → 表现层 =================
|
||||||
|
|
||||||
|
/// <summary>走子成功(本地或网络):动画 + 上一步标记 + 将军提示</summary>
|
||||||
|
private void OnChessMoveApplied(ChessMoveEventArgs e)
|
||||||
|
{
|
||||||
|
UIChessPiece pieceUI;
|
||||||
|
if (pieceMap.TryGetValue(e.movePieceId, out pieceUI) && pieceUI != null)
|
||||||
|
{
|
||||||
|
var prt = (RectTransform)pieceUI.transform;
|
||||||
|
prt.DOKill();
|
||||||
|
prt.DOAnchorPos(GetPos(e.move.toX, e.move.toY), 0.35f).SetEase(Ease.OutQuad);
|
||||||
|
}
|
||||||
|
|
||||||
|
UIChessPiece capUI;
|
||||||
|
if (e.capturedPieceId >= 0 && pieceMap.TryGetValue(e.capturedPieceId, out capUI) && capUI != null)
|
||||||
|
{
|
||||||
|
var crt = (RectTransform)capUI.transform;
|
||||||
|
crt.DOKill();
|
||||||
|
crt.DOScale(0f, 0.30f).SetDelay(0.18f).SetEase(Ease.InBack)
|
||||||
|
.OnComplete(() => { if (capUI != null) capUI.gameObject.SetActive(false); });
|
||||||
|
}
|
||||||
|
|
||||||
|
ShowLastMoveMark(e.move);
|
||||||
|
if (e.isCheck) ShowToast("将军!");
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>悔棋完成:全量刷新</summary>
|
||||||
|
private void OnChessUndoApplied(int undoCount)
|
||||||
|
{
|
||||||
|
RefreshAllPieces();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>对局结束:锁定交互</summary>
|
||||||
|
private void OnChessGameOver(ChessCamp winner)
|
||||||
|
{
|
||||||
|
SetInteractable(false);
|
||||||
|
ShowToast(winner == myCamp ? "你赢了!" : "你输了");
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>回合切换</summary>
|
||||||
|
private void OnTurnChanged(ChessCamp camp)
|
||||||
|
{
|
||||||
|
if (camp == myCamp && gameManager != null && gameManager.moveCount > 0)
|
||||||
|
ShowToast("轮到你走棋");
|
||||||
|
}
|
||||||
|
|
||||||
|
// ================= 对外接口 =================
|
||||||
|
|
||||||
|
/// <summary>显示居中提示文字(将军/轮到你/悔棋等)</summary>
|
||||||
|
public void ShowToast(string msg)
|
||||||
|
{
|
||||||
|
if (tmp_Toast == null) return;
|
||||||
|
tmp_Toast.text = msg;
|
||||||
|
tmp_Toast.gameObject.SetActive(true);
|
||||||
|
|
||||||
|
var rt = tmp_Toast.rectTransform;
|
||||||
|
toastTween?.Kill();
|
||||||
|
rt.localScale = Vector3.one * 0.6f;
|
||||||
|
|
||||||
|
toastTween = rt.DOScale(1f, 0.18f).SetEase(Ease.OutBack).OnComplete(() =>
|
||||||
|
{
|
||||||
|
rt.DOScale(0.6f, 0.35f).SetDelay(1.0f).SetEase(Ease.InBack).OnComplete(() =>
|
||||||
|
{
|
||||||
|
if (tmp_Toast != null) tmp_Toast.gameObject.SetActive(false);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>锁定/解锁棋盘交互(对局结束时锁定)</summary>
|
||||||
|
public void SetInteractable(bool value)
|
||||||
|
{
|
||||||
|
interactable = value;
|
||||||
|
foreach (var kv in pieceMap)
|
||||||
|
if (kv.Value != null) kv.Value.SetInteractable(value);
|
||||||
|
if (!value) ClearSelection();
|
||||||
|
}
|
||||||
|
|
||||||
|
// ================= 内部工具 =================
|
||||||
|
|
||||||
|
/// <summary>上一步标记(起点/终点,可用自己的图)</summary>
|
||||||
|
private void ShowLastMoveMark(ChessMoveData move)
|
||||||
|
{
|
||||||
|
if (lastFromMark == null || lastToMark == null)
|
||||||
|
{
|
||||||
|
lastFromMark = CreateMark("LastFrom", sprite_LastFromMark, new Color(1f, 0.55f, 0f, 0.30f));
|
||||||
|
lastToMark = CreateMark("LastTo", sprite_LastToMark, new Color(1f, 0.55f, 0f, 0.45f));
|
||||||
|
}
|
||||||
|
PlaceMark(lastFromMark, new Vector2Int(move.fromX, move.fromY));
|
||||||
|
PlaceMark(lastToMark, new Vector2Int(move.toX, move.toY));
|
||||||
|
}
|
||||||
|
|
||||||
|
private void HideLastMoveMark()
|
||||||
|
{
|
||||||
|
if (lastFromMark != null) lastFromMark.gameObject.SetActive(false);
|
||||||
|
if (lastToMark != null) lastToMark.gameObject.SetActive(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
private RectTransform CreateMark(string name, Sprite sprite, Color fallbackColor)
|
||||||
|
{
|
||||||
|
var go = new GameObject(name, typeof(RectTransform), typeof(Image));
|
||||||
|
var rt = (RectTransform)go.transform;
|
||||||
|
rt.SetParent(tr_Marks, false);
|
||||||
|
rt.sizeDelta = new Vector2(cellStep * lastMarkScale, cellStep * lastMarkScale);
|
||||||
|
var img = go.GetComponent<Image>();
|
||||||
|
img.sprite = sprite; // 拖了图用图,没拖保持代码生成的透明方块
|
||||||
|
img.color = sprite != null ? Color.white : fallbackColor; // 用图时不染色
|
||||||
|
img.raycastTarget = false;
|
||||||
|
return rt;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void PlaceMark(RectTransform mark, Vector2Int pos)
|
||||||
|
{
|
||||||
|
mark.anchoredPosition = GetPos(pos);
|
||||||
|
mark.gameObject.SetActive(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 223dd72793f90b243a81f10d13afda56
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -0,0 +1,101 @@
|
|||||||
|
using UnityEngine;
|
||||||
|
using UnityEngine.UI;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 棋盘格子控件(一个交叉点):
|
||||||
|
/// 支持两种接入方式:
|
||||||
|
/// 1. 预制体(拖到 UIChessBoard.prefab_Cell):根节点挂本脚本 + Image + Button,
|
||||||
|
/// Image 可作点击热区(透明)或格子底图(保留原样显示)
|
||||||
|
/// 2. 不拖预制体:由 UIChessBoard 代码生成(透明热区)
|
||||||
|
/// 走子提示(Hint 子物体)没有会自动创建,不拦截射线
|
||||||
|
/// </summary>
|
||||||
|
public class UIChessCell : MonoBehaviour
|
||||||
|
{
|
||||||
|
/// <summary>逻辑坐标(x 0~8,y 0~9,红方在下方;黑方视角棋盘会整体翻转)</summary>
|
||||||
|
public Vector2Int gridPos;
|
||||||
|
|
||||||
|
/// <summary>点击热区/格子底图(预制体上拖;为空自动 GetComponent)</summary>
|
||||||
|
public Image img_Click;
|
||||||
|
|
||||||
|
/// <summary>走子提示(预制体上拖;为空自动找/建名为 Hint 的子物体)</summary>
|
||||||
|
public Image img_Hint;
|
||||||
|
|
||||||
|
private Button btn_Click;
|
||||||
|
private UIChessBoard ownerBoard;
|
||||||
|
|
||||||
|
private Sprite sprite_Dot;
|
||||||
|
private Sprite sprite_Ring;
|
||||||
|
private float dotSize;
|
||||||
|
private float ringSize;
|
||||||
|
|
||||||
|
/// <summary>由 UIChessBoard 生成时调用(cellSize = 网格间距)</summary>
|
||||||
|
public void Init(UIChessBoard board, Vector2Int pos, float cellSize)
|
||||||
|
{
|
||||||
|
ownerBoard = board;
|
||||||
|
gridPos = pos;
|
||||||
|
|
||||||
|
// ---- 点击热区 ----
|
||||||
|
if (img_Click == null) img_Click = GetComponent<Image>();
|
||||||
|
if (img_Click == null)
|
||||||
|
{
|
||||||
|
img_Click = gameObject.AddComponent<Image>();
|
||||||
|
img_Click.color = new Color(1f, 1f, 1f, 0f); // 代码补的热区为全透明(预制体自带底图则保留原样)
|
||||||
|
}
|
||||||
|
img_Click.raycastTarget = true;
|
||||||
|
|
||||||
|
// ---- 走子提示 ----
|
||||||
|
if (img_Hint == null)
|
||||||
|
{
|
||||||
|
var t = transform.Find("Hint");
|
||||||
|
if (t != null) img_Hint = t.GetComponent<Image>();
|
||||||
|
if (img_Hint == null) CreateHint();
|
||||||
|
}
|
||||||
|
if (img_Hint != null)
|
||||||
|
{
|
||||||
|
img_Hint.raycastTarget = false;
|
||||||
|
img_Hint.gameObject.SetActive(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 落子路径点固定用代码绘制的圆点/圆圈(颜色已烘焙)
|
||||||
|
sprite_Dot = ChessArtFactory.GetHintDotSprite();
|
||||||
|
sprite_Ring = ChessArtFactory.GetCaptureRingSprite();
|
||||||
|
dotSize = cellSize * 0.45f;
|
||||||
|
ringSize = cellSize * 1.12f;
|
||||||
|
|
||||||
|
// ---- 按钮 ----
|
||||||
|
btn_Click = GetComponent<Button>();
|
||||||
|
if (btn_Click == null)
|
||||||
|
{
|
||||||
|
btn_Click = gameObject.AddComponent<Button>();
|
||||||
|
btn_Click.transition = Selectable.Transition.None;
|
||||||
|
}
|
||||||
|
btn_Click.onClick.AddListener(() => ownerBoard.OnCellClicked(this));
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>显示走子提示:isCapture=false 走子点 / true 吃子圈(自定义图不染色)</summary>
|
||||||
|
public void ShowHint(bool isCapture)
|
||||||
|
{
|
||||||
|
if (img_Hint == null) return;
|
||||||
|
img_Hint.gameObject.SetActive(true);
|
||||||
|
img_Hint.sprite = isCapture ? sprite_Ring : sprite_Dot;
|
||||||
|
img_Hint.color = Color.white; // 默认图的绿/红已烘焙在图里;自定义图保持原色
|
||||||
|
img_Hint.rectTransform.sizeDelta = isCapture
|
||||||
|
? new Vector2(ringSize, ringSize)
|
||||||
|
: new Vector2(dotSize, dotSize);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void HideHint()
|
||||||
|
{
|
||||||
|
if (img_Hint != null) img_Hint.gameObject.SetActive(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void CreateHint()
|
||||||
|
{
|
||||||
|
var hgo = new GameObject("Hint", typeof(RectTransform), typeof(Image));
|
||||||
|
var hrt = (RectTransform)hgo.transform;
|
||||||
|
hrt.SetParent(transform, false);
|
||||||
|
hrt.anchorMin = hrt.anchorMax = new Vector2(0.5f, 0.5f);
|
||||||
|
hrt.anchoredPosition = Vector2.zero;
|
||||||
|
img_Hint = hgo.GetComponent<Image>();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 901881a7b6afb064ebb158952ef5839c
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -0,0 +1,111 @@
|
|||||||
|
using TMPro;
|
||||||
|
using UnityEngine;
|
||||||
|
using UnityEngine.UI;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 棋子控件(支持两种接入方式):
|
||||||
|
///
|
||||||
|
/// 1. 预制体(推荐,拖到 UIChessBoard.prefab_Piece):
|
||||||
|
/// 根节点:挂本脚本 + Image(棋子底图,可留空由代码补默认圆)
|
||||||
|
/// 可选子物体:TMP 文字(显示汉字,用按类型成品图时会自动隐藏)、
|
||||||
|
/// 名为 SelectRing 的 Image(选中描边圈,没有则用底图变色代替)
|
||||||
|
///
|
||||||
|
/// 2. 不拖预制体:由 UIChessBoard 代码生成默认样式(Image + SelectRing + Label)
|
||||||
|
/// </summary>
|
||||||
|
public class UIChessPiece : MonoBehaviour
|
||||||
|
{
|
||||||
|
/// <summary>棋子数据(普通类数据,表现层唯一数据源)</summary>
|
||||||
|
public ChessPieceData data;
|
||||||
|
|
||||||
|
/// <summary>棋子底图(预制体上拖;为空自动 GetComponent)</summary>
|
||||||
|
public Image img_Piece;
|
||||||
|
|
||||||
|
/// <summary>棋子汉字(预制体上拖 TMP 子物体;为空自动查找)</summary>
|
||||||
|
public TextMeshProUGUI tmp_Label;
|
||||||
|
|
||||||
|
/// <summary>选中描边圈(预制体上拖;为空自动找名为 SelectRing 的子物体)</summary>
|
||||||
|
public Image img_Select;
|
||||||
|
|
||||||
|
private Button btn_Click;
|
||||||
|
private UIChessBoard ownerBoard;
|
||||||
|
private Color originalColor = Color.white;
|
||||||
|
private Color selectTint = new Color(1f, 0.84f, 0.31f, 1f);
|
||||||
|
|
||||||
|
/// <summary>由 UIChessBoard 生成时调用</summary>
|
||||||
|
public void Init(UIChessBoard board, ChessPieceData pieceData)
|
||||||
|
{
|
||||||
|
ownerBoard = board;
|
||||||
|
data = pieceData;
|
||||||
|
|
||||||
|
// ---- 底图 ----
|
||||||
|
if (img_Piece == null) img_Piece = GetComponent<Image>();
|
||||||
|
if (img_Piece != null)
|
||||||
|
{
|
||||||
|
img_Piece.raycastTarget = true;
|
||||||
|
originalColor = img_Piece.color;
|
||||||
|
selectTint = Color.Lerp(originalColor, new Color(1f, 0.85f, 0.3f), 0.5f);
|
||||||
|
|
||||||
|
// 图片优先级:按类型的成品图 > 通用底图 > 预制体自带图 > 代码生成圆
|
||||||
|
Sprite typeSprite = board.GetTypeSprite(data.camp, data.pieceType);
|
||||||
|
if (typeSprite != null) img_Piece.sprite = typeSprite;
|
||||||
|
else if (board.sprite_PieceBg != null) img_Piece.sprite = board.sprite_PieceBg;
|
||||||
|
else if (img_Piece.sprite == null) img_Piece.sprite = ChessArtFactory.GetCircleSprite();
|
||||||
|
}
|
||||||
|
|
||||||
|
// ---- 汉字 ----
|
||||||
|
if (tmp_Label == null) tmp_Label = GetComponentInChildren<TextMeshProUGUI>(true);
|
||||||
|
if (tmp_Label != null)
|
||||||
|
{
|
||||||
|
if (board.GetTypeSprite(data.camp, data.pieceType) != null)
|
||||||
|
{
|
||||||
|
// 用了按类型的成品图(图里已带字)→ 隐藏文字
|
||||||
|
tmp_Label.gameObject.SetActive(false);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
tmp_Label.gameObject.SetActive(true);
|
||||||
|
tmp_Label.text = data.displayName;
|
||||||
|
tmp_Label.color = board.GetTextColor(data.camp);
|
||||||
|
if (tmp_Label.font == null && board.ResolvedFont != null)
|
||||||
|
tmp_Label.font = board.ResolvedFont;
|
||||||
|
}
|
||||||
|
tmp_Label.raycastTarget = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// ---- 选中描边 ----
|
||||||
|
if (img_Select == null)
|
||||||
|
{
|
||||||
|
var t = transform.Find("SelectRing");
|
||||||
|
if (t != null) img_Select = t.GetComponent<Image>();
|
||||||
|
}
|
||||||
|
if (img_Select != null)
|
||||||
|
{
|
||||||
|
img_Select.raycastTarget = false;
|
||||||
|
img_Select.gameObject.SetActive(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
// ---- 按钮 ----
|
||||||
|
btn_Click = GetComponent<Button>();
|
||||||
|
if (btn_Click == null) btn_Click = gameObject.AddComponent<Button>();
|
||||||
|
btn_Click.targetGraphic = img_Piece;
|
||||||
|
btn_Click.onClick.AddListener(() => ownerBoard.OnPieceClicked(this));
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>选中/取消选中(有 SelectRing 显示圈,没有则底图变色)</summary>
|
||||||
|
public void SetSelected(bool value)
|
||||||
|
{
|
||||||
|
if (img_Select != null)
|
||||||
|
{
|
||||||
|
img_Select.gameObject.SetActive(value);
|
||||||
|
if (img_Piece != null) img_Piece.color = originalColor;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (img_Piece != null) img_Piece.color = value ? selectTint : originalColor;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>禁用/启用点击</summary>
|
||||||
|
public void SetInteractable(bool value)
|
||||||
|
{
|
||||||
|
if (btn_Click != null) btn_Click.interactable = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: bd52c40d1e9cf0f499322a0a987e1f2e
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 964144c14ed15ee4381f50e6a59090f7
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -0,0 +1,113 @@
|
|||||||
|
using System.Collections.Generic;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 运行时美术生成(普通类):
|
||||||
|
/// 不读取任何预制体/资源文件,用代码生成棋子圆底图、空心圆环等 Sprite
|
||||||
|
/// </summary>
|
||||||
|
public static class ChessArtFactory
|
||||||
|
{
|
||||||
|
private static readonly Dictionary<string, Sprite> cache = new Dictionary<string, Sprite>();
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 实心圆(棋子底图:米色主体 + 深棕外圈,边缘抗锯齿)
|
||||||
|
/// </summary>
|
||||||
|
public static Sprite GetCircleSprite(int size = 128)
|
||||||
|
{
|
||||||
|
return GetCached("circle_" + size, size, (x, y, c, r) =>
|
||||||
|
{
|
||||||
|
float d = Vector2.Distance(new Vector2(x, y), new Vector2(c, c));
|
||||||
|
float alpha = Mathf.Clamp01(r + 0.5f - d);
|
||||||
|
if (alpha <= 0) return Color.clear;
|
||||||
|
Color fill = new Color32(0xF7, 0xEB, 0xD3, 0xFF);
|
||||||
|
Color rim = new Color32(0x4E, 0x34, 0x2E, 0xFF);
|
||||||
|
float rimWidth = r * 0.08f;
|
||||||
|
Color col = d > r - rimWidth ? rim : fill;
|
||||||
|
col.a = alpha;
|
||||||
|
return col;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 空心圆环(选中圈 / 吃子提示,白色,由 Image.color 上色)
|
||||||
|
/// </summary>
|
||||||
|
public static Sprite GetRingSprite(int size = 128)
|
||||||
|
{
|
||||||
|
return GetCached("ring_" + size, size, (x, y, c, r) =>
|
||||||
|
{
|
||||||
|
float d = Vector2.Distance(new Vector2(x, y), new Vector2(c, c));
|
||||||
|
float inner = r * 0.78f;
|
||||||
|
float outer = r * 0.98f;
|
||||||
|
float alpha = Mathf.Clamp01(d - inner + 1.5f) * Mathf.Clamp01(outer - d + 1.5f);
|
||||||
|
return alpha <= 0 ? Color.clear : new Color(1f, 1f, 1f, alpha);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 实心小圆点(白色,由 Image.color 上色)
|
||||||
|
/// </summary>
|
||||||
|
public static Sprite GetDotSprite(int size = 64)
|
||||||
|
{
|
||||||
|
return GetCached("dot_" + size, size, (x, y, c, r) =>
|
||||||
|
{
|
||||||
|
float d = Vector2.Distance(new Vector2(x, y), new Vector2(c, c));
|
||||||
|
float alpha = Mathf.Clamp01(r + 0.5f - d);
|
||||||
|
return alpha <= 0 ? Color.clear : new Color(1f, 1f, 1f, alpha);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 走子提示点(绿色实心圆,颜色已烘焙进图里,使用时不再染色)
|
||||||
|
/// </summary>
|
||||||
|
public static Sprite GetHintDotSprite(int size = 64)
|
||||||
|
{
|
||||||
|
return GetCached("hintdot_" + size, size, (x, y, c, r) =>
|
||||||
|
{
|
||||||
|
float d = Vector2.Distance(new Vector2(x, y), new Vector2(c, c));
|
||||||
|
float alpha = Mathf.Clamp01(r + 0.5f - d) * 0.90f;
|
||||||
|
return alpha <= 0 ? Color.clear : new Color(0.26f, 0.66f, 0.31f, alpha);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 吃子提示圈(红色空心圆环,颜色已烘焙进图里,使用时不再染色)
|
||||||
|
/// </summary>
|
||||||
|
public static Sprite GetCaptureRingSprite(int size = 128)
|
||||||
|
{
|
||||||
|
return GetCached("capturering_" + size, size, (x, y, c, r) =>
|
||||||
|
{
|
||||||
|
float d = Vector2.Distance(new Vector2(x, y), new Vector2(c, c));
|
||||||
|
float inner = r * 0.78f;
|
||||||
|
float outer = r * 0.98f;
|
||||||
|
float alpha = Mathf.Clamp01(d - inner + 1.5f) * Mathf.Clamp01(outer - d + 1.5f) * 0.95f;
|
||||||
|
return alpha <= 0 ? Color.clear : new Color(0.91f, 0.25f, 0.20f, alpha);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
private delegate Color PixelFunc(int x, int y, float center, float radius);
|
||||||
|
|
||||||
|
private static Sprite GetCached(string key, int size, PixelFunc func)
|
||||||
|
{
|
||||||
|
Sprite sp;
|
||||||
|
if (cache.TryGetValue(key, out sp) && sp != null) return sp;
|
||||||
|
|
||||||
|
var tex = new Texture2D(size, size, TextureFormat.RGBA32, false)
|
||||||
|
{
|
||||||
|
wrapMode = TextureWrapMode.Clamp,
|
||||||
|
filterMode = FilterMode.Bilinear
|
||||||
|
};
|
||||||
|
float c = (size - 1) * 0.5f;
|
||||||
|
float r = size * 0.5f - 1f;
|
||||||
|
|
||||||
|
var pixels = new Color[size * size];
|
||||||
|
for (int y = 0; y < size; y++)
|
||||||
|
for (int x = 0; x < size; x++)
|
||||||
|
pixels[y * size + x] = func(x, y, c, r);
|
||||||
|
tex.SetPixels(pixels);
|
||||||
|
tex.Apply();
|
||||||
|
|
||||||
|
sp = Sprite.Create(tex, new Rect(0, 0, size, size), new Vector2(0.5f, 0.5f), 100f);
|
||||||
|
cache[key] = sp;
|
||||||
|
return sp;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 8bf2ef822cd702443b200a8e27bb23d4
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -0,0 +1,114 @@
|
|||||||
|
using System.Collections.Generic;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 棋盘数据管理(普通类):
|
||||||
|
/// 维护 9x10 棋子网格与全部棋子数据,负责落子/吃子/模拟回滚等纯数据操作
|
||||||
|
/// </summary>
|
||||||
|
public class ChessBoardManager
|
||||||
|
{
|
||||||
|
/// <summary>网格数据 grid[x,y](null = 空位)</summary>
|
||||||
|
private ChessPieceData[,] grid = new ChessPieceData[ChessConst.BoardWidth, ChessConst.BoardHeight];
|
||||||
|
|
||||||
|
/// <summary>全部棋子(含已被吃的,id 即添加顺序)</summary>
|
||||||
|
public List<ChessPieceData> allPieces = new List<ChessPieceData>();
|
||||||
|
|
||||||
|
public ChessPieceData GetPiece(int x, int y)
|
||||||
|
{
|
||||||
|
if (!ChessConst.InBoard(x, y)) return null;
|
||||||
|
return grid[x, y];
|
||||||
|
}
|
||||||
|
|
||||||
|
public ChessPieceData GetPiece(Vector2Int p)
|
||||||
|
{
|
||||||
|
return GetPiece(p.x, p.y);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>初始化一副标准开局棋子</summary>
|
||||||
|
public void InitDefaultBoard()
|
||||||
|
{
|
||||||
|
grid = new ChessPieceData[ChessConst.BoardWidth, ChessConst.BoardHeight];
|
||||||
|
allPieces.Clear();
|
||||||
|
int id = 0;
|
||||||
|
|
||||||
|
// 底线:车马象士将士士象马车
|
||||||
|
var backRow = new[]
|
||||||
|
{
|
||||||
|
ChessPieceType.Ju, ChessPieceType.Ma, ChessPieceType.Xiang, ChessPieceType.Shi,
|
||||||
|
ChessPieceType.Jiang, ChessPieceType.Shi, ChessPieceType.Xiang, ChessPieceType.Ma, ChessPieceType.Ju
|
||||||
|
};
|
||||||
|
|
||||||
|
// 红方(下方 y0~4)
|
||||||
|
for (int x = 0; x < ChessConst.BoardWidth; x++)
|
||||||
|
AddPiece(id++, backRow[x], ChessCamp.Red, x, 0);
|
||||||
|
AddPiece(id++, ChessPieceType.Pao, ChessCamp.Red, 1, 2);
|
||||||
|
AddPiece(id++, ChessPieceType.Pao, ChessCamp.Red, 7, 2);
|
||||||
|
for (int x = 0; x < ChessConst.BoardWidth; x += 2)
|
||||||
|
AddPiece(id++, ChessPieceType.Bing, ChessCamp.Red, x, 3);
|
||||||
|
|
||||||
|
// 黑方(上方 y5~9)
|
||||||
|
for (int x = 0; x < ChessConst.BoardWidth; x++)
|
||||||
|
AddPiece(id++, backRow[x], ChessCamp.Black, x, 9);
|
||||||
|
AddPiece(id++, ChessPieceType.Pao, ChessCamp.Black, 1, 7);
|
||||||
|
AddPiece(id++, ChessPieceType.Pao, ChessCamp.Black, 7, 7);
|
||||||
|
for (int x = 0; x < ChessConst.BoardWidth; x += 2)
|
||||||
|
AddPiece(id++, ChessPieceType.Bing, ChessCamp.Black, x, 6);
|
||||||
|
}
|
||||||
|
|
||||||
|
private ChessPieceData AddPiece(int id, ChessPieceType type, ChessCamp camp, int x, int y)
|
||||||
|
{
|
||||||
|
var p = new ChessPieceData
|
||||||
|
{
|
||||||
|
id = id,
|
||||||
|
pieceType = type,
|
||||||
|
camp = camp,
|
||||||
|
pos = new Vector2Int(x, y),
|
||||||
|
isAlive = true
|
||||||
|
};
|
||||||
|
allPieces.Add(p);
|
||||||
|
grid[x, y] = p;
|
||||||
|
return p;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>查找某方存活的将 / 帅</summary>
|
||||||
|
public ChessPieceData FindKing(ChessCamp camp)
|
||||||
|
{
|
||||||
|
for (int i = 0; i < allPieces.Count; i++)
|
||||||
|
{
|
||||||
|
var p = allPieces[i];
|
||||||
|
if (p.isAlive && p.camp == camp && p.pieceType == ChessPieceType.Jiang) return p;
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 真正执行移动(被吃的棋子标记 isAlive=false)。不做任何规则校验,调用方负责校验。
|
||||||
|
/// 返回被吃的棋子(没吃子返回 null)
|
||||||
|
/// </summary>
|
||||||
|
public ChessPieceData ApplyMove(ChessPieceData piece, Vector2Int to)
|
||||||
|
{
|
||||||
|
ChessPieceData captured = GetPiece(to);
|
||||||
|
if (captured != null) captured.isAlive = false;
|
||||||
|
grid[piece.pos.x, piece.pos.y] = null;
|
||||||
|
piece.pos = to;
|
||||||
|
grid[to.x, to.y] = piece;
|
||||||
|
return captured;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 回退一步移动(配合悔棋 / 规则模拟):
|
||||||
|
/// 把 piece 移回 from,把 captured(可为 null)复活在原位置
|
||||||
|
/// </summary>
|
||||||
|
public void UndoMove(ChessPieceData piece, Vector2Int from, ChessPieceData captured)
|
||||||
|
{
|
||||||
|
Vector2Int to = piece.pos;
|
||||||
|
grid[to.x, to.y] = captured;
|
||||||
|
if (captured != null)
|
||||||
|
{
|
||||||
|
captured.isAlive = true;
|
||||||
|
captured.pos = to;
|
||||||
|
}
|
||||||
|
piece.pos = from;
|
||||||
|
grid[from.x, from.y] = piece;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 7a2c658efcd5fea4cb034a20912e41a0
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -0,0 +1,170 @@
|
|||||||
|
using System;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 象棋对局总管理(普通类,由 ChineseChessMainPanel 持有并统一控制)
|
||||||
|
/// 负责:开局、回合、走棋校验与应用、将军/胜负判断、悔棋、网络同步数据封装
|
||||||
|
///
|
||||||
|
/// 联网方案:帧同步——走法与规则判断全在前端本地跑,
|
||||||
|
/// 走子数据通过 SyncGameData 透传给对方(后端不解析),后端只负责胜负结算
|
||||||
|
/// </summary>
|
||||||
|
public class ChessGameManager
|
||||||
|
{
|
||||||
|
/// <summary>棋盘数据管理</summary>
|
||||||
|
public ChessBoardManager board = new ChessBoardManager();
|
||||||
|
|
||||||
|
/// <summary>规则管理</summary>
|
||||||
|
public ChessRulesManager rules = new ChessRulesManager();
|
||||||
|
|
||||||
|
/// <summary>悔棋记录管理</summary>
|
||||||
|
public ChessMoveRecorder recorder = new ChessMoveRecorder();
|
||||||
|
|
||||||
|
/// <summary>本地玩家阵营</summary>
|
||||||
|
public ChessCamp myCamp;
|
||||||
|
|
||||||
|
/// <summary>当前轮到哪方走(红先黑后)</summary>
|
||||||
|
public ChessCamp currentTurn;
|
||||||
|
|
||||||
|
/// <summary>已走的半回合数(同时作为帧序号)</summary>
|
||||||
|
public int moveCount;
|
||||||
|
|
||||||
|
/// <summary>对局是否已结束</summary>
|
||||||
|
public bool isGameOver;
|
||||||
|
|
||||||
|
/// <summary>胜方</summary>
|
||||||
|
public ChessCamp winnerCamp;
|
||||||
|
|
||||||
|
/// <summary>走棋成功(本地或网络同步),参数含完整走子数据</summary>
|
||||||
|
public event Action<ChessMoveEventArgs> OnMoveApplied;
|
||||||
|
|
||||||
|
/// <summary>悔棋完成,参数为回退的步数</summary>
|
||||||
|
public event Action<int> OnUndoApplied;
|
||||||
|
|
||||||
|
/// <summary>对局结束(本地规则判定),参数为胜方</summary>
|
||||||
|
public event Action<ChessCamp> OnGameOver;
|
||||||
|
|
||||||
|
/// <summary>回合切换</summary>
|
||||||
|
public event Action<ChessCamp> OnTurnChanged;
|
||||||
|
|
||||||
|
/// <summary>现在是否轮到本地玩家</summary>
|
||||||
|
public bool IsMyTurn => !isGameOver && currentTurn == myCamp;
|
||||||
|
|
||||||
|
/// <summary>开一局新对局</summary>
|
||||||
|
public void StartGame(ChessCamp myCamp)
|
||||||
|
{
|
||||||
|
this.myCamp = myCamp;
|
||||||
|
board.InitDefaultBoard();
|
||||||
|
recorder.Clear();
|
||||||
|
moveCount = 0;
|
||||||
|
isGameOver = false;
|
||||||
|
winnerCamp = ChessCamp.None;
|
||||||
|
currentTurn = ChessCamp.Red; // 红先
|
||||||
|
OnTurnChanged?.Invoke(currentTurn);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 本地玩家尝试走棋(完整校验:回合、归属、规则、送将),失败返回 false
|
||||||
|
/// </summary>
|
||||||
|
public bool TryLocalMove(Vector2Int from, Vector2Int to)
|
||||||
|
{
|
||||||
|
if (isGameOver || currentTurn != myCamp) return false;
|
||||||
|
var piece = board.GetPiece(from);
|
||||||
|
if (piece == null || piece.camp != myCamp) return false;
|
||||||
|
if (!rules.GetLegalMoves(board, piece).Contains(to)) return false;
|
||||||
|
ApplyMoveInternal(piece, to, true);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 应用网络同步过来的走棋(对方走的)。带帧序号校验,重复/乱序帧直接丢弃
|
||||||
|
/// </summary>
|
||||||
|
public bool ApplyRemoteMove(ChessMoveData move)
|
||||||
|
{
|
||||||
|
if (isGameOver || move == null) return false;
|
||||||
|
|
||||||
|
// 帧序号校验
|
||||||
|
if (move.seq < moveCount) return false; // 重复帧
|
||||||
|
if (move.seq > moveCount)
|
||||||
|
{
|
||||||
|
Debug.LogWarning($"[Chess] 丢帧:收到 seq={move.seq},本地 moveCount={moveCount}");
|
||||||
|
return false; // 乱序帧
|
||||||
|
}
|
||||||
|
|
||||||
|
var from = new Vector2Int(move.fromX, move.fromY);
|
||||||
|
var to = new Vector2Int(move.toX, move.toY);
|
||||||
|
var piece = board.GetPiece(from);
|
||||||
|
if (piece == null || piece.camp == myCamp || piece.camp != currentTurn) return false;
|
||||||
|
if (!rules.GetLegalMoves(board, piece).Contains(to)) return false;
|
||||||
|
|
||||||
|
ApplyMoveInternal(piece, to, false);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>应用一步棋(数据层),并触发相关事件</summary>
|
||||||
|
private void ApplyMoveInternal(ChessPieceData piece, Vector2Int to, bool isLocal)
|
||||||
|
{
|
||||||
|
Vector2Int from = piece.pos;
|
||||||
|
ChessPieceData captured = board.ApplyMove(piece, to);
|
||||||
|
moveCount++;
|
||||||
|
recorder.Push(new ChessMoveRecord { piece = piece, from = from, to = to, captured = captured });
|
||||||
|
|
||||||
|
ChessCamp moverCamp = piece.camp;
|
||||||
|
currentTurn = moverCamp == ChessCamp.Red ? ChessCamp.Black : ChessCamp.Red;
|
||||||
|
|
||||||
|
// 胜负与将军判断(纯前端本地判定)
|
||||||
|
bool check = false;
|
||||||
|
bool gameOver = false;
|
||||||
|
if (captured != null && captured.pieceType == ChessPieceType.Jiang)
|
||||||
|
{
|
||||||
|
gameOver = true; // 将/帅被吃
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
check = rules.IsInCheck(board, currentTurn);
|
||||||
|
if (!rules.HasAnyLegalMove(board, currentTurn))
|
||||||
|
{
|
||||||
|
gameOver = true; // 对方无任何合法走法 → 将死或困毙
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
var args = new ChessMoveEventArgs
|
||||||
|
{
|
||||||
|
move = new ChessMoveData { seq = moveCount - 1, fromX = from.x, fromY = from.y, toX = to.x, toY = to.y },
|
||||||
|
movePieceId = piece.id,
|
||||||
|
capturedPieceId = captured != null ? captured.id : -1,
|
||||||
|
isLocal = isLocal,
|
||||||
|
isCheck = check,
|
||||||
|
moverCamp = moverCamp
|
||||||
|
};
|
||||||
|
OnMoveApplied?.Invoke(args);
|
||||||
|
|
||||||
|
if (gameOver) SetGameOver(moverCamp);
|
||||||
|
else OnTurnChanged?.Invoke(currentTurn);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 悔棋:回退最近一步(一个半回合,双方确认后各调一次,两端回退同一手)
|
||||||
|
/// </summary>
|
||||||
|
public bool UndoOneStep()
|
||||||
|
{
|
||||||
|
var r = recorder.PopLast();
|
||||||
|
if (r == null) return false;
|
||||||
|
|
||||||
|
board.UndoMove(r.piece, r.from, r.captured);
|
||||||
|
currentTurn = r.piece.camp;
|
||||||
|
moveCount--;
|
||||||
|
isGameOver = false;
|
||||||
|
winnerCamp = ChessCamp.None;
|
||||||
|
|
||||||
|
OnUndoApplied?.Invoke(1);
|
||||||
|
OnTurnChanged?.Invoke(currentTurn);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void SetGameOver(ChessCamp winner)
|
||||||
|
{
|
||||||
|
isGameOver = true;
|
||||||
|
winnerCamp = winner;
|
||||||
|
OnGameOver?.Invoke(winner);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: ca1e80654f4a572429b16399e92aa789
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -0,0 +1,56 @@
|
|||||||
|
using System;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 一步走棋数据(本地记录与网络帧同步共用)
|
||||||
|
/// </summary>
|
||||||
|
[Serializable]
|
||||||
|
public class ChessMoveData
|
||||||
|
{
|
||||||
|
/// <summary>半回合序号(第几步,从 0 开始,用于帧顺序校验与去重)</summary>
|
||||||
|
public int seq;
|
||||||
|
public int fromX;
|
||||||
|
public int fromY;
|
||||||
|
public int toX;
|
||||||
|
public int toY;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 象棋网络帧同步数据(走 SyncGameData 通道,后端只透传不解析)
|
||||||
|
/// 注意:只用于走棋同步;悔棋/认输/求和走之前写好的 GameOperation 通道
|
||||||
|
/// </summary>
|
||||||
|
[Serializable]
|
||||||
|
public class ChessNetData
|
||||||
|
{
|
||||||
|
/// <summary>消息类型:1=走棋</summary>
|
||||||
|
public int msgType;
|
||||||
|
|
||||||
|
/// <summary>发送者 userId(接收方用来过滤自己的回声)</summary>
|
||||||
|
public string userId;
|
||||||
|
|
||||||
|
/// <summary>走棋数据(msgType=1 时有效)</summary>
|
||||||
|
public ChessMoveData move;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 走棋事件参数(ChineseChessMainPanel / UIChessBoard 订阅 ChessGameManager 事件用)
|
||||||
|
/// </summary>
|
||||||
|
public class ChessMoveEventArgs
|
||||||
|
{
|
||||||
|
/// <summary>这一步的完整数据(含 seq,可直接序列化发给对方)</summary>
|
||||||
|
public ChessMoveData move;
|
||||||
|
|
||||||
|
/// <summary>走子方棋子 id</summary>
|
||||||
|
public int movePieceId;
|
||||||
|
|
||||||
|
/// <summary>被吃棋子 id(没吃子为 -1)</summary>
|
||||||
|
public int capturedPieceId = -1;
|
||||||
|
|
||||||
|
/// <summary>是否本地玩家走的(false = 网络同步过来)</summary>
|
||||||
|
public bool isLocal;
|
||||||
|
|
||||||
|
/// <summary>这步走完后对方是否被将军</summary>
|
||||||
|
public bool isCheck;
|
||||||
|
|
||||||
|
/// <summary>走子方</summary>
|
||||||
|
public ChessCamp moverCamp;
|
||||||
|
}
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: bb9f80b61c6b15449be418e6462c4db7
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -0,0 +1,53 @@
|
|||||||
|
using System.Collections.Generic;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 一步棋的完整回滚信息(普通类)
|
||||||
|
/// </summary>
|
||||||
|
public class ChessMoveRecord
|
||||||
|
{
|
||||||
|
/// <summary>走的棋子</summary>
|
||||||
|
public ChessPieceData piece;
|
||||||
|
|
||||||
|
/// <summary>起点</summary>
|
||||||
|
public Vector2Int from;
|
||||||
|
|
||||||
|
/// <summary>终点</summary>
|
||||||
|
public Vector2Int to;
|
||||||
|
|
||||||
|
/// <summary>被吃的棋子(没吃子为 null)</summary>
|
||||||
|
public ChessPieceData captured;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 悔棋记录管理(普通类):只负责记录栈的存取,具体回滚由 ChessGameManager 驱动
|
||||||
|
/// </summary>
|
||||||
|
public class ChessMoveRecorder
|
||||||
|
{
|
||||||
|
private readonly List<ChessMoveRecord> records = new List<ChessMoveRecord>();
|
||||||
|
|
||||||
|
public int Count => records.Count;
|
||||||
|
|
||||||
|
public void Push(ChessMoveRecord r)
|
||||||
|
{
|
||||||
|
if (r != null) records.Add(r);
|
||||||
|
}
|
||||||
|
|
||||||
|
public ChessMoveRecord PeekLast()
|
||||||
|
{
|
||||||
|
return records.Count > 0 ? records[records.Count - 1] : null;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ChessMoveRecord PopLast()
|
||||||
|
{
|
||||||
|
if (records.Count == 0) return null;
|
||||||
|
var r = records[records.Count - 1];
|
||||||
|
records.RemoveAt(records.Count - 1);
|
||||||
|
return r;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Clear()
|
||||||
|
{
|
||||||
|
records.Clear();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 53f43f8bd8982614981146900ee300b1
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -0,0 +1,41 @@
|
|||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 棋子数据(普通类:纯数据,不包含任何表现层内容)
|
||||||
|
/// </summary>
|
||||||
|
public class ChessPieceData
|
||||||
|
{
|
||||||
|
/// <summary>棋子唯一编号(同一次对局内唯一,用于 UI 映射与网络同步)</summary>
|
||||||
|
public int id;
|
||||||
|
|
||||||
|
/// <summary>棋子类型</summary>
|
||||||
|
public ChessPieceType pieceType;
|
||||||
|
|
||||||
|
/// <summary>所属阵营</summary>
|
||||||
|
public ChessCamp camp;
|
||||||
|
|
||||||
|
/// <summary>逻辑坐标(x 0~8,y 0~9,红方在下方)</summary>
|
||||||
|
public Vector2Int pos;
|
||||||
|
|
||||||
|
/// <summary>是否存活(被吃后为 false)</summary>
|
||||||
|
public bool isAlive = true;
|
||||||
|
|
||||||
|
/// <summary>棋子显示名(红:帅仕相马车炮兵 / 黑:将士象马车炮卒)</summary>
|
||||||
|
public string displayName
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
switch (pieceType)
|
||||||
|
{
|
||||||
|
case ChessPieceType.Jiang: return camp == ChessCamp.Red ? "帅" : "将";
|
||||||
|
case ChessPieceType.Shi: return camp == ChessCamp.Red ? "仕" : "士";
|
||||||
|
case ChessPieceType.Xiang: return camp == ChessCamp.Red ? "相" : "象";
|
||||||
|
case ChessPieceType.Ma: return "马";
|
||||||
|
case ChessPieceType.Ju: return "车";
|
||||||
|
case ChessPieceType.Pao: return "炮";
|
||||||
|
case ChessPieceType.Bing: return camp == ChessCamp.Red ? "兵" : "卒";
|
||||||
|
default: return "";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: a87143ece34ef8c4cb2ff1ea6cde91b3
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -0,0 +1,302 @@
|
|||||||
|
using System.Collections.Generic;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 走棋规则管理(普通类):
|
||||||
|
/// 各兵种走法生成、将军判断、将死/困毙判断、将帅照面判断
|
||||||
|
/// 前后端为帧同步方案:所有规则在两端前端各自跑同一套逻辑,后端不参与
|
||||||
|
/// </summary>
|
||||||
|
public class ChessRulesManager
|
||||||
|
{
|
||||||
|
private static readonly Vector2Int[] lineDirs =
|
||||||
|
{
|
||||||
|
new Vector2Int(1, 0), new Vector2Int(-1, 0),
|
||||||
|
new Vector2Int(0, 1), new Vector2Int(0, -1)
|
||||||
|
};
|
||||||
|
|
||||||
|
// 马的 8 个日字偏移
|
||||||
|
private static readonly int[,] maOffsets =
|
||||||
|
{
|
||||||
|
{ 1, 2 }, { 2, 1 }, { 2, -1 }, { 1, -2 },
|
||||||
|
{ -1, -2 }, { -2, -1 }, { -2, 1 }, { -1, 2 }
|
||||||
|
};
|
||||||
|
|
||||||
|
// 象的 4 个田字偏移
|
||||||
|
private static readonly int[,] xiangOffsets = { { 2, 2 }, { 2, -2 }, { -2, 2 }, { -2, -2 } };
|
||||||
|
|
||||||
|
// 士的 4 个斜向偏移
|
||||||
|
private static readonly int[,] shiOffsets = { { 1, 1 }, { 1, -1 }, { -1, 1 }, { -1, -1 } };
|
||||||
|
|
||||||
|
// 将帅的 4 个直向偏移
|
||||||
|
private static readonly int[,] jiangOffsets = { { 1, 0 }, { -1, 0 }, { 0, 1 }, { 0, -1 } };
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取棋子在规则上的所有可走点(空位 + 吃子点),不含"送将"过滤
|
||||||
|
/// </summary>
|
||||||
|
public List<Vector2Int> GetRawMoves(ChessBoardManager board, ChessPieceData piece)
|
||||||
|
{
|
||||||
|
var result = new List<Vector2Int>();
|
||||||
|
if (piece == null || !piece.isAlive) return result;
|
||||||
|
|
||||||
|
int x = piece.pos.x;
|
||||||
|
int y = piece.pos.y;
|
||||||
|
|
||||||
|
switch (piece.pieceType)
|
||||||
|
{
|
||||||
|
case ChessPieceType.Ju: // 车:直线滑行
|
||||||
|
AddSlideMoves(board, piece, result);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case ChessPieceType.Pao: // 炮:平移同车;吃子必须隔一个炮架
|
||||||
|
AddPaoMoves(board, piece, result);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case ChessPieceType.Ma: // 马:日字 + 蹩马腿
|
||||||
|
for (int i = 0; i < maOffsets.GetLength(0); i++)
|
||||||
|
{
|
||||||
|
int dx = maOffsets[i, 0];
|
||||||
|
int dy = maOffsets[i, 1];
|
||||||
|
// 蹩马腿:马腿在走子方向上紧挨马的那一格
|
||||||
|
Vector2Int leg = new Vector2Int(x + dx / 2, y + dy / 2);
|
||||||
|
if (board.GetPiece(leg) != null) continue;
|
||||||
|
TryAddTarget(board, piece, new Vector2Int(x + dx, y + dy), result);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case ChessPieceType.Xiang: // 象/相:田字 + 塞象眼 + 不过河
|
||||||
|
for (int i = 0; i < xiangOffsets.GetLength(0); i++)
|
||||||
|
{
|
||||||
|
int dx = xiangOffsets[i, 0];
|
||||||
|
int dy = xiangOffsets[i, 1];
|
||||||
|
Vector2Int eye = new Vector2Int(x + dx / 2, y + dy / 2); // 象眼
|
||||||
|
if (!ChessConst.InBoard(eye) || board.GetPiece(eye) != null) continue;
|
||||||
|
Vector2Int to = new Vector2Int(x + dx, y + dy);
|
||||||
|
if (!ChessConst.InBoard(to)) continue;
|
||||||
|
// 不能过河
|
||||||
|
if (piece.camp == ChessCamp.Red && to.y > ChessConst.RedSideMaxY) continue;
|
||||||
|
if (piece.camp == ChessCamp.Black && to.y < ChessConst.BlackSideMinY) continue;
|
||||||
|
TryAddTarget(board, piece, to, result);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case ChessPieceType.Shi: // 士/仕:九宫内斜走一格
|
||||||
|
for (int i = 0; i < shiOffsets.GetLength(0); i++)
|
||||||
|
{
|
||||||
|
Vector2Int to = new Vector2Int(x + shiOffsets[i, 0], y + shiOffsets[i, 1]);
|
||||||
|
if (ChessConst.InPalace(to, piece.camp))
|
||||||
|
TryAddTarget(board, piece, to, result);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case ChessPieceType.Jiang: // 将/帅:九宫内直走一格
|
||||||
|
for (int i = 0; i < jiangOffsets.GetLength(0); i++)
|
||||||
|
{
|
||||||
|
Vector2Int to = new Vector2Int(x + jiangOffsets[i, 0], y + jiangOffsets[i, 1]);
|
||||||
|
if (ChessConst.InPalace(to, piece.camp))
|
||||||
|
TryAddTarget(board, piece, to, result);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case ChessPieceType.Bing: // 兵/卒:前进一步;过河后可左右平移
|
||||||
|
int fwd = piece.camp == ChessCamp.Red ? 1 : -1;
|
||||||
|
TryAddTarget(board, piece, new Vector2Int(x, y + fwd), result);
|
||||||
|
bool crossed = piece.camp == ChessCamp.Red
|
||||||
|
? y >= ChessConst.BlackSideMinY
|
||||||
|
: y <= ChessConst.RedSideMaxY;
|
||||||
|
if (crossed)
|
||||||
|
{
|
||||||
|
TryAddTarget(board, piece, new Vector2Int(x - 1, y), result);
|
||||||
|
TryAddTarget(board, piece, new Vector2Int(x + 1, y), result);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取合法走法:在 RawMoves 基础上剔除"走完后自己被将军 / 将帅照面"的点
|
||||||
|
/// </summary>
|
||||||
|
public List<Vector2Int> GetLegalMoves(ChessBoardManager board, ChessPieceData piece)
|
||||||
|
{
|
||||||
|
var result = new List<Vector2Int>();
|
||||||
|
var raw = GetRawMoves(board, piece);
|
||||||
|
for (int i = 0; i < raw.Count; i++)
|
||||||
|
{
|
||||||
|
if (IsMoveSafe(board, piece, raw[i])) result.Add(raw[i]);
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>模拟走一步后自己是否安全(不被将军、不与对方将帅照面)</summary>
|
||||||
|
public bool IsMoveSafe(ChessBoardManager board, ChessPieceData piece, Vector2Int to)
|
||||||
|
{
|
||||||
|
Vector2Int from = piece.pos;
|
||||||
|
ChessPieceData captured = board.ApplyMove(piece, to);
|
||||||
|
bool safe = !IsInCheck(board, piece.camp);
|
||||||
|
board.UndoMove(piece, from, captured);
|
||||||
|
return safe;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>camp 方的将/帅是否正被将军(含将帅照面)</summary>
|
||||||
|
public bool IsInCheck(ChessBoardManager board, ChessCamp camp)
|
||||||
|
{
|
||||||
|
var king = board.FindKing(camp);
|
||||||
|
if (king == null) return false;
|
||||||
|
return IsSquareAttacked(board, king.pos, camp == ChessCamp.Red ? ChessCamp.Black : ChessCamp.Red);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>某点是否被 byCamp 方攻击(将帅照面按互相攻击处理)</summary>
|
||||||
|
public bool IsSquareAttacked(ChessBoardManager board, Vector2Int target, ChessCamp byCamp)
|
||||||
|
{
|
||||||
|
var pieces = board.allPieces;
|
||||||
|
for (int i = 0; i < pieces.Count; i++)
|
||||||
|
{
|
||||||
|
var p = pieces[i];
|
||||||
|
if (!p.isAlive || p.camp != byCamp) continue;
|
||||||
|
|
||||||
|
int dx = target.x - p.pos.x;
|
||||||
|
int dy = target.y - p.pos.y;
|
||||||
|
|
||||||
|
switch (p.pieceType)
|
||||||
|
{
|
||||||
|
case ChessPieceType.Ju: // 车
|
||||||
|
if ((dx == 0 || dy == 0) && CountPiecesBetween(board, p.pos, target) == 0) return true;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case ChessPieceType.Pao: // 炮:隔一个炮架打
|
||||||
|
if ((dx == 0 || dy == 0) && CountPiecesBetween(board, p.pos, target) == 1) return true;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case ChessPieceType.Ma: // 马(注意马腿在马的一侧)
|
||||||
|
if (Mathf.Abs(dx * dy) == 2)
|
||||||
|
{
|
||||||
|
Vector2Int leg = p.pos + new Vector2Int(dx / 2, dy / 2);
|
||||||
|
if (board.GetPiece(leg) == null) return true;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case ChessPieceType.Bing: // 兵/卒只攻击前方(过河后加左右)
|
||||||
|
if (p.camp == ChessCamp.Red)
|
||||||
|
{
|
||||||
|
if (dx == 0 && dy == 1) return true;
|
||||||
|
bool crossed = p.pos.y >= ChessConst.BlackSideMinY;
|
||||||
|
if (crossed && dy == 0 && Mathf.Abs(dx) == 1) return true;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (dx == 0 && dy == -1) return true;
|
||||||
|
bool crossed = p.pos.y <= ChessConst.RedSideMaxY;
|
||||||
|
if (crossed && dy == 0 && Mathf.Abs(dx) == 1) return true;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case ChessPieceType.Jiang: // 将帅照面:同列且中间无子
|
||||||
|
if (dx == 0 && CountPiecesBetween(board, p.pos, target) == 0) return true;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case ChessPieceType.Xiang: // 象
|
||||||
|
if (Mathf.Abs(dx) == 2 && Mathf.Abs(dy) == 2)
|
||||||
|
{
|
||||||
|
Vector2Int eye = p.pos + new Vector2Int(dx / 2, dy / 2);
|
||||||
|
if (board.GetPiece(eye) == null) return true;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case ChessPieceType.Shi: // 士
|
||||||
|
if (Mathf.Abs(dx) == 1 && Mathf.Abs(dy) == 1) return true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>camp 方是否还有任何一步合法走法(没有 → 被将死或困毙)</summary>
|
||||||
|
public bool HasAnyLegalMove(ChessBoardManager board, ChessCamp camp)
|
||||||
|
{
|
||||||
|
var pieces = board.allPieces;
|
||||||
|
for (int i = 0; i < pieces.Count; i++)
|
||||||
|
{
|
||||||
|
var p = pieces[i];
|
||||||
|
if (!p.isAlive || p.camp != camp) continue;
|
||||||
|
var raw = GetRawMoves(board, p);
|
||||||
|
for (int j = 0; j < raw.Count; j++)
|
||||||
|
{
|
||||||
|
if (IsMoveSafe(board, p, raw[j])) return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>目标格是空位或是敌方棋子时可走</summary>
|
||||||
|
private void TryAddTarget(ChessBoardManager board, ChessPieceData piece, Vector2Int to, List<Vector2Int> result)
|
||||||
|
{
|
||||||
|
if (!ChessConst.InBoard(to)) return;
|
||||||
|
var occ = board.GetPiece(to);
|
||||||
|
if (occ == null || occ.camp != piece.camp) result.Add(to);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>车:四个方向滑行</summary>
|
||||||
|
private void AddSlideMoves(ChessBoardManager board, ChessPieceData piece, List<Vector2Int> result)
|
||||||
|
{
|
||||||
|
for (int d = 0; d < lineDirs.Length; d++)
|
||||||
|
{
|
||||||
|
Vector2Int cur = piece.pos + lineDirs[d];
|
||||||
|
while (ChessConst.InBoard(cur) && board.GetPiece(cur) == null)
|
||||||
|
{
|
||||||
|
result.Add(cur);
|
||||||
|
cur += lineDirs[d];
|
||||||
|
}
|
||||||
|
// 撞到的第一个子若是敌方 → 可吃
|
||||||
|
if (ChessConst.InBoard(cur))
|
||||||
|
{
|
||||||
|
var occ = board.GetPiece(cur);
|
||||||
|
if (occ != null && occ.camp != piece.camp) result.Add(cur);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>炮:平移同车;吃子需要隔恰好一个炮架</summary>
|
||||||
|
private void AddPaoMoves(ChessBoardManager board, ChessPieceData piece, List<Vector2Int> result)
|
||||||
|
{
|
||||||
|
for (int d = 0; d < lineDirs.Length; d++)
|
||||||
|
{
|
||||||
|
Vector2Int dir = lineDirs[d];
|
||||||
|
Vector2Int cur = piece.pos + dir;
|
||||||
|
// 先平移到第一个子(炮架)之前
|
||||||
|
while (ChessConst.InBoard(cur) && board.GetPiece(cur) == null)
|
||||||
|
{
|
||||||
|
result.Add(cur);
|
||||||
|
cur += dir;
|
||||||
|
}
|
||||||
|
if (!ChessConst.InBoard(cur)) continue;
|
||||||
|
// 越过炮架继续找第一个子
|
||||||
|
cur += dir;
|
||||||
|
while (ChessConst.InBoard(cur) && board.GetPiece(cur) == null)
|
||||||
|
cur += dir;
|
||||||
|
if (ChessConst.InBoard(cur))
|
||||||
|
{
|
||||||
|
var occ = board.GetPiece(cur);
|
||||||
|
if (occ != null && occ.camp != piece.camp) result.Add(cur);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>统计同一直线上两点之间(开区间)的棋子数,要求两点同行或同列</summary>
|
||||||
|
private int CountPiecesBetween(ChessBoardManager board, Vector2Int a, Vector2Int b)
|
||||||
|
{
|
||||||
|
int count = 0;
|
||||||
|
if (a.x == b.x)
|
||||||
|
{
|
||||||
|
int dir = b.y > a.y ? 1 : -1;
|
||||||
|
for (int y = a.y + dir; y != b.y; y += dir)
|
||||||
|
if (board.GetPiece(a.x, y) != null) count++;
|
||||||
|
}
|
||||||
|
else if (a.y == b.y)
|
||||||
|
{
|
||||||
|
int dir = b.x > a.x ? 1 : -1;
|
||||||
|
for (int x = a.x + dir; x != b.x; x += dir)
|
||||||
|
if (board.GetPiece(x, a.y) != null) count++;
|
||||||
|
}
|
||||||
|
return count;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: a98a9aa7f4bfc784e92da1c419602545
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -0,0 +1,70 @@
|
|||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 象棋阵营(数值与 RedisGameUser.type 对齐:1 黑方 2 红方)
|
||||||
|
/// </summary>
|
||||||
|
public enum ChessCamp
|
||||||
|
{
|
||||||
|
None = 0,
|
||||||
|
Black = 1, // 黑方
|
||||||
|
Red = 2, // 红方(先行)
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 棋子类型
|
||||||
|
/// </summary>
|
||||||
|
public enum ChessPieceType
|
||||||
|
{
|
||||||
|
None = 0,
|
||||||
|
Jiang = 1, // 将 / 帅
|
||||||
|
Shi = 2, // 士 / 仕
|
||||||
|
Xiang = 3, // 象 / 相
|
||||||
|
Ma = 4, // 马
|
||||||
|
Ju = 5, // 车
|
||||||
|
Pao = 6, // 炮
|
||||||
|
Bing = 7, // 卒 / 兵
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 象棋常量(逻辑坐标系:x 0~8 从左到右,y 0~9 从下到上,红方在 y0~y4)
|
||||||
|
/// </summary>
|
||||||
|
public static class ChessConst
|
||||||
|
{
|
||||||
|
/// <summary>棋盘横向交叉点数</summary>
|
||||||
|
public const int BoardWidth = 9;
|
||||||
|
/// <summary>棋盘纵向行数</summary>
|
||||||
|
public const int BoardHeight = 10;
|
||||||
|
|
||||||
|
/// <summary>九宫 x 范围</summary>
|
||||||
|
public const int PalaceMinX = 3;
|
||||||
|
public const int PalaceMaxX = 5;
|
||||||
|
/// <summary>红方九宫 y 范围</summary>
|
||||||
|
public const int RedPalaceMinY = 0;
|
||||||
|
public const int RedPalaceMaxY = 2;
|
||||||
|
/// <summary>黑方九宫 y 范围</summary>
|
||||||
|
public const int BlackPalaceMinY = 7;
|
||||||
|
public const int BlackPalaceMaxY = 9;
|
||||||
|
/// <summary>红方地盘最大 y(河界:y4/y5 之间)</summary>
|
||||||
|
public const int RedSideMaxY = 4;
|
||||||
|
/// <summary>黑方地盘最小 y</summary>
|
||||||
|
public const int BlackSideMinY = 5;
|
||||||
|
|
||||||
|
public static bool InBoard(int x, int y)
|
||||||
|
{
|
||||||
|
return x >= 0 && x < BoardWidth && y >= 0 && y < BoardHeight;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static bool InBoard(Vector2Int p)
|
||||||
|
{
|
||||||
|
return InBoard(p.x, p.y);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>是否在指定阵营的九宫内</summary>
|
||||||
|
public static bool InPalace(Vector2Int p, ChessCamp camp)
|
||||||
|
{
|
||||||
|
if (p.x < PalaceMinX || p.x > PalaceMaxX) return false;
|
||||||
|
return camp == ChessCamp.Red
|
||||||
|
? (p.y >= RedPalaceMinY && p.y <= RedPalaceMaxY)
|
||||||
|
: (p.y >= BlackPalaceMinY && p.y <= BlackPalaceMaxY);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: ab01b7c35e4fd3a44bd4c768552ea118
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -56,6 +56,9 @@ public class ChineseChessMainPanel : GameMainPanel_Base
|
|||||||
public TextMeshProUGUI tmp_WaitTime_Top;
|
public TextMeshProUGUI tmp_WaitTime_Top;
|
||||||
public Image img_Title_Top;
|
public Image img_Title_Top;
|
||||||
|
|
||||||
|
[Header("ChessGame 象棋对局")]
|
||||||
|
public UIChessBoard chessBoard; // 棋盘控件(Inspector 手动拖入;留空则运行时自动生成)
|
||||||
|
|
||||||
private Coroutine waitCountdown;
|
private Coroutine waitCountdown;
|
||||||
|
|
||||||
public SkeletonGraphic skeletonGraphic;
|
public SkeletonGraphic skeletonGraphic;
|
||||||
@@ -221,6 +224,7 @@ public class ChineseChessMainPanel : GameMainPanel_Base
|
|||||||
{
|
{
|
||||||
var va = JsonConvert.DeserializeObject<WebSocketResponseBase<ChessGameRoom>>(msg.ToString());
|
var va = JsonConvert.DeserializeObject<WebSocketResponseBase<ChessGameRoom>>(msg.ToString());
|
||||||
ChessGameRoom chessGameRoom = va.arguments[0];
|
ChessGameRoom chessGameRoom = va.arguments[0];
|
||||||
|
roomData = chessGameRoom; // 记录房间数据(开象棋对局时要取阵营)
|
||||||
UpdateUserData(chessGameRoom);
|
UpdateUserData(chessGameRoom);
|
||||||
|
|
||||||
switch (chessGameRoom.users.Count)
|
switch (chessGameRoom.users.Count)
|
||||||
@@ -359,6 +363,18 @@ public class ChineseChessMainPanel : GameMainPanel_Base
|
|||||||
{
|
{
|
||||||
if (GameManager.Instance.user.BaseInfo.number!=id)
|
if (GameManager.Instance.user.BaseInfo.number!=id)
|
||||||
{
|
{
|
||||||
|
// 悔棋回执:直接处理,不弹窗
|
||||||
|
if (type == 4) // 对方同意悔棋 → 本地悔一步
|
||||||
|
{
|
||||||
|
OnUndoAgreed();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (type == 5) // 对方拒绝悔棋
|
||||||
|
{
|
||||||
|
if (chessBoard != null) chessBoard.ShowToast("对方拒绝悔棋");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
// 1求和 2认输 3悔棋请求 → 走之前的确认弹窗
|
||||||
subUIManager.ShowAsync(UIPanel.ZGXQHint, new HintData
|
subUIManager.ShowAsync(UIPanel.ZGXQHint, new HintData
|
||||||
{
|
{
|
||||||
roomData = roomData,
|
roomData = roomData,
|
||||||
@@ -378,8 +394,13 @@ public class ChineseChessMainPanel : GameMainPanel_Base
|
|||||||
Spine_KaiShi();
|
Spine_KaiShi();
|
||||||
StartCoroutine(DelayedKaiShiLoopToClose());
|
StartCoroutine(DelayedKaiShiLoopToClose());
|
||||||
|
|
||||||
|
// 初始化象棋对局(普通管理类统一在此控制)
|
||||||
|
StartChessGame();
|
||||||
|
|
||||||
btn_QiuHe.onClick.RemoveAllListeners();
|
btn_QiuHe.onClick.RemoveAllListeners();
|
||||||
btn_RenShu.onClick.RemoveAllListeners();
|
btn_RenShu.onClick.RemoveAllListeners();
|
||||||
|
btn_HuiQi.onClick.RemoveAllListeners();
|
||||||
|
btn_HuiQi.onClick.AddListener(RequestUndoChess);
|
||||||
btn_QiuHe.onClick.AddListener(() =>
|
btn_QiuHe.onClick.AddListener(() =>
|
||||||
{
|
{
|
||||||
WebSocketSendList.GameOperationChineseChess(roomData.roomId,1,GameManager.Instance.user.BaseInfo.number);
|
WebSocketSendList.GameOperationChineseChess(roomData.roomId,1,GameManager.Instance.user.BaseInfo.number);
|
||||||
@@ -397,6 +418,254 @@ public class ChineseChessMainPanel : GameMainPanel_Base
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#region 象棋对局(普通管理类统一在面板控制)
|
||||||
|
|
||||||
|
/// <summary>象棋对局总管理器(普通类)</summary>
|
||||||
|
private ChessGameManager chessGameManager;
|
||||||
|
|
||||||
|
/// <summary>运行时自动生成的棋盘(用于退出时销毁)</summary>
|
||||||
|
private RectTransform autoChessBoardRect;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 开始一局象棋(双方准备完毕,InitRoomData 里调用)
|
||||||
|
/// 所有规则/走法本地运算(帧同步),后端只透传数据与结算胜负
|
||||||
|
/// </summary>
|
||||||
|
private void StartChessGame()
|
||||||
|
{
|
||||||
|
if (roomData == null || roomData.users == null) return;
|
||||||
|
|
||||||
|
// 我的阵营:RedisGameUser.type 1 黑方 2 红方
|
||||||
|
var me = roomData.users.Find(u => u.userId == GameManager.Instance.user.BaseInfo.number);
|
||||||
|
ChessCamp myCamp = me != null ? (ChessCamp)me.type : ChessCamp.Red;
|
||||||
|
|
||||||
|
chessGameManager = new ChessGameManager();
|
||||||
|
chessGameManager.OnMoveApplied += OnChessMoveApplied;
|
||||||
|
chessGameManager.OnGameOver += OnChessGameOver;
|
||||||
|
chessGameManager.OnTurnChanged += OnChessTurnChanged; // 要在 StartGame 前订阅(开局红先会触发一次)
|
||||||
|
chessGameManager.StartGame(myCamp);
|
||||||
|
|
||||||
|
if (chessBoard == null) CreateDefaultChessBoard();
|
||||||
|
chessBoard.Init(chessGameManager, myCamp);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>面板上没拖棋盘控件时,自动生成一个(不依赖任何预制体/资源,定位点也自动建好)</summary>
|
||||||
|
private void CreateDefaultChessBoard()
|
||||||
|
{
|
||||||
|
var go = new GameObject("ChessBoard_Auto", typeof(RectTransform));
|
||||||
|
var rt = go.GetComponent<RectTransform>();
|
||||||
|
rt.SetParent(transform, false);
|
||||||
|
|
||||||
|
var prt = (RectTransform)transform;
|
||||||
|
float pw = prt.rect.width > 10f ? prt.rect.width : 1080f;
|
||||||
|
float ph = prt.rect.height > 10f ? prt.rect.height : 1920f;
|
||||||
|
float step = Mathf.Min(pw * 0.96f / 9f, ph * 0.88f / 10.1f);
|
||||||
|
|
||||||
|
rt.anchorMin = rt.anchorMax = new Vector2(0.5f, 0.5f);
|
||||||
|
rt.anchoredPosition = new Vector2(0f, -step * 0.4f); // 稍微下移,避开上方对手信息
|
||||||
|
rt.sizeDelta = new Vector2(step * 9f, step * 10.1f);
|
||||||
|
|
||||||
|
chessBoard = go.AddComponent<UIChessBoard>();
|
||||||
|
|
||||||
|
// 自动生成时:代码自建两个定位点(逻辑 (0,4) 与 (0,5),网格铺满棋盘区域)
|
||||||
|
// 逻辑 (0,4) = (-4*step, -0.5*step),逻辑 (0,5) = (-4*step, +0.5*step)(棋盘中心为原点)
|
||||||
|
var ps = new GameObject("Point_Start", typeof(RectTransform)).GetComponent<RectTransform>();
|
||||||
|
ps.SetParent(rt, false);
|
||||||
|
ps.anchoredPosition = new Vector2(-4f * step, -0.5f * step);
|
||||||
|
var pe = new GameObject("Point_End", typeof(RectTransform)).GetComponent<RectTransform>();
|
||||||
|
pe.SetParent(rt, false);
|
||||||
|
pe.anchoredPosition = new Vector2(-4f * step, 0.5f * step);
|
||||||
|
chessBoard.point_Start = ps;
|
||||||
|
chessBoard.point_End = pe;
|
||||||
|
|
||||||
|
autoChessBoardRect = rt;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>本地走子成功 → 帧同步给对方(走 SyncGameData 通道,后端只透传)</summary>
|
||||||
|
private void OnChessMoveApplied(ChessMoveEventArgs e)
|
||||||
|
{
|
||||||
|
if (!e.isLocal) return; // 对方同步过来的不回发
|
||||||
|
SendChessNetData(new ChessNetData { msgType = 1, move = e.move });
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>对局结束(本地规则判定)→ 上报后端结算 + 弹结果面板</summary>
|
||||||
|
private void OnChessGameOver(ChessCamp winner)
|
||||||
|
{
|
||||||
|
StopWaitCountdown(); // 对局结束,停走棋倒计时
|
||||||
|
bool iWin = winner == chessGameManager.myCamp;
|
||||||
|
if (iWin)
|
||||||
|
{
|
||||||
|
// 只有赢家上报(避免双端重复),EndGame 第二个参数为胜者 userId
|
||||||
|
WebSocketSendList.EndGameChineseChess(roomData.roomId, GameManager.Instance.user.BaseInfo.number);
|
||||||
|
subUIManager.ShowAsync(UIPanel.ZGXQWin);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
subUIManager.ShowAsync(UIPanel.ZGXQDefeated);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>悔棋按钮 → 走之前写好的 GameOperation 通道(1求和 2认输 3悔棋),对方确认后双方各悔一步</summary>
|
||||||
|
private void RequestUndoChess()
|
||||||
|
{
|
||||||
|
if (chessGameManager == null || chessGameManager.isGameOver) return;
|
||||||
|
if (chessGameManager.recorder.Count == 0)
|
||||||
|
{
|
||||||
|
if (chessBoard != null) chessBoard.ShowToast("暂无可悔的棋步");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
WebSocketSendList.GameOperationChineseChess(roomData.roomId, 3, GameManager.Instance.user.BaseInfo.number);
|
||||||
|
if (chessBoard != null) chessBoard.ShowToast("已发送悔棋请求");
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>同意对方的悔棋请求(UIChineseChessHint 的同意按钮调用):回执已由弹窗发送,这里本地悔一步</summary>
|
||||||
|
public void AgreeUndoChess()
|
||||||
|
{
|
||||||
|
if (chessGameManager == null) return;
|
||||||
|
chessGameManager.UndoOneStep();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>收到对方同意悔棋的回执(IsShowHint type=4):本地悔一步</summary>
|
||||||
|
private void OnUndoAgreed()
|
||||||
|
{
|
||||||
|
if (chessGameManager == null) return;
|
||||||
|
chessGameManager.UndoOneStep();
|
||||||
|
if (chessBoard != null) chessBoard.ShowToast("对方同意悔棋");
|
||||||
|
}
|
||||||
|
|
||||||
|
#region 对局走棋倒计时(复用原有倒计时字段:waitCountdown / StopWaitCountdown / tmp_WaitTime_Bottom、Top)
|
||||||
|
|
||||||
|
/// <summary>每回合倒计时秒数(用服务端房间配置 timeoutSeconds,没配默认 60)</summary>
|
||||||
|
private int ChessTurnSeconds => roomData != null && roomData.timeoutSeconds > 0 ? roomData.timeoutSeconds : 60;
|
||||||
|
|
||||||
|
/// <summary>回合切换 → 重新开始走棋倒计时(当前回合方的信息栏显示)</summary>
|
||||||
|
private void OnChessTurnChanged(ChessCamp camp)
|
||||||
|
{
|
||||||
|
if (chessGameManager == null || chessGameManager.isGameOver) return;
|
||||||
|
bool myTurn = camp == chessGameManager.myCamp;
|
||||||
|
if (waitCountdown != null) StopCoroutine(waitCountdown);
|
||||||
|
waitCountdown = StartCoroutine(TurnCountdownRoutine(ChessTurnSeconds, myTurn));
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 走棋倒计时:轮到我 → 显示在下方(超时自动判负,走 EndGame 通道);
|
||||||
|
/// 轮到对方 → 显示在上方(对方客户端超时会自行上报,本地只显示)
|
||||||
|
/// </summary>
|
||||||
|
private IEnumerator TurnCountdownRoutine(int totalSeconds, bool myTurn)
|
||||||
|
{
|
||||||
|
int remaining = totalSeconds;
|
||||||
|
while (remaining >= 0)
|
||||||
|
{
|
||||||
|
string timeStr = $"{remaining / 60:D2}:{remaining % 60:D2}";
|
||||||
|
if (myTurn)
|
||||||
|
{
|
||||||
|
if (tmp_WaitTime_Bottom != null) tmp_WaitTime_Bottom.text = $"请走棋 {timeStr}";
|
||||||
|
if (tmp_WaitTime_Top != null) tmp_WaitTime_Top.text = "";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (tmp_WaitTime_Top != null) tmp_WaitTime_Top.text = $"对方走棋 {timeStr}";
|
||||||
|
if (tmp_WaitTime_Bottom != null) tmp_WaitTime_Bottom.text = "";
|
||||||
|
}
|
||||||
|
yield return new WaitForSeconds(1f);
|
||||||
|
remaining--;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (myTurn)
|
||||||
|
{
|
||||||
|
// 我方超时 → 自动判负(与认输同款 EndGame 通道,第二个参数为胜者 userId)
|
||||||
|
if (chessGameManager != null && !chessGameManager.isGameOver && roomData != null)
|
||||||
|
{
|
||||||
|
var opponent = roomData.users.Find(u => u.userId != GameManager.Instance.user.BaseInfo.number);
|
||||||
|
if (opponent != null)
|
||||||
|
{
|
||||||
|
WebSocketSendList.EndGameChineseChess(roomData.roomId, opponent.userId);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 对方回合超时:由对方客户端上报(服务端也有 timeoutSeconds 兜底),本地只停表
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
/// <summary>发送象棋帧同步数据(SyncGameData 通道)</summary>
|
||||||
|
private void SendChessNetData(ChessNetData data)
|
||||||
|
{
|
||||||
|
if (roomData == null || chessGameManager == null || data == null) return;
|
||||||
|
data.userId = GameManager.Instance.user.BaseInfo.number;
|
||||||
|
WebSocketSendList.SyncGameDataChineseChess(roomData.roomId, JsonConvert.SerializeObject(data));
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 收到 SyncGameData 推送(由 WebSocketManager_Message 的 SyncGameData 分支调用)
|
||||||
|
/// 兼容 arguments[0] = {"data":"..."} 与 arguments = [gameId, data] 两种回包格式
|
||||||
|
/// </summary>
|
||||||
|
public void OnChessNetData(string rawMsg)
|
||||||
|
{
|
||||||
|
if (chessGameManager == null) return;
|
||||||
|
try
|
||||||
|
{
|
||||||
|
var resp = JsonConvert.DeserializeObject<WebSocketResponseBase<Newtonsoft.Json.Linq.JToken>>(rawMsg);
|
||||||
|
if (resp == null || resp.arguments == null) return;
|
||||||
|
foreach (var arg in resp.arguments)
|
||||||
|
{
|
||||||
|
string dataStr = null;
|
||||||
|
if (arg.Type == Newtonsoft.Json.Linq.JTokenType.String
|
||||||
|
&& arg.ToString().TrimStart().StartsWith("{"))
|
||||||
|
{
|
||||||
|
dataStr = arg.ToString();
|
||||||
|
}
|
||||||
|
else if (arg.Type == Newtonsoft.Json.Linq.JTokenType.Object && arg["data"] != null)
|
||||||
|
{
|
||||||
|
dataStr = arg["data"].ToString();
|
||||||
|
}
|
||||||
|
if (!string.IsNullOrEmpty(dataStr)) HandleChessNetData(dataStr);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
Debug.LogWarning("[ChineseChess] SyncGameData 解析失败: " + ex.Message);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>处理对方发来的走棋帧(悔棋/认输/求和走 GameOperation 通道,不经过这里)</summary>
|
||||||
|
private void HandleChessNetData(string dataStr)
|
||||||
|
{
|
||||||
|
ChessNetData net;
|
||||||
|
try { net = JsonConvert.DeserializeObject<ChessNetData>(dataStr); }
|
||||||
|
catch { return; }
|
||||||
|
if (net == null || string.IsNullOrEmpty(net.userId)) return;
|
||||||
|
|
||||||
|
// 服务器回声/自己发的帧直接忽略
|
||||||
|
if (net.userId == GameManager.Instance.user.BaseInfo.number) return;
|
||||||
|
|
||||||
|
if (net.msgType == 1) // 对方走棋
|
||||||
|
{
|
||||||
|
chessGameManager.ApplyRemoteMove(net.move);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>清理对局(面板隐藏时调用)</summary>
|
||||||
|
private void ClearChessGame()
|
||||||
|
{
|
||||||
|
if (chessGameManager != null)
|
||||||
|
{
|
||||||
|
chessGameManager.OnMoveApplied -= OnChessMoveApplied;
|
||||||
|
chessGameManager.OnGameOver -= OnChessGameOver;
|
||||||
|
chessGameManager.OnTurnChanged -= OnChessTurnChanged;
|
||||||
|
chessGameManager = null;
|
||||||
|
}
|
||||||
|
StopWaitCountdown(); // 停走棋倒计时
|
||||||
|
if (chessBoard != null) chessBoard.Clear();
|
||||||
|
if (autoChessBoardRect != null)
|
||||||
|
{
|
||||||
|
Destroy(autoChessBoardRect.gameObject);
|
||||||
|
autoChessBoardRect = null;
|
||||||
|
chessBoard = null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
public void Start()
|
public void Start()
|
||||||
{
|
{
|
||||||
|
|
||||||
@@ -461,6 +730,8 @@ public class ChineseChessMainPanel : GameMainPanel_Base
|
|||||||
protected override void OnHide()
|
protected override void OnHide()
|
||||||
{
|
{
|
||||||
base.OnHide();
|
base.OnHide();
|
||||||
|
// 清理象棋对局
|
||||||
|
ClearChessGame();
|
||||||
// 退出:播放 Close 动画后禁用 Spine
|
// 退出:播放 Close 动画后禁用 Spine
|
||||||
PlaySpineAnim(animName_Close, false);
|
PlaySpineAnim(animName_Close, false);
|
||||||
ActiveSpine(false);
|
ActiveSpine(false);
|
||||||
|
|||||||
@@ -51,6 +51,21 @@ public class UIChineseChessHint : SubUIBase
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else if (v.hintType == 3)
|
||||||
|
{
|
||||||
|
foreach (var item in v.roomData.users)
|
||||||
|
{
|
||||||
|
if (item.userId != GameManager.Instance.user.BaseInfo.number)
|
||||||
|
{
|
||||||
|
tmp_msg.text = $"<color=red>{item.userId}</color> 向您发起了悔棋请求";
|
||||||
|
targetID = item.userId;
|
||||||
|
TongYi.gameObject.SetActive(true);
|
||||||
|
JuJue.gameObject.SetActive(true);
|
||||||
|
QueRen.gameObject.SetActive(false);
|
||||||
|
QuXiao.gameObject.SetActive(false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
TongYi.onClick.RemoveAllListeners();
|
TongYi.onClick.RemoveAllListeners();
|
||||||
TongYi.onClick.AddListener(() =>
|
TongYi.onClick.AddListener(() =>
|
||||||
{
|
{
|
||||||
@@ -63,9 +78,17 @@ public class UIChineseChessHint : SubUIBase
|
|||||||
}
|
}
|
||||||
else if (v.hintType == 2)
|
else if (v.hintType == 2)
|
||||||
{
|
{
|
||||||
|
|
||||||
WebSocketSendList.EndGameChineseChess(v.roomData.roomId, targetID);
|
WebSocketSendList.EndGameChineseChess(v.roomData.roomId, targetID);
|
||||||
}
|
}
|
||||||
|
else if (v.hintType == 3)
|
||||||
|
{
|
||||||
|
// 同意悔棋:回执对方(走 GameOperation 通道)+ 本地悔一步
|
||||||
|
WebSocketSendList.GameOperationChineseChess(v.roomData.roomId, 4, GameManager.Instance.user.BaseInfo.number);
|
||||||
|
var mainPanel = UIManager.Instance.Get<ChineseChessMainPanel>(UIPanel.MainGamePanelZGXQ);
|
||||||
|
if (mainPanel != null) mainPanel.AgreeUndoChess();
|
||||||
|
uIManager.Hide(UIPanel.ZGXQHint);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
});
|
});
|
||||||
@@ -91,6 +114,11 @@ public class UIChineseChessHint : SubUIBase
|
|||||||
JuJue.onClick.AddListener(() =>
|
JuJue.onClick.AddListener(() =>
|
||||||
{
|
{
|
||||||
//WebSocketSendList.EndGameChineseChess(v.roomData.roomId, targetID);
|
//WebSocketSendList.EndGameChineseChess(v.roomData.roomId, targetID);
|
||||||
|
if (v.hintType == 3)
|
||||||
|
{
|
||||||
|
// 拒绝悔棋:回执对方(走 GameOperation 通道)
|
||||||
|
WebSocketSendList.GameOperationChineseChess(v.roomData.roomId, 5, GameManager.Instance.user.BaseInfo.number);
|
||||||
|
}
|
||||||
uIManager.Hide(UIPanel.ZGXQHint);
|
uIManager.Hide(UIPanel.ZGXQHint);
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -1688,10 +1688,10 @@ MonoBehaviour:
|
|||||||
dalaba: {fileID: 0}
|
dalaba: {fileID: 0}
|
||||||
zhanhuanka: {fileID: 0}
|
zhanhuanka: {fileID: 0}
|
||||||
huojianpao: {fileID: 0}
|
huojianpao: {fileID: 0}
|
||||||
obj_DaLaBaPanel: {fileID: 0}
|
obj_DaLaBaPanel: {fileID: 3081326209000850698}
|
||||||
tmp_DaLaBaInput: {fileID: 0}
|
tmp_DaLaBaInput: {fileID: 1093531695052846095}
|
||||||
btn_DaLaBaSend: {fileID: 0}
|
btn_DaLaBaSend: {fileID: 737128483515892074}
|
||||||
btn_DaLaBaClose: {fileID: 0}
|
btn_DaLaBaClose: {fileID: 6051749251440295509}
|
||||||
btn_SettingList: {fileID: 8183400499693274360}
|
btn_SettingList: {fileID: 8183400499693274360}
|
||||||
SittingListParent: {fileID: 3985212453111435068}
|
SittingListParent: {fileID: 3985212453111435068}
|
||||||
btn_TuJian: {fileID: 8299373129192596900}
|
btn_TuJian: {fileID: 8299373129192596900}
|
||||||
@@ -3991,7 +3991,7 @@ PrefabInstance:
|
|||||||
- target: {fileID: 5494969937974881520, guid: 6c8512965de208f498306fbdfeb8eb5b,
|
- target: {fileID: 5494969937974881520, guid: 6c8512965de208f498306fbdfeb8eb5b,
|
||||||
type: 3}
|
type: 3}
|
||||||
propertyPath: m_AnchoredPosition.y
|
propertyPath: m_AnchoredPosition.y
|
||||||
value: -262.72168
|
value: 111.8
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 6114408877341087527, guid: 6c8512965de208f498306fbdfeb8eb5b,
|
- target: {fileID: 6114408877341087527, guid: 6c8512965de208f498306fbdfeb8eb5b,
|
||||||
type: 3}
|
type: 3}
|
||||||
@@ -4873,6 +4873,18 @@ PrefabInstance:
|
|||||||
m_AddedGameObjects: []
|
m_AddedGameObjects: []
|
||||||
m_AddedComponents: []
|
m_AddedComponents: []
|
||||||
m_SourcePrefab: {fileID: 100100000, guid: e5efa9f179bbfdb4ba8e73fe85eb109a, type: 3}
|
m_SourcePrefab: {fileID: 100100000, guid: e5efa9f179bbfdb4ba8e73fe85eb109a, type: 3}
|
||||||
|
--- !u!114 &737128483515892074 stripped
|
||||||
|
MonoBehaviour:
|
||||||
|
m_CorrespondingSourceObject: {fileID: 4911475361077518611, guid: e5efa9f179bbfdb4ba8e73fe85eb109a,
|
||||||
|
type: 3}
|
||||||
|
m_PrefabInstance: {fileID: 5626085150536392825}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 0}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
--- !u!114 &911966240696267575 stripped
|
--- !u!114 &911966240696267575 stripped
|
||||||
MonoBehaviour:
|
MonoBehaviour:
|
||||||
m_CorrespondingSourceObject: {fileID: 4806513792702419790, guid: e5efa9f179bbfdb4ba8e73fe85eb109a,
|
m_CorrespondingSourceObject: {fileID: 4806513792702419790, guid: e5efa9f179bbfdb4ba8e73fe85eb109a,
|
||||||
@@ -4885,6 +4897,18 @@ MonoBehaviour:
|
|||||||
m_Script: {fileID: 11500000, guid: 9085046f02f69544eb97fd06b6048fe2, type: 3}
|
m_Script: {fileID: 11500000, guid: 9085046f02f69544eb97fd06b6048fe2, type: 3}
|
||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
|
--- !u!114 &1093531695052846095 stripped
|
||||||
|
MonoBehaviour:
|
||||||
|
m_CorrespondingSourceObject: {fileID: 4701441260149478518, guid: e5efa9f179bbfdb4ba8e73fe85eb109a,
|
||||||
|
type: 3}
|
||||||
|
m_PrefabInstance: {fileID: 5626085150536392825}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 0}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 2da0c512f12947e489f739169773d7ca, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
--- !u!1 &1237163540679585098 stripped
|
--- !u!1 &1237163540679585098 stripped
|
||||||
GameObject:
|
GameObject:
|
||||||
m_CorrespondingSourceObject: {fileID: 6861400117117127987, guid: e5efa9f179bbfdb4ba8e73fe85eb109a,
|
m_CorrespondingSourceObject: {fileID: 6861400117117127987, guid: e5efa9f179bbfdb4ba8e73fe85eb109a,
|
||||||
@@ -4915,6 +4939,12 @@ GameObject:
|
|||||||
type: 3}
|
type: 3}
|
||||||
m_PrefabInstance: {fileID: 5626085150536392825}
|
m_PrefabInstance: {fileID: 5626085150536392825}
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
--- !u!1 &3081326209000850698 stripped
|
||||||
|
GameObject:
|
||||||
|
m_CorrespondingSourceObject: {fileID: 7264534340452394355, guid: e5efa9f179bbfdb4ba8e73fe85eb109a,
|
||||||
|
type: 3}
|
||||||
|
m_PrefabInstance: {fileID: 5626085150536392825}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
--- !u!114 &3213021335351199576 stripped
|
--- !u!114 &3213021335351199576 stripped
|
||||||
MonoBehaviour:
|
MonoBehaviour:
|
||||||
m_CorrespondingSourceObject: {fileID: 7099132353713170209, guid: e5efa9f179bbfdb4ba8e73fe85eb109a,
|
m_CorrespondingSourceObject: {fileID: 7099132353713170209, guid: e5efa9f179bbfdb4ba8e73fe85eb109a,
|
||||||
@@ -4975,6 +5005,18 @@ MonoBehaviour:
|
|||||||
m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
|
m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
|
||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
|
--- !u!114 &6051749251440295509 stripped
|
||||||
|
MonoBehaviour:
|
||||||
|
m_CorrespondingSourceObject: {fileID: 2157223412580736556, guid: e5efa9f179bbfdb4ba8e73fe85eb109a,
|
||||||
|
type: 3}
|
||||||
|
m_PrefabInstance: {fileID: 5626085150536392825}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 0}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
--- !u!114 &6558852404690691716 stripped
|
--- !u!114 &6558852404690691716 stripped
|
||||||
MonoBehaviour:
|
MonoBehaviour:
|
||||||
m_CorrespondingSourceObject: {fileID: 1519515319374989053, guid: e5efa9f179bbfdb4ba8e73fe85eb109a,
|
m_CorrespondingSourceObject: {fileID: 1519515319374989053, guid: e5efa9f179bbfdb4ba8e73fe85eb109a,
|
||||||
@@ -6367,11 +6409,6 @@ PrefabInstance:
|
|||||||
propertyPath: m_Name
|
propertyPath: m_Name
|
||||||
value: 'Setting '
|
value: 'Setting '
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 5754269309123817730, guid: 87a141ee6b07c324b91593c88bd1db9c,
|
|
||||||
type: 3}
|
|
||||||
propertyPath: m_IsActive
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 8975416087219219768, guid: 87a141ee6b07c324b91593c88bd1db9c,
|
- target: {fileID: 8975416087219219768, guid: 87a141ee6b07c324b91593c88bd1db9c,
|
||||||
type: 3}
|
type: 3}
|
||||||
propertyPath: m_Pivot.x
|
propertyPath: m_Pivot.x
|
||||||
@@ -6450,12 +6487,12 @@ PrefabInstance:
|
|||||||
- target: {fileID: 8975416087219219768, guid: 87a141ee6b07c324b91593c88bd1db9c,
|
- target: {fileID: 8975416087219219768, guid: 87a141ee6b07c324b91593c88bd1db9c,
|
||||||
type: 3}
|
type: 3}
|
||||||
propertyPath: m_AnchoredPosition.x
|
propertyPath: m_AnchoredPosition.x
|
||||||
value: 128.5
|
value: 142
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 8975416087219219768, guid: 87a141ee6b07c324b91593c88bd1db9c,
|
- target: {fileID: 8975416087219219768, guid: 87a141ee6b07c324b91593c88bd1db9c,
|
||||||
type: 3}
|
type: 3}
|
||||||
propertyPath: m_AnchoredPosition.y
|
propertyPath: m_AnchoredPosition.y
|
||||||
value: -169.49991
|
value: -235
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 8975416087219219768, guid: 87a141ee6b07c324b91593c88bd1db9c,
|
- target: {fileID: 8975416087219219768, guid: 87a141ee6b07c324b91593c88bd1db9c,
|
||||||
type: 3}
|
type: 3}
|
||||||
|
|||||||
@@ -322,7 +322,7 @@ public class GameMainPanel_FishBase : GameMainPanel_Base
|
|||||||
|
|
||||||
foreach (var item in list_Sits)
|
foreach (var item in list_Sits)
|
||||||
{
|
{
|
||||||
if (item.posID == roomJoinNotice.position)
|
if (item.posID == roomJoinNotice.Position)
|
||||||
{
|
{
|
||||||
currSitData = item;
|
currSitData = item;
|
||||||
// ⭐ 长按本地座位的 img_OpenPT 开关炮台面板(与 btn_ChangeTurret 同逻辑)
|
// ⭐ 长按本地座位的 img_OpenPT 开关炮台面板(与 btn_ChangeTurret 同逻辑)
|
||||||
@@ -353,10 +353,10 @@ public class GameMainPanel_FishBase : GameMainPanel_Base
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
var targetSit = list_Sits.Find(s => s.posID == roomJoinNotice.position);
|
var targetSit = list_Sits.Find(s => s.posID == roomJoinNotice.Position);
|
||||||
// ⭐ 优先用后端 isBot 字段判断,兼容 userId.StartsWith("bot_")
|
// ⭐ 优先用后端 isBot 字段判断,兼容 userId.StartsWith("bot_")
|
||||||
bool isBotJoin = roomJoinNotice.isBot ||
|
bool isBotJoin = roomJoinNotice.IsBot ||
|
||||||
(!string.IsNullOrEmpty(roomJoinNotice.userId) && roomJoinNotice.userId.StartsWith("bot_"));
|
(!string.IsNullOrEmpty(roomJoinNotice.UserId) && roomJoinNotice.UserId.StartsWith("bot_"));
|
||||||
|
|
||||||
if (isBotJoin)
|
if (isBotJoin)
|
||||||
{
|
{
|
||||||
@@ -376,7 +376,7 @@ public class GameMainPanel_FishBase : GameMainPanel_Base
|
|||||||
// 新玩家资源加载完毕后会主动发 requestSyncFish,
|
// 新玩家资源加载完毕后会主动发 requestSyncFish,
|
||||||
// 房主收到后才广播场上活鱼(避免新玩家还没加载完就收包丢失)
|
// 房主收到后才广播场上活鱼(避免新玩家还没加载完就收包丢失)
|
||||||
}
|
}
|
||||||
JoinGame(roomJoinNotice.position, roomJoinNotice.gold, roomJoinNotice.diamond, roomJoinNotice.cannonMultiple, 0, roomJoinNotice.userId, roomJoinNotice.cannonId, roomJoinNotice.wingsId, roomJoinNotice.warGodId);
|
JoinGame(roomJoinNotice.Position, roomJoinNotice.Gold, roomJoinNotice.Diamond, roomJoinNotice.CannonMultiple, 0, roomJoinNotice.UserId, roomJoinNotice.CannonId, roomJoinNotice.WingsId, roomJoinNotice.WarGodId);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -612,8 +612,8 @@ public class GameMainPanel_FishBase : GameMainPanel_Base
|
|||||||
if (open)
|
if (open)
|
||||||
{
|
{
|
||||||
BuildPropList();
|
BuildPropList();
|
||||||
// ⭐ 数量是动态数据:每次打开面板都刷新一级角标(构建有一次性守卫,刷新无守卫)
|
// ⭐ 数量是动态数据:每次打开面板拉最新背包再刷新(刮刮卡等面板内刮出/消耗的道具也能同步)
|
||||||
RefreshPropFirstLayerCounts();
|
RefreshPropCounts();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
ClosePropTwo(); // 关道具面板时一并收起二层并重置展开状态
|
ClosePropTwo(); // 关道具面板时一并收起二层并重置展开状态
|
||||||
@@ -1552,6 +1552,26 @@ public class GameMainPanel_FishBase : GameMainPanel_Base
|
|||||||
/// <summary>二层冷却截止时刻(Time.time,全局一个):使用任意二层道具后所有二层道具一起倒计时;列表重建后据此恢复显示</summary>
|
/// <summary>二层冷却截止时刻(Time.time,全局一个):使用任意二层道具后所有二层道具一起倒计时;列表重建后据此恢复显示</summary>
|
||||||
private float _propTwoCooldownEnd;
|
private float _propTwoCooldownEnd;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 刷新所有道具数量显示:默认先 GetUser 拉最新背包(服务端已扣/已发)再刷一级角标 + 二层列表;
|
||||||
|
/// fetchUser=false 用于已在 GetUser 回调内的场景(数据已最新,避免重复请求)。
|
||||||
|
/// </summary>
|
||||||
|
private void RefreshPropCounts(bool fetchUser = true)
|
||||||
|
{
|
||||||
|
if (fetchUser)
|
||||||
|
{
|
||||||
|
APIRequestList.GetUser((user) =>
|
||||||
|
{
|
||||||
|
if (user != null)
|
||||||
|
GameManager.Instance.UpdataUserData(user);
|
||||||
|
RefreshPropCounts(false);
|
||||||
|
});
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
RefreshPropFirstLayerCounts();
|
||||||
|
RebuildPropTwo();
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>刷新一级道具 child0 数量:该类型在道具表里只有 1 个道具(只有第一层、点击直达使用)时直接显示具体数量(为 0 就显示 0);
|
/// <summary>刷新一级道具 child0 数量:该类型在道具表里只有 1 个道具(只有第一层、点击直达使用)时直接显示具体数量(为 0 就显示 0);
|
||||||
/// 能展开二层的一级项(道具表里有多个道具)显示空</summary>
|
/// 能展开二层的一级项(道具表里有多个道具)显示空</summary>
|
||||||
private void RefreshPropFirstLayerCounts()
|
private void RefreshPropFirstLayerCounts()
|
||||||
@@ -1636,6 +1656,7 @@ public class GameMainPanel_FishBase : GameMainPanel_Base
|
|||||||
{
|
{
|
||||||
ClosePropTwo(); // 顺带关掉可能开着的其它二层
|
ClosePropTwo(); // 顺带关掉可能开着的其它二层
|
||||||
UsePropEffect(single);
|
UsePropEffect(single);
|
||||||
|
RefreshPropCounts(); // ⭐ 使用后拉最新背包,刷新所有道具数量显示
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1714,6 +1735,7 @@ public class GameMainPanel_FishBase : GameMainPanel_Base
|
|||||||
}
|
}
|
||||||
StartPropTwoCooldown(); // 使用后二层所有道具一起进入 5 秒冷却
|
StartPropTwoCooldown(); // 使用后二层所有道具一起进入 5 秒冷却
|
||||||
UsePropEffect(backend);
|
UsePropEffect(backend);
|
||||||
|
RefreshPropCounts(); // ⭐ 使用后拉最新背包,刷新所有道具数量显示
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>二层是否在冷却中(全局冷却:使用任意二层道具后所有二层道具一起倒计时)</summary>
|
/// <summary>二层是否在冷却中(全局冷却:使用任意二层道具后所有二层道具一起倒计时)</summary>
|
||||||
@@ -1792,17 +1814,16 @@ public class GameMainPanel_FishBase : GameMainPanel_Base
|
|||||||
// 游戏内简化为一次使用1个(背包里支持滑条选数量)
|
// 游戏内简化为一次使用1个(背包里支持滑条选数量)
|
||||||
var typeName = string.IsNullOrEmpty(p.name) ? PropEnum.VIP经验.ToString() : p.name;
|
var typeName = string.IsNullOrEmpty(p.name) ? PropEnum.VIP经验.ToString() : p.name;
|
||||||
APIRequestList.UseVipExp(1, (result) =>
|
APIRequestList.UseVipExp(1, (result) =>
|
||||||
{
|
|
||||||
UIManager.Instance.ShowBoardError(string.IsNullOrEmpty(result) ? "使用成功" : result);
|
|
||||||
// 刷新用户数据,同步道具数量与VIP经验
|
|
||||||
APIRequestList.GetUser((user) =>
|
|
||||||
{
|
{
|
||||||
if (user != null)
|
UIManager.Instance.ShowBoardError(string.IsNullOrEmpty(result) ? "使用成功" : result);
|
||||||
GameManager.Instance.UpdataUserData(user);
|
// 刷新用户数据,同步道具数量与VIP经验
|
||||||
RefreshPropFirstLayerCounts(); // 数量变化后同步刷新一级角标
|
APIRequestList.GetUser((user) =>
|
||||||
RebuildPropTwo(); // 二层开着的话同步刷新显示数量
|
{
|
||||||
|
if (user != null)
|
||||||
|
GameManager.Instance.UpdataUserData(user);
|
||||||
|
RefreshPropCounts(false); // 数据已最新:刷新一级角标 + 二层数量显示
|
||||||
|
});
|
||||||
});
|
});
|
||||||
});
|
|
||||||
//UIManager.Instance.ShowTiShi($"确定使用1个{typeName}吗?", () =>
|
//UIManager.Instance.ShowTiShi($"确定使用1个{typeName}吗?", () =>
|
||||||
//{
|
//{
|
||||||
// APIRequestList.UseVipExp(1, (result) =>
|
// APIRequestList.UseVipExp(1, (result) =>
|
||||||
@@ -1912,8 +1933,7 @@ public class GameMainPanel_FishBase : GameMainPanel_Base
|
|||||||
{
|
{
|
||||||
if (user != null)
|
if (user != null)
|
||||||
GameManager.Instance.UpdataUserData(user);
|
GameManager.Instance.UpdataUserData(user);
|
||||||
RefreshPropFirstLayerCounts(); // 鱼雷库存已扣,刷新一级角标
|
RefreshPropCounts(false); // 数据已最新:刷新一级角标 + 二层数量显示
|
||||||
RebuildPropTwo(); // 二层开着的话同步刷新数量
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -3220,6 +3240,9 @@ public class GameMainPanel_FishBase : GameMainPanel_Base
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>锁定图标 lockFX 固定 z 轴(相机 z=-500、爆奖特效 z=-100,lockFX 在爆奖前面取 -50;图片在子对象上带 z 偏移,太靠近相机会被近平面裁掉)</summary>
|
||||||
|
private const float LockFXFixedZ = -50f;
|
||||||
|
|
||||||
private void UpdateSingleLockFX(SitPosData sit, MonsterContral monster, Transform hitPos, GameObject icon)
|
private void UpdateSingleLockFX(SitPosData sit, MonsterContral monster, Transform hitPos, GameObject icon)
|
||||||
{
|
{
|
||||||
// ⭐ 核心原则:鱼还活着就显示图标,鱼死了才隐藏
|
// ⭐ 核心原则:鱼还活着就显示图标,鱼死了才隐藏
|
||||||
@@ -3242,7 +3265,9 @@ public class GameMainPanel_FishBase : GameMainPanel_Base
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!icon.activeSelf) icon.SetActive(true);
|
if (!icon.activeSelf) icon.SetActive(true);
|
||||||
pos.z = Camera.main.transform.position.z + 1;
|
// ⭐ z 轴固定 -50:图片在子对象上带 z 偏移,太靠近相机(如相机前1格)会被近平面裁掉;
|
||||||
|
// 相机 z=-500、爆奖特效 z=-100,-50 在爆奖前面位置正合适
|
||||||
|
pos.z = LockFXFixedZ;
|
||||||
icon.transform.position = pos;
|
icon.transform.position = pos;
|
||||||
}
|
}
|
||||||
private void CheckLockTargetValid()
|
private void CheckLockTargetValid()
|
||||||
@@ -3336,8 +3361,9 @@ public class GameMainPanel_FishBase : GameMainPanel_Base
|
|||||||
if (currSitData.lockFX != null && target.gameObject.activeInHierarchy)
|
if (currSitData.lockFX != null && target.gameObject.activeInHierarchy)
|
||||||
{
|
{
|
||||||
if (!currSitData.lockFX.activeSelf) currSitData.lockFX.SetActive(true);
|
if (!currSitData.lockFX.activeSelf) currSitData.lockFX.SetActive(true);
|
||||||
Vector3 p = lockTr.position;
|
// ⭐ z 轴固定 -50(与每帧 UpdateSingleLockFX 一致):在爆奖特效(z=-100)前面
|
||||||
p.z = Camera.main.transform.position.z + 1;
|
var p = lockTr.position;
|
||||||
|
p.z = LockFXFixedZ;
|
||||||
currSitData.lockFX.transform.position = p;
|
currSitData.lockFX.transform.position = p;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -4126,7 +4152,7 @@ public class GameMainPanel_FishBase : GameMainPanel_Base
|
|||||||
// (RoomChangeResponse 用户列表,RoomInfo 消息下发),按 userId 查询
|
// (RoomChangeResponse 用户列表,RoomInfo 消息下发),按 userId 查询
|
||||||
var playerInfo = GameManager.Instance.gameData?.currRoomData?.players?
|
var playerInfo = GameManager.Instance.gameData?.currRoomData?.players?
|
||||||
.Find(p => p.userId == sit.user);
|
.Find(p => p.userId == sit.user);
|
||||||
sit.SetUserInfo(sit.user, playerInfo?.userName, playerInfo?.avatar, playerInfo?.vipLevel ?? 0);
|
sit.SetUserInfo(sit.user, playerInfo?.userName, playerInfo?.avatar, playerInfo?.vipLevel ?? 0, playerInfo?.userNumber);
|
||||||
|
|
||||||
// ⭐ 记录金币流水:已加钱(进房设置初始金币,本地已执行)
|
// ⭐ 记录金币流水:已加钱(进房设置初始金币,本地已执行)
|
||||||
GameManager.LogGoldFlowAppliedGain("JoinGame", $"座位={sitNum} 初始金币={goldNum} 钻石={diamondNum} 炮台消耗={consumeGold} 房间={GameManager.Instance.gameData?.currRoomData?.roomId}");
|
GameManager.LogGoldFlowAppliedGain("JoinGame", $"座位={sitNum} 初始金币={goldNum} 钻石={diamondNum} 炮台消耗={consumeGold} 房间={GameManager.Instance.gameData?.currRoomData?.roomId}");
|
||||||
|
|||||||
@@ -1907,10 +1907,10 @@ MonoBehaviour:
|
|||||||
dalaba: {fileID: 0}
|
dalaba: {fileID: 0}
|
||||||
zhanhuanka: {fileID: 0}
|
zhanhuanka: {fileID: 0}
|
||||||
huojianpao: {fileID: 0}
|
huojianpao: {fileID: 0}
|
||||||
obj_DaLaBaPanel: {fileID: 0}
|
obj_DaLaBaPanel: {fileID: 1734655381547348006}
|
||||||
tmp_DaLaBaInput: {fileID: 0}
|
tmp_DaLaBaInput: {fileID: 4466633453303021859}
|
||||||
btn_DaLaBaSend: {fileID: 0}
|
btn_DaLaBaSend: {fileID: 4101482175202341958}
|
||||||
btn_DaLaBaClose: {fileID: 0}
|
btn_DaLaBaClose: {fileID: 7002406776894393209}
|
||||||
btn_SettingList: {fileID: 8423880718232560262}
|
btn_SettingList: {fileID: 8423880718232560262}
|
||||||
SittingListParent: {fileID: 3618840318454065474}
|
SittingListParent: {fileID: 3618840318454065474}
|
||||||
btn_TuJian: {fileID: 8528602079873795034}
|
btn_TuJian: {fileID: 8528602079873795034}
|
||||||
@@ -6426,6 +6426,11 @@ PrefabInstance:
|
|||||||
propertyPath: m_AnchoredPosition.y
|
propertyPath: m_AnchoredPosition.y
|
||||||
value: 0
|
value: 0
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 7264534340452394355, guid: e5efa9f179bbfdb4ba8e73fe85eb109a,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_IsActive
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 7942853405418363685, guid: e5efa9f179bbfdb4ba8e73fe85eb109a,
|
- target: {fileID: 7942853405418363685, guid: e5efa9f179bbfdb4ba8e73fe85eb109a,
|
||||||
type: 3}
|
type: 3}
|
||||||
propertyPath: m_AnchorMax.y
|
propertyPath: m_AnchorMax.y
|
||||||
@@ -6457,6 +6462,12 @@ GameObject:
|
|||||||
type: 3}
|
type: 3}
|
||||||
m_PrefabInstance: {fileID: 8989876033869305173}
|
m_PrefabInstance: {fileID: 8989876033869305173}
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
--- !u!1 &1734655381547348006 stripped
|
||||||
|
GameObject:
|
||||||
|
m_CorrespondingSourceObject: {fileID: 7264534340452394355, guid: e5efa9f179bbfdb4ba8e73fe85eb109a,
|
||||||
|
type: 3}
|
||||||
|
m_PrefabInstance: {fileID: 8989876033869305173}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
--- !u!114 &2181813545356604020 stripped
|
--- !u!114 &2181813545356604020 stripped
|
||||||
MonoBehaviour:
|
MonoBehaviour:
|
||||||
m_CorrespondingSourceObject: {fileID: 7099132353713170209, guid: e5efa9f179bbfdb4ba8e73fe85eb109a,
|
m_CorrespondingSourceObject: {fileID: 7099132353713170209, guid: e5efa9f179bbfdb4ba8e73fe85eb109a,
|
||||||
@@ -6493,6 +6504,30 @@ RectTransform:
|
|||||||
type: 3}
|
type: 3}
|
||||||
m_PrefabInstance: {fileID: 8989876033869305173}
|
m_PrefabInstance: {fileID: 8989876033869305173}
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
--- !u!114 &4101482175202341958 stripped
|
||||||
|
MonoBehaviour:
|
||||||
|
m_CorrespondingSourceObject: {fileID: 4911475361077518611, guid: e5efa9f179bbfdb4ba8e73fe85eb109a,
|
||||||
|
type: 3}
|
||||||
|
m_PrefabInstance: {fileID: 8989876033869305173}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 0}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
--- !u!114 &4466633453303021859 stripped
|
||||||
|
MonoBehaviour:
|
||||||
|
m_CorrespondingSourceObject: {fileID: 4701441260149478518, guid: e5efa9f179bbfdb4ba8e73fe85eb109a,
|
||||||
|
type: 3}
|
||||||
|
m_PrefabInstance: {fileID: 8989876033869305173}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 0}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 2da0c512f12947e489f739169773d7ca, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
--- !u!114 &4500888554953033243 stripped
|
--- !u!114 &4500888554953033243 stripped
|
||||||
MonoBehaviour:
|
MonoBehaviour:
|
||||||
m_CorrespondingSourceObject: {fileID: 4806513792702419790, guid: e5efa9f179bbfdb4ba8e73fe85eb109a,
|
m_CorrespondingSourceObject: {fileID: 4806513792702419790, guid: e5efa9f179bbfdb4ba8e73fe85eb109a,
|
||||||
@@ -6553,6 +6588,18 @@ MonoBehaviour:
|
|||||||
m_Script: {fileID: 11500000, guid: 9085046f02f69544eb97fd06b6048fe2, type: 3}
|
m_Script: {fileID: 11500000, guid: 9085046f02f69544eb97fd06b6048fe2, type: 3}
|
||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
|
--- !u!114 &7002406776894393209 stripped
|
||||||
|
MonoBehaviour:
|
||||||
|
m_CorrespondingSourceObject: {fileID: 2157223412580736556, guid: e5efa9f179bbfdb4ba8e73fe85eb109a,
|
||||||
|
type: 3}
|
||||||
|
m_PrefabInstance: {fileID: 8989876033869305173}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 0}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
--- !u!114 &7026078867861418950 stripped
|
--- !u!114 &7026078867861418950 stripped
|
||||||
MonoBehaviour:
|
MonoBehaviour:
|
||||||
m_CorrespondingSourceObject: {fileID: 2108758979454822035, guid: e5efa9f179bbfdb4ba8e73fe85eb109a,
|
m_CorrespondingSourceObject: {fileID: 2108758979454822035, guid: e5efa9f179bbfdb4ba8e73fe85eb109a,
|
||||||
|
|||||||
@@ -3883,10 +3883,10 @@ MonoBehaviour:
|
|||||||
dalaba: {fileID: 0}
|
dalaba: {fileID: 0}
|
||||||
zhanhuanka: {fileID: 0}
|
zhanhuanka: {fileID: 0}
|
||||||
huojianpao: {fileID: 0}
|
huojianpao: {fileID: 0}
|
||||||
obj_DaLaBaPanel: {fileID: 0}
|
obj_DaLaBaPanel: {fileID: 5192004767366045538}
|
||||||
tmp_DaLaBaInput: {fileID: 0}
|
tmp_DaLaBaInput: {fileID: 7918353195504856679}
|
||||||
btn_DaLaBaSend: {fileID: 0}
|
btn_DaLaBaSend: {fileID: 7562787855113493250}
|
||||||
btn_DaLaBaClose: {fileID: 0}
|
btn_DaLaBaClose: {fileID: 3545042015164146749}
|
||||||
btn_SettingList: {fileID: 542828182532005264}
|
btn_SettingList: {fileID: 542828182532005264}
|
||||||
SittingListParent: {fileID: 4708396459282093652}
|
SittingListParent: {fileID: 4708396459282093652}
|
||||||
btn_TuJian: {fileID: 375082849015872716}
|
btn_TuJian: {fileID: 375082849015872716}
|
||||||
@@ -7887,9 +7887,15 @@ MonoBehaviour:
|
|||||||
img_OpenPT: {fileID: 0}
|
img_OpenPT: {fileID: 0}
|
||||||
IsBaoJiangingActive: 0
|
IsBaoJiangingActive: 0
|
||||||
obj_BaoJiangZhongPanelPosition: {fileID: 0}
|
obj_BaoJiangZhongPanelPosition: {fileID: 0}
|
||||||
user:
|
|
||||||
posID: 0
|
posID: 0
|
||||||
isBot: 0
|
isBot: 0
|
||||||
|
user:
|
||||||
|
tmp_UserNumber: {fileID: 0}
|
||||||
|
tmp_UserName: {fileID: 0}
|
||||||
|
img_Head: {fileID: 0}
|
||||||
|
img_Vip: {fileID: 0}
|
||||||
|
sprite_VipList: []
|
||||||
|
sprite_VipLevelBG: []
|
||||||
goldNum: 0
|
goldNum: 0
|
||||||
consumeGoldNum: 0
|
consumeGoldNum: 0
|
||||||
tMP_GoldNum: {fileID: 415724694880221988}
|
tMP_GoldNum: {fileID: 415724694880221988}
|
||||||
@@ -8107,9 +8113,15 @@ MonoBehaviour:
|
|||||||
img_OpenPT: {fileID: 0}
|
img_OpenPT: {fileID: 0}
|
||||||
IsBaoJiangingActive: 0
|
IsBaoJiangingActive: 0
|
||||||
obj_BaoJiangZhongPanelPosition: {fileID: 0}
|
obj_BaoJiangZhongPanelPosition: {fileID: 0}
|
||||||
user:
|
|
||||||
posID: 1
|
posID: 1
|
||||||
isBot: 0
|
isBot: 0
|
||||||
|
user:
|
||||||
|
tmp_UserNumber: {fileID: 0}
|
||||||
|
tmp_UserName: {fileID: 0}
|
||||||
|
img_Head: {fileID: 0}
|
||||||
|
img_Vip: {fileID: 0}
|
||||||
|
sprite_VipList: []
|
||||||
|
sprite_VipLevelBG: []
|
||||||
goldNum: 0
|
goldNum: 0
|
||||||
consumeGoldNum: 0
|
consumeGoldNum: 0
|
||||||
tMP_GoldNum: {fileID: 1085753103380507267}
|
tMP_GoldNum: {fileID: 1085753103380507267}
|
||||||
@@ -13586,6 +13598,48 @@ MonoBehaviour:
|
|||||||
m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
|
m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
|
||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
|
--- !u!114 &3545042015164146749 stripped
|
||||||
|
MonoBehaviour:
|
||||||
|
m_CorrespondingSourceObject: {fileID: 2157223412580736556, guid: e5efa9f179bbfdb4ba8e73fe85eb109a,
|
||||||
|
type: 3}
|
||||||
|
m_PrefabInstance: {fileID: 3232876092691216913}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 0}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
--- !u!1 &5192004767366045538 stripped
|
||||||
|
GameObject:
|
||||||
|
m_CorrespondingSourceObject: {fileID: 7264534340452394355, guid: e5efa9f179bbfdb4ba8e73fe85eb109a,
|
||||||
|
type: 3}
|
||||||
|
m_PrefabInstance: {fileID: 3232876092691216913}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
--- !u!114 &7562787855113493250 stripped
|
||||||
|
MonoBehaviour:
|
||||||
|
m_CorrespondingSourceObject: {fileID: 4911475361077518611, guid: e5efa9f179bbfdb4ba8e73fe85eb109a,
|
||||||
|
type: 3}
|
||||||
|
m_PrefabInstance: {fileID: 3232876092691216913}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 0}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
--- !u!114 &7918353195504856679 stripped
|
||||||
|
MonoBehaviour:
|
||||||
|
m_CorrespondingSourceObject: {fileID: 4701441260149478518, guid: e5efa9f179bbfdb4ba8e73fe85eb109a,
|
||||||
|
type: 3}
|
||||||
|
m_PrefabInstance: {fileID: 3232876092691216913}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 0}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 2da0c512f12947e489f739169773d7ca, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
--- !u!1 &8351341256523216674 stripped
|
--- !u!1 &8351341256523216674 stripped
|
||||||
GameObject:
|
GameObject:
|
||||||
m_CorrespondingSourceObject: {fileID: 6861400117117127987, guid: e5efa9f179bbfdb4ba8e73fe85eb109a,
|
m_CorrespondingSourceObject: {fileID: 6861400117117127987, guid: e5efa9f179bbfdb4ba8e73fe85eb109a,
|
||||||
@@ -13610,20 +13664,42 @@ PrefabInstance:
|
|||||||
propertyPath: m_Name
|
propertyPath: m_Name
|
||||||
value: Game177_Lock
|
value: Game177_Lock
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 1709254077376921, guid: 3d7a2eb901865174aab8a696e060d045, type: 3}
|
||||||
|
propertyPath: m_Layer
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 1709254077376921, guid: 3d7a2eb901865174aab8a696e060d045, type: 3}
|
- target: {fileID: 1709254077376921, guid: 3d7a2eb901865174aab8a696e060d045, type: 3}
|
||||||
propertyPath: m_IsActive
|
propertyPath: m_IsActive
|
||||||
value: 0
|
value: 0
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 1724804207875695, guid: 3d7a2eb901865174aab8a696e060d045, type: 3}
|
||||||
|
propertyPath: m_Layer
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 1730242686860875, guid: 3d7a2eb901865174aab8a696e060d045, type: 3}
|
||||||
|
propertyPath: m_Layer
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 212243736805655561, guid: 3d7a2eb901865174aab8a696e060d045,
|
- target: {fileID: 212243736805655561, guid: 3d7a2eb901865174aab8a696e060d045,
|
||||||
type: 3}
|
type: 3}
|
||||||
propertyPath: m_SortingLayer
|
propertyPath: m_SortingLayer
|
||||||
value: 0
|
value: 0
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 212243736805655561, guid: 3d7a2eb901865174aab8a696e060d045,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_SortingOrder
|
||||||
|
value: 1001
|
||||||
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 212587765826080250, guid: 3d7a2eb901865174aab8a696e060d045,
|
- target: {fileID: 212587765826080250, guid: 3d7a2eb901865174aab8a696e060d045,
|
||||||
type: 3}
|
type: 3}
|
||||||
propertyPath: m_SortingLayer
|
propertyPath: m_SortingLayer
|
||||||
value: 0
|
value: 0
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 212587765826080250, guid: 3d7a2eb901865174aab8a696e060d045,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_SortingOrder
|
||||||
|
value: 1001
|
||||||
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 224618682377417806, guid: 3d7a2eb901865174aab8a696e060d045,
|
- target: {fileID: 224618682377417806, guid: 3d7a2eb901865174aab8a696e060d045,
|
||||||
type: 3}
|
type: 3}
|
||||||
propertyPath: m_Pivot.x
|
propertyPath: m_Pivot.x
|
||||||
@@ -13845,10 +13921,22 @@ PrefabInstance:
|
|||||||
propertyPath: m_Name
|
propertyPath: m_Name
|
||||||
value: Game177_LockOther
|
value: Game177_LockOther
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 1709254077376921, guid: 2fefedf061efaba40afa85543d55ca2e, type: 3}
|
||||||
|
propertyPath: m_Layer
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 1709254077376921, guid: 2fefedf061efaba40afa85543d55ca2e, type: 3}
|
- target: {fileID: 1709254077376921, guid: 2fefedf061efaba40afa85543d55ca2e, type: 3}
|
||||||
propertyPath: m_IsActive
|
propertyPath: m_IsActive
|
||||||
value: 0
|
value: 0
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 1724804207875695, guid: 2fefedf061efaba40afa85543d55ca2e, type: 3}
|
||||||
|
propertyPath: m_Layer
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 1730242686860875, guid: 2fefedf061efaba40afa85543d55ca2e, type: 3}
|
||||||
|
propertyPath: m_Layer
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 4618682377417806, guid: 2fefedf061efaba40afa85543d55ca2e, type: 3}
|
- target: {fileID: 4618682377417806, guid: 2fefedf061efaba40afa85543d55ca2e, type: 3}
|
||||||
propertyPath: m_LocalPosition.x
|
propertyPath: m_LocalPosition.x
|
||||||
value: 0
|
value: 0
|
||||||
@@ -13894,11 +13982,21 @@ PrefabInstance:
|
|||||||
propertyPath: m_SortingLayer
|
propertyPath: m_SortingLayer
|
||||||
value: 0
|
value: 0
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 212061268324235159, guid: 2fefedf061efaba40afa85543d55ca2e,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_SortingOrder
|
||||||
|
value: 1000
|
||||||
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 212099118695303065, guid: 2fefedf061efaba40afa85543d55ca2e,
|
- target: {fileID: 212099118695303065, guid: 2fefedf061efaba40afa85543d55ca2e,
|
||||||
type: 3}
|
type: 3}
|
||||||
propertyPath: m_SortingLayer
|
propertyPath: m_SortingLayer
|
||||||
value: 0
|
value: 0
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 212099118695303065, guid: 2fefedf061efaba40afa85543d55ca2e,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_SortingOrder
|
||||||
|
value: 1000
|
||||||
|
objectReference: {fileID: 0}
|
||||||
m_RemovedComponents: []
|
m_RemovedComponents: []
|
||||||
m_RemovedGameObjects: []
|
m_RemovedGameObjects: []
|
||||||
m_AddedGameObjects: []
|
m_AddedGameObjects: []
|
||||||
|
|||||||
@@ -253,6 +253,11 @@ PrefabInstance:
|
|||||||
propertyPath: m_SortingLayer
|
propertyPath: m_SortingLayer
|
||||||
value: 0
|
value: 0
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 2820597448544805160, guid: 509192cd5f627cf409a54e9be694a24d,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalScale.y
|
||||||
|
value: -1
|
||||||
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 2925422125526734773, guid: 509192cd5f627cf409a54e9be694a24d,
|
- target: {fileID: 2925422125526734773, guid: 509192cd5f627cf409a54e9be694a24d,
|
||||||
type: 3}
|
type: 3}
|
||||||
propertyPath: m_SortingLayer
|
propertyPath: m_SortingLayer
|
||||||
@@ -353,6 +358,21 @@ PrefabInstance:
|
|||||||
propertyPath: m_SortingLayer
|
propertyPath: m_SortingLayer
|
||||||
value: 0
|
value: 0
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4060562825933674813, guid: 509192cd5f627cf409a54e9be694a24d,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalScale.x
|
||||||
|
value: 1
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4060562825933674813, guid: 509192cd5f627cf409a54e9be694a24d,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalScale.y
|
||||||
|
value: 1
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4060562825933674813, guid: 509192cd5f627cf409a54e9be694a24d,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalScale.z
|
||||||
|
value: 1
|
||||||
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 4086152315555094515, guid: 509192cd5f627cf409a54e9be694a24d,
|
- target: {fileID: 4086152315555094515, guid: 509192cd5f627cf409a54e9be694a24d,
|
||||||
type: 3}
|
type: 3}
|
||||||
propertyPath: m_SortingLayer
|
propertyPath: m_SortingLayer
|
||||||
@@ -473,6 +493,11 @@ PrefabInstance:
|
|||||||
propertyPath: m_SortingLayer
|
propertyPath: m_SortingLayer
|
||||||
value: 0
|
value: 0
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4843941669050715073, guid: 509192cd5f627cf409a54e9be694a24d,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_AnchoredPosition.y
|
||||||
|
value: 128
|
||||||
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 4874233463245360906, guid: 509192cd5f627cf409a54e9be694a24d,
|
- target: {fileID: 4874233463245360906, guid: 509192cd5f627cf409a54e9be694a24d,
|
||||||
type: 3}
|
type: 3}
|
||||||
propertyPath: m_SortingLayer
|
propertyPath: m_SortingLayer
|
||||||
@@ -768,6 +793,21 @@ PrefabInstance:
|
|||||||
propertyPath: m_SortingLayer
|
propertyPath: m_SortingLayer
|
||||||
value: 0
|
value: 0
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 7782089659438206966, guid: 509192cd5f627cf409a54e9be694a24d,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalScale.y
|
||||||
|
value: -1
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 7782089659438206966, guid: 509192cd5f627cf409a54e9be694a24d,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_AnchoredPosition.y
|
||||||
|
value: -73.5
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 7782089659438206966, guid: 509192cd5f627cf409a54e9be694a24d,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_ConstrainProportionsScale
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 7814522285136084044, guid: 509192cd5f627cf409a54e9be694a24d,
|
- target: {fileID: 7814522285136084044, guid: 509192cd5f627cf409a54e9be694a24d,
|
||||||
type: 3}
|
type: 3}
|
||||||
propertyPath: m_SortingLayer
|
propertyPath: m_SortingLayer
|
||||||
|
|||||||
@@ -93,6 +93,21 @@ PrefabInstance:
|
|||||||
propertyPath: m_SortingLayer
|
propertyPath: m_SortingLayer
|
||||||
value: 0
|
value: 0
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 1367620504699206675, guid: c9c177e60fd350e49844955f7e8a5874,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalScale.x
|
||||||
|
value: 1
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 1367620504699206675, guid: c9c177e60fd350e49844955f7e8a5874,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalScale.y
|
||||||
|
value: 1
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 1367620504699206675, guid: c9c177e60fd350e49844955f7e8a5874,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalScale.z
|
||||||
|
value: 1
|
||||||
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 1488419584990204227, guid: c9c177e60fd350e49844955f7e8a5874,
|
- target: {fileID: 1488419584990204227, guid: c9c177e60fd350e49844955f7e8a5874,
|
||||||
type: 3}
|
type: 3}
|
||||||
propertyPath: m_SortingLayer
|
propertyPath: m_SortingLayer
|
||||||
@@ -553,6 +568,11 @@ PrefabInstance:
|
|||||||
propertyPath: m_SortingLayer
|
propertyPath: m_SortingLayer
|
||||||
value: 0
|
value: 0
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 7609364501153394415, guid: c9c177e60fd350e49844955f7e8a5874,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_AnchoredPosition.x
|
||||||
|
value: 222
|
||||||
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 7702690943730251830, guid: c9c177e60fd350e49844955f7e8a5874,
|
- target: {fileID: 7702690943730251830, guid: c9c177e60fd350e49844955f7e8a5874,
|
||||||
type: 3}
|
type: 3}
|
||||||
propertyPath: m_SortingLayer
|
propertyPath: m_SortingLayer
|
||||||
|
|||||||
@@ -78,6 +78,11 @@ PrefabInstance:
|
|||||||
propertyPath: m_SortingLayer
|
propertyPath: m_SortingLayer
|
||||||
value: 0
|
value: 0
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 973905160343307270, guid: c9c177e60fd350e49844955f7e8a5874,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalScale.y
|
||||||
|
value: -1
|
||||||
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 1138529054820578357, guid: c9c177e60fd350e49844955f7e8a5874,
|
- target: {fileID: 1138529054820578357, guid: c9c177e60fd350e49844955f7e8a5874,
|
||||||
type: 3}
|
type: 3}
|
||||||
propertyPath: m_SortingLayer
|
propertyPath: m_SortingLayer
|
||||||
@@ -443,6 +448,36 @@ PrefabInstance:
|
|||||||
propertyPath: m_SortingLayer
|
propertyPath: m_SortingLayer
|
||||||
value: 0
|
value: 0
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4710570228793354968, guid: c9c177e60fd350e49844955f7e8a5874,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalScale.x
|
||||||
|
value: 1
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4710570228793354968, guid: c9c177e60fd350e49844955f7e8a5874,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalScale.y
|
||||||
|
value: -1
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4710570228793354968, guid: c9c177e60fd350e49844955f7e8a5874,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalScale.z
|
||||||
|
value: 1
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4710570228793354968, guid: c9c177e60fd350e49844955f7e8a5874,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_AnchoredPosition.x
|
||||||
|
value: 114.9
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4710570228793354968, guid: c9c177e60fd350e49844955f7e8a5874,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_AnchoredPosition.y
|
||||||
|
value: -73.1
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4710570228793354968, guid: c9c177e60fd350e49844955f7e8a5874,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_ConstrainProportionsScale
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 4948902458849928676, guid: c9c177e60fd350e49844955f7e8a5874,
|
- target: {fileID: 4948902458849928676, guid: c9c177e60fd350e49844955f7e8a5874,
|
||||||
type: 3}
|
type: 3}
|
||||||
propertyPath: m_Enabled
|
propertyPath: m_Enabled
|
||||||
@@ -533,6 +568,11 @@ PrefabInstance:
|
|||||||
propertyPath: m_SortingLayer
|
propertyPath: m_SortingLayer
|
||||||
value: 0
|
value: 0
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 5582150539513036327, guid: c9c177e60fd350e49844955f7e8a5874,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalScale.y
|
||||||
|
value: -1
|
||||||
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 5663993776979783327, guid: c9c177e60fd350e49844955f7e8a5874,
|
- target: {fileID: 5663993776979783327, guid: c9c177e60fd350e49844955f7e8a5874,
|
||||||
type: 3}
|
type: 3}
|
||||||
propertyPath: m_Enabled
|
propertyPath: m_Enabled
|
||||||
@@ -648,6 +688,11 @@ PrefabInstance:
|
|||||||
propertyPath: m_SizeDelta.y
|
propertyPath: m_SizeDelta.y
|
||||||
value: 373.17285
|
value: 373.17285
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6916578527196273495, guid: c9c177e60fd350e49844955f7e8a5874,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalScale.y
|
||||||
|
value: 1
|
||||||
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 6916578527196273495, guid: c9c177e60fd350e49844955f7e8a5874,
|
- target: {fileID: 6916578527196273495, guid: c9c177e60fd350e49844955f7e8a5874,
|
||||||
type: 3}
|
type: 3}
|
||||||
propertyPath: m_LocalPosition.x
|
propertyPath: m_LocalPosition.x
|
||||||
@@ -783,6 +828,11 @@ PrefabInstance:
|
|||||||
propertyPath: m_SortingLayer
|
propertyPath: m_SortingLayer
|
||||||
value: 0
|
value: 0
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 7609364501153394415, guid: c9c177e60fd350e49844955f7e8a5874,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_AnchoredPosition.y
|
||||||
|
value: 126.7
|
||||||
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 7702690943730251830, guid: c9c177e60fd350e49844955f7e8a5874,
|
- target: {fileID: 7702690943730251830, guid: c9c177e60fd350e49844955f7e8a5874,
|
||||||
type: 3}
|
type: 3}
|
||||||
propertyPath: m_SortingLayer
|
propertyPath: m_SortingLayer
|
||||||
|
|||||||
@@ -11,8 +11,7 @@ Material:
|
|||||||
m_Shader: {fileID: 4800000, guid: fe393ace9b354375a9cb14cdbbc28be4, type: 3}
|
m_Shader: {fileID: 4800000, guid: fe393ace9b354375a9cb14cdbbc28be4, type: 3}
|
||||||
m_Parent: {fileID: 0}
|
m_Parent: {fileID: 0}
|
||||||
m_ModifiedSerializedProperties: 0
|
m_ModifiedSerializedProperties: 0
|
||||||
m_ValidKeywords:
|
m_ValidKeywords: []
|
||||||
- OUTLINE_ON
|
|
||||||
m_InvalidKeywords: []
|
m_InvalidKeywords: []
|
||||||
m_LightmapFlags: 1
|
m_LightmapFlags: 1
|
||||||
m_EnableInstancingVariants: 0
|
m_EnableInstancingVariants: 0
|
||||||
|
|||||||
|
After Width: | Height: | Size: 1.8 MiB |
@@ -0,0 +1,853 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 1b142012a72db0d41a9f63afbeccb5c8
|
||||||
|
TextureImporter:
|
||||||
|
internalIDToNameTable:
|
||||||
|
- first:
|
||||||
|
213: 21300000
|
||||||
|
second: Chess_0
|
||||||
|
- first:
|
||||||
|
213: 21300002
|
||||||
|
second: Chess_1
|
||||||
|
- first:
|
||||||
|
213: 21300004
|
||||||
|
second: Chess_2
|
||||||
|
- first:
|
||||||
|
213: 21300006
|
||||||
|
second: Chess_3
|
||||||
|
- first:
|
||||||
|
213: 21300008
|
||||||
|
second: Chess_5
|
||||||
|
- first:
|
||||||
|
213: 21300010
|
||||||
|
second: Chess_6
|
||||||
|
- first:
|
||||||
|
213: 21300012
|
||||||
|
second: Chess_7
|
||||||
|
- first:
|
||||||
|
213: 21300014
|
||||||
|
second: Chess_8
|
||||||
|
- first:
|
||||||
|
213: 21300016
|
||||||
|
second: Chess_9
|
||||||
|
- first:
|
||||||
|
213: 21300018
|
||||||
|
second: Chess_11
|
||||||
|
- first:
|
||||||
|
213: 21300020
|
||||||
|
second: Chess_16
|
||||||
|
- first:
|
||||||
|
213: 21300022
|
||||||
|
second: Chess_17
|
||||||
|
- first:
|
||||||
|
213: 21300024
|
||||||
|
second: Chess_21
|
||||||
|
- first:
|
||||||
|
213: 21300026
|
||||||
|
second: Chess_24
|
||||||
|
- first:
|
||||||
|
213: 21300028
|
||||||
|
second: Chess_29
|
||||||
|
- first:
|
||||||
|
213: 21300030
|
||||||
|
second: Chess_31
|
||||||
|
- first:
|
||||||
|
213: 21300032
|
||||||
|
second: Chess_40
|
||||||
|
- first:
|
||||||
|
213: 21300034
|
||||||
|
second: Chess_44
|
||||||
|
- first:
|
||||||
|
213: 21300036
|
||||||
|
second: Chess_45
|
||||||
|
- first:
|
||||||
|
213: 21300038
|
||||||
|
second: Chess_46
|
||||||
|
- first:
|
||||||
|
213: 21300040
|
||||||
|
second: Chess_47
|
||||||
|
- first:
|
||||||
|
213: 21300042
|
||||||
|
second: Chess_48
|
||||||
|
- first:
|
||||||
|
213: 21300044
|
||||||
|
second: Chess_49
|
||||||
|
- first:
|
||||||
|
213: 21300046
|
||||||
|
second: Chess_50
|
||||||
|
- first:
|
||||||
|
213: 21300048
|
||||||
|
second: Chess_51
|
||||||
|
- first:
|
||||||
|
213: 21300050
|
||||||
|
second: Chess_52
|
||||||
|
- first:
|
||||||
|
213: 21300052
|
||||||
|
second: Chess_53
|
||||||
|
- first:
|
||||||
|
213: 21300054
|
||||||
|
second: Chess_54
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 13
|
||||||
|
mipmaps:
|
||||||
|
mipMapMode: 0
|
||||||
|
enableMipMap: 0
|
||||||
|
sRGBTexture: 1
|
||||||
|
linearTexture: 0
|
||||||
|
fadeOut: 0
|
||||||
|
borderMipMap: 0
|
||||||
|
mipMapsPreserveCoverage: 0
|
||||||
|
alphaTestReferenceValue: 0.5
|
||||||
|
mipMapFadeDistanceStart: 1
|
||||||
|
mipMapFadeDistanceEnd: 3
|
||||||
|
bumpmap:
|
||||||
|
convertToNormalMap: 0
|
||||||
|
externalNormalMap: 0
|
||||||
|
heightScale: 0.25
|
||||||
|
normalMapFilter: 0
|
||||||
|
flipGreenChannel: 0
|
||||||
|
isReadable: 0
|
||||||
|
streamingMipmaps: 0
|
||||||
|
streamingMipmapsPriority: 0
|
||||||
|
vTOnly: 0
|
||||||
|
ignoreMipmapLimit: 0
|
||||||
|
grayScaleToAlpha: 0
|
||||||
|
generateCubemap: 6
|
||||||
|
cubemapConvolution: 0
|
||||||
|
seamlessCubemap: 0
|
||||||
|
textureFormat: 1
|
||||||
|
maxTextureSize: 2048
|
||||||
|
textureSettings:
|
||||||
|
serializedVersion: 2
|
||||||
|
filterMode: 2
|
||||||
|
aniso: 4
|
||||||
|
mipBias: 0
|
||||||
|
wrapU: 1
|
||||||
|
wrapV: 1
|
||||||
|
wrapW: 1
|
||||||
|
nPOTScale: 0
|
||||||
|
lightmap: 0
|
||||||
|
compressionQuality: 50
|
||||||
|
spriteMode: 2
|
||||||
|
spriteExtrude: 1
|
||||||
|
spriteMeshType: 1
|
||||||
|
alignment: 0
|
||||||
|
spritePivot: {x: 0.5, y: 0.5}
|
||||||
|
spritePixelsToUnits: 100
|
||||||
|
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
spriteGenerateFallbackPhysicsShape: 1
|
||||||
|
alphaUsage: 1
|
||||||
|
alphaIsTransparency: 1
|
||||||
|
spriteTessellationDetail: -1
|
||||||
|
textureType: 8
|
||||||
|
textureShape: 1
|
||||||
|
singleChannelComponent: 0
|
||||||
|
flipbookRows: 1
|
||||||
|
flipbookColumns: 1
|
||||||
|
maxTextureSizeSet: 0
|
||||||
|
compressionQualitySet: 0
|
||||||
|
textureFormatSet: 0
|
||||||
|
ignorePngGamma: 0
|
||||||
|
applyGammaDecoding: 1
|
||||||
|
swizzle: 50462976
|
||||||
|
cookieLightType: 1
|
||||||
|
platformSettings:
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: DefaultTexturePlatform
|
||||||
|
maxTextureSize: 4096
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 0
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
ignorePlatformSupport: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 1
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: Standalone
|
||||||
|
maxTextureSize: 4096
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 0
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
ignorePlatformSupport: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 1
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: iPhone
|
||||||
|
maxTextureSize: 4096
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 0
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
ignorePlatformSupport: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 1
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: Android
|
||||||
|
maxTextureSize: 4096
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 0
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
ignorePlatformSupport: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 1
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: WebGL
|
||||||
|
maxTextureSize: 4096
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 0
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
ignorePlatformSupport: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 1
|
||||||
|
spriteSheet:
|
||||||
|
serializedVersion: 2
|
||||||
|
sprites:
|
||||||
|
- serializedVersion: 2
|
||||||
|
name: Chess_0
|
||||||
|
rect:
|
||||||
|
serializedVersion: 2
|
||||||
|
x: 1736
|
||||||
|
y: 1839
|
||||||
|
width: 80
|
||||||
|
height: 86
|
||||||
|
alignment: 0
|
||||||
|
pivot: {x: 0.5, y: 0.5}
|
||||||
|
border: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
outline: []
|
||||||
|
physicsShape: []
|
||||||
|
tessellationDetail: 0
|
||||||
|
bones: []
|
||||||
|
spriteID: e8db53b8e8c214e4992791e1bd1a2de6
|
||||||
|
internalID: 21300000
|
||||||
|
vertices: []
|
||||||
|
indices:
|
||||||
|
edges: []
|
||||||
|
weights: []
|
||||||
|
- serializedVersion: 2
|
||||||
|
name: Chess_1
|
||||||
|
rect:
|
||||||
|
serializedVersion: 2
|
||||||
|
x: 1817
|
||||||
|
y: 1917
|
||||||
|
width: 80
|
||||||
|
height: 87
|
||||||
|
alignment: 0
|
||||||
|
pivot: {x: 0.5, y: 0.5}
|
||||||
|
border: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
outline: []
|
||||||
|
physicsShape: []
|
||||||
|
tessellationDetail: 0
|
||||||
|
bones: []
|
||||||
|
spriteID: 4079a3e747fb7da4494e537a81d96749
|
||||||
|
internalID: 21300002
|
||||||
|
vertices: []
|
||||||
|
indices:
|
||||||
|
edges: []
|
||||||
|
weights: []
|
||||||
|
- serializedVersion: 2
|
||||||
|
name: Chess_2
|
||||||
|
rect:
|
||||||
|
serializedVersion: 2
|
||||||
|
x: 1933
|
||||||
|
y: 1896
|
||||||
|
width: 80
|
||||||
|
height: 87
|
||||||
|
alignment: 0
|
||||||
|
pivot: {x: 0.5, y: 0.5}
|
||||||
|
border: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
outline: []
|
||||||
|
physicsShape: []
|
||||||
|
tessellationDetail: 0
|
||||||
|
bones: []
|
||||||
|
spriteID: 9485671459f5e2249832b3789a350ae9
|
||||||
|
internalID: 21300004
|
||||||
|
vertices: []
|
||||||
|
indices:
|
||||||
|
edges: []
|
||||||
|
weights: []
|
||||||
|
- serializedVersion: 2
|
||||||
|
name: Chess_3
|
||||||
|
rect:
|
||||||
|
serializedVersion: 2
|
||||||
|
x: 1558
|
||||||
|
y: 1723
|
||||||
|
width: 177
|
||||||
|
height: 177
|
||||||
|
alignment: 0
|
||||||
|
pivot: {x: 0.5, y: 0.5}
|
||||||
|
border: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
outline: []
|
||||||
|
physicsShape: []
|
||||||
|
tessellationDetail: 0
|
||||||
|
bones: []
|
||||||
|
spriteID: 9b96840c68bec03489afebc1ab2eb0fb
|
||||||
|
internalID: 21300006
|
||||||
|
vertices: []
|
||||||
|
indices:
|
||||||
|
edges: []
|
||||||
|
weights: []
|
||||||
|
- serializedVersion: 2
|
||||||
|
name: Chess_5
|
||||||
|
rect:
|
||||||
|
serializedVersion: 2
|
||||||
|
x: 1852
|
||||||
|
y: 1829
|
||||||
|
width: 80
|
||||||
|
height: 87
|
||||||
|
alignment: 0
|
||||||
|
pivot: {x: 0.5, y: 0.5}
|
||||||
|
border: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
outline: []
|
||||||
|
physicsShape: []
|
||||||
|
tessellationDetail: 0
|
||||||
|
bones: []
|
||||||
|
spriteID: 502a07d40bc1f06408f95bcf8d80b0be
|
||||||
|
internalID: 21300008
|
||||||
|
vertices: []
|
||||||
|
indices:
|
||||||
|
edges: []
|
||||||
|
weights: []
|
||||||
|
- serializedVersion: 2
|
||||||
|
name: Chess_6
|
||||||
|
rect:
|
||||||
|
serializedVersion: 2
|
||||||
|
x: 1958
|
||||||
|
y: 1809
|
||||||
|
width: 80
|
||||||
|
height: 86
|
||||||
|
alignment: 0
|
||||||
|
pivot: {x: 0.5, y: 0.5}
|
||||||
|
border: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
outline: []
|
||||||
|
physicsShape: []
|
||||||
|
tessellationDetail: 0
|
||||||
|
bones: []
|
||||||
|
spriteID: 5ca8d1c973cb4624584ae5bc41d5b266
|
||||||
|
internalID: 21300010
|
||||||
|
vertices: []
|
||||||
|
indices:
|
||||||
|
edges: []
|
||||||
|
weights: []
|
||||||
|
- serializedVersion: 2
|
||||||
|
name: Chess_7
|
||||||
|
rect:
|
||||||
|
serializedVersion: 2
|
||||||
|
x: 1736
|
||||||
|
y: 1723
|
||||||
|
width: 115
|
||||||
|
height: 115
|
||||||
|
alignment: 0
|
||||||
|
pivot: {x: 0.5, y: 0.5}
|
||||||
|
border: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
outline: []
|
||||||
|
physicsShape: []
|
||||||
|
tessellationDetail: 0
|
||||||
|
bones: []
|
||||||
|
spriteID: d3d887d79a3a508429556d64ccc14866
|
||||||
|
internalID: 21300012
|
||||||
|
vertices: []
|
||||||
|
indices:
|
||||||
|
edges: []
|
||||||
|
weights: []
|
||||||
|
- serializedVersion: 2
|
||||||
|
name: Chess_8
|
||||||
|
rect:
|
||||||
|
serializedVersion: 2
|
||||||
|
x: 1852
|
||||||
|
y: 1723
|
||||||
|
width: 105
|
||||||
|
height: 105
|
||||||
|
alignment: 0
|
||||||
|
pivot: {x: 0.5, y: 0.5}
|
||||||
|
border: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
outline: []
|
||||||
|
physicsShape: []
|
||||||
|
tessellationDetail: 0
|
||||||
|
bones: []
|
||||||
|
spriteID: dee87a42af17b854f8d97f31f86c6997
|
||||||
|
internalID: 21300014
|
||||||
|
vertices: []
|
||||||
|
indices:
|
||||||
|
edges: []
|
||||||
|
weights: []
|
||||||
|
- serializedVersion: 2
|
||||||
|
name: Chess_9
|
||||||
|
rect:
|
||||||
|
serializedVersion: 2
|
||||||
|
x: 1958
|
||||||
|
y: 1725
|
||||||
|
width: 83
|
||||||
|
height: 84
|
||||||
|
alignment: 0
|
||||||
|
pivot: {x: 0.5, y: 0.5}
|
||||||
|
border: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
outline: []
|
||||||
|
physicsShape: []
|
||||||
|
tessellationDetail: 0
|
||||||
|
bones: []
|
||||||
|
spriteID: 168b680fdf05d1b41869aacf15e6623e
|
||||||
|
internalID: 21300016
|
||||||
|
vertices: []
|
||||||
|
indices:
|
||||||
|
edges: []
|
||||||
|
weights: []
|
||||||
|
- serializedVersion: 2
|
||||||
|
name: Chess_11
|
||||||
|
rect:
|
||||||
|
serializedVersion: 2
|
||||||
|
x: 1077
|
||||||
|
y: 882
|
||||||
|
width: 480
|
||||||
|
height: 848
|
||||||
|
alignment: 0
|
||||||
|
pivot: {x: 0.5, y: 0.5}
|
||||||
|
border: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
outline: []
|
||||||
|
physicsShape: []
|
||||||
|
tessellationDetail: 0
|
||||||
|
bones: []
|
||||||
|
spriteID: 876c2b40c89450b498ca0bc149a91b48
|
||||||
|
internalID: 21300018
|
||||||
|
vertices: []
|
||||||
|
indices:
|
||||||
|
edges: []
|
||||||
|
weights: []
|
||||||
|
- serializedVersion: 2
|
||||||
|
name: Chess_16
|
||||||
|
rect:
|
||||||
|
serializedVersion: 2
|
||||||
|
x: 1558
|
||||||
|
y: 882
|
||||||
|
width: 480
|
||||||
|
height: 840
|
||||||
|
alignment: 0
|
||||||
|
pivot: {x: 0.5, y: 0.5}
|
||||||
|
border: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
outline: []
|
||||||
|
physicsShape: []
|
||||||
|
tessellationDetail: 0
|
||||||
|
bones: []
|
||||||
|
spriteID: c5011fd093dda7c47b4313f3735820d7
|
||||||
|
internalID: 21300020
|
||||||
|
vertices: []
|
||||||
|
indices:
|
||||||
|
edges: []
|
||||||
|
weights: []
|
||||||
|
- serializedVersion: 2
|
||||||
|
name: Chess_17
|
||||||
|
rect:
|
||||||
|
serializedVersion: 2
|
||||||
|
x: 91
|
||||||
|
y: 725
|
||||||
|
width: 247
|
||||||
|
height: 158
|
||||||
|
alignment: 0
|
||||||
|
pivot: {x: 0.5, y: 0.5}
|
||||||
|
border: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
outline: []
|
||||||
|
physicsShape: []
|
||||||
|
tessellationDetail: 0
|
||||||
|
bones: []
|
||||||
|
spriteID: 5cf891167e780f549a29924db8f87813
|
||||||
|
internalID: 21300022
|
||||||
|
vertices: []
|
||||||
|
indices:
|
||||||
|
edges: []
|
||||||
|
weights: []
|
||||||
|
- serializedVersion: 2
|
||||||
|
name: Chess_21
|
||||||
|
rect:
|
||||||
|
serializedVersion: 2
|
||||||
|
x: 606
|
||||||
|
y: 718
|
||||||
|
width: 368
|
||||||
|
height: 177
|
||||||
|
alignment: 0
|
||||||
|
pivot: {x: 0.5, y: 0.5}
|
||||||
|
border: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
outline: []
|
||||||
|
physicsShape: []
|
||||||
|
tessellationDetail: 0
|
||||||
|
bones: []
|
||||||
|
spriteID: 3bca1fefc6bd74b419113ddd06aa3fa5
|
||||||
|
internalID: 21300024
|
||||||
|
vertices: []
|
||||||
|
indices:
|
||||||
|
edges: []
|
||||||
|
weights: []
|
||||||
|
- serializedVersion: 2
|
||||||
|
name: Chess_24
|
||||||
|
rect:
|
||||||
|
serializedVersion: 2
|
||||||
|
x: 1077
|
||||||
|
y: 0
|
||||||
|
width: 720
|
||||||
|
height: 881
|
||||||
|
alignment: 0
|
||||||
|
pivot: {x: 0.5, y: 0.5}
|
||||||
|
border: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
outline: []
|
||||||
|
physicsShape: []
|
||||||
|
tessellationDetail: 0
|
||||||
|
bones: []
|
||||||
|
spriteID: 21c4bb466b0d0794fb989d9c6f69494b
|
||||||
|
internalID: 21300026
|
||||||
|
vertices: []
|
||||||
|
indices:
|
||||||
|
edges: []
|
||||||
|
weights: []
|
||||||
|
- serializedVersion: 2
|
||||||
|
name: Chess_29
|
||||||
|
rect:
|
||||||
|
serializedVersion: 2
|
||||||
|
x: 36
|
||||||
|
y: 344
|
||||||
|
width: 358
|
||||||
|
height: 172
|
||||||
|
alignment: 0
|
||||||
|
pivot: {x: 0.5, y: 0.5}
|
||||||
|
border: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
outline: []
|
||||||
|
physicsShape: []
|
||||||
|
tessellationDetail: 0
|
||||||
|
bones: []
|
||||||
|
spriteID: 1f30661c8f288ea448396e12fc9d6433
|
||||||
|
internalID: 21300028
|
||||||
|
vertices: []
|
||||||
|
indices:
|
||||||
|
edges: []
|
||||||
|
weights: []
|
||||||
|
- serializedVersion: 2
|
||||||
|
name: Chess_31
|
||||||
|
rect:
|
||||||
|
serializedVersion: 2
|
||||||
|
x: 606
|
||||||
|
y: 351
|
||||||
|
width: 470
|
||||||
|
height: 166
|
||||||
|
alignment: 0
|
||||||
|
pivot: {x: 0.5, y: 0.5}
|
||||||
|
border: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
outline: []
|
||||||
|
physicsShape: []
|
||||||
|
tessellationDetail: 0
|
||||||
|
bones: []
|
||||||
|
spriteID: 507b501b6e9fb7943a6fc8dc80c47e87
|
||||||
|
internalID: 21300030
|
||||||
|
vertices: []
|
||||||
|
indices:
|
||||||
|
edges: []
|
||||||
|
weights: []
|
||||||
|
- serializedVersion: 2
|
||||||
|
name: Chess_40
|
||||||
|
rect:
|
||||||
|
serializedVersion: 2
|
||||||
|
x: 1960
|
||||||
|
y: 261
|
||||||
|
width: 75
|
||||||
|
height: 77
|
||||||
|
alignment: 0
|
||||||
|
pivot: {x: 0.5, y: 0.5}
|
||||||
|
border: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
outline: []
|
||||||
|
physicsShape: []
|
||||||
|
tessellationDetail: 0
|
||||||
|
bones: []
|
||||||
|
spriteID: 275a3c943c4d1f440865af13ac80cf90
|
||||||
|
internalID: 21300032
|
||||||
|
vertices: []
|
||||||
|
indices:
|
||||||
|
edges: []
|
||||||
|
weights: []
|
||||||
|
- serializedVersion: 2
|
||||||
|
name: Chess_44
|
||||||
|
rect:
|
||||||
|
serializedVersion: 2
|
||||||
|
x: 1798
|
||||||
|
y: 175
|
||||||
|
width: 80
|
||||||
|
height: 87
|
||||||
|
alignment: 0
|
||||||
|
pivot: {x: 0.5, y: 0.5}
|
||||||
|
border: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
outline: []
|
||||||
|
physicsShape: []
|
||||||
|
tessellationDetail: 0
|
||||||
|
bones: []
|
||||||
|
spriteID: 73ed6cb52f544d744881cfc41090434e
|
||||||
|
internalID: 21300034
|
||||||
|
vertices: []
|
||||||
|
indices:
|
||||||
|
edges: []
|
||||||
|
weights: []
|
||||||
|
- serializedVersion: 2
|
||||||
|
name: Chess_45
|
||||||
|
rect:
|
||||||
|
serializedVersion: 2
|
||||||
|
x: 1879
|
||||||
|
y: 175
|
||||||
|
width: 80
|
||||||
|
height: 87
|
||||||
|
alignment: 0
|
||||||
|
pivot: {x: 0.5, y: 0.5}
|
||||||
|
border: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
outline: []
|
||||||
|
physicsShape: []
|
||||||
|
tessellationDetail: 0
|
||||||
|
bones: []
|
||||||
|
spriteID: 19a6cb53207c7654c907fd204f2ba065
|
||||||
|
internalID: 21300036
|
||||||
|
vertices: []
|
||||||
|
indices:
|
||||||
|
edges: []
|
||||||
|
weights: []
|
||||||
|
- serializedVersion: 2
|
||||||
|
name: Chess_46
|
||||||
|
rect:
|
||||||
|
serializedVersion: 2
|
||||||
|
x: 1960
|
||||||
|
y: 175
|
||||||
|
width: 80
|
||||||
|
height: 86
|
||||||
|
alignment: 0
|
||||||
|
pivot: {x: 0.5, y: 0.5}
|
||||||
|
border: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
outline: []
|
||||||
|
physicsShape: []
|
||||||
|
tessellationDetail: 0
|
||||||
|
bones: []
|
||||||
|
spriteID: 2682f0d6335187247b01a8ae75f85dfb
|
||||||
|
internalID: 21300038
|
||||||
|
vertices: []
|
||||||
|
indices:
|
||||||
|
edges: []
|
||||||
|
weights: []
|
||||||
|
- serializedVersion: 2
|
||||||
|
name: Chess_47
|
||||||
|
rect:
|
||||||
|
serializedVersion: 2
|
||||||
|
x: 0
|
||||||
|
y: 0
|
||||||
|
width: 360
|
||||||
|
height: 135
|
||||||
|
alignment: 0
|
||||||
|
pivot: {x: 0.5, y: 0.5}
|
||||||
|
border: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
outline: []
|
||||||
|
physicsShape: []
|
||||||
|
tessellationDetail: 0
|
||||||
|
bones: []
|
||||||
|
spriteID: 45d7fa104dbef9e4c85bb9b1783998ea
|
||||||
|
internalID: 21300040
|
||||||
|
vertices: []
|
||||||
|
indices:
|
||||||
|
edges: []
|
||||||
|
weights: []
|
||||||
|
- serializedVersion: 2
|
||||||
|
name: Chess_48
|
||||||
|
rect:
|
||||||
|
serializedVersion: 2
|
||||||
|
x: 612
|
||||||
|
y: 14
|
||||||
|
width: 357
|
||||||
|
height: 107
|
||||||
|
alignment: 0
|
||||||
|
pivot: {x: 0.5, y: 0.5}
|
||||||
|
border: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
outline: []
|
||||||
|
physicsShape: []
|
||||||
|
tessellationDetail: 0
|
||||||
|
bones: []
|
||||||
|
spriteID: b3fe7de32c2e4e544896054f13c52f92
|
||||||
|
internalID: 21300042
|
||||||
|
vertices: []
|
||||||
|
indices:
|
||||||
|
edges: []
|
||||||
|
weights: []
|
||||||
|
- serializedVersion: 2
|
||||||
|
name: Chess_49
|
||||||
|
rect:
|
||||||
|
serializedVersion: 2
|
||||||
|
x: 1798
|
||||||
|
y: 87
|
||||||
|
width: 80
|
||||||
|
height: 87
|
||||||
|
alignment: 0
|
||||||
|
pivot: {x: 0.5, y: 0.5}
|
||||||
|
border: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
outline: []
|
||||||
|
physicsShape: []
|
||||||
|
tessellationDetail: 0
|
||||||
|
bones: []
|
||||||
|
spriteID: e7ed18c90b2357e4184a04ca651633c0
|
||||||
|
internalID: 21300044
|
||||||
|
vertices: []
|
||||||
|
indices:
|
||||||
|
edges: []
|
||||||
|
weights: []
|
||||||
|
- serializedVersion: 2
|
||||||
|
name: Chess_50
|
||||||
|
rect:
|
||||||
|
serializedVersion: 2
|
||||||
|
x: 1879
|
||||||
|
y: 87
|
||||||
|
width: 80
|
||||||
|
height: 87
|
||||||
|
alignment: 0
|
||||||
|
pivot: {x: 0.5, y: 0.5}
|
||||||
|
border: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
outline: []
|
||||||
|
physicsShape: []
|
||||||
|
tessellationDetail: 0
|
||||||
|
bones: []
|
||||||
|
spriteID: 0aec6abdb99368f4aa3b97562bce8bc2
|
||||||
|
internalID: 21300046
|
||||||
|
vertices: []
|
||||||
|
indices:
|
||||||
|
edges: []
|
||||||
|
weights: []
|
||||||
|
- serializedVersion: 2
|
||||||
|
name: Chess_51
|
||||||
|
rect:
|
||||||
|
serializedVersion: 2
|
||||||
|
x: 1960
|
||||||
|
y: 87
|
||||||
|
width: 80
|
||||||
|
height: 87
|
||||||
|
alignment: 0
|
||||||
|
pivot: {x: 0.5, y: 0.5}
|
||||||
|
border: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
outline: []
|
||||||
|
physicsShape: []
|
||||||
|
tessellationDetail: 0
|
||||||
|
bones: []
|
||||||
|
spriteID: 2cb01917091fd6a46b2ed64b829732a0
|
||||||
|
internalID: 21300048
|
||||||
|
vertices: []
|
||||||
|
indices:
|
||||||
|
edges: []
|
||||||
|
weights: []
|
||||||
|
- serializedVersion: 2
|
||||||
|
name: Chess_52
|
||||||
|
rect:
|
||||||
|
serializedVersion: 2
|
||||||
|
x: 1797
|
||||||
|
y: 0
|
||||||
|
width: 81
|
||||||
|
height: 86
|
||||||
|
alignment: 0
|
||||||
|
pivot: {x: 0.5, y: 0.5}
|
||||||
|
border: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
outline: []
|
||||||
|
physicsShape: []
|
||||||
|
tessellationDetail: 0
|
||||||
|
bones: []
|
||||||
|
spriteID: 7deb629ad15cf4045808fd57bc8504cb
|
||||||
|
internalID: 21300050
|
||||||
|
vertices: []
|
||||||
|
indices:
|
||||||
|
edges: []
|
||||||
|
weights: []
|
||||||
|
- serializedVersion: 2
|
||||||
|
name: Chess_53
|
||||||
|
rect:
|
||||||
|
serializedVersion: 2
|
||||||
|
x: 1879
|
||||||
|
y: 0
|
||||||
|
width: 80
|
||||||
|
height: 86
|
||||||
|
alignment: 0
|
||||||
|
pivot: {x: 0.5, y: 0.5}
|
||||||
|
border: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
outline: []
|
||||||
|
physicsShape: []
|
||||||
|
tessellationDetail: 0
|
||||||
|
bones: []
|
||||||
|
spriteID: cbf953b8f3682c442baae6a1896d0a12
|
||||||
|
internalID: 21300052
|
||||||
|
vertices: []
|
||||||
|
indices:
|
||||||
|
edges: []
|
||||||
|
weights: []
|
||||||
|
- serializedVersion: 2
|
||||||
|
name: Chess_54
|
||||||
|
rect:
|
||||||
|
serializedVersion: 2
|
||||||
|
x: 1960
|
||||||
|
y: 0
|
||||||
|
width: 80
|
||||||
|
height: 86
|
||||||
|
alignment: 0
|
||||||
|
pivot: {x: 0.5, y: 0.5}
|
||||||
|
border: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
outline: []
|
||||||
|
physicsShape: []
|
||||||
|
tessellationDetail: 0
|
||||||
|
bones: []
|
||||||
|
spriteID: c2cae1b07b78c90478a3723ce589f9a1
|
||||||
|
internalID: 21300054
|
||||||
|
vertices: []
|
||||||
|
indices:
|
||||||
|
edges: []
|
||||||
|
weights: []
|
||||||
|
outline: []
|
||||||
|
physicsShape: []
|
||||||
|
bones: []
|
||||||
|
spriteID: 7cddd251157d3ff44926485e58a96acd
|
||||||
|
internalID: 0
|
||||||
|
vertices: []
|
||||||
|
indices:
|
||||||
|
edges: []
|
||||||
|
weights: []
|
||||||
|
secondaryTextures: []
|
||||||
|
nameFileIdTable:
|
||||||
|
Chess_0: 21300000
|
||||||
|
Chess_1: 21300002
|
||||||
|
Chess_11: 21300018
|
||||||
|
Chess_16: 21300020
|
||||||
|
Chess_17: 21300022
|
||||||
|
Chess_2: 21300004
|
||||||
|
Chess_21: 21300024
|
||||||
|
Chess_24: 21300026
|
||||||
|
Chess_29: 21300028
|
||||||
|
Chess_3: 21300006
|
||||||
|
Chess_31: 21300030
|
||||||
|
Chess_40: 21300032
|
||||||
|
Chess_44: 21300034
|
||||||
|
Chess_45: 21300036
|
||||||
|
Chess_46: 21300038
|
||||||
|
Chess_47: 21300040
|
||||||
|
Chess_48: 21300042
|
||||||
|
Chess_49: 21300044
|
||||||
|
Chess_5: 21300008
|
||||||
|
Chess_50: 21300046
|
||||||
|
Chess_51: 21300048
|
||||||
|
Chess_52: 21300050
|
||||||
|
Chess_53: 21300052
|
||||||
|
Chess_54: 21300054
|
||||||
|
Chess_6: 21300010
|
||||||
|
Chess_7: 21300012
|
||||||
|
Chess_8: 21300014
|
||||||
|
Chess_9: 21300016
|
||||||
|
mipmapLimitGroupName:
|
||||||
|
pSDRemoveMatte: 0
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
Before Width: | Height: | Size: 8.6 KiB |
@@ -1,127 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 88d9b1d534e79ac4582720cace77a02c
|
|
||||||
TextureImporter:
|
|
||||||
internalIDToNameTable: []
|
|
||||||
externalObjects: {}
|
|
||||||
serializedVersion: 13
|
|
||||||
mipmaps:
|
|
||||||
mipMapMode: 0
|
|
||||||
enableMipMap: 0
|
|
||||||
sRGBTexture: 1
|
|
||||||
linearTexture: 0
|
|
||||||
fadeOut: 0
|
|
||||||
borderMipMap: 0
|
|
||||||
mipMapsPreserveCoverage: 0
|
|
||||||
alphaTestReferenceValue: 0.5
|
|
||||||
mipMapFadeDistanceStart: 1
|
|
||||||
mipMapFadeDistanceEnd: 3
|
|
||||||
bumpmap:
|
|
||||||
convertToNormalMap: 0
|
|
||||||
externalNormalMap: 0
|
|
||||||
heightScale: 0.25
|
|
||||||
normalMapFilter: 0
|
|
||||||
flipGreenChannel: 0
|
|
||||||
isReadable: 0
|
|
||||||
streamingMipmaps: 0
|
|
||||||
streamingMipmapsPriority: 0
|
|
||||||
vTOnly: 0
|
|
||||||
ignoreMipmapLimit: 0
|
|
||||||
grayScaleToAlpha: 0
|
|
||||||
generateCubemap: 6
|
|
||||||
cubemapConvolution: 0
|
|
||||||
seamlessCubemap: 0
|
|
||||||
textureFormat: 1
|
|
||||||
maxTextureSize: 2048
|
|
||||||
textureSettings:
|
|
||||||
serializedVersion: 2
|
|
||||||
filterMode: 1
|
|
||||||
aniso: 1
|
|
||||||
mipBias: 0
|
|
||||||
wrapU: 1
|
|
||||||
wrapV: 1
|
|
||||||
wrapW: 1
|
|
||||||
nPOTScale: 0
|
|
||||||
lightmap: 0
|
|
||||||
compressionQuality: 50
|
|
||||||
spriteMode: 1
|
|
||||||
spriteExtrude: 1
|
|
||||||
spriteMeshType: 1
|
|
||||||
alignment: 0
|
|
||||||
spritePivot: {x: 0.5, y: 0.5}
|
|
||||||
spritePixelsToUnits: 100
|
|
||||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
|
||||||
spriteGenerateFallbackPhysicsShape: 1
|
|
||||||
alphaUsage: 1
|
|
||||||
alphaIsTransparency: 1
|
|
||||||
spriteTessellationDetail: -1
|
|
||||||
textureType: 8
|
|
||||||
textureShape: 1
|
|
||||||
singleChannelComponent: 0
|
|
||||||
flipbookRows: 1
|
|
||||||
flipbookColumns: 1
|
|
||||||
maxTextureSizeSet: 0
|
|
||||||
compressionQualitySet: 0
|
|
||||||
textureFormatSet: 0
|
|
||||||
ignorePngGamma: 0
|
|
||||||
applyGammaDecoding: 0
|
|
||||||
swizzle: 50462976
|
|
||||||
cookieLightType: 0
|
|
||||||
platformSettings:
|
|
||||||
- serializedVersion: 3
|
|
||||||
buildTarget: DefaultTexturePlatform
|
|
||||||
maxTextureSize: 2048
|
|
||||||
resizeAlgorithm: 0
|
|
||||||
textureFormat: -1
|
|
||||||
textureCompression: 0
|
|
||||||
compressionQuality: 50
|
|
||||||
crunchedCompression: 0
|
|
||||||
allowsAlphaSplitting: 0
|
|
||||||
overridden: 0
|
|
||||||
ignorePlatformSupport: 0
|
|
||||||
androidETC2FallbackOverride: 0
|
|
||||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
|
||||||
- serializedVersion: 3
|
|
||||||
buildTarget: Standalone
|
|
||||||
maxTextureSize: 2048
|
|
||||||
resizeAlgorithm: 0
|
|
||||||
textureFormat: -1
|
|
||||||
textureCompression: 1
|
|
||||||
compressionQuality: 50
|
|
||||||
crunchedCompression: 0
|
|
||||||
allowsAlphaSplitting: 0
|
|
||||||
overridden: 0
|
|
||||||
ignorePlatformSupport: 0
|
|
||||||
androidETC2FallbackOverride: 0
|
|
||||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
|
||||||
- serializedVersion: 3
|
|
||||||
buildTarget: Android
|
|
||||||
maxTextureSize: 2048
|
|
||||||
resizeAlgorithm: 0
|
|
||||||
textureFormat: -1
|
|
||||||
textureCompression: 1
|
|
||||||
compressionQuality: 50
|
|
||||||
crunchedCompression: 0
|
|
||||||
allowsAlphaSplitting: 0
|
|
||||||
overridden: 0
|
|
||||||
ignorePlatformSupport: 0
|
|
||||||
androidETC2FallbackOverride: 0
|
|
||||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
|
||||||
spriteSheet:
|
|
||||||
serializedVersion: 2
|
|
||||||
sprites: []
|
|
||||||
outline: []
|
|
||||||
physicsShape: []
|
|
||||||
bones: []
|
|
||||||
spriteID: 5e97eb03825dee720800000000000000
|
|
||||||
internalID: 0
|
|
||||||
vertices: []
|
|
||||||
indices:
|
|
||||||
edges: []
|
|
||||||
weights: []
|
|
||||||
secondaryTextures: []
|
|
||||||
nameFileIdTable: {}
|
|
||||||
mipmapLimitGroupName:
|
|
||||||
pSDRemoveMatte: 0
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
|
Before Width: | Height: | Size: 8.2 KiB |
@@ -1,127 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 50ab58cb87ffe814e943b09f653f3f56
|
|
||||||
TextureImporter:
|
|
||||||
internalIDToNameTable: []
|
|
||||||
externalObjects: {}
|
|
||||||
serializedVersion: 13
|
|
||||||
mipmaps:
|
|
||||||
mipMapMode: 0
|
|
||||||
enableMipMap: 0
|
|
||||||
sRGBTexture: 1
|
|
||||||
linearTexture: 0
|
|
||||||
fadeOut: 0
|
|
||||||
borderMipMap: 0
|
|
||||||
mipMapsPreserveCoverage: 0
|
|
||||||
alphaTestReferenceValue: 0.5
|
|
||||||
mipMapFadeDistanceStart: 1
|
|
||||||
mipMapFadeDistanceEnd: 3
|
|
||||||
bumpmap:
|
|
||||||
convertToNormalMap: 0
|
|
||||||
externalNormalMap: 0
|
|
||||||
heightScale: 0.25
|
|
||||||
normalMapFilter: 0
|
|
||||||
flipGreenChannel: 0
|
|
||||||
isReadable: 0
|
|
||||||
streamingMipmaps: 0
|
|
||||||
streamingMipmapsPriority: 0
|
|
||||||
vTOnly: 0
|
|
||||||
ignoreMipmapLimit: 0
|
|
||||||
grayScaleToAlpha: 0
|
|
||||||
generateCubemap: 6
|
|
||||||
cubemapConvolution: 0
|
|
||||||
seamlessCubemap: 0
|
|
||||||
textureFormat: 1
|
|
||||||
maxTextureSize: 2048
|
|
||||||
textureSettings:
|
|
||||||
serializedVersion: 2
|
|
||||||
filterMode: 1
|
|
||||||
aniso: 1
|
|
||||||
mipBias: 0
|
|
||||||
wrapU: 1
|
|
||||||
wrapV: 1
|
|
||||||
wrapW: 1
|
|
||||||
nPOTScale: 0
|
|
||||||
lightmap: 0
|
|
||||||
compressionQuality: 50
|
|
||||||
spriteMode: 1
|
|
||||||
spriteExtrude: 1
|
|
||||||
spriteMeshType: 1
|
|
||||||
alignment: 0
|
|
||||||
spritePivot: {x: 0.5, y: 0.5}
|
|
||||||
spritePixelsToUnits: 100
|
|
||||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
|
||||||
spriteGenerateFallbackPhysicsShape: 1
|
|
||||||
alphaUsage: 1
|
|
||||||
alphaIsTransparency: 1
|
|
||||||
spriteTessellationDetail: -1
|
|
||||||
textureType: 8
|
|
||||||
textureShape: 1
|
|
||||||
singleChannelComponent: 0
|
|
||||||
flipbookRows: 1
|
|
||||||
flipbookColumns: 1
|
|
||||||
maxTextureSizeSet: 0
|
|
||||||
compressionQualitySet: 0
|
|
||||||
textureFormatSet: 0
|
|
||||||
ignorePngGamma: 0
|
|
||||||
applyGammaDecoding: 0
|
|
||||||
swizzle: 50462976
|
|
||||||
cookieLightType: 0
|
|
||||||
platformSettings:
|
|
||||||
- serializedVersion: 3
|
|
||||||
buildTarget: DefaultTexturePlatform
|
|
||||||
maxTextureSize: 2048
|
|
||||||
resizeAlgorithm: 0
|
|
||||||
textureFormat: -1
|
|
||||||
textureCompression: 0
|
|
||||||
compressionQuality: 50
|
|
||||||
crunchedCompression: 0
|
|
||||||
allowsAlphaSplitting: 0
|
|
||||||
overridden: 0
|
|
||||||
ignorePlatformSupport: 0
|
|
||||||
androidETC2FallbackOverride: 0
|
|
||||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
|
||||||
- serializedVersion: 3
|
|
||||||
buildTarget: Standalone
|
|
||||||
maxTextureSize: 2048
|
|
||||||
resizeAlgorithm: 0
|
|
||||||
textureFormat: -1
|
|
||||||
textureCompression: 1
|
|
||||||
compressionQuality: 50
|
|
||||||
crunchedCompression: 0
|
|
||||||
allowsAlphaSplitting: 0
|
|
||||||
overridden: 0
|
|
||||||
ignorePlatformSupport: 0
|
|
||||||
androidETC2FallbackOverride: 0
|
|
||||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
|
||||||
- serializedVersion: 3
|
|
||||||
buildTarget: Android
|
|
||||||
maxTextureSize: 2048
|
|
||||||
resizeAlgorithm: 0
|
|
||||||
textureFormat: -1
|
|
||||||
textureCompression: 1
|
|
||||||
compressionQuality: 50
|
|
||||||
crunchedCompression: 0
|
|
||||||
allowsAlphaSplitting: 0
|
|
||||||
overridden: 0
|
|
||||||
ignorePlatformSupport: 0
|
|
||||||
androidETC2FallbackOverride: 0
|
|
||||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
|
||||||
spriteSheet:
|
|
||||||
serializedVersion: 2
|
|
||||||
sprites: []
|
|
||||||
outline: []
|
|
||||||
physicsShape: []
|
|
||||||
bones: []
|
|
||||||
spriteID: 5e97eb03825dee720800000000000000
|
|
||||||
internalID: 0
|
|
||||||
vertices: []
|
|
||||||
indices:
|
|
||||||
edges: []
|
|
||||||
weights: []
|
|
||||||
secondaryTextures: []
|
|
||||||
nameFileIdTable: {}
|
|
||||||
mipmapLimitGroupName:
|
|
||||||
pSDRemoveMatte: 0
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
|
Before Width: | Height: | Size: 8.3 KiB |
@@ -1,127 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 5acd3183ef1c3cb46bf905071009ae3a
|
|
||||||
TextureImporter:
|
|
||||||
internalIDToNameTable: []
|
|
||||||
externalObjects: {}
|
|
||||||
serializedVersion: 13
|
|
||||||
mipmaps:
|
|
||||||
mipMapMode: 0
|
|
||||||
enableMipMap: 0
|
|
||||||
sRGBTexture: 1
|
|
||||||
linearTexture: 0
|
|
||||||
fadeOut: 0
|
|
||||||
borderMipMap: 0
|
|
||||||
mipMapsPreserveCoverage: 0
|
|
||||||
alphaTestReferenceValue: 0.5
|
|
||||||
mipMapFadeDistanceStart: 1
|
|
||||||
mipMapFadeDistanceEnd: 3
|
|
||||||
bumpmap:
|
|
||||||
convertToNormalMap: 0
|
|
||||||
externalNormalMap: 0
|
|
||||||
heightScale: 0.25
|
|
||||||
normalMapFilter: 0
|
|
||||||
flipGreenChannel: 0
|
|
||||||
isReadable: 0
|
|
||||||
streamingMipmaps: 0
|
|
||||||
streamingMipmapsPriority: 0
|
|
||||||
vTOnly: 0
|
|
||||||
ignoreMipmapLimit: 0
|
|
||||||
grayScaleToAlpha: 0
|
|
||||||
generateCubemap: 6
|
|
||||||
cubemapConvolution: 0
|
|
||||||
seamlessCubemap: 0
|
|
||||||
textureFormat: 1
|
|
||||||
maxTextureSize: 2048
|
|
||||||
textureSettings:
|
|
||||||
serializedVersion: 2
|
|
||||||
filterMode: 1
|
|
||||||
aniso: 1
|
|
||||||
mipBias: 0
|
|
||||||
wrapU: 1
|
|
||||||
wrapV: 1
|
|
||||||
wrapW: 1
|
|
||||||
nPOTScale: 0
|
|
||||||
lightmap: 0
|
|
||||||
compressionQuality: 50
|
|
||||||
spriteMode: 1
|
|
||||||
spriteExtrude: 1
|
|
||||||
spriteMeshType: 1
|
|
||||||
alignment: 0
|
|
||||||
spritePivot: {x: 0.5, y: 0.5}
|
|
||||||
spritePixelsToUnits: 100
|
|
||||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
|
||||||
spriteGenerateFallbackPhysicsShape: 1
|
|
||||||
alphaUsage: 1
|
|
||||||
alphaIsTransparency: 1
|
|
||||||
spriteTessellationDetail: -1
|
|
||||||
textureType: 8
|
|
||||||
textureShape: 1
|
|
||||||
singleChannelComponent: 0
|
|
||||||
flipbookRows: 1
|
|
||||||
flipbookColumns: 1
|
|
||||||
maxTextureSizeSet: 0
|
|
||||||
compressionQualitySet: 0
|
|
||||||
textureFormatSet: 0
|
|
||||||
ignorePngGamma: 0
|
|
||||||
applyGammaDecoding: 0
|
|
||||||
swizzle: 50462976
|
|
||||||
cookieLightType: 0
|
|
||||||
platformSettings:
|
|
||||||
- serializedVersion: 3
|
|
||||||
buildTarget: DefaultTexturePlatform
|
|
||||||
maxTextureSize: 2048
|
|
||||||
resizeAlgorithm: 0
|
|
||||||
textureFormat: -1
|
|
||||||
textureCompression: 0
|
|
||||||
compressionQuality: 50
|
|
||||||
crunchedCompression: 0
|
|
||||||
allowsAlphaSplitting: 0
|
|
||||||
overridden: 0
|
|
||||||
ignorePlatformSupport: 0
|
|
||||||
androidETC2FallbackOverride: 0
|
|
||||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
|
||||||
- serializedVersion: 3
|
|
||||||
buildTarget: Standalone
|
|
||||||
maxTextureSize: 2048
|
|
||||||
resizeAlgorithm: 0
|
|
||||||
textureFormat: -1
|
|
||||||
textureCompression: 1
|
|
||||||
compressionQuality: 50
|
|
||||||
crunchedCompression: 0
|
|
||||||
allowsAlphaSplitting: 0
|
|
||||||
overridden: 0
|
|
||||||
ignorePlatformSupport: 0
|
|
||||||
androidETC2FallbackOverride: 0
|
|
||||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
|
||||||
- serializedVersion: 3
|
|
||||||
buildTarget: Android
|
|
||||||
maxTextureSize: 2048
|
|
||||||
resizeAlgorithm: 0
|
|
||||||
textureFormat: -1
|
|
||||||
textureCompression: 1
|
|
||||||
compressionQuality: 50
|
|
||||||
crunchedCompression: 0
|
|
||||||
allowsAlphaSplitting: 0
|
|
||||||
overridden: 0
|
|
||||||
ignorePlatformSupport: 0
|
|
||||||
androidETC2FallbackOverride: 0
|
|
||||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
|
||||||
spriteSheet:
|
|
||||||
serializedVersion: 2
|
|
||||||
sprites: []
|
|
||||||
outline: []
|
|
||||||
physicsShape: []
|
|
||||||
bones: []
|
|
||||||
spriteID: 5e97eb03825dee720800000000000000
|
|
||||||
internalID: 0
|
|
||||||
vertices: []
|
|
||||||
indices:
|
|
||||||
edges: []
|
|
||||||
weights: []
|
|
||||||
secondaryTextures: []
|
|
||||||
nameFileIdTable: {}
|
|
||||||
mipmapLimitGroupName:
|
|
||||||
pSDRemoveMatte: 0
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
|
Before Width: | Height: | Size: 8.4 KiB |
@@ -1,127 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 946d7904f5fdd3a4e823b3775974cd6f
|
|
||||||
TextureImporter:
|
|
||||||
internalIDToNameTable: []
|
|
||||||
externalObjects: {}
|
|
||||||
serializedVersion: 13
|
|
||||||
mipmaps:
|
|
||||||
mipMapMode: 0
|
|
||||||
enableMipMap: 0
|
|
||||||
sRGBTexture: 1
|
|
||||||
linearTexture: 0
|
|
||||||
fadeOut: 0
|
|
||||||
borderMipMap: 0
|
|
||||||
mipMapsPreserveCoverage: 0
|
|
||||||
alphaTestReferenceValue: 0.5
|
|
||||||
mipMapFadeDistanceStart: 1
|
|
||||||
mipMapFadeDistanceEnd: 3
|
|
||||||
bumpmap:
|
|
||||||
convertToNormalMap: 0
|
|
||||||
externalNormalMap: 0
|
|
||||||
heightScale: 0.25
|
|
||||||
normalMapFilter: 0
|
|
||||||
flipGreenChannel: 0
|
|
||||||
isReadable: 0
|
|
||||||
streamingMipmaps: 0
|
|
||||||
streamingMipmapsPriority: 0
|
|
||||||
vTOnly: 0
|
|
||||||
ignoreMipmapLimit: 0
|
|
||||||
grayScaleToAlpha: 0
|
|
||||||
generateCubemap: 6
|
|
||||||
cubemapConvolution: 0
|
|
||||||
seamlessCubemap: 0
|
|
||||||
textureFormat: 1
|
|
||||||
maxTextureSize: 2048
|
|
||||||
textureSettings:
|
|
||||||
serializedVersion: 2
|
|
||||||
filterMode: 1
|
|
||||||
aniso: 1
|
|
||||||
mipBias: 0
|
|
||||||
wrapU: 1
|
|
||||||
wrapV: 1
|
|
||||||
wrapW: 1
|
|
||||||
nPOTScale: 0
|
|
||||||
lightmap: 0
|
|
||||||
compressionQuality: 50
|
|
||||||
spriteMode: 1
|
|
||||||
spriteExtrude: 1
|
|
||||||
spriteMeshType: 1
|
|
||||||
alignment: 0
|
|
||||||
spritePivot: {x: 0.5, y: 0.5}
|
|
||||||
spritePixelsToUnits: 100
|
|
||||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
|
||||||
spriteGenerateFallbackPhysicsShape: 1
|
|
||||||
alphaUsage: 1
|
|
||||||
alphaIsTransparency: 1
|
|
||||||
spriteTessellationDetail: -1
|
|
||||||
textureType: 8
|
|
||||||
textureShape: 1
|
|
||||||
singleChannelComponent: 0
|
|
||||||
flipbookRows: 1
|
|
||||||
flipbookColumns: 1
|
|
||||||
maxTextureSizeSet: 0
|
|
||||||
compressionQualitySet: 0
|
|
||||||
textureFormatSet: 0
|
|
||||||
ignorePngGamma: 0
|
|
||||||
applyGammaDecoding: 0
|
|
||||||
swizzle: 50462976
|
|
||||||
cookieLightType: 0
|
|
||||||
platformSettings:
|
|
||||||
- serializedVersion: 3
|
|
||||||
buildTarget: DefaultTexturePlatform
|
|
||||||
maxTextureSize: 2048
|
|
||||||
resizeAlgorithm: 0
|
|
||||||
textureFormat: -1
|
|
||||||
textureCompression: 0
|
|
||||||
compressionQuality: 50
|
|
||||||
crunchedCompression: 0
|
|
||||||
allowsAlphaSplitting: 0
|
|
||||||
overridden: 0
|
|
||||||
ignorePlatformSupport: 0
|
|
||||||
androidETC2FallbackOverride: 0
|
|
||||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
|
||||||
- serializedVersion: 3
|
|
||||||
buildTarget: Standalone
|
|
||||||
maxTextureSize: 2048
|
|
||||||
resizeAlgorithm: 0
|
|
||||||
textureFormat: -1
|
|
||||||
textureCompression: 1
|
|
||||||
compressionQuality: 50
|
|
||||||
crunchedCompression: 0
|
|
||||||
allowsAlphaSplitting: 0
|
|
||||||
overridden: 0
|
|
||||||
ignorePlatformSupport: 0
|
|
||||||
androidETC2FallbackOverride: 0
|
|
||||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
|
||||||
- serializedVersion: 3
|
|
||||||
buildTarget: Android
|
|
||||||
maxTextureSize: 2048
|
|
||||||
resizeAlgorithm: 0
|
|
||||||
textureFormat: -1
|
|
||||||
textureCompression: 1
|
|
||||||
compressionQuality: 50
|
|
||||||
crunchedCompression: 0
|
|
||||||
allowsAlphaSplitting: 0
|
|
||||||
overridden: 0
|
|
||||||
ignorePlatformSupport: 0
|
|
||||||
androidETC2FallbackOverride: 0
|
|
||||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
|
||||||
spriteSheet:
|
|
||||||
serializedVersion: 2
|
|
||||||
sprites: []
|
|
||||||
outline: []
|
|
||||||
physicsShape: []
|
|
||||||
bones: []
|
|
||||||
spriteID: 5e97eb03825dee720800000000000000
|
|
||||||
internalID: 0
|
|
||||||
vertices: []
|
|
||||||
indices:
|
|
||||||
edges: []
|
|
||||||
weights: []
|
|
||||||
secondaryTextures: []
|
|
||||||
nameFileIdTable: {}
|
|
||||||
mipmapLimitGroupName:
|
|
||||||
pSDRemoveMatte: 0
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
|
Before Width: | Height: | Size: 8.4 KiB |
@@ -1,127 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: aa1c709fab7782b47b60840abdbe7e90
|
|
||||||
TextureImporter:
|
|
||||||
internalIDToNameTable: []
|
|
||||||
externalObjects: {}
|
|
||||||
serializedVersion: 13
|
|
||||||
mipmaps:
|
|
||||||
mipMapMode: 0
|
|
||||||
enableMipMap: 0
|
|
||||||
sRGBTexture: 1
|
|
||||||
linearTexture: 0
|
|
||||||
fadeOut: 0
|
|
||||||
borderMipMap: 0
|
|
||||||
mipMapsPreserveCoverage: 0
|
|
||||||
alphaTestReferenceValue: 0.5
|
|
||||||
mipMapFadeDistanceStart: 1
|
|
||||||
mipMapFadeDistanceEnd: 3
|
|
||||||
bumpmap:
|
|
||||||
convertToNormalMap: 0
|
|
||||||
externalNormalMap: 0
|
|
||||||
heightScale: 0.25
|
|
||||||
normalMapFilter: 0
|
|
||||||
flipGreenChannel: 0
|
|
||||||
isReadable: 0
|
|
||||||
streamingMipmaps: 0
|
|
||||||
streamingMipmapsPriority: 0
|
|
||||||
vTOnly: 0
|
|
||||||
ignoreMipmapLimit: 0
|
|
||||||
grayScaleToAlpha: 0
|
|
||||||
generateCubemap: 6
|
|
||||||
cubemapConvolution: 0
|
|
||||||
seamlessCubemap: 0
|
|
||||||
textureFormat: 1
|
|
||||||
maxTextureSize: 2048
|
|
||||||
textureSettings:
|
|
||||||
serializedVersion: 2
|
|
||||||
filterMode: 1
|
|
||||||
aniso: 1
|
|
||||||
mipBias: 0
|
|
||||||
wrapU: 1
|
|
||||||
wrapV: 1
|
|
||||||
wrapW: 1
|
|
||||||
nPOTScale: 0
|
|
||||||
lightmap: 0
|
|
||||||
compressionQuality: 50
|
|
||||||
spriteMode: 1
|
|
||||||
spriteExtrude: 1
|
|
||||||
spriteMeshType: 1
|
|
||||||
alignment: 0
|
|
||||||
spritePivot: {x: 0.5, y: 0.5}
|
|
||||||
spritePixelsToUnits: 100
|
|
||||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
|
||||||
spriteGenerateFallbackPhysicsShape: 1
|
|
||||||
alphaUsage: 1
|
|
||||||
alphaIsTransparency: 1
|
|
||||||
spriteTessellationDetail: -1
|
|
||||||
textureType: 8
|
|
||||||
textureShape: 1
|
|
||||||
singleChannelComponent: 0
|
|
||||||
flipbookRows: 1
|
|
||||||
flipbookColumns: 1
|
|
||||||
maxTextureSizeSet: 0
|
|
||||||
compressionQualitySet: 0
|
|
||||||
textureFormatSet: 0
|
|
||||||
ignorePngGamma: 0
|
|
||||||
applyGammaDecoding: 0
|
|
||||||
swizzle: 50462976
|
|
||||||
cookieLightType: 0
|
|
||||||
platformSettings:
|
|
||||||
- serializedVersion: 3
|
|
||||||
buildTarget: DefaultTexturePlatform
|
|
||||||
maxTextureSize: 2048
|
|
||||||
resizeAlgorithm: 0
|
|
||||||
textureFormat: -1
|
|
||||||
textureCompression: 0
|
|
||||||
compressionQuality: 50
|
|
||||||
crunchedCompression: 0
|
|
||||||
allowsAlphaSplitting: 0
|
|
||||||
overridden: 0
|
|
||||||
ignorePlatformSupport: 0
|
|
||||||
androidETC2FallbackOverride: 0
|
|
||||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
|
||||||
- serializedVersion: 3
|
|
||||||
buildTarget: Standalone
|
|
||||||
maxTextureSize: 2048
|
|
||||||
resizeAlgorithm: 0
|
|
||||||
textureFormat: -1
|
|
||||||
textureCompression: 1
|
|
||||||
compressionQuality: 50
|
|
||||||
crunchedCompression: 0
|
|
||||||
allowsAlphaSplitting: 0
|
|
||||||
overridden: 0
|
|
||||||
ignorePlatformSupport: 0
|
|
||||||
androidETC2FallbackOverride: 0
|
|
||||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
|
||||||
- serializedVersion: 3
|
|
||||||
buildTarget: Android
|
|
||||||
maxTextureSize: 2048
|
|
||||||
resizeAlgorithm: 0
|
|
||||||
textureFormat: -1
|
|
||||||
textureCompression: 1
|
|
||||||
compressionQuality: 50
|
|
||||||
crunchedCompression: 0
|
|
||||||
allowsAlphaSplitting: 0
|
|
||||||
overridden: 0
|
|
||||||
ignorePlatformSupport: 0
|
|
||||||
androidETC2FallbackOverride: 0
|
|
||||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
|
||||||
spriteSheet:
|
|
||||||
serializedVersion: 2
|
|
||||||
sprites: []
|
|
||||||
outline: []
|
|
||||||
physicsShape: []
|
|
||||||
bones: []
|
|
||||||
spriteID: 5e97eb03825dee720800000000000000
|
|
||||||
internalID: 0
|
|
||||||
vertices: []
|
|
||||||
indices:
|
|
||||||
edges: []
|
|
||||||
weights: []
|
|
||||||
secondaryTextures: []
|
|
||||||
nameFileIdTable: {}
|
|
||||||
mipmapLimitGroupName:
|
|
||||||
pSDRemoveMatte: 0
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
|
Before Width: | Height: | Size: 8.4 KiB |
@@ -1,127 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: a134bcd0f8e3efc408c973424af991e3
|
|
||||||
TextureImporter:
|
|
||||||
internalIDToNameTable: []
|
|
||||||
externalObjects: {}
|
|
||||||
serializedVersion: 13
|
|
||||||
mipmaps:
|
|
||||||
mipMapMode: 0
|
|
||||||
enableMipMap: 0
|
|
||||||
sRGBTexture: 1
|
|
||||||
linearTexture: 0
|
|
||||||
fadeOut: 0
|
|
||||||
borderMipMap: 0
|
|
||||||
mipMapsPreserveCoverage: 0
|
|
||||||
alphaTestReferenceValue: 0.5
|
|
||||||
mipMapFadeDistanceStart: 1
|
|
||||||
mipMapFadeDistanceEnd: 3
|
|
||||||
bumpmap:
|
|
||||||
convertToNormalMap: 0
|
|
||||||
externalNormalMap: 0
|
|
||||||
heightScale: 0.25
|
|
||||||
normalMapFilter: 0
|
|
||||||
flipGreenChannel: 0
|
|
||||||
isReadable: 0
|
|
||||||
streamingMipmaps: 0
|
|
||||||
streamingMipmapsPriority: 0
|
|
||||||
vTOnly: 0
|
|
||||||
ignoreMipmapLimit: 0
|
|
||||||
grayScaleToAlpha: 0
|
|
||||||
generateCubemap: 6
|
|
||||||
cubemapConvolution: 0
|
|
||||||
seamlessCubemap: 0
|
|
||||||
textureFormat: 1
|
|
||||||
maxTextureSize: 2048
|
|
||||||
textureSettings:
|
|
||||||
serializedVersion: 2
|
|
||||||
filterMode: 1
|
|
||||||
aniso: 1
|
|
||||||
mipBias: 0
|
|
||||||
wrapU: 1
|
|
||||||
wrapV: 1
|
|
||||||
wrapW: 1
|
|
||||||
nPOTScale: 0
|
|
||||||
lightmap: 0
|
|
||||||
compressionQuality: 50
|
|
||||||
spriteMode: 1
|
|
||||||
spriteExtrude: 1
|
|
||||||
spriteMeshType: 1
|
|
||||||
alignment: 0
|
|
||||||
spritePivot: {x: 0.5, y: 0.5}
|
|
||||||
spritePixelsToUnits: 100
|
|
||||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
|
||||||
spriteGenerateFallbackPhysicsShape: 1
|
|
||||||
alphaUsage: 1
|
|
||||||
alphaIsTransparency: 1
|
|
||||||
spriteTessellationDetail: -1
|
|
||||||
textureType: 8
|
|
||||||
textureShape: 1
|
|
||||||
singleChannelComponent: 0
|
|
||||||
flipbookRows: 1
|
|
||||||
flipbookColumns: 1
|
|
||||||
maxTextureSizeSet: 0
|
|
||||||
compressionQualitySet: 0
|
|
||||||
textureFormatSet: 0
|
|
||||||
ignorePngGamma: 0
|
|
||||||
applyGammaDecoding: 0
|
|
||||||
swizzle: 50462976
|
|
||||||
cookieLightType: 0
|
|
||||||
platformSettings:
|
|
||||||
- serializedVersion: 3
|
|
||||||
buildTarget: DefaultTexturePlatform
|
|
||||||
maxTextureSize: 2048
|
|
||||||
resizeAlgorithm: 0
|
|
||||||
textureFormat: -1
|
|
||||||
textureCompression: 0
|
|
||||||
compressionQuality: 50
|
|
||||||
crunchedCompression: 0
|
|
||||||
allowsAlphaSplitting: 0
|
|
||||||
overridden: 0
|
|
||||||
ignorePlatformSupport: 0
|
|
||||||
androidETC2FallbackOverride: 0
|
|
||||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
|
||||||
- serializedVersion: 3
|
|
||||||
buildTarget: Standalone
|
|
||||||
maxTextureSize: 2048
|
|
||||||
resizeAlgorithm: 0
|
|
||||||
textureFormat: -1
|
|
||||||
textureCompression: 1
|
|
||||||
compressionQuality: 50
|
|
||||||
crunchedCompression: 0
|
|
||||||
allowsAlphaSplitting: 0
|
|
||||||
overridden: 0
|
|
||||||
ignorePlatformSupport: 0
|
|
||||||
androidETC2FallbackOverride: 0
|
|
||||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
|
||||||
- serializedVersion: 3
|
|
||||||
buildTarget: Android
|
|
||||||
maxTextureSize: 2048
|
|
||||||
resizeAlgorithm: 0
|
|
||||||
textureFormat: -1
|
|
||||||
textureCompression: 1
|
|
||||||
compressionQuality: 50
|
|
||||||
crunchedCompression: 0
|
|
||||||
allowsAlphaSplitting: 0
|
|
||||||
overridden: 0
|
|
||||||
ignorePlatformSupport: 0
|
|
||||||
androidETC2FallbackOverride: 0
|
|
||||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
|
||||||
spriteSheet:
|
|
||||||
serializedVersion: 2
|
|
||||||
sprites: []
|
|
||||||
outline: []
|
|
||||||
physicsShape: []
|
|
||||||
bones: []
|
|
||||||
spriteID: 5e97eb03825dee720800000000000000
|
|
||||||
internalID: 0
|
|
||||||
vertices: []
|
|
||||||
indices:
|
|
||||||
edges: []
|
|
||||||
weights: []
|
|
||||||
secondaryTextures: []
|
|
||||||
nameFileIdTable: {}
|
|
||||||
mipmapLimitGroupName:
|
|
||||||
pSDRemoveMatte: 0
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
|
Before Width: | Height: | Size: 8.4 KiB |
@@ -1,127 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 7c866a33cb862f548a65aa1c3274f406
|
|
||||||
TextureImporter:
|
|
||||||
internalIDToNameTable: []
|
|
||||||
externalObjects: {}
|
|
||||||
serializedVersion: 13
|
|
||||||
mipmaps:
|
|
||||||
mipMapMode: 0
|
|
||||||
enableMipMap: 0
|
|
||||||
sRGBTexture: 1
|
|
||||||
linearTexture: 0
|
|
||||||
fadeOut: 0
|
|
||||||
borderMipMap: 0
|
|
||||||
mipMapsPreserveCoverage: 0
|
|
||||||
alphaTestReferenceValue: 0.5
|
|
||||||
mipMapFadeDistanceStart: 1
|
|
||||||
mipMapFadeDistanceEnd: 3
|
|
||||||
bumpmap:
|
|
||||||
convertToNormalMap: 0
|
|
||||||
externalNormalMap: 0
|
|
||||||
heightScale: 0.25
|
|
||||||
normalMapFilter: 0
|
|
||||||
flipGreenChannel: 0
|
|
||||||
isReadable: 0
|
|
||||||
streamingMipmaps: 0
|
|
||||||
streamingMipmapsPriority: 0
|
|
||||||
vTOnly: 0
|
|
||||||
ignoreMipmapLimit: 0
|
|
||||||
grayScaleToAlpha: 0
|
|
||||||
generateCubemap: 6
|
|
||||||
cubemapConvolution: 0
|
|
||||||
seamlessCubemap: 0
|
|
||||||
textureFormat: 1
|
|
||||||
maxTextureSize: 2048
|
|
||||||
textureSettings:
|
|
||||||
serializedVersion: 2
|
|
||||||
filterMode: 1
|
|
||||||
aniso: 1
|
|
||||||
mipBias: 0
|
|
||||||
wrapU: 1
|
|
||||||
wrapV: 1
|
|
||||||
wrapW: 1
|
|
||||||
nPOTScale: 0
|
|
||||||
lightmap: 0
|
|
||||||
compressionQuality: 50
|
|
||||||
spriteMode: 1
|
|
||||||
spriteExtrude: 1
|
|
||||||
spriteMeshType: 1
|
|
||||||
alignment: 0
|
|
||||||
spritePivot: {x: 0.5, y: 0.5}
|
|
||||||
spritePixelsToUnits: 100
|
|
||||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
|
||||||
spriteGenerateFallbackPhysicsShape: 1
|
|
||||||
alphaUsage: 1
|
|
||||||
alphaIsTransparency: 1
|
|
||||||
spriteTessellationDetail: -1
|
|
||||||
textureType: 8
|
|
||||||
textureShape: 1
|
|
||||||
singleChannelComponent: 0
|
|
||||||
flipbookRows: 1
|
|
||||||
flipbookColumns: 1
|
|
||||||
maxTextureSizeSet: 0
|
|
||||||
compressionQualitySet: 0
|
|
||||||
textureFormatSet: 0
|
|
||||||
ignorePngGamma: 0
|
|
||||||
applyGammaDecoding: 0
|
|
||||||
swizzle: 50462976
|
|
||||||
cookieLightType: 0
|
|
||||||
platformSettings:
|
|
||||||
- serializedVersion: 3
|
|
||||||
buildTarget: DefaultTexturePlatform
|
|
||||||
maxTextureSize: 2048
|
|
||||||
resizeAlgorithm: 0
|
|
||||||
textureFormat: -1
|
|
||||||
textureCompression: 0
|
|
||||||
compressionQuality: 50
|
|
||||||
crunchedCompression: 0
|
|
||||||
allowsAlphaSplitting: 0
|
|
||||||
overridden: 0
|
|
||||||
ignorePlatformSupport: 0
|
|
||||||
androidETC2FallbackOverride: 0
|
|
||||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
|
||||||
- serializedVersion: 3
|
|
||||||
buildTarget: Standalone
|
|
||||||
maxTextureSize: 2048
|
|
||||||
resizeAlgorithm: 0
|
|
||||||
textureFormat: -1
|
|
||||||
textureCompression: 1
|
|
||||||
compressionQuality: 50
|
|
||||||
crunchedCompression: 0
|
|
||||||
allowsAlphaSplitting: 0
|
|
||||||
overridden: 0
|
|
||||||
ignorePlatformSupport: 0
|
|
||||||
androidETC2FallbackOverride: 0
|
|
||||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
|
||||||
- serializedVersion: 3
|
|
||||||
buildTarget: Android
|
|
||||||
maxTextureSize: 2048
|
|
||||||
resizeAlgorithm: 0
|
|
||||||
textureFormat: -1
|
|
||||||
textureCompression: 1
|
|
||||||
compressionQuality: 50
|
|
||||||
crunchedCompression: 0
|
|
||||||
allowsAlphaSplitting: 0
|
|
||||||
overridden: 0
|
|
||||||
ignorePlatformSupport: 0
|
|
||||||
androidETC2FallbackOverride: 0
|
|
||||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
|
||||||
spriteSheet:
|
|
||||||
serializedVersion: 2
|
|
||||||
sprites: []
|
|
||||||
outline: []
|
|
||||||
physicsShape: []
|
|
||||||
bones: []
|
|
||||||
spriteID: 5e97eb03825dee720800000000000000
|
|
||||||
internalID: 0
|
|
||||||
vertices: []
|
|
||||||
indices:
|
|
||||||
edges: []
|
|
||||||
weights: []
|
|
||||||
secondaryTextures: []
|
|
||||||
nameFileIdTable: {}
|
|
||||||
mipmapLimitGroupName:
|
|
||||||
pSDRemoveMatte: 0
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
|
Before Width: | Height: | Size: 8.3 KiB |
@@ -1,127 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 3aed2fc6b83510a4ba672d09594bd5e2
|
|
||||||
TextureImporter:
|
|
||||||
internalIDToNameTable: []
|
|
||||||
externalObjects: {}
|
|
||||||
serializedVersion: 13
|
|
||||||
mipmaps:
|
|
||||||
mipMapMode: 0
|
|
||||||
enableMipMap: 0
|
|
||||||
sRGBTexture: 1
|
|
||||||
linearTexture: 0
|
|
||||||
fadeOut: 0
|
|
||||||
borderMipMap: 0
|
|
||||||
mipMapsPreserveCoverage: 0
|
|
||||||
alphaTestReferenceValue: 0.5
|
|
||||||
mipMapFadeDistanceStart: 1
|
|
||||||
mipMapFadeDistanceEnd: 3
|
|
||||||
bumpmap:
|
|
||||||
convertToNormalMap: 0
|
|
||||||
externalNormalMap: 0
|
|
||||||
heightScale: 0.25
|
|
||||||
normalMapFilter: 0
|
|
||||||
flipGreenChannel: 0
|
|
||||||
isReadable: 0
|
|
||||||
streamingMipmaps: 0
|
|
||||||
streamingMipmapsPriority: 0
|
|
||||||
vTOnly: 0
|
|
||||||
ignoreMipmapLimit: 0
|
|
||||||
grayScaleToAlpha: 0
|
|
||||||
generateCubemap: 6
|
|
||||||
cubemapConvolution: 0
|
|
||||||
seamlessCubemap: 0
|
|
||||||
textureFormat: 1
|
|
||||||
maxTextureSize: 2048
|
|
||||||
textureSettings:
|
|
||||||
serializedVersion: 2
|
|
||||||
filterMode: 1
|
|
||||||
aniso: 1
|
|
||||||
mipBias: 0
|
|
||||||
wrapU: 1
|
|
||||||
wrapV: 1
|
|
||||||
wrapW: 1
|
|
||||||
nPOTScale: 0
|
|
||||||
lightmap: 0
|
|
||||||
compressionQuality: 50
|
|
||||||
spriteMode: 1
|
|
||||||
spriteExtrude: 1
|
|
||||||
spriteMeshType: 1
|
|
||||||
alignment: 0
|
|
||||||
spritePivot: {x: 0.5, y: 0.5}
|
|
||||||
spritePixelsToUnits: 100
|
|
||||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
|
||||||
spriteGenerateFallbackPhysicsShape: 1
|
|
||||||
alphaUsage: 1
|
|
||||||
alphaIsTransparency: 1
|
|
||||||
spriteTessellationDetail: -1
|
|
||||||
textureType: 8
|
|
||||||
textureShape: 1
|
|
||||||
singleChannelComponent: 0
|
|
||||||
flipbookRows: 1
|
|
||||||
flipbookColumns: 1
|
|
||||||
maxTextureSizeSet: 0
|
|
||||||
compressionQualitySet: 0
|
|
||||||
textureFormatSet: 0
|
|
||||||
ignorePngGamma: 0
|
|
||||||
applyGammaDecoding: 0
|
|
||||||
swizzle: 50462976
|
|
||||||
cookieLightType: 0
|
|
||||||
platformSettings:
|
|
||||||
- serializedVersion: 3
|
|
||||||
buildTarget: DefaultTexturePlatform
|
|
||||||
maxTextureSize: 2048
|
|
||||||
resizeAlgorithm: 0
|
|
||||||
textureFormat: -1
|
|
||||||
textureCompression: 0
|
|
||||||
compressionQuality: 50
|
|
||||||
crunchedCompression: 0
|
|
||||||
allowsAlphaSplitting: 0
|
|
||||||
overridden: 0
|
|
||||||
ignorePlatformSupport: 0
|
|
||||||
androidETC2FallbackOverride: 0
|
|
||||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
|
||||||
- serializedVersion: 3
|
|
||||||
buildTarget: Standalone
|
|
||||||
maxTextureSize: 2048
|
|
||||||
resizeAlgorithm: 0
|
|
||||||
textureFormat: -1
|
|
||||||
textureCompression: 1
|
|
||||||
compressionQuality: 50
|
|
||||||
crunchedCompression: 0
|
|
||||||
allowsAlphaSplitting: 0
|
|
||||||
overridden: 0
|
|
||||||
ignorePlatformSupport: 0
|
|
||||||
androidETC2FallbackOverride: 0
|
|
||||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
|
||||||
- serializedVersion: 3
|
|
||||||
buildTarget: Android
|
|
||||||
maxTextureSize: 2048
|
|
||||||
resizeAlgorithm: 0
|
|
||||||
textureFormat: -1
|
|
||||||
textureCompression: 1
|
|
||||||
compressionQuality: 50
|
|
||||||
crunchedCompression: 0
|
|
||||||
allowsAlphaSplitting: 0
|
|
||||||
overridden: 0
|
|
||||||
ignorePlatformSupport: 0
|
|
||||||
androidETC2FallbackOverride: 0
|
|
||||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
|
||||||
spriteSheet:
|
|
||||||
serializedVersion: 2
|
|
||||||
sprites: []
|
|
||||||
outline: []
|
|
||||||
physicsShape: []
|
|
||||||
bones: []
|
|
||||||
spriteID: 5e97eb03825dee720800000000000000
|
|
||||||
internalID: 0
|
|
||||||
vertices: []
|
|
||||||
indices:
|
|
||||||
edges: []
|
|
||||||
weights: []
|
|
||||||
secondaryTextures: []
|
|
||||||
nameFileIdTable: {}
|
|
||||||
mipmapLimitGroupName:
|
|
||||||
pSDRemoveMatte: 0
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
|
Before Width: | Height: | Size: 8.3 KiB |
@@ -1,127 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 5305a1703a5323642b3b86d63733ec1f
|
|
||||||
TextureImporter:
|
|
||||||
internalIDToNameTable: []
|
|
||||||
externalObjects: {}
|
|
||||||
serializedVersion: 13
|
|
||||||
mipmaps:
|
|
||||||
mipMapMode: 0
|
|
||||||
enableMipMap: 0
|
|
||||||
sRGBTexture: 1
|
|
||||||
linearTexture: 0
|
|
||||||
fadeOut: 0
|
|
||||||
borderMipMap: 0
|
|
||||||
mipMapsPreserveCoverage: 0
|
|
||||||
alphaTestReferenceValue: 0.5
|
|
||||||
mipMapFadeDistanceStart: 1
|
|
||||||
mipMapFadeDistanceEnd: 3
|
|
||||||
bumpmap:
|
|
||||||
convertToNormalMap: 0
|
|
||||||
externalNormalMap: 0
|
|
||||||
heightScale: 0.25
|
|
||||||
normalMapFilter: 0
|
|
||||||
flipGreenChannel: 0
|
|
||||||
isReadable: 0
|
|
||||||
streamingMipmaps: 0
|
|
||||||
streamingMipmapsPriority: 0
|
|
||||||
vTOnly: 0
|
|
||||||
ignoreMipmapLimit: 0
|
|
||||||
grayScaleToAlpha: 0
|
|
||||||
generateCubemap: 6
|
|
||||||
cubemapConvolution: 0
|
|
||||||
seamlessCubemap: 0
|
|
||||||
textureFormat: 1
|
|
||||||
maxTextureSize: 2048
|
|
||||||
textureSettings:
|
|
||||||
serializedVersion: 2
|
|
||||||
filterMode: 1
|
|
||||||
aniso: 1
|
|
||||||
mipBias: 0
|
|
||||||
wrapU: 1
|
|
||||||
wrapV: 1
|
|
||||||
wrapW: 1
|
|
||||||
nPOTScale: 0
|
|
||||||
lightmap: 0
|
|
||||||
compressionQuality: 50
|
|
||||||
spriteMode: 1
|
|
||||||
spriteExtrude: 1
|
|
||||||
spriteMeshType: 1
|
|
||||||
alignment: 0
|
|
||||||
spritePivot: {x: 0.5, y: 0.5}
|
|
||||||
spritePixelsToUnits: 100
|
|
||||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
|
||||||
spriteGenerateFallbackPhysicsShape: 1
|
|
||||||
alphaUsage: 1
|
|
||||||
alphaIsTransparency: 1
|
|
||||||
spriteTessellationDetail: -1
|
|
||||||
textureType: 8
|
|
||||||
textureShape: 1
|
|
||||||
singleChannelComponent: 0
|
|
||||||
flipbookRows: 1
|
|
||||||
flipbookColumns: 1
|
|
||||||
maxTextureSizeSet: 0
|
|
||||||
compressionQualitySet: 0
|
|
||||||
textureFormatSet: 0
|
|
||||||
ignorePngGamma: 0
|
|
||||||
applyGammaDecoding: 0
|
|
||||||
swizzle: 50462976
|
|
||||||
cookieLightType: 0
|
|
||||||
platformSettings:
|
|
||||||
- serializedVersion: 3
|
|
||||||
buildTarget: DefaultTexturePlatform
|
|
||||||
maxTextureSize: 2048
|
|
||||||
resizeAlgorithm: 0
|
|
||||||
textureFormat: -1
|
|
||||||
textureCompression: 0
|
|
||||||
compressionQuality: 50
|
|
||||||
crunchedCompression: 0
|
|
||||||
allowsAlphaSplitting: 0
|
|
||||||
overridden: 0
|
|
||||||
ignorePlatformSupport: 0
|
|
||||||
androidETC2FallbackOverride: 0
|
|
||||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
|
||||||
- serializedVersion: 3
|
|
||||||
buildTarget: Standalone
|
|
||||||
maxTextureSize: 2048
|
|
||||||
resizeAlgorithm: 0
|
|
||||||
textureFormat: -1
|
|
||||||
textureCompression: 1
|
|
||||||
compressionQuality: 50
|
|
||||||
crunchedCompression: 0
|
|
||||||
allowsAlphaSplitting: 0
|
|
||||||
overridden: 0
|
|
||||||
ignorePlatformSupport: 0
|
|
||||||
androidETC2FallbackOverride: 0
|
|
||||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
|
||||||
- serializedVersion: 3
|
|
||||||
buildTarget: Android
|
|
||||||
maxTextureSize: 2048
|
|
||||||
resizeAlgorithm: 0
|
|
||||||
textureFormat: -1
|
|
||||||
textureCompression: 1
|
|
||||||
compressionQuality: 50
|
|
||||||
crunchedCompression: 0
|
|
||||||
allowsAlphaSplitting: 0
|
|
||||||
overridden: 0
|
|
||||||
ignorePlatformSupport: 0
|
|
||||||
androidETC2FallbackOverride: 0
|
|
||||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
|
||||||
spriteSheet:
|
|
||||||
serializedVersion: 2
|
|
||||||
sprites: []
|
|
||||||
outline: []
|
|
||||||
physicsShape: []
|
|
||||||
bones: []
|
|
||||||
spriteID: 5e97eb03825dee720800000000000000
|
|
||||||
internalID: 0
|
|
||||||
vertices: []
|
|
||||||
indices:
|
|
||||||
edges: []
|
|
||||||
weights: []
|
|
||||||
secondaryTextures: []
|
|
||||||
nameFileIdTable: {}
|
|
||||||
mipmapLimitGroupName:
|
|
||||||
pSDRemoveMatte: 0
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
|
Before Width: | Height: | Size: 8.5 KiB |
@@ -1,127 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: e8015107f7560dd4497e45215551aaa8
|
|
||||||
TextureImporter:
|
|
||||||
internalIDToNameTable: []
|
|
||||||
externalObjects: {}
|
|
||||||
serializedVersion: 13
|
|
||||||
mipmaps:
|
|
||||||
mipMapMode: 0
|
|
||||||
enableMipMap: 0
|
|
||||||
sRGBTexture: 1
|
|
||||||
linearTexture: 0
|
|
||||||
fadeOut: 0
|
|
||||||
borderMipMap: 0
|
|
||||||
mipMapsPreserveCoverage: 0
|
|
||||||
alphaTestReferenceValue: 0.5
|
|
||||||
mipMapFadeDistanceStart: 1
|
|
||||||
mipMapFadeDistanceEnd: 3
|
|
||||||
bumpmap:
|
|
||||||
convertToNormalMap: 0
|
|
||||||
externalNormalMap: 0
|
|
||||||
heightScale: 0.25
|
|
||||||
normalMapFilter: 0
|
|
||||||
flipGreenChannel: 0
|
|
||||||
isReadable: 0
|
|
||||||
streamingMipmaps: 0
|
|
||||||
streamingMipmapsPriority: 0
|
|
||||||
vTOnly: 0
|
|
||||||
ignoreMipmapLimit: 0
|
|
||||||
grayScaleToAlpha: 0
|
|
||||||
generateCubemap: 6
|
|
||||||
cubemapConvolution: 0
|
|
||||||
seamlessCubemap: 0
|
|
||||||
textureFormat: 1
|
|
||||||
maxTextureSize: 2048
|
|
||||||
textureSettings:
|
|
||||||
serializedVersion: 2
|
|
||||||
filterMode: 1
|
|
||||||
aniso: 1
|
|
||||||
mipBias: 0
|
|
||||||
wrapU: 1
|
|
||||||
wrapV: 1
|
|
||||||
wrapW: 1
|
|
||||||
nPOTScale: 0
|
|
||||||
lightmap: 0
|
|
||||||
compressionQuality: 50
|
|
||||||
spriteMode: 1
|
|
||||||
spriteExtrude: 1
|
|
||||||
spriteMeshType: 1
|
|
||||||
alignment: 0
|
|
||||||
spritePivot: {x: 0.5, y: 0.5}
|
|
||||||
spritePixelsToUnits: 100
|
|
||||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
|
||||||
spriteGenerateFallbackPhysicsShape: 1
|
|
||||||
alphaUsage: 1
|
|
||||||
alphaIsTransparency: 1
|
|
||||||
spriteTessellationDetail: -1
|
|
||||||
textureType: 8
|
|
||||||
textureShape: 1
|
|
||||||
singleChannelComponent: 0
|
|
||||||
flipbookRows: 1
|
|
||||||
flipbookColumns: 1
|
|
||||||
maxTextureSizeSet: 0
|
|
||||||
compressionQualitySet: 0
|
|
||||||
textureFormatSet: 0
|
|
||||||
ignorePngGamma: 0
|
|
||||||
applyGammaDecoding: 0
|
|
||||||
swizzle: 50462976
|
|
||||||
cookieLightType: 0
|
|
||||||
platformSettings:
|
|
||||||
- serializedVersion: 3
|
|
||||||
buildTarget: DefaultTexturePlatform
|
|
||||||
maxTextureSize: 2048
|
|
||||||
resizeAlgorithm: 0
|
|
||||||
textureFormat: -1
|
|
||||||
textureCompression: 0
|
|
||||||
compressionQuality: 50
|
|
||||||
crunchedCompression: 0
|
|
||||||
allowsAlphaSplitting: 0
|
|
||||||
overridden: 0
|
|
||||||
ignorePlatformSupport: 0
|
|
||||||
androidETC2FallbackOverride: 0
|
|
||||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
|
||||||
- serializedVersion: 3
|
|
||||||
buildTarget: Standalone
|
|
||||||
maxTextureSize: 2048
|
|
||||||
resizeAlgorithm: 0
|
|
||||||
textureFormat: -1
|
|
||||||
textureCompression: 1
|
|
||||||
compressionQuality: 50
|
|
||||||
crunchedCompression: 0
|
|
||||||
allowsAlphaSplitting: 0
|
|
||||||
overridden: 0
|
|
||||||
ignorePlatformSupport: 0
|
|
||||||
androidETC2FallbackOverride: 0
|
|
||||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
|
||||||
- serializedVersion: 3
|
|
||||||
buildTarget: Android
|
|
||||||
maxTextureSize: 2048
|
|
||||||
resizeAlgorithm: 0
|
|
||||||
textureFormat: -1
|
|
||||||
textureCompression: 1
|
|
||||||
compressionQuality: 50
|
|
||||||
crunchedCompression: 0
|
|
||||||
allowsAlphaSplitting: 0
|
|
||||||
overridden: 0
|
|
||||||
ignorePlatformSupport: 0
|
|
||||||
androidETC2FallbackOverride: 0
|
|
||||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
|
||||||
spriteSheet:
|
|
||||||
serializedVersion: 2
|
|
||||||
sprites: []
|
|
||||||
outline: []
|
|
||||||
physicsShape: []
|
|
||||||
bones: []
|
|
||||||
spriteID: 5e97eb03825dee720800000000000000
|
|
||||||
internalID: 0
|
|
||||||
vertices: []
|
|
||||||
indices:
|
|
||||||
edges: []
|
|
||||||
weights: []
|
|
||||||
secondaryTextures: []
|
|
||||||
nameFileIdTable: {}
|
|
||||||
mipmapLimitGroupName:
|
|
||||||
pSDRemoveMatte: 0
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
|
Before Width: | Height: | Size: 8.6 KiB |
@@ -1,127 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 5d47c5dbfe7cf264daf6fceb3287c2a3
|
|
||||||
TextureImporter:
|
|
||||||
internalIDToNameTable: []
|
|
||||||
externalObjects: {}
|
|
||||||
serializedVersion: 13
|
|
||||||
mipmaps:
|
|
||||||
mipMapMode: 0
|
|
||||||
enableMipMap: 0
|
|
||||||
sRGBTexture: 1
|
|
||||||
linearTexture: 0
|
|
||||||
fadeOut: 0
|
|
||||||
borderMipMap: 0
|
|
||||||
mipMapsPreserveCoverage: 0
|
|
||||||
alphaTestReferenceValue: 0.5
|
|
||||||
mipMapFadeDistanceStart: 1
|
|
||||||
mipMapFadeDistanceEnd: 3
|
|
||||||
bumpmap:
|
|
||||||
convertToNormalMap: 0
|
|
||||||
externalNormalMap: 0
|
|
||||||
heightScale: 0.25
|
|
||||||
normalMapFilter: 0
|
|
||||||
flipGreenChannel: 0
|
|
||||||
isReadable: 0
|
|
||||||
streamingMipmaps: 0
|
|
||||||
streamingMipmapsPriority: 0
|
|
||||||
vTOnly: 0
|
|
||||||
ignoreMipmapLimit: 0
|
|
||||||
grayScaleToAlpha: 0
|
|
||||||
generateCubemap: 6
|
|
||||||
cubemapConvolution: 0
|
|
||||||
seamlessCubemap: 0
|
|
||||||
textureFormat: 1
|
|
||||||
maxTextureSize: 2048
|
|
||||||
textureSettings:
|
|
||||||
serializedVersion: 2
|
|
||||||
filterMode: 1
|
|
||||||
aniso: 1
|
|
||||||
mipBias: 0
|
|
||||||
wrapU: 1
|
|
||||||
wrapV: 1
|
|
||||||
wrapW: 1
|
|
||||||
nPOTScale: 0
|
|
||||||
lightmap: 0
|
|
||||||
compressionQuality: 50
|
|
||||||
spriteMode: 1
|
|
||||||
spriteExtrude: 1
|
|
||||||
spriteMeshType: 1
|
|
||||||
alignment: 0
|
|
||||||
spritePivot: {x: 0.5, y: 0.5}
|
|
||||||
spritePixelsToUnits: 100
|
|
||||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
|
||||||
spriteGenerateFallbackPhysicsShape: 1
|
|
||||||
alphaUsage: 1
|
|
||||||
alphaIsTransparency: 1
|
|
||||||
spriteTessellationDetail: -1
|
|
||||||
textureType: 8
|
|
||||||
textureShape: 1
|
|
||||||
singleChannelComponent: 0
|
|
||||||
flipbookRows: 1
|
|
||||||
flipbookColumns: 1
|
|
||||||
maxTextureSizeSet: 0
|
|
||||||
compressionQualitySet: 0
|
|
||||||
textureFormatSet: 0
|
|
||||||
ignorePngGamma: 0
|
|
||||||
applyGammaDecoding: 0
|
|
||||||
swizzle: 50462976
|
|
||||||
cookieLightType: 0
|
|
||||||
platformSettings:
|
|
||||||
- serializedVersion: 3
|
|
||||||
buildTarget: DefaultTexturePlatform
|
|
||||||
maxTextureSize: 2048
|
|
||||||
resizeAlgorithm: 0
|
|
||||||
textureFormat: -1
|
|
||||||
textureCompression: 0
|
|
||||||
compressionQuality: 50
|
|
||||||
crunchedCompression: 0
|
|
||||||
allowsAlphaSplitting: 0
|
|
||||||
overridden: 0
|
|
||||||
ignorePlatformSupport: 0
|
|
||||||
androidETC2FallbackOverride: 0
|
|
||||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
|
||||||
- serializedVersion: 3
|
|
||||||
buildTarget: Standalone
|
|
||||||
maxTextureSize: 2048
|
|
||||||
resizeAlgorithm: 0
|
|
||||||
textureFormat: -1
|
|
||||||
textureCompression: 1
|
|
||||||
compressionQuality: 50
|
|
||||||
crunchedCompression: 0
|
|
||||||
allowsAlphaSplitting: 0
|
|
||||||
overridden: 0
|
|
||||||
ignorePlatformSupport: 0
|
|
||||||
androidETC2FallbackOverride: 0
|
|
||||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
|
||||||
- serializedVersion: 3
|
|
||||||
buildTarget: Android
|
|
||||||
maxTextureSize: 2048
|
|
||||||
resizeAlgorithm: 0
|
|
||||||
textureFormat: -1
|
|
||||||
textureCompression: 1
|
|
||||||
compressionQuality: 50
|
|
||||||
crunchedCompression: 0
|
|
||||||
allowsAlphaSplitting: 0
|
|
||||||
overridden: 0
|
|
||||||
ignorePlatformSupport: 0
|
|
||||||
androidETC2FallbackOverride: 0
|
|
||||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
|
||||||
spriteSheet:
|
|
||||||
serializedVersion: 2
|
|
||||||
sprites: []
|
|
||||||
outline: []
|
|
||||||
physicsShape: []
|
|
||||||
bones: []
|
|
||||||
spriteID: 5e97eb03825dee720800000000000000
|
|
||||||
internalID: 0
|
|
||||||
vertices: []
|
|
||||||
indices:
|
|
||||||
edges: []
|
|
||||||
weights: []
|
|
||||||
secondaryTextures: []
|
|
||||||
nameFileIdTable: {}
|
|
||||||
mipmapLimitGroupName:
|
|
||||||
pSDRemoveMatte: 0
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
|
Before Width: | Height: | Size: 8.5 KiB |
@@ -1,127 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: b49912e6fa9c2b64faea6a932cd96959
|
|
||||||
TextureImporter:
|
|
||||||
internalIDToNameTable: []
|
|
||||||
externalObjects: {}
|
|
||||||
serializedVersion: 13
|
|
||||||
mipmaps:
|
|
||||||
mipMapMode: 0
|
|
||||||
enableMipMap: 0
|
|
||||||
sRGBTexture: 1
|
|
||||||
linearTexture: 0
|
|
||||||
fadeOut: 0
|
|
||||||
borderMipMap: 0
|
|
||||||
mipMapsPreserveCoverage: 0
|
|
||||||
alphaTestReferenceValue: 0.5
|
|
||||||
mipMapFadeDistanceStart: 1
|
|
||||||
mipMapFadeDistanceEnd: 3
|
|
||||||
bumpmap:
|
|
||||||
convertToNormalMap: 0
|
|
||||||
externalNormalMap: 0
|
|
||||||
heightScale: 0.25
|
|
||||||
normalMapFilter: 0
|
|
||||||
flipGreenChannel: 0
|
|
||||||
isReadable: 0
|
|
||||||
streamingMipmaps: 0
|
|
||||||
streamingMipmapsPriority: 0
|
|
||||||
vTOnly: 0
|
|
||||||
ignoreMipmapLimit: 0
|
|
||||||
grayScaleToAlpha: 0
|
|
||||||
generateCubemap: 6
|
|
||||||
cubemapConvolution: 0
|
|
||||||
seamlessCubemap: 0
|
|
||||||
textureFormat: 1
|
|
||||||
maxTextureSize: 2048
|
|
||||||
textureSettings:
|
|
||||||
serializedVersion: 2
|
|
||||||
filterMode: 1
|
|
||||||
aniso: 1
|
|
||||||
mipBias: 0
|
|
||||||
wrapU: 1
|
|
||||||
wrapV: 1
|
|
||||||
wrapW: 1
|
|
||||||
nPOTScale: 0
|
|
||||||
lightmap: 0
|
|
||||||
compressionQuality: 50
|
|
||||||
spriteMode: 1
|
|
||||||
spriteExtrude: 1
|
|
||||||
spriteMeshType: 1
|
|
||||||
alignment: 0
|
|
||||||
spritePivot: {x: 0.5, y: 0.5}
|
|
||||||
spritePixelsToUnits: 100
|
|
||||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
|
||||||
spriteGenerateFallbackPhysicsShape: 1
|
|
||||||
alphaUsage: 1
|
|
||||||
alphaIsTransparency: 1
|
|
||||||
spriteTessellationDetail: -1
|
|
||||||
textureType: 8
|
|
||||||
textureShape: 1
|
|
||||||
singleChannelComponent: 0
|
|
||||||
flipbookRows: 1
|
|
||||||
flipbookColumns: 1
|
|
||||||
maxTextureSizeSet: 0
|
|
||||||
compressionQualitySet: 0
|
|
||||||
textureFormatSet: 0
|
|
||||||
ignorePngGamma: 0
|
|
||||||
applyGammaDecoding: 0
|
|
||||||
swizzle: 50462976
|
|
||||||
cookieLightType: 0
|
|
||||||
platformSettings:
|
|
||||||
- serializedVersion: 3
|
|
||||||
buildTarget: DefaultTexturePlatform
|
|
||||||
maxTextureSize: 2048
|
|
||||||
resizeAlgorithm: 0
|
|
||||||
textureFormat: -1
|
|
||||||
textureCompression: 0
|
|
||||||
compressionQuality: 50
|
|
||||||
crunchedCompression: 0
|
|
||||||
allowsAlphaSplitting: 0
|
|
||||||
overridden: 0
|
|
||||||
ignorePlatformSupport: 0
|
|
||||||
androidETC2FallbackOverride: 0
|
|
||||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
|
||||||
- serializedVersion: 3
|
|
||||||
buildTarget: Standalone
|
|
||||||
maxTextureSize: 2048
|
|
||||||
resizeAlgorithm: 0
|
|
||||||
textureFormat: -1
|
|
||||||
textureCompression: 1
|
|
||||||
compressionQuality: 50
|
|
||||||
crunchedCompression: 0
|
|
||||||
allowsAlphaSplitting: 0
|
|
||||||
overridden: 0
|
|
||||||
ignorePlatformSupport: 0
|
|
||||||
androidETC2FallbackOverride: 0
|
|
||||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
|
||||||
- serializedVersion: 3
|
|
||||||
buildTarget: Android
|
|
||||||
maxTextureSize: 2048
|
|
||||||
resizeAlgorithm: 0
|
|
||||||
textureFormat: -1
|
|
||||||
textureCompression: 1
|
|
||||||
compressionQuality: 50
|
|
||||||
crunchedCompression: 0
|
|
||||||
allowsAlphaSplitting: 0
|
|
||||||
overridden: 0
|
|
||||||
ignorePlatformSupport: 0
|
|
||||||
androidETC2FallbackOverride: 0
|
|
||||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
|
||||||
spriteSheet:
|
|
||||||
serializedVersion: 2
|
|
||||||
sprites: []
|
|
||||||
outline: []
|
|
||||||
physicsShape: []
|
|
||||||
bones: []
|
|
||||||
spriteID: 5e97eb03825dee720800000000000000
|
|
||||||
internalID: 0
|
|
||||||
vertices: []
|
|
||||||
indices:
|
|
||||||
edges: []
|
|
||||||
weights: []
|
|
||||||
secondaryTextures: []
|
|
||||||
nameFileIdTable: {}
|
|
||||||
mipmapLimitGroupName:
|
|
||||||
pSDRemoveMatte: 0
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
|
Before Width: | Height: | Size: 8.4 KiB |
@@ -1,127 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: a2e8f44e334e5094eb493037b19848da
|
|
||||||
TextureImporter:
|
|
||||||
internalIDToNameTable: []
|
|
||||||
externalObjects: {}
|
|
||||||
serializedVersion: 13
|
|
||||||
mipmaps:
|
|
||||||
mipMapMode: 0
|
|
||||||
enableMipMap: 0
|
|
||||||
sRGBTexture: 1
|
|
||||||
linearTexture: 0
|
|
||||||
fadeOut: 0
|
|
||||||
borderMipMap: 0
|
|
||||||
mipMapsPreserveCoverage: 0
|
|
||||||
alphaTestReferenceValue: 0.5
|
|
||||||
mipMapFadeDistanceStart: 1
|
|
||||||
mipMapFadeDistanceEnd: 3
|
|
||||||
bumpmap:
|
|
||||||
convertToNormalMap: 0
|
|
||||||
externalNormalMap: 0
|
|
||||||
heightScale: 0.25
|
|
||||||
normalMapFilter: 0
|
|
||||||
flipGreenChannel: 0
|
|
||||||
isReadable: 0
|
|
||||||
streamingMipmaps: 0
|
|
||||||
streamingMipmapsPriority: 0
|
|
||||||
vTOnly: 0
|
|
||||||
ignoreMipmapLimit: 0
|
|
||||||
grayScaleToAlpha: 0
|
|
||||||
generateCubemap: 6
|
|
||||||
cubemapConvolution: 0
|
|
||||||
seamlessCubemap: 0
|
|
||||||
textureFormat: 1
|
|
||||||
maxTextureSize: 2048
|
|
||||||
textureSettings:
|
|
||||||
serializedVersion: 2
|
|
||||||
filterMode: 1
|
|
||||||
aniso: 1
|
|
||||||
mipBias: 0
|
|
||||||
wrapU: 1
|
|
||||||
wrapV: 1
|
|
||||||
wrapW: 1
|
|
||||||
nPOTScale: 0
|
|
||||||
lightmap: 0
|
|
||||||
compressionQuality: 50
|
|
||||||
spriteMode: 1
|
|
||||||
spriteExtrude: 1
|
|
||||||
spriteMeshType: 1
|
|
||||||
alignment: 0
|
|
||||||
spritePivot: {x: 0.5, y: 0.5}
|
|
||||||
spritePixelsToUnits: 100
|
|
||||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
|
||||||
spriteGenerateFallbackPhysicsShape: 1
|
|
||||||
alphaUsage: 1
|
|
||||||
alphaIsTransparency: 1
|
|
||||||
spriteTessellationDetail: -1
|
|
||||||
textureType: 8
|
|
||||||
textureShape: 1
|
|
||||||
singleChannelComponent: 0
|
|
||||||
flipbookRows: 1
|
|
||||||
flipbookColumns: 1
|
|
||||||
maxTextureSizeSet: 0
|
|
||||||
compressionQualitySet: 0
|
|
||||||
textureFormatSet: 0
|
|
||||||
ignorePngGamma: 0
|
|
||||||
applyGammaDecoding: 0
|
|
||||||
swizzle: 50462976
|
|
||||||
cookieLightType: 0
|
|
||||||
platformSettings:
|
|
||||||
- serializedVersion: 3
|
|
||||||
buildTarget: DefaultTexturePlatform
|
|
||||||
maxTextureSize: 2048
|
|
||||||
resizeAlgorithm: 0
|
|
||||||
textureFormat: -1
|
|
||||||
textureCompression: 0
|
|
||||||
compressionQuality: 50
|
|
||||||
crunchedCompression: 0
|
|
||||||
allowsAlphaSplitting: 0
|
|
||||||
overridden: 0
|
|
||||||
ignorePlatformSupport: 0
|
|
||||||
androidETC2FallbackOverride: 0
|
|
||||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
|
||||||
- serializedVersion: 3
|
|
||||||
buildTarget: Standalone
|
|
||||||
maxTextureSize: 2048
|
|
||||||
resizeAlgorithm: 0
|
|
||||||
textureFormat: -1
|
|
||||||
textureCompression: 1
|
|
||||||
compressionQuality: 50
|
|
||||||
crunchedCompression: 0
|
|
||||||
allowsAlphaSplitting: 0
|
|
||||||
overridden: 0
|
|
||||||
ignorePlatformSupport: 0
|
|
||||||
androidETC2FallbackOverride: 0
|
|
||||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
|
||||||
- serializedVersion: 3
|
|
||||||
buildTarget: Android
|
|
||||||
maxTextureSize: 2048
|
|
||||||
resizeAlgorithm: 0
|
|
||||||
textureFormat: -1
|
|
||||||
textureCompression: 1
|
|
||||||
compressionQuality: 50
|
|
||||||
crunchedCompression: 0
|
|
||||||
allowsAlphaSplitting: 0
|
|
||||||
overridden: 0
|
|
||||||
ignorePlatformSupport: 0
|
|
||||||
androidETC2FallbackOverride: 0
|
|
||||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
|
||||||
spriteSheet:
|
|
||||||
serializedVersion: 2
|
|
||||||
sprites: []
|
|
||||||
outline: []
|
|
||||||
physicsShape: []
|
|
||||||
bones: []
|
|
||||||
spriteID: 5e97eb03825dee720800000000000000
|
|
||||||
internalID: 0
|
|
||||||
vertices: []
|
|
||||||
indices:
|
|
||||||
edges: []
|
|
||||||
weights: []
|
|
||||||
secondaryTextures: []
|
|
||||||
nameFileIdTable: {}
|
|
||||||
mipmapLimitGroupName:
|
|
||||||
pSDRemoveMatte: 0
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
|
Before Width: | Height: | Size: 8.5 KiB |
@@ -1,127 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: cb0aead37e7aa2048a841f83c4059566
|
|
||||||
TextureImporter:
|
|
||||||
internalIDToNameTable: []
|
|
||||||
externalObjects: {}
|
|
||||||
serializedVersion: 13
|
|
||||||
mipmaps:
|
|
||||||
mipMapMode: 0
|
|
||||||
enableMipMap: 0
|
|
||||||
sRGBTexture: 1
|
|
||||||
linearTexture: 0
|
|
||||||
fadeOut: 0
|
|
||||||
borderMipMap: 0
|
|
||||||
mipMapsPreserveCoverage: 0
|
|
||||||
alphaTestReferenceValue: 0.5
|
|
||||||
mipMapFadeDistanceStart: 1
|
|
||||||
mipMapFadeDistanceEnd: 3
|
|
||||||
bumpmap:
|
|
||||||
convertToNormalMap: 0
|
|
||||||
externalNormalMap: 0
|
|
||||||
heightScale: 0.25
|
|
||||||
normalMapFilter: 0
|
|
||||||
flipGreenChannel: 0
|
|
||||||
isReadable: 0
|
|
||||||
streamingMipmaps: 0
|
|
||||||
streamingMipmapsPriority: 0
|
|
||||||
vTOnly: 0
|
|
||||||
ignoreMipmapLimit: 0
|
|
||||||
grayScaleToAlpha: 0
|
|
||||||
generateCubemap: 6
|
|
||||||
cubemapConvolution: 0
|
|
||||||
seamlessCubemap: 0
|
|
||||||
textureFormat: 1
|
|
||||||
maxTextureSize: 2048
|
|
||||||
textureSettings:
|
|
||||||
serializedVersion: 2
|
|
||||||
filterMode: 1
|
|
||||||
aniso: 1
|
|
||||||
mipBias: 0
|
|
||||||
wrapU: 1
|
|
||||||
wrapV: 1
|
|
||||||
wrapW: 1
|
|
||||||
nPOTScale: 0
|
|
||||||
lightmap: 0
|
|
||||||
compressionQuality: 50
|
|
||||||
spriteMode: 1
|
|
||||||
spriteExtrude: 1
|
|
||||||
spriteMeshType: 1
|
|
||||||
alignment: 0
|
|
||||||
spritePivot: {x: 0.5, y: 0.5}
|
|
||||||
spritePixelsToUnits: 100
|
|
||||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
|
||||||
spriteGenerateFallbackPhysicsShape: 1
|
|
||||||
alphaUsage: 1
|
|
||||||
alphaIsTransparency: 1
|
|
||||||
spriteTessellationDetail: -1
|
|
||||||
textureType: 8
|
|
||||||
textureShape: 1
|
|
||||||
singleChannelComponent: 0
|
|
||||||
flipbookRows: 1
|
|
||||||
flipbookColumns: 1
|
|
||||||
maxTextureSizeSet: 0
|
|
||||||
compressionQualitySet: 0
|
|
||||||
textureFormatSet: 0
|
|
||||||
ignorePngGamma: 0
|
|
||||||
applyGammaDecoding: 0
|
|
||||||
swizzle: 50462976
|
|
||||||
cookieLightType: 0
|
|
||||||
platformSettings:
|
|
||||||
- serializedVersion: 3
|
|
||||||
buildTarget: DefaultTexturePlatform
|
|
||||||
maxTextureSize: 2048
|
|
||||||
resizeAlgorithm: 0
|
|
||||||
textureFormat: -1
|
|
||||||
textureCompression: 0
|
|
||||||
compressionQuality: 50
|
|
||||||
crunchedCompression: 0
|
|
||||||
allowsAlphaSplitting: 0
|
|
||||||
overridden: 0
|
|
||||||
ignorePlatformSupport: 0
|
|
||||||
androidETC2FallbackOverride: 0
|
|
||||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
|
||||||
- serializedVersion: 3
|
|
||||||
buildTarget: Standalone
|
|
||||||
maxTextureSize: 2048
|
|
||||||
resizeAlgorithm: 0
|
|
||||||
textureFormat: -1
|
|
||||||
textureCompression: 1
|
|
||||||
compressionQuality: 50
|
|
||||||
crunchedCompression: 0
|
|
||||||
allowsAlphaSplitting: 0
|
|
||||||
overridden: 0
|
|
||||||
ignorePlatformSupport: 0
|
|
||||||
androidETC2FallbackOverride: 0
|
|
||||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
|
||||||
- serializedVersion: 3
|
|
||||||
buildTarget: Android
|
|
||||||
maxTextureSize: 2048
|
|
||||||
resizeAlgorithm: 0
|
|
||||||
textureFormat: -1
|
|
||||||
textureCompression: 1
|
|
||||||
compressionQuality: 50
|
|
||||||
crunchedCompression: 0
|
|
||||||
allowsAlphaSplitting: 0
|
|
||||||
overridden: 0
|
|
||||||
ignorePlatformSupport: 0
|
|
||||||
androidETC2FallbackOverride: 0
|
|
||||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
|
||||||
spriteSheet:
|
|
||||||
serializedVersion: 2
|
|
||||||
sprites: []
|
|
||||||
outline: []
|
|
||||||
physicsShape: []
|
|
||||||
bones: []
|
|
||||||
spriteID: 5e97eb03825dee720800000000000000
|
|
||||||
internalID: 0
|
|
||||||
vertices: []
|
|
||||||
indices:
|
|
||||||
edges: []
|
|
||||||
weights: []
|
|
||||||
secondaryTextures: []
|
|
||||||
nameFileIdTable: {}
|
|
||||||
mipmapLimitGroupName:
|
|
||||||
pSDRemoveMatte: 0
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
|
Before Width: | Height: | Size: 8.4 KiB |
@@ -1,127 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 6d20621ff3469ec49ae3879bb8244b72
|
|
||||||
TextureImporter:
|
|
||||||
internalIDToNameTable: []
|
|
||||||
externalObjects: {}
|
|
||||||
serializedVersion: 13
|
|
||||||
mipmaps:
|
|
||||||
mipMapMode: 0
|
|
||||||
enableMipMap: 0
|
|
||||||
sRGBTexture: 1
|
|
||||||
linearTexture: 0
|
|
||||||
fadeOut: 0
|
|
||||||
borderMipMap: 0
|
|
||||||
mipMapsPreserveCoverage: 0
|
|
||||||
alphaTestReferenceValue: 0.5
|
|
||||||
mipMapFadeDistanceStart: 1
|
|
||||||
mipMapFadeDistanceEnd: 3
|
|
||||||
bumpmap:
|
|
||||||
convertToNormalMap: 0
|
|
||||||
externalNormalMap: 0
|
|
||||||
heightScale: 0.25
|
|
||||||
normalMapFilter: 0
|
|
||||||
flipGreenChannel: 0
|
|
||||||
isReadable: 0
|
|
||||||
streamingMipmaps: 0
|
|
||||||
streamingMipmapsPriority: 0
|
|
||||||
vTOnly: 0
|
|
||||||
ignoreMipmapLimit: 0
|
|
||||||
grayScaleToAlpha: 0
|
|
||||||
generateCubemap: 6
|
|
||||||
cubemapConvolution: 0
|
|
||||||
seamlessCubemap: 0
|
|
||||||
textureFormat: 1
|
|
||||||
maxTextureSize: 2048
|
|
||||||
textureSettings:
|
|
||||||
serializedVersion: 2
|
|
||||||
filterMode: 1
|
|
||||||
aniso: 1
|
|
||||||
mipBias: 0
|
|
||||||
wrapU: 1
|
|
||||||
wrapV: 1
|
|
||||||
wrapW: 1
|
|
||||||
nPOTScale: 0
|
|
||||||
lightmap: 0
|
|
||||||
compressionQuality: 50
|
|
||||||
spriteMode: 1
|
|
||||||
spriteExtrude: 1
|
|
||||||
spriteMeshType: 1
|
|
||||||
alignment: 0
|
|
||||||
spritePivot: {x: 0.5, y: 0.5}
|
|
||||||
spritePixelsToUnits: 100
|
|
||||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
|
||||||
spriteGenerateFallbackPhysicsShape: 1
|
|
||||||
alphaUsage: 1
|
|
||||||
alphaIsTransparency: 1
|
|
||||||
spriteTessellationDetail: -1
|
|
||||||
textureType: 8
|
|
||||||
textureShape: 1
|
|
||||||
singleChannelComponent: 0
|
|
||||||
flipbookRows: 1
|
|
||||||
flipbookColumns: 1
|
|
||||||
maxTextureSizeSet: 0
|
|
||||||
compressionQualitySet: 0
|
|
||||||
textureFormatSet: 0
|
|
||||||
ignorePngGamma: 0
|
|
||||||
applyGammaDecoding: 0
|
|
||||||
swizzle: 50462976
|
|
||||||
cookieLightType: 0
|
|
||||||
platformSettings:
|
|
||||||
- serializedVersion: 3
|
|
||||||
buildTarget: DefaultTexturePlatform
|
|
||||||
maxTextureSize: 2048
|
|
||||||
resizeAlgorithm: 0
|
|
||||||
textureFormat: -1
|
|
||||||
textureCompression: 0
|
|
||||||
compressionQuality: 50
|
|
||||||
crunchedCompression: 0
|
|
||||||
allowsAlphaSplitting: 0
|
|
||||||
overridden: 0
|
|
||||||
ignorePlatformSupport: 0
|
|
||||||
androidETC2FallbackOverride: 0
|
|
||||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
|
||||||
- serializedVersion: 3
|
|
||||||
buildTarget: Standalone
|
|
||||||
maxTextureSize: 2048
|
|
||||||
resizeAlgorithm: 0
|
|
||||||
textureFormat: -1
|
|
||||||
textureCompression: 1
|
|
||||||
compressionQuality: 50
|
|
||||||
crunchedCompression: 0
|
|
||||||
allowsAlphaSplitting: 0
|
|
||||||
overridden: 0
|
|
||||||
ignorePlatformSupport: 0
|
|
||||||
androidETC2FallbackOverride: 0
|
|
||||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
|
||||||
- serializedVersion: 3
|
|
||||||
buildTarget: Android
|
|
||||||
maxTextureSize: 2048
|
|
||||||
resizeAlgorithm: 0
|
|
||||||
textureFormat: -1
|
|
||||||
textureCompression: 1
|
|
||||||
compressionQuality: 50
|
|
||||||
crunchedCompression: 0
|
|
||||||
allowsAlphaSplitting: 0
|
|
||||||
overridden: 0
|
|
||||||
ignorePlatformSupport: 0
|
|
||||||
androidETC2FallbackOverride: 0
|
|
||||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
|
||||||
spriteSheet:
|
|
||||||
serializedVersion: 2
|
|
||||||
sprites: []
|
|
||||||
outline: []
|
|
||||||
physicsShape: []
|
|
||||||
bones: []
|
|
||||||
spriteID: 5e97eb03825dee720800000000000000
|
|
||||||
internalID: 0
|
|
||||||
vertices: []
|
|
||||||
indices:
|
|
||||||
edges: []
|
|
||||||
weights: []
|
|
||||||
secondaryTextures: []
|
|
||||||
nameFileIdTable: {}
|
|
||||||
mipmapLimitGroupName:
|
|
||||||
pSDRemoveMatte: 0
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
|
Before Width: | Height: | Size: 8.5 KiB |
@@ -1,127 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 00cb702f0bd22864784e62451d0d45e6
|
|
||||||
TextureImporter:
|
|
||||||
internalIDToNameTable: []
|
|
||||||
externalObjects: {}
|
|
||||||
serializedVersion: 13
|
|
||||||
mipmaps:
|
|
||||||
mipMapMode: 0
|
|
||||||
enableMipMap: 0
|
|
||||||
sRGBTexture: 1
|
|
||||||
linearTexture: 0
|
|
||||||
fadeOut: 0
|
|
||||||
borderMipMap: 0
|
|
||||||
mipMapsPreserveCoverage: 0
|
|
||||||
alphaTestReferenceValue: 0.5
|
|
||||||
mipMapFadeDistanceStart: 1
|
|
||||||
mipMapFadeDistanceEnd: 3
|
|
||||||
bumpmap:
|
|
||||||
convertToNormalMap: 0
|
|
||||||
externalNormalMap: 0
|
|
||||||
heightScale: 0.25
|
|
||||||
normalMapFilter: 0
|
|
||||||
flipGreenChannel: 0
|
|
||||||
isReadable: 0
|
|
||||||
streamingMipmaps: 0
|
|
||||||
streamingMipmapsPriority: 0
|
|
||||||
vTOnly: 0
|
|
||||||
ignoreMipmapLimit: 0
|
|
||||||
grayScaleToAlpha: 0
|
|
||||||
generateCubemap: 6
|
|
||||||
cubemapConvolution: 0
|
|
||||||
seamlessCubemap: 0
|
|
||||||
textureFormat: 1
|
|
||||||
maxTextureSize: 2048
|
|
||||||
textureSettings:
|
|
||||||
serializedVersion: 2
|
|
||||||
filterMode: 1
|
|
||||||
aniso: 1
|
|
||||||
mipBias: 0
|
|
||||||
wrapU: 1
|
|
||||||
wrapV: 1
|
|
||||||
wrapW: 1
|
|
||||||
nPOTScale: 0
|
|
||||||
lightmap: 0
|
|
||||||
compressionQuality: 50
|
|
||||||
spriteMode: 1
|
|
||||||
spriteExtrude: 1
|
|
||||||
spriteMeshType: 1
|
|
||||||
alignment: 0
|
|
||||||
spritePivot: {x: 0.5, y: 0.5}
|
|
||||||
spritePixelsToUnits: 100
|
|
||||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
|
||||||
spriteGenerateFallbackPhysicsShape: 1
|
|
||||||
alphaUsage: 1
|
|
||||||
alphaIsTransparency: 1
|
|
||||||
spriteTessellationDetail: -1
|
|
||||||
textureType: 8
|
|
||||||
textureShape: 1
|
|
||||||
singleChannelComponent: 0
|
|
||||||
flipbookRows: 1
|
|
||||||
flipbookColumns: 1
|
|
||||||
maxTextureSizeSet: 0
|
|
||||||
compressionQualitySet: 0
|
|
||||||
textureFormatSet: 0
|
|
||||||
ignorePngGamma: 0
|
|
||||||
applyGammaDecoding: 0
|
|
||||||
swizzle: 50462976
|
|
||||||
cookieLightType: 0
|
|
||||||
platformSettings:
|
|
||||||
- serializedVersion: 3
|
|
||||||
buildTarget: DefaultTexturePlatform
|
|
||||||
maxTextureSize: 2048
|
|
||||||
resizeAlgorithm: 0
|
|
||||||
textureFormat: -1
|
|
||||||
textureCompression: 0
|
|
||||||
compressionQuality: 50
|
|
||||||
crunchedCompression: 0
|
|
||||||
allowsAlphaSplitting: 0
|
|
||||||
overridden: 0
|
|
||||||
ignorePlatformSupport: 0
|
|
||||||
androidETC2FallbackOverride: 0
|
|
||||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
|
||||||
- serializedVersion: 3
|
|
||||||
buildTarget: Standalone
|
|
||||||
maxTextureSize: 2048
|
|
||||||
resizeAlgorithm: 0
|
|
||||||
textureFormat: -1
|
|
||||||
textureCompression: 1
|
|
||||||
compressionQuality: 50
|
|
||||||
crunchedCompression: 0
|
|
||||||
allowsAlphaSplitting: 0
|
|
||||||
overridden: 0
|
|
||||||
ignorePlatformSupport: 0
|
|
||||||
androidETC2FallbackOverride: 0
|
|
||||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
|
||||||
- serializedVersion: 3
|
|
||||||
buildTarget: Android
|
|
||||||
maxTextureSize: 2048
|
|
||||||
resizeAlgorithm: 0
|
|
||||||
textureFormat: -1
|
|
||||||
textureCompression: 1
|
|
||||||
compressionQuality: 50
|
|
||||||
crunchedCompression: 0
|
|
||||||
allowsAlphaSplitting: 0
|
|
||||||
overridden: 0
|
|
||||||
ignorePlatformSupport: 0
|
|
||||||
androidETC2FallbackOverride: 0
|
|
||||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
|
||||||
spriteSheet:
|
|
||||||
serializedVersion: 2
|
|
||||||
sprites: []
|
|
||||||
outline: []
|
|
||||||
physicsShape: []
|
|
||||||
bones: []
|
|
||||||
spriteID: 5e97eb03825dee720800000000000000
|
|
||||||
internalID: 0
|
|
||||||
vertices: []
|
|
||||||
indices:
|
|
||||||
edges: []
|
|
||||||
weights: []
|
|
||||||
secondaryTextures: []
|
|
||||||
nameFileIdTable: {}
|
|
||||||
mipmapLimitGroupName:
|
|
||||||
pSDRemoveMatte: 0
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
|
Before Width: | Height: | Size: 8.5 KiB |
@@ -1,127 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 5171f0c84c630c645b0b86dce2f0b949
|
|
||||||
TextureImporter:
|
|
||||||
internalIDToNameTable: []
|
|
||||||
externalObjects: {}
|
|
||||||
serializedVersion: 13
|
|
||||||
mipmaps:
|
|
||||||
mipMapMode: 0
|
|
||||||
enableMipMap: 0
|
|
||||||
sRGBTexture: 1
|
|
||||||
linearTexture: 0
|
|
||||||
fadeOut: 0
|
|
||||||
borderMipMap: 0
|
|
||||||
mipMapsPreserveCoverage: 0
|
|
||||||
alphaTestReferenceValue: 0.5
|
|
||||||
mipMapFadeDistanceStart: 1
|
|
||||||
mipMapFadeDistanceEnd: 3
|
|
||||||
bumpmap:
|
|
||||||
convertToNormalMap: 0
|
|
||||||
externalNormalMap: 0
|
|
||||||
heightScale: 0.25
|
|
||||||
normalMapFilter: 0
|
|
||||||
flipGreenChannel: 0
|
|
||||||
isReadable: 0
|
|
||||||
streamingMipmaps: 0
|
|
||||||
streamingMipmapsPriority: 0
|
|
||||||
vTOnly: 0
|
|
||||||
ignoreMipmapLimit: 0
|
|
||||||
grayScaleToAlpha: 0
|
|
||||||
generateCubemap: 6
|
|
||||||
cubemapConvolution: 0
|
|
||||||
seamlessCubemap: 0
|
|
||||||
textureFormat: 1
|
|
||||||
maxTextureSize: 2048
|
|
||||||
textureSettings:
|
|
||||||
serializedVersion: 2
|
|
||||||
filterMode: 1
|
|
||||||
aniso: 1
|
|
||||||
mipBias: 0
|
|
||||||
wrapU: 1
|
|
||||||
wrapV: 1
|
|
||||||
wrapW: 1
|
|
||||||
nPOTScale: 0
|
|
||||||
lightmap: 0
|
|
||||||
compressionQuality: 50
|
|
||||||
spriteMode: 1
|
|
||||||
spriteExtrude: 1
|
|
||||||
spriteMeshType: 1
|
|
||||||
alignment: 0
|
|
||||||
spritePivot: {x: 0.5, y: 0.5}
|
|
||||||
spritePixelsToUnits: 100
|
|
||||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
|
||||||
spriteGenerateFallbackPhysicsShape: 1
|
|
||||||
alphaUsage: 1
|
|
||||||
alphaIsTransparency: 1
|
|
||||||
spriteTessellationDetail: -1
|
|
||||||
textureType: 8
|
|
||||||
textureShape: 1
|
|
||||||
singleChannelComponent: 0
|
|
||||||
flipbookRows: 1
|
|
||||||
flipbookColumns: 1
|
|
||||||
maxTextureSizeSet: 0
|
|
||||||
compressionQualitySet: 0
|
|
||||||
textureFormatSet: 0
|
|
||||||
ignorePngGamma: 0
|
|
||||||
applyGammaDecoding: 0
|
|
||||||
swizzle: 50462976
|
|
||||||
cookieLightType: 0
|
|
||||||
platformSettings:
|
|
||||||
- serializedVersion: 3
|
|
||||||
buildTarget: DefaultTexturePlatform
|
|
||||||
maxTextureSize: 2048
|
|
||||||
resizeAlgorithm: 0
|
|
||||||
textureFormat: -1
|
|
||||||
textureCompression: 0
|
|
||||||
compressionQuality: 50
|
|
||||||
crunchedCompression: 0
|
|
||||||
allowsAlphaSplitting: 0
|
|
||||||
overridden: 0
|
|
||||||
ignorePlatformSupport: 0
|
|
||||||
androidETC2FallbackOverride: 0
|
|
||||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
|
||||||
- serializedVersion: 3
|
|
||||||
buildTarget: Standalone
|
|
||||||
maxTextureSize: 2048
|
|
||||||
resizeAlgorithm: 0
|
|
||||||
textureFormat: -1
|
|
||||||
textureCompression: 1
|
|
||||||
compressionQuality: 50
|
|
||||||
crunchedCompression: 0
|
|
||||||
allowsAlphaSplitting: 0
|
|
||||||
overridden: 0
|
|
||||||
ignorePlatformSupport: 0
|
|
||||||
androidETC2FallbackOverride: 0
|
|
||||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
|
||||||
- serializedVersion: 3
|
|
||||||
buildTarget: Android
|
|
||||||
maxTextureSize: 2048
|
|
||||||
resizeAlgorithm: 0
|
|
||||||
textureFormat: -1
|
|
||||||
textureCompression: 1
|
|
||||||
compressionQuality: 50
|
|
||||||
crunchedCompression: 0
|
|
||||||
allowsAlphaSplitting: 0
|
|
||||||
overridden: 0
|
|
||||||
ignorePlatformSupport: 0
|
|
||||||
androidETC2FallbackOverride: 0
|
|
||||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
|
||||||
spriteSheet:
|
|
||||||
serializedVersion: 2
|
|
||||||
sprites: []
|
|
||||||
outline: []
|
|
||||||
physicsShape: []
|
|
||||||
bones: []
|
|
||||||
spriteID: 5e97eb03825dee720800000000000000
|
|
||||||
internalID: 0
|
|
||||||
vertices: []
|
|
||||||
indices:
|
|
||||||
edges: []
|
|
||||||
weights: []
|
|
||||||
secondaryTextures: []
|
|
||||||
nameFileIdTable: {}
|
|
||||||
mipmapLimitGroupName:
|
|
||||||
pSDRemoveMatte: 0
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
|
Before Width: | Height: | Size: 8.7 KiB |
@@ -1,127 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 779bb25172e33754eae1cd5b9663b27a
|
|
||||||
TextureImporter:
|
|
||||||
internalIDToNameTable: []
|
|
||||||
externalObjects: {}
|
|
||||||
serializedVersion: 13
|
|
||||||
mipmaps:
|
|
||||||
mipMapMode: 0
|
|
||||||
enableMipMap: 0
|
|
||||||
sRGBTexture: 1
|
|
||||||
linearTexture: 0
|
|
||||||
fadeOut: 0
|
|
||||||
borderMipMap: 0
|
|
||||||
mipMapsPreserveCoverage: 0
|
|
||||||
alphaTestReferenceValue: 0.5
|
|
||||||
mipMapFadeDistanceStart: 1
|
|
||||||
mipMapFadeDistanceEnd: 3
|
|
||||||
bumpmap:
|
|
||||||
convertToNormalMap: 0
|
|
||||||
externalNormalMap: 0
|
|
||||||
heightScale: 0.25
|
|
||||||
normalMapFilter: 0
|
|
||||||
flipGreenChannel: 0
|
|
||||||
isReadable: 0
|
|
||||||
streamingMipmaps: 0
|
|
||||||
streamingMipmapsPriority: 0
|
|
||||||
vTOnly: 0
|
|
||||||
ignoreMipmapLimit: 0
|
|
||||||
grayScaleToAlpha: 0
|
|
||||||
generateCubemap: 6
|
|
||||||
cubemapConvolution: 0
|
|
||||||
seamlessCubemap: 0
|
|
||||||
textureFormat: 1
|
|
||||||
maxTextureSize: 2048
|
|
||||||
textureSettings:
|
|
||||||
serializedVersion: 2
|
|
||||||
filterMode: 1
|
|
||||||
aniso: 1
|
|
||||||
mipBias: 0
|
|
||||||
wrapU: 1
|
|
||||||
wrapV: 1
|
|
||||||
wrapW: 1
|
|
||||||
nPOTScale: 0
|
|
||||||
lightmap: 0
|
|
||||||
compressionQuality: 50
|
|
||||||
spriteMode: 1
|
|
||||||
spriteExtrude: 1
|
|
||||||
spriteMeshType: 1
|
|
||||||
alignment: 0
|
|
||||||
spritePivot: {x: 0.5, y: 0.5}
|
|
||||||
spritePixelsToUnits: 100
|
|
||||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
|
||||||
spriteGenerateFallbackPhysicsShape: 1
|
|
||||||
alphaUsage: 1
|
|
||||||
alphaIsTransparency: 1
|
|
||||||
spriteTessellationDetail: -1
|
|
||||||
textureType: 8
|
|
||||||
textureShape: 1
|
|
||||||
singleChannelComponent: 0
|
|
||||||
flipbookRows: 1
|
|
||||||
flipbookColumns: 1
|
|
||||||
maxTextureSizeSet: 0
|
|
||||||
compressionQualitySet: 0
|
|
||||||
textureFormatSet: 0
|
|
||||||
ignorePngGamma: 0
|
|
||||||
applyGammaDecoding: 0
|
|
||||||
swizzle: 50462976
|
|
||||||
cookieLightType: 0
|
|
||||||
platformSettings:
|
|
||||||
- serializedVersion: 3
|
|
||||||
buildTarget: DefaultTexturePlatform
|
|
||||||
maxTextureSize: 2048
|
|
||||||
resizeAlgorithm: 0
|
|
||||||
textureFormat: -1
|
|
||||||
textureCompression: 0
|
|
||||||
compressionQuality: 50
|
|
||||||
crunchedCompression: 0
|
|
||||||
allowsAlphaSplitting: 0
|
|
||||||
overridden: 0
|
|
||||||
ignorePlatformSupport: 0
|
|
||||||
androidETC2FallbackOverride: 0
|
|
||||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
|
||||||
- serializedVersion: 3
|
|
||||||
buildTarget: Standalone
|
|
||||||
maxTextureSize: 2048
|
|
||||||
resizeAlgorithm: 0
|
|
||||||
textureFormat: -1
|
|
||||||
textureCompression: 1
|
|
||||||
compressionQuality: 50
|
|
||||||
crunchedCompression: 0
|
|
||||||
allowsAlphaSplitting: 0
|
|
||||||
overridden: 0
|
|
||||||
ignorePlatformSupport: 0
|
|
||||||
androidETC2FallbackOverride: 0
|
|
||||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
|
||||||
- serializedVersion: 3
|
|
||||||
buildTarget: Android
|
|
||||||
maxTextureSize: 2048
|
|
||||||
resizeAlgorithm: 0
|
|
||||||
textureFormat: -1
|
|
||||||
textureCompression: 1
|
|
||||||
compressionQuality: 50
|
|
||||||
crunchedCompression: 0
|
|
||||||
allowsAlphaSplitting: 0
|
|
||||||
overridden: 0
|
|
||||||
ignorePlatformSupport: 0
|
|
||||||
androidETC2FallbackOverride: 0
|
|
||||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
|
||||||
spriteSheet:
|
|
||||||
serializedVersion: 2
|
|
||||||
sprites: []
|
|
||||||
outline: []
|
|
||||||
physicsShape: []
|
|
||||||
bones: []
|
|
||||||
spriteID: 5e97eb03825dee720800000000000000
|
|
||||||
internalID: 0
|
|
||||||
vertices: []
|
|
||||||
indices:
|
|
||||||
edges: []
|
|
||||||
weights: []
|
|
||||||
secondaryTextures: []
|
|
||||||
nameFileIdTable: {}
|
|
||||||
mipmapLimitGroupName:
|
|
||||||
pSDRemoveMatte: 0
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||