xushiting преди 3 години
родител
ревизия
044570060f
променени са 7 файла, в които са добавени 54 реда и са изтрити 12 реда
  1. 25 0
      src/ActionsHandler.js
  2. 1 1
      src/Workers.js
  3. 0 2
      src/XAvatarManager.js
  4. 9 7
      src/XverseAvatarManager.js
  5. 6 1
      src/XverseRoom.js
  6. 7 1
      src/Xverse_Room.js
  7. 6 0
      src/enum/NewUserStateType.js

+ 25 - 0
src/ActionsHandler.js

@@ -476,6 +476,31 @@ export default class ActionsHandler {
             data: r
         }).then(n=>n.userWithAvatarList)
     }
+    getNewUserState(e) {
+        const i = {
+            action_type: Actions.GetNewUserState,
+            getNewUserStateAction: {
+                userType: e
+            }
+        };
+        return this.sendData({
+            data: i,
+            sampleRate: 0
+        }).then(o => o)
+    }
+    setSyncPolicy({
+        syncPolicy: e
+    }) {
+        const i = {
+            action_type: Actions.SetSyncPolicy,
+            setSyncPolicyAction: {
+                syncPolicy: e
+            }
+        };
+        return this.sendData({
+            data: i
+        })
+    }
     joystick(e) {
         const {degree: t, level: r=1} = e
           , n = util.uuid();

+ 1 - 1
src/Workers.js

@@ -551,7 +551,7 @@ export default class Workers {
                     r();
                     break;
                 case 3:
-                    //this.SendCacheFrameInfo(n);
+                    this.SendCacheFrameInfo(n);
                     break;
                 case 4:
                     {

+ 0 - 2
src/XAvatarManager.js

@@ -165,8 +165,6 @@ export default class XAvatarManager {
         this.characterMap.set(5, new Map)
     }
     loadAvatar({id: e, avatarType: t, priority: r, avatarManager: n, assets: o, status: a}) {
-        // zeg 获得数据为3,现手动修正为0
-        r = 0;
         return new Promise((s,l)=>{
             if (this.getAvatarById(e))
                 return l(new DuplicateAvatarIDError(`[Engine] cannot init avatar with the same id = ${e}`));

+ 9 - 7
src/XverseAvatarManager.js

@@ -107,9 +107,8 @@ export default class XverseAvatarManager extends EventEmitter {
             }
             if (t.event && [SyncEventType.Appear, SyncEventType.Reset].includes(t.event.type) || !t.event) {
                 let d = this.avatars.get(t.userId);
-                if (t.playerState.avatarId && (d == null ? void 0 : d.avatarId) !== t.playerState.avatarId && (d = void 0,
-                this.removeAvatar(t.userId)),
-                d) {
+                t.playerState.avatarId && (d == null ? void 0 : d.avatarId) !== t.playerState.avatarId && (d = void 0,this.removeAvatar(t.userId));
+                if (d) {
                     if (d.disconnected && d.setConnectionStatus(!1),
                     (u = t.event) != null && u.id && this._room.actionsHandler.confirmEvent(t.event.id),
                     t.playerState.nickName && (d == null || d._setNickname(t.playerState.nickName)),
@@ -212,8 +211,11 @@ export default class XverseAvatarManager extends EventEmitter {
           , _ = t === this._room.userId;
         let g = this.avatars.get(t);
         if (g)
+        {
             return Promise.resolve(g);
-        if (g = new XverseAvatarManager.subAvatar({
+        }
+
+        g = new XverseAvatarManager.subAvatar({
             userId: t,
             isHost: r,
             isSelf: _,
@@ -222,9 +224,9 @@ export default class XverseAvatarManager extends EventEmitter {
             avatarId: o,
             nickname: s,
             group: c
-        }),
-        this.avatars.set(t, g),
-        !g.withModel)
+        });
+        this.avatars.set(t, g);
+        if (!g.withModel)
             return g.isLoading = !1,
             g.avatarLoadedHook(),
             this._room.emit("avatarChanged", {

+ 6 - 1
src/XverseRoom.js

@@ -7,6 +7,11 @@ export default class XverseRoom extends Xverse_Room {
         this.joyStick = new JoyStick(this)
     }
     afterJoinRoomHook() {
-        this.joyStick.init({})
+        this.joyStick.init({
+            style: {
+                width: "150px",
+                height: "150px"
+            }
+        })
     }
 }

+ 7 - 1
src/Xverse_Room.js

@@ -24,6 +24,7 @@ import EImageQuality from "./enum/EImageQuality.js"
 import Panorama from "./Panorama.js"
 import Debug from "./Debug.js"
 import Logger from "./Logger.js"
+import NewUserStateType from "./enum/NewUserStateType.js"
 
 const logger = new Logger('xverse-room')
 export default class Xverse_Room extends EventEmitter {
@@ -312,7 +313,12 @@ export default class Xverse_Room extends EventEmitter {
         }
         ),
         this.debug = new Debug(this),
-        this.afterJoinRoomHook()
+        this.afterJoinRoomHook();
+        // setInterval(() => {
+        //     this.actionsHandler.getNewUserState(NewUserStateType.NUST_Undefined).then(i => {
+        //         this.avatarManager.handleAvatar(i)
+        //     }).catch(() => {})
+        // }, 2e3)
     }
     afterReconnected() {
         this.avatarManager.clearOtherUsers(),

+ 6 - 0
src/enum/NewUserStateType.js

@@ -0,0 +1,6 @@
+var NewUserStateType = {
+    NUST_Undefined:'NUST_Undefined',
+    NUST_Myself:'NUST_Myself',
+    NUST_FollowingList:'NUST_FollowingList'
+}
+export default NewUserStateType