77#include " mc/enums/InputMode.h"
88#include " mc/network/ConnectionRequest.h"
99#include " mc/network/ServerNetworkHandler.h"
10+ #include " mc/world/ActorUniqueID.h"
1011#include " mc/world/actor/player/Player.h"
1112#include " mc/world/level/Level.h"
1213
@@ -33,23 +34,27 @@ ClassDefine<DeviceClass> DeviceClassBuilder = defineClass<DeviceClass>("LLSE_Dev
3334// ////////////////// Classes ////////////////////
3435
3536// 生成函数
36- Local<Object> DeviceClass::newDevice (Player* p ) {
37- auto newp = new DeviceClass (p );
37+ Local<Object> DeviceClass::newDevice (ActorUniqueID& uid ) {
38+ auto newp = new DeviceClass (uid );
3839 return newp->getScriptObject ();
3940}
4041
4142// 成员函数
42- void DeviceClass::setPlayer (Player* player ) {
43+ void DeviceClass::setPlayer (ActorUniqueID& uid ) {
4344 try {
44- id = player-> getOrCreateUniqueID () ;
45+ id = uid ;
4546 } catch (...) {
4647 isValid = false ;
4748 }
4849}
4950
5051Player* DeviceClass::getPlayer () {
51- if (!isValid) return nullptr ;
52- else return ll::service::getLevel ()->getPlayer (id);
52+ Player* player = ll::service::getLevel ()->getPlayer (id);
53+ if (!isValid || !player) {
54+ return nullptr ;
55+ } else {
56+ return player;
57+ }
5358}
5459
5560Local<Value> DeviceClass::getIP () {
@@ -85,9 +90,7 @@ Local<Value> DeviceClass::getAvgPacketLoss() {
8590Local<Value> DeviceClass::getLastPing () {
8691 try {
8792 Player* player = getPlayer ();
88- if (!player) {
89- return Local<Value>();
90- }
93+ if (!player) return Local<Value>();
9194
9295 return Number::newNumber (player->getNetworkStatus ()->mCurrentPing );
9396 }
@@ -97,9 +100,7 @@ Local<Value> DeviceClass::getLastPing() {
97100Local<Value> DeviceClass::getLastPacketLoss () {
98101 try {
99102 Player* player = getPlayer ();
100- if (!player) {
101- return Local<Value>();
102- }
103+ if (!player) return Local<Value>();
103104
104105 return Number::newNumber (player->getNetworkStatus ()->mCurrentPacketLoss );
105106 }
@@ -119,9 +120,8 @@ Local<Value> DeviceClass::getOs() {
119120Local<Value> DeviceClass::getServerAddress () {
120121 try {
121122 Player* player = getPlayer ();
122- if (!player) {
123- return Local<Value>();
124- }
123+ if (!player) return Local<Value>();
124+
125125 if (player->isSimulatedPlayer ()) String::newString (" unknown" );
126126 Json::Value& requestJson = ll::service::getServerNetworkHandler ()
127127 ->fetchConnectionRequest (player->getNetworkIdentifier ())
0 commit comments