@@ -33,10 +33,6 @@ ClassDefine<DeviceClass> DeviceClassBuilder = defineClass<DeviceClass>("LLSE_Dev
3333
3434// ////////////////// Classes ////////////////////
3535
36- namespace PlayerAPIPatch {
37- extern std::list<Player*> validPlayers;
38- }
39-
4036// 生成函数
4137Local<Object> DeviceClass::newDevice (Player* player) {
4238 auto newp = new DeviceClass (player);
@@ -46,26 +42,11 @@ Local<Object> DeviceClass::newDevice(Player* player) {
4642// 成员函数
4743void DeviceClass::setPlayer (Player* player) {
4844 if (player) {
49- mPlayer = player;
50- PlayerAPIPatch::validPlayers.emplace_back (player);
51- } else {
52- mValid = false ;
45+ mWeakEntity = player->getWeakEntity ();
5346 }
5447}
5548
56- Player* DeviceClass::getPlayer () {
57- mValid = false ;
58- for (Player* player : PlayerAPIPatch::validPlayers) {
59- if (player == mPlayer ) {
60- mValid = true ;
61- break ;
62- }
63- }
64- if (mPlayer && mValid ) {
65- return mPlayer ;
66- }
67- return nullptr ;
68- }
49+ Player* DeviceClass::getPlayer () { return mWeakEntity .tryUnwrap <Player>().as_ptr (); }
6950
7051Local<Value> DeviceClass::getIP () {
7152 try {
@@ -133,10 +114,8 @@ Local<Value> DeviceClass::getServerAddress() {
133114 if (!player) return Local<Value>();
134115
135116 if (player->isSimulatedPlayer ()) String::newString (" unknown" );
136- Json::Value& requestJson = ll::service::getServerNetworkHandler ()
137- ->fetchConnectionRequest (player->getNetworkIdentifier ())
138- .mRawToken ->mDataInfo ;
139- return String::newString (requestJson.get (" ServerAddress" , " unknown" ).asString (" unknown" ));
117+ Json::Value& requestJson = player->getConnectionRequest ()->mRawToken ->mDataInfo ;
118+ return String::newString (requestJson[" ServerAddress" ].asString (" unknown" ));
140119 }
141120 CATCH (" Fail in getServerAddress!" )
142121}
@@ -146,9 +125,7 @@ Local<Value> DeviceClass::getClientId() {
146125 Player* player = getPlayer ();
147126 if (!player) return Local<Value>();
148127
149- return String::newString (
150- ll::service::getServerNetworkHandler ()->fetchConnectionRequest (player->getNetworkIdentifier ()).getDeviceId ()
151- );
128+ return String::newString (player->getConnectionRequest ()->getDeviceId ());
152129 }
153130 CATCH (" Fail in getClientId!" )
154131}
@@ -158,10 +135,8 @@ Local<Value> DeviceClass::getInputMode() {
158135 Player* player = getPlayer ();
159136 if (!player) return Local<Value>();
160137
161- Json::Value& requestJson = ll::service::getServerNetworkHandler ()
162- ->fetchConnectionRequest (player->getNetworkIdentifier ())
163- .mRawToken ->mDataInfo ;
164- return Number::newNumber (requestJson.get (" CurrentInputMode" , 0 ).asInt (0 ));
138+ Json::Value& requestJson = player->getConnectionRequest ()->mRawToken ->mDataInfo ;
139+ return Number::newNumber (requestJson[" CurrentInputMode" ].asInt (0 ));
165140 }
166141 CATCH (" Fail in getInputMode!" )
167142}
0 commit comments