Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
M
MDPro3
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Packages
Packages
List
Container Registry
Analytics
Analytics
CI / CD
Code Review
Insights
Issues
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
SK
MDPro3
Commits
0a733229
Commit
0a733229
authored
Jan 15, 2026
by
SherryChaos
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
bug fix
parent
e7bd134c
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
62 additions
and
64 deletions
+62
-64
Assets/Addressables/Text/AboutUpdate.txt
Assets/Addressables/Text/AboutUpdate.txt
+3
-0
Assets/Addressables/Text/UpdateContent.txt
Assets/Addressables/Text/UpdateContent.txt
+5
-0
Assets/Scripts/MDPro3/Servant/RoomServant.cs
Assets/Scripts/MDPro3/Servant/RoomServant.cs
+2
-4
Assets/Scripts/MDPro3/UI/UIWidget/SidePanel/ChatPanel.cs
Assets/Scripts/MDPro3/UI/UIWidget/SidePanel/ChatPanel.cs
+52
-60
No files found.
Assets/Addressables/Text/AboutUpdate.txt
View file @
0a733229
...
...
@@ -7,11 +7,14 @@
下载地址:
<link="https://pan.baidu.com/s/1fnbwSq5Y7vj680sfwHnpBg?pwd=2wc0"><#0080F8><u>百度云网盘(网友维护)</u></color></link>
<link="https://pan.baidu.com/s/1ZnxcE6BaY-VdyG_JGN3t4w?pwd=cznl"><#0080F8><u>百度云网盘(网友维护) 2</u></color></link>
<link="https://www.123pan.com/s/YRetVv-EwmnA.html"><#0080F8><u>123云盘</u></color></link>
<link="https://pan.quark.cn/s/ca2e4e7a8c63"><#0080F8><u>夸克网盘</u></color></link>
For overseas users:
<link="https://mega.nz/folder/yB8HhYaS#5dkbGXm19Kka1O0xtwWZCw"><#0080F8><u>MEGA</u></color></link>
<link="https://mega.nz/folder/KEw1QYTB#_bKxKDWIxIgbg6OBJrUsxQ"><#0080F8><u>MEGA 2</u></color></link>
<link="https://drive.google.com/drive/folders/1t-Ysw-8Ic7n4c0D7l2rLQVZuwbSyaXzE?usp=sharing"><#0080F8><u>Google Drive</u></color></link>
<link="https://drive.google.com/drive/folders/1ePZM1xQPuWqCLSau08bXMMmzDhgXuXMT?usp=drive_link"><#0080F8><u>Google Drive 2</u></color></link>
_END_
\ No newline at end of file
Assets/Addressables/Text/UpdateContent.txt
View file @
0a733229
MDPro3 v1.3.9更新:
1.在[游戏设置-关于游戏-关于更新]中添加了新的网盘下载地址。
2.修复决斗中部分选择卡片时可以不选择卡片的场合,无法不选择卡片的错误;
3.修复决斗消息某些情况下显示了错误玩家名的错误;
4.修复在进入决斗的过渡画面中点击左上角能够退出决斗的错误;
MDPro3 v1.3.8更新:
1.非中文的卡片渲染的属性球添加了注音文字;
...
...
Assets/Scripts/MDPro3/Servant/RoomServant.cs
View file @
0a733229
...
...
@@ -112,7 +112,6 @@ namespace MDPro3.Servant
TcpHelper
.
CtosMessage_Response
(
buffer
);
}
public
bool
RoomIsFull
()
{
int
playerSeats
=
2
;
...
...
@@ -446,6 +445,8 @@ namespace MDPro3.Servant
if
(
showing
)
Hide
(
0
);
UIManager
.
HideExitButton
(
TransitionTime
);
}
public
void
StocMessage_DuelEnd
(
BinaryReader
r
)
...
...
@@ -465,12 +466,9 @@ namespace MDPro3.Servant
public
void
StocMessage_Chat
(
BinaryReader
r
)
{
int
player
=
r
.
ReadInt16
();
var
length
=
r
.
BaseStream
.
Length
-
3
;
var
content
=
r
.
ReadUnicode
((
int
)
length
);
//Debug.Log("StocMessage_Chat: " + player + "-" + content);
Program
.
instance
.
ui_
.
chatPanel
.
AddChatItem
(
player
,
content
);
}
...
...
Assets/Scripts/MDPro3/UI/UIWidget/SidePanel/ChatPanel.cs
View file @
0a733229
...
...
@@ -22,7 +22,12 @@ namespace MDPro3.UI
private
GameObject
chatItemOp
;
private
GameObject
chatItemSystem
;
private
List
<
GameObject
>
chatItems
=
new
();
private
SortedDictionary
<
int
,
string
>
cachedDialog
=
new
();
private
struct
ChatMessage
{
public
int
player
;
public
string
content
;
}
private
readonly
List
<
ChatMessage
>
cachedMessages
=
new
();
protected
override
void
Awake
()
{
...
...
@@ -118,7 +123,7 @@ namespace MDPro3.UI
MyTag
,
Op
,
OpTag
,
WatchMe
,
WatchMe
,
// 本机处于观战时的一号位
WatchMyTag
,
WatchOp
,
WatchOpTag
,
...
...
@@ -129,43 +134,25 @@ namespace MDPro3.UI
{
if
(
RoomServant
.
CoreShowing
==
1
)
{
cachedDialog
.
Add
(
player
,
content
);
cachedMessages
.
Add
(
new
ChatMessage
{
player
=
player
,
content
=
content
});
return
;
}
if
(
RoomServant
.
CoreShowing
==
2
&&
cached
Dialog
.
Count
>
0
)
if
(
RoomServant
.
CoreShowing
==
2
&&
cached
Messages
.
Count
>
0
)
{
var
players
=
new
List
<
int
>();
var
contents
=
new
List
<
string
>();
foreach
(
var
element
in
cachedDialog
)
{
players
.
Add
(
element
.
Key
);
contents
.
Add
(
element
.
Value
);
}
cachedDialog
.
Clear
();
for
(
int
i
=
0
;
i
<
players
.
Count
;
i
++)
AddChatItem
(
players
[
i
],
contents
[
i
]);
var
cacehd
=
new
List
<
ChatMessage
>(
cachedMessages
);
cachedMessages
.
Clear
();
for
(
int
i
=
0
;
i
<
cachedMessages
.
Count
;
i
++)
AddChatItem
(
cacehd
[
i
].
player
,
cacehd
[
i
].
content
);
}
if
(
player
==
-
2
)
return
;
if
(
RoomServant
.
CoreShowing
==
2
&&
player
<
4
)
{
if
(
RoomServant
.
Mode
!=
2
)
{
if
(
OcgCore
.
isFirst
&&
RoomServant
.
SelfType
==
1
||
!
OcgCore
.
isFirst
&&
RoomServant
.
SelfType
==
0
)
player
=
(
player
+
1
)
%
2
;
}
else
{
if
(
OcgCore
.
isFirst
&&
RoomServant
.
SelfType
>
1
||
!
OcgCore
.
isFirst
&&
RoomServant
.
SelfType
<
2
)
player
=
(
player
+
2
)
%
4
;
}
}
var
nickName
=
RoomServant
.
players
[
player
]?.
name
;
var
nickName
=
GetPlayerName
(
player
);
GameObject
item
=
null
;
var
position
=
GetPlayerPositon
(
player
);
switch
(
position
)
...
...
@@ -229,9 +216,11 @@ namespace MDPro3.UI
scrollRect
.
content
.
sizeDelta
=
new
Vector2
(
0
,
chatItems
.
Count
*
150
);
scrollRect
.
DOVerticalNormalizedPos
(
0
,
0.2f
);
var
p
=
new
Package
();
p
.
Function
=
(
int
)
GameMessage
.
sibyl_chat
;
p
.
Data
=
new
BinaryMaster
();
var
p
=
new
Package
{
Function
=
(
int
)
GameMessage
.
sibyl_chat
,
Data
=
new
BinaryMaster
()
};
p
.
Data
.
writer
.
Write
(
player
);
p
.
Data
.
writer
.
WriteUnicode
(
content
,
content
.
Length
+
1
);
TcpHelper
.
AddRecordLine
(
p
);
...
...
@@ -242,8 +231,35 @@ namespace MDPro3.UI
MessageManager
.
Cast
(
content
);
}
private
static
int
GetRoomPlayerIndex
(
int
player
)
{
if
(!
Program
.
instance
.
ocgcore
.
showing
)
return
player
;
if
(
player
>
-
1
&&
player
<
4
&&
!
OcgCore
.
isFirst
)
return
player
^
2
;
return
player
;
}
private
static
string
GetPlayerConfigName
(
PlayerPosition
position
)
{
return
position
switch
{
PlayerPosition
.
Me
=>
Config
.
Get
(
"DuelPlayerName0"
,
Config
.
EMPTY_STRING
),
PlayerPosition
.
MyTag
=>
Config
.
Get
(
"DuelPlayerName0Tag"
,
Config
.
EMPTY_STRING
),
PlayerPosition
.
Op
=>
Config
.
Get
(
"DuelPlayerName1"
,
Config
.
EMPTY_STRING
),
PlayerPosition
.
OpTag
=>
Config
.
Get
(
"DuelPlayerName1Tag"
,
Config
.
EMPTY_STRING
),
PlayerPosition
.
WatchMe
=>
Config
.
Get
(
"WatchPlayerName0"
,
Config
.
EMPTY_STRING
),
PlayerPosition
.
WatchMyTag
=>
Config
.
Get
(
"WatchPlayerName0Tag"
,
Config
.
EMPTY_STRING
),
PlayerPosition
.
WatchOp
=>
Config
.
Get
(
"WatchPlayerName1"
,
Config
.
EMPTY_STRING
),
PlayerPosition
.
WatchOpTag
=>
Config
.
Get
(
"WatchPlayerName1Tag"
,
Config
.
EMPTY_STRING
),
_
=>
string
.
Empty
,
};
}
public
static
string
GetPlayerName
(
int
player
)
{
var
playerPosition
=
GetPlayerPositon
(
player
);
player
=
GetRoomPlayerIndex
(
player
);
string
nickName
=
""
;
switch
(
player
)
{
...
...
@@ -255,7 +271,7 @@ namespace MDPro3.UI
case
2
:
//host tag
case
3
:
//client tag
nickName
=
RoomServant
.
players
[
player
].
name
;
var
configName
=
Get
ConfigPlayerName
(
GetPlayerPositon
(
player
)
);
var
configName
=
Get
PlayerConfigName
(
playerPosition
);
if
(
configName
.
Length
>
0
)
nickName
=
configName
;
break
;
...
...
@@ -275,33 +291,9 @@ namespace MDPro3.UI
return
nickName
;
}
public
static
string
GetConfigPlayerName
(
PlayerPosition
position
)
{
switch
(
position
)
{
case
PlayerPosition
.
Me
:
return
Config
.
Get
(
"DuelPlayerName0"
,
Config
.
EMPTY_STRING
);
case
PlayerPosition
.
MyTag
:
return
Config
.
Get
(
"DuelPlayerName0Tag"
,
Config
.
EMPTY_STRING
);
case
PlayerPosition
.
Op
:
return
Config
.
Get
(
"DuelPlayerName1"
,
Config
.
EMPTY_STRING
);
case
PlayerPosition
.
OpTag
:
return
Config
.
Get
(
"DuelPlayerName1Tag"
,
Config
.
EMPTY_STRING
);
case
PlayerPosition
.
WatchMe
:
return
Config
.
Get
(
"WatchPlayerName0"
,
Config
.
EMPTY_STRING
);
case
PlayerPosition
.
WatchMyTag
:
return
Config
.
Get
(
"WatchPlayerName0Tag"
,
Config
.
EMPTY_STRING
);
case
PlayerPosition
.
WatchOp
:
return
Config
.
Get
(
"WatchPlayerName1"
,
Config
.
EMPTY_STRING
);
case
PlayerPosition
.
WatchOpTag
:
return
Config
.
Get
(
"WatchPlayerName1Tag"
,
Config
.
EMPTY_STRING
);
default
:
return
string
.
Empty
;
}
}
public
static
PlayerPosition
GetPlayerPositon
(
int
player
)
{
player
=
GetRoomPlayerIndex
(
player
);
PlayerPosition
position
;
if
(
player
<
4
)
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment