Преглед на файлове

添加账号管理,角色数据

txq преди 6 месеца
родител
ревизия
7bf143aae7

+ 1 - 1
assets/package/prefab/ui/tower/tower.prefab

@@ -16909,7 +16909,7 @@
     },
     "heroModelList": [
       {
-        "__uuid__": "331c9603-5c76-417f-8cde-2e6e3242a572",
+        "__uuid__": "ec2ec9bf-a002-40d5-a2d8-2d2c6ec79e03",
         "__expectedType__": "cc.Prefab"
       }
     ],

+ 288 - 43
assets/package/spine/zongxiong/zongxiong.atlas

@@ -1,181 +1,426 @@
 
 zongxiong.png
-size: 1024,256
+size: 1024,512
 format: RGBA8888
 filter: Linear,Linear
 repeat: none
 baodian_02_00
   rotate: false
-  xy: 162, 34
+  xy: 162, 290
   size: 164, 220
   orig: 165, 247
   offset: 0, 0
   index: -1
 baodian_02_01
   rotate: false
-  xy: 2, 9
+  xy: 2, 265
   size: 158, 245
   orig: 165, 247
   offset: 4, 1
   index: -1
 baodian_02_02
-  rotate: true
-  xy: 328, 115
+  rotate: false
+  xy: 2, 20
   size: 139, 243
   orig: 165, 247
   offset: 12, 4
   index: -1
 baodian_02_03
-  rotate: true
-  xy: 573, 173
+  rotate: false
+  xy: 328, 318
   size: 81, 192
   orig: 165, 247
   offset: 39, 55
   index: -1
 body
   rotate: false
-  xy: 900, 168
-  size: 115, 86
+  xy: 143, 145
+  size: 117, 88
   orig: 117, 88
+  offset: 0, 0
+  index: -1
+body-back
+  rotate: false
+  xy: 693, 297
+  size: 122, 91
+  orig: 122, 91
+  offset: 0, 0
+  index: -1
+body-front
+  rotate: false
+  xy: 817, 295
+  size: 120, 89
+  orig: 122, 91
+  offset: 1, 1
+  index: -1
+duqi-front
+  rotate: false
+  xy: 328, 292
+  size: 19, 24
+  orig: 21, 26
   offset: 1, 1
   index: -1
 ear1
   rotate: false
-  xy: 419, 3
-  size: 44, 39
+  xy: 865, 228
+  size: 46, 41
   orig: 46, 41
+  offset: 0, 0
+  index: -1
+ear1-back
+  rotate: true
+  xy: 913, 242
+  size: 51, 44
+  orig: 64, 44
+  offset: 0, 0
+  index: -1
+ear1-front
+  rotate: false
+  xy: 913, 198
+  size: 46, 42
+  orig: 48, 44
   offset: 1, 1
   index: -1
 ear2
   rotate: true
-  xy: 526, 22
+  xy: 309, 5
   size: 37, 41
   orig: 39, 43
   offset: 1, 1
   index: -1
+ear2-back
+  rotate: false
+  xy: 324, 177
+  size: 44, 47
+  orig: 44, 47
+  offset: 0, 0
+  index: -1
+ear2-front
+  rotate: false
+  xy: 961, 196
+  size: 42, 45
+  orig: 44, 47
+  offset: 1, 1
+  index: -1
 eye1
   rotate: false
-  xy: 653, 51
+  xy: 991, 307
   size: 24, 20
   orig: 26, 22
   offset: 1, 1
   index: -1
+eye1-front
+  rotate: false
+  xy: 656, 302
+  size: 25, 21
+  orig: 27, 23
+  offset: 1, 1
+  index: -1
 eye2
   rotate: true
-  xy: 750, 155
+  xy: 24, 2
   size: 16, 13
   orig: 18, 15
   offset: 1, 1
   index: -1
+eye2-front
+  rotate: false
+  xy: 2, 2
+  size: 20, 16
+  orig: 22, 18
+  offset: 1, 1
+  index: -1
 gun
   rotate: false
-  xy: 328, 44
+  xy: 820, 441
   size: 152, 69
   orig: 154, 71
   offset: 1, 1
   index: -1
+gun-back
+  rotate: false
+  xy: 255, 21
+  size: 52, 122
+  orig: 54, 124
+  offset: 1, 1
+  index: -1
+gun-front
+  rotate: true
+  xy: 553, 261
+  size: 62, 101
+  orig: 64, 103
+  offset: 1, 1
+  index: -1
 hair
   rotate: false
-  xy: 328, 2
-  size: 39, 40
+  xy: 309, 88
+  size: 41, 42
   orig: 41, 42
+  offset: 0, 0
+  index: -1
+hair-back
+  rotate: true
+  xy: 510, 205
+  size: 47, 39
+  orig: 47, 39
+  offset: 0, 0
+  index: -1
+hair-front
+  rotate: false
+  xy: 596, 214
+  size: 45, 45
+  orig: 47, 47
   offset: 1, 1
   index: -1
 head
   rotate: false
-  xy: 767, 134
+  xy: 687, 390
   size: 131, 120
   orig: 133, 122
   offset: 1, 1
   index: -1
-left arm1
+head-back
+  rotate: false
+  xy: 411, 386
+  size: 136, 124
+  orig: 138, 126
+  offset: 1, 1
+  index: -1
+head-front
   rotate: false
-  xy: 264, 5
+  xy: 549, 386
+  size: 136, 124
+  orig: 138, 126
+  offset: 1, 1
+  index: -1
+left arm1
+  rotate: true
+  xy: 523, 278
   size: 43, 27
   orig: 45, 29
   offset: 1, 1
   index: -1
-left arm2
+left arm1-back
   rotate: false
-  xy: 706, 75
-  size: 41, 47
+  xy: 324, 132
+  size: 43, 43
+  orig: 45, 45
+  offset: 1, 1
+  index: -1
+left arm2
+  rotate: true
+  xy: 408, 209
+  size: 43, 49
   orig: 43, 49
+  offset: 0, 0
+  index: -1
+left arm2-back
+  rotate: true
+  xy: 752, 246
+  size: 49, 57
+  orig: 50, 57
+  offset: 1, 0
+  index: -1
+left arm2-front
+  rotate: false
+  xy: 974, 455
+  size: 48, 55
+  orig: 50, 57
   offset: 1, 1
   index: -1
 left feet
-  rotate: true
-  xy: 482, 21
+  rotate: false
+  xy: 309, 44
   size: 38, 42
   orig: 40, 44
   offset: 1, 1
   index: -1
+left feet-back
+  rotate: true
+  xy: 693, 208
+  size: 41, 47
+  orig: 43, 49
+  offset: 1, 1
+  index: -1
+left feet-front
+  rotate: true
+  xy: 742, 203
+  size: 41, 47
+  orig: 43, 49
+  offset: 1, 1
+  index: -1
 left hand
   rotate: false
-  xy: 900, 134
+  xy: 939, 295
   size: 50, 32
   orig: 52, 34
   offset: 1, 1
   index: -1
+left hand-back
+  rotate: false
+  xy: 297, 235
+  size: 50, 53
+  orig: 52, 55
+  offset: 1, 1
+  index: -1
+left hand-front
+  rotate: false
+  xy: 262, 170
+  size: 60, 63
+  orig: 62, 65
+  offset: 1, 1
+  index: -1
 mouth
   rotate: false
-  xy: 369, 5
+  xy: 643, 212
   size: 48, 37
   orig: 50, 39
   offset: 1, 1
   index: -1
+mouth-front
+  rotate: false
+  xy: 811, 230
+  size: 52, 39
+  orig: 54, 41
+  offset: 1, 1
+  index: -1
 right arm1
   rotate: false
-  xy: 612, 33
+  xy: 352, 4
   size: 39, 38
   orig: 41, 40
   offset: 1, 1
   index: -1
+right arm1-front
+  rotate: false
+  xy: 791, 185
+  size: 47, 43
+  orig: 47, 43
+  offset: 0, 0
+  index: -1
 right arm2
-  rotate: true
-  xy: 569, 22
+  rotate: false
+  xy: 349, 44
   size: 37, 41
   orig: 39, 43
   offset: 1, 1
   index: -1
+right arm2-back
+  rotate: true
+  xy: 349, 265
+  size: 51, 60
+  orig: 51, 60
+  offset: 0, 0
+  index: -1
+right arm2-front
+  rotate: true
+  xy: 349, 226
+  size: 37, 57
+  orig: 38, 57
+  offset: 1, 0
+  index: -1
 right feet
-  rotate: false
-  xy: 706, 124
+  rotate: true
+  xy: 840, 184
   size: 42, 47
   orig: 44, 49
   offset: 1, 1
   index: -1
-right hand
+right feet-back
+  rotate: true
+  xy: 459, 208
+  size: 44, 49
+  orig: 46, 51
+  offset: 1, 1
+  index: -1
+right feet-front
   rotate: false
-  xy: 952, 129
+  xy: 551, 211
+  size: 43, 48
+  orig: 45, 50
+  offset: 1, 1
+  index: -1
+right hand
+  rotate: true
+  xy: 352, 87
   size: 43, 37
   orig: 45, 39
   offset: 1, 1
   index: -1
+right hand-front
+  rotate: true
+  xy: 959, 243
+  size: 50, 42
+  orig: 52, 44
+  offset: 1, 1
+  index: -1
 shadow
   rotate: false
-  xy: 162, 10
+  xy: 811, 271
   size: 100, 22
   orig: 102, 24
   offset: 1, 1
   index: -1
 trousers
-  rotate: false
-  xy: 482, 61
-  size: 128, 52
+  rotate: true
+  xy: 143, 13
+  size: 130, 54
   orig: 130, 54
+  offset: 0, 0
+  index: -1
+trousers-back
+  rotate: false
+  xy: 820, 386
+  size: 133, 53
+  orig: 135, 55
   offset: 1, 1
   index: -1
-weijin1
+trousers-front
   rotate: false
-  xy: 573, 117
+  xy: 162, 235
+  size: 133, 53
+  orig: 135, 55
+  offset: 1, 1
+  index: -1
+weijin1
+  rotate: true
+  xy: 199, 12
   size: 131, 54
   orig: 133, 56
   offset: 1, 1
   index: -1
+weijin1-back
+  rotate: false
+  xy: 411, 323
+  size: 140, 61
+  orig: 140, 61
+  offset: 0, 0
+  index: -1
+weijin1-front
+  rotate: false
+  xy: 553, 325
+  size: 138, 59
+  orig: 138, 59
+  offset: 0, 0
+  index: -1
 weijjin2
   rotate: true
-  xy: 612, 73
-  size: 42, 92
+  xy: 656, 251
+  size: 44, 94
   orig: 44, 94
-  offset: 1, 1
+  offset: 0, 0
+  index: -1
+weijjin2-back
+  rotate: false
+  xy: 955, 329
+  size: 67, 110
+  orig: 67, 110
+  offset: 0, 0
+  index: -1
+weijjin2-front
+  rotate: true
+  xy: 411, 254
+  size: 67, 110
+  orig: 67, 110
+  offset: 0, 0
   index: -1

Файловите разлики са ограничени, защото са твърде много
+ 4474 - 612
assets/package/spine/zongxiong/zongxiong.json


BIN
assets/package/spine/zongxiong/zongxiong.png


+ 26 - 26
assets/package/spine/zongxiong/zongxiong.png.meta

@@ -42,14 +42,14 @@
         "trimType": "auto",
         "trimThreshold": 1,
         "rotated": false,
-        "offsetX": -3.5,
+        "offsetX": 0,
         "offsetY": 0,
         "trimX": 2,
         "trimY": 2,
-        "width": 1013,
-        "height": 252,
+        "width": 1020,
+        "height": 508,
         "rawWidth": 1024,
-        "rawHeight": 256,
+        "rawHeight": 512,
         "borderTop": 0,
         "borderBottom": 0,
         "borderLeft": 0,
@@ -61,17 +61,17 @@
         "meshType": 0,
         "vertices": {
           "rawPosition": [
-            -506.5,
-            -126,
+            -510,
+            -254,
             0,
-            506.5,
-            -126,
+            510,
+            -254,
             0,
-            -506.5,
-            126,
+            -510,
+            254,
             0,
-            506.5,
-            126,
+            510,
+            254,
             0
           ],
           "indexes": [
@@ -84,32 +84,32 @@
           ],
           "uv": [
             2,
-            254,
-            1015,
-            254,
+            510,
+            1022,
+            510,
             2,
             2,
-            1015,
+            1022,
             2
           ],
           "nuv": [
             0.001953125,
-            0.0078125,
-            0.9912109375,
-            0.0078125,
+            0.00390625,
+            0.998046875,
+            0.00390625,
             0.001953125,
-            0.9921875,
-            0.9912109375,
-            0.9921875
+            0.99609375,
+            0.998046875,
+            0.99609375
           ],
           "minPos": [
-            -506.5,
-            -126,
+            -510,
+            -254,
             0
           ],
           "maxPos": [
-            506.5,
-            126,
+            510,
+            254,
             0
           ]
         },

+ 1 - 0
assets/script/game/common/LoginManager.ts

@@ -11,6 +11,7 @@ import { NetManager, NetMgr } from "./NetManager";
 import { md5 } from "../../framework/storage/Md5";
 import { TimeUtil } from "../../framework/util/TimeUtil";
 import { MailData } from "../data/MailData";
+import { RoleData } from "../data/RoleData";
 
 
 const Macro = {

+ 280 - 0
assets/script/game/data/AccountData.ts

@@ -0,0 +1,280 @@
+import { Framework } from "../../framework/Framework";
+import { ObjectUtil } from "../../framework/util/ObjectUtil";
+import { StringUtil } from "../../framework/util/StringUtil";
+import { GameEvent } from "./GameEvent";
+
+interface Account {
+    openId: string;
+    openKey: string;
+    sdkUid;
+    cdkeyUrl: string;
+    version: string;
+    cdnUrl: string;
+    bulletin: string;
+    platform: string;
+    serverOpenTime: number;
+    serverOpenHour: number;
+    white: number;
+    openCdkey: number;
+    openLogout: number;
+    download: string;
+}
+
+interface Role {
+    sid: number;
+    headpic: number;
+    role_name: string;
+    uid: string;
+    lv: number;
+    last_time: string;
+    name?: string;
+    status?: number;
+    host?: string;
+    gs?: number;
+}
+
+interface Server {
+    sid: number;
+    name: string;
+    status: number;
+    host: string;
+    gs: number;
+}
+
+// type ServerData = {
+//     role_list?: { id: string; pic: string; name: string; uid: string; lv: string; last_time: string }[];
+//     server_list?: { id: string; name: string; status: string; host: string }[];
+//     lastsid?: number;
+// };
+
+class Data {
+    private _class_id = StringUtil.getUUID(32);
+    //需要保存的数据
+    save_data = new Map<string, any>();
+
+    UserID: any = null;
+
+    private _roleServers: Role[] = [];
+    private _servers: Server[] = [];
+    private _recmdServers: Server[] = [];
+
+    //账号信息
+    private _accountData: Account = {
+        openId: '',
+        openKey: '',
+        sdkUid: '',
+        cdkeyUrl: '',
+        version: '',
+        cdnUrl: '',
+        bulletin: '',
+        platform: '',
+        serverOpenTime: 0,
+        serverOpenHour: 0,
+        white: 0,
+        openCdkey: 0,
+        openLogout: 0,
+        download: '',
+    };
+    //最后一次登录服id
+    // private _sid: number = this.save_locally('lastsid',null,-1);;
+    private _sid: number = -1;
+    //推荐区域
+    private _areaId: string = '1';
+
+
+    _saveData(key: string, value: any) {
+        this.save_data.delete(key);
+        if (typeof value === 'object') {
+            try {
+                if (value instanceof Map) {
+                    let temp = ObjectUtil.mapToObject(value)
+                    value = JSON.stringify(temp);
+                } else {
+                    value = JSON.stringify(value);
+                }
+            } catch (e) {
+                console.error(`解析失败,str = ${value}`);
+                return;
+            }
+        } else {
+            value = value + "";
+        }
+        this.save_data.set(key, value);
+        Framework.storage.set('save_data', this.save_data);
+    }
+
+    private _mapToObject(map: any) {
+        let obj = {};
+        for (let [k, v] of map) {
+            obj[k] = v;
+        }
+        return obj;
+    }
+
+    get serverTime() {
+        return Date.now()
+    }
+
+
+    parseLoginData(data) {
+        this._roleServers = [];
+        this._servers = [];
+        this._recmdServers = [];
+        this.initAccount(data);
+        this.initRoles(data.role_list);
+        if (data.server_list) {
+            this.initServers(data.server_list);
+        }
+        if (data.lastsid && data.lastsid > 0) {
+            this.setSid(data.lastsid, true);
+        }
+    }
+
+    setSid(sid: number, flag: boolean): void {
+        this._sid = sid;
+        if (flag) {
+            this._saveData('lastsid',sid);
+        }
+    }
+
+    getSid(){
+        return this._sid;
+    }
+
+    setAreanId(areanId: string): void {
+        this._areaId = areanId;
+    }
+
+    getAreanId(){
+        return this._areaId;
+    }
+
+    private initAccount(data) {
+        if (data.openid) {
+            this._accountData.openId = data.openid;
+        }
+        if (data.openkey) {
+            this._accountData.openKey = data.openkey;
+        }
+        if (data.sdkuid) {
+            this._accountData.sdkUid = data.sdkuid;
+        }
+        if (data.cdkey) {
+            this._accountData.cdkeyUrl = data.cdkey;
+        }
+        if (data.version) {
+            this._accountData.version = data.version;
+        }
+        if (data.cdn) {
+            this._accountData.cdnUrl = data.cdn;
+        }
+        if (data.bulletin) {
+            this._accountData.bulletin = data.bulletin;
+        }
+        if (data.platform) {
+            this._accountData.platform = data.platform;
+        }
+        if (data.server_open_time) {
+            this._accountData.serverOpenTime = data.server_open_time;
+        }
+        if (data.server_open_hour) {
+            this._accountData.serverOpenHour = data.server_open_hour;
+        }
+        if (data.white) {
+            this._accountData.white = data.white;
+        }
+        if (data.open_cdkey) {
+            this._accountData.openCdkey = data.open_cdkey;
+        }
+        if (data.open_logout) {
+            this._accountData.openLogout = data.open_logout;
+        }
+        if (data.download) {
+            this._accountData.download = data.download;
+        }
+    }
+
+    private initRoles(roleList?: { id: string; pic: string; name: string; uid: string; lv: string; last_time: string }[]): void {
+        if (roleList) {
+            for (const key in roleList) {
+                let v = roleList[key];
+                const t: Role = {
+                    sid: parseInt(v.id),
+                    headpic: parseInt(v.pic),
+                    role_name: v.name,
+                    uid: v.uid,
+                    lv: parseInt(v.lv),
+                    last_time: v.last_time,
+                };
+                this._roleServers.push(t);
+            }
+        }
+    }
+
+    private initServers(serverList: { id: string; name: string; status: string; host: string }[]): void {
+        for (const key in serverList) {
+            let v = serverList[key];
+            const tab: Server = {
+                sid: parseInt(v.id),
+                name: v.name,
+                status: parseInt(v.status),
+                host: v.host,
+                gs: parseInt(v.status) * 10000 + parseInt(v.id),
+            };
+
+            this._servers.push(tab);
+
+            if (tab.status === 2) {
+                this._recmdServers.push(tab);
+            }
+
+            for (const role of this._roleServers) {
+                if (role.sid === tab.sid) {
+                    role.name = tab.name;
+                    role.status = tab.status;
+                    role.host = tab.host;
+                    role.gs = tab.gs;
+                    break;
+                }
+            }
+        }
+
+        this._roleServers.sort((a, b) => (a.last_time > b.last_time ? -1 : 1));
+        this._servers.sort((a, b) => (a.gs > b.gs ? -1 : 1));
+        this._recmdServers.sort((a, b) => (a.gs > b.gs ? -1 : 1));
+    }
+
+    getAccountData() {
+        return this._accountData;
+    }
+
+    getAllServers() {
+        return this._servers;
+    }
+
+
+    getRoleServers() {
+        return this._roleServers;
+    }
+
+
+    getRecmdServers() {
+        return this._recmdServers;
+    }
+
+    getServerBySid(sid: number): Server | undefined {
+        let server = this._servers.find(v => v.sid === sid);
+
+        if (!server) {
+            if (this._servers.length <= 0) {
+                // PromptMgr.showTips(Util.getString('110573'));
+            }
+            this._sid = this._servers[0]?.sid;
+            server = this._servers[0];
+        }
+
+        return server;
+    }
+}
+
+export let AccountData = new Data;

+ 9 - 0
assets/script/game/data/AccountData.ts.meta

@@ -0,0 +1,9 @@
+{
+  "ver": "4.0.24",
+  "importer": "typescript",
+  "imported": true,
+  "uuid": "bf9e608c-a715-4e71-a1b3-ad39feb700a9",
+  "files": [],
+  "subMetas": {},
+  "userData": {}
+}

+ 9 - 0
assets/script/game/data/RoleData.ts

@@ -0,0 +1,9 @@
+import { UserData } from "./UserData";
+
+
+
+class Data {
+    
+}
+
+export let RoleData = new Data;

+ 9 - 0
assets/script/game/data/RoleData.ts.meta

@@ -0,0 +1,9 @@
+{
+  "ver": "4.0.24",
+  "importer": "typescript",
+  "imported": true,
+  "uuid": "39361198-bbf4-41bf-a7ed-c9be760e401f",
+  "files": [],
+  "subMetas": {},
+  "userData": {}
+}

+ 1 - 232
assets/script/game/data/UserData.ts

@@ -9,49 +9,6 @@ export const DataKey = {
     UserID: 'UserID',                       //用户ID
 };
 
-interface Account {
-    openId: string;
-    openKey: string;
-    sdkUid;
-    cdkeyUrl: string;
-    version: string;
-    cdnUrl: string;
-    bulletin: string;
-    platform: string;
-    serverOpenTime: number;
-    serverOpenHour: number;
-    white: number;
-    openCdkey: number;
-    openLogout: number;
-    download: string;
-}
-
-interface Role {
-    sid: number;
-    headpic: number;
-    role_name: string;
-    uid: string;
-    lv: number;
-    last_time: string;
-    name?: string;
-    status?: number;
-    host?: string;
-    gs?: number;
-}
-
-interface Server {
-    sid: number;
-    name: string;
-    status: number;
-    host: string;
-    gs: number;
-}
-
-// type ServerData = {
-//     role_list?: { id: string; pic: string; name: string; uid: string; lv: string; last_time: string }[];
-//     server_list?: { id: string; name: string; status: string; host: string }[];
-//     lastsid?: number;
-// };
 
 class Data {
     private _class_id = StringUtil.getUUID(32);
@@ -60,34 +17,10 @@ class Data {
 
     UserID: any = null;
 
-    private _roleServers: Role[] = [];
-    private _servers: Server[] = [];
-    private _recmdServers: Server[] = [];
 
-    //账号信息
-    private _accountData: Account = {
-        openId: '',
-        openKey: '',
-        sdkUid: '',
-        cdkeyUrl: '',
-        version: '',
-        cdnUrl: '',
-        bulletin: '',
-        platform: '',
-        serverOpenTime: 0,
-        serverOpenHour: 0,
-        white: 0,
-        openCdkey: 0,
-        openLogout: 0,
-        download: '',
-    };
-    //最后一次登录服id
-    private _sid: number = this.save_locally('lastsid',null,-1);;
-    //推荐区域
-    private _areaId: string = '1';
 
     init(data: any) {
-        Framework.storage.setUser(this._accountData.openId);
+        Framework.storage.setUser(data.openId);
         //将服务器的数据替换到本地
         // let save = new Map<string, string>();
         for (let key in data) {
@@ -149,170 +82,6 @@ class Data {
         return obj;
     }
 
-    getServerTime() {
-        return Date.now()
-    }
-
-
-    parseLoginData(data) {
-        this._roleServers = [];
-        this._servers = [];
-        this._recmdServers = [];
-        this.initAccount(data);
-        this.initRoles(data.role_list);
-        if (data.server_list) {
-            this.initServers(data.server_list);
-        }
-        if (data.lastsid && data.lastsid > 0) {
-            UserData.setSid(data.lastsid, true);
-        }
-    }
-
-    setSid(sid: number, flag: boolean): void {
-        this._sid = sid;
-        if (flag) {
-            this._saveData('lastsid',sid);
-        }
-    }
-
-    getSid(){
-        return this._sid;
-    }
-
-    setAreanId(areanId: string): void {
-        this._areaId = areanId;
-    }
-
-    getAreanId(){
-        return this._areaId;
-    }
-
-    private initAccount(data) {
-        if (data.openid) {
-            this._accountData.openId = data.openid;
-        }
-        if (data.openkey) {
-            this._accountData.openKey = data.openkey;
-        }
-        if (data.sdkuid) {
-            this._accountData.sdkUid = data.sdkuid;
-        }
-        if (data.cdkey) {
-            this._accountData.cdkeyUrl = data.cdkey;
-        }
-        if (data.version) {
-            this._accountData.version = data.version;
-        }
-        if (data.cdn) {
-            this._accountData.cdnUrl = data.cdn;
-        }
-        if (data.bulletin) {
-            this._accountData.bulletin = data.bulletin;
-        }
-        if (data.platform) {
-            this._accountData.platform = data.platform;
-        }
-        if (data.server_open_time) {
-            this._accountData.serverOpenTime = data.server_open_time;
-        }
-        if (data.server_open_hour) {
-            this._accountData.serverOpenHour = data.server_open_hour;
-        }
-        if (data.white) {
-            this._accountData.white = data.white;
-        }
-        if (data.open_cdkey) {
-            this._accountData.openCdkey = data.open_cdkey;
-        }
-        if (data.open_logout) {
-            this._accountData.openLogout = data.open_logout;
-        }
-        if (data.download) {
-            this._accountData.download = data.download;
-        }
-    }
-
-    private initRoles(roleList?: { id: string; pic: string; name: string; uid: string; lv: string; last_time: string }[]): void {
-        if (roleList) {
-            for (const key in roleList) {
-                let v = roleList[key];
-                const t: Role = {
-                    sid: parseInt(v.id),
-                    headpic: parseInt(v.pic),
-                    role_name: v.name,
-                    uid: v.uid,
-                    lv: parseInt(v.lv),
-                    last_time: v.last_time,
-                };
-                this._roleServers.push(t);
-            }
-        }
-    }
-
-    private initServers(serverList: { id: string; name: string; status: string; host: string }[]): void {
-        for (const key in serverList) {
-            let v = serverList[key];
-            const tab: Server = {
-                sid: parseInt(v.id),
-                name: v.name,
-                status: parseInt(v.status),
-                host: v.host,
-                gs: parseInt(v.status) * 10000 + parseInt(v.id),
-            };
-
-            this._servers.push(tab);
-
-            if (tab.status === 2) {
-                this._recmdServers.push(tab);
-            }
-
-            for (const role of this._roleServers) {
-                if (role.sid === tab.sid) {
-                    role.name = tab.name;
-                    role.status = tab.status;
-                    role.host = tab.host;
-                    role.gs = tab.gs;
-                    break;
-                }
-            }
-        }
-
-        this._roleServers.sort((a, b) => (a.last_time > b.last_time ? -1 : 1));
-        this._servers.sort((a, b) => (a.gs > b.gs ? -1 : 1));
-        this._recmdServers.sort((a, b) => (a.gs > b.gs ? -1 : 1));
-    }
-
-    getAccountData() {
-        return this._accountData;
-    }
-
-    getAllServers() {
-        return this._servers;
-    }
-
-
-    getRoleServers() {
-        return this._roleServers;
-    }
-
-
-    getRecmdServers() {
-        return this._recmdServers;
-    }
-
-    getServerBySid(sid: number): Server | undefined {
-        let server = this._servers.find(v => v.sid === sid);
-
-        if (!server) {
-            if (this._servers.length <= 0) {
-                // PromptMgr.showTips(Util.getString('110573'));
-            }
-            this._sid = this._servers[0]?.sid;
-            server = this._servers[0];
-        }
-
-        return server;
-    }
 }
 
 export let UserData = new Data;

+ 9 - 0
assets/script/game/manager.meta

@@ -0,0 +1,9 @@
+{
+  "ver": "1.2.0",
+  "importer": "directory",
+  "imported": true,
+  "uuid": "cbe0fb35-59d9-4255-9ef3-0d60a3c50fcb",
+  "files": [],
+  "subMetas": {},
+  "userData": {}
+}

+ 9 - 0
assets/script/game/manager/MailManager.ts.meta

@@ -0,0 +1,9 @@
+{
+  "ver": "4.0.24",
+  "importer": "typescript",
+  "imported": true,
+  "uuid": "adea2e9f-b09c-4240-be23-b8704a833cd6",
+  "files": [],
+  "subMetas": {},
+  "userData": {}
+}

+ 11 - 9
assets/script/game/ui/login/LoginUI.ts

@@ -8,6 +8,7 @@ import { BaseView } from '../../../framework/layer/BaseView';
 import { AsyncQueue, NextFunction } from '../../../framework/queue/AsyncQueue';
 import { BulletlPool, DecoratePool, FloatTextPool, GoodsPool, IconPool, MaterialPool, PopPool, RewardPool, RolePool, TipsPool } from '../../common/Pool';
 import { UserData } from '../../data/UserData';
+import { AccountData } from '../../data/AccountData.ts';
 import { LoginMgr } from '../../common/LoginManager';
 import { StringUtil } from '../../../framework/util/StringUtil';
 import { GameEvent } from '../../data/GameEvent';
@@ -113,7 +114,8 @@ export class LoginUI extends BaseView {
 		let uid = UserData.save_locally('UserID')
 		let choose_server = UserData.save_locally('choose_server', null, {})
 		let lastArea = UserData.save_locally('LastArea', null, '1');
-		UserData.setAreanId(lastArea);
+		AccountData.setAreanId(lastArea);
+		AccountData.setSid(UserData.save_locally('lastsid',null,-1))
 
 		this.loginData = {
 			url: getParameterByName("url") || ServergatewaylistConf.data.debug['Url' + lastArea],
@@ -188,7 +190,7 @@ export class LoginUI extends BaseView {
 		}
 
 		LoginMgr.getGateway(_gateway_data, this.serverData.host, () => {
-			let lastArea = UserData.getAreanId();
+			let lastArea = AccountData.getAreanId();
 			UserData.save_locally('LastArea', lastArea);
 			if (UserData['mark'].first_login && UserData['mark'].first_login == 1) {
 
@@ -359,8 +361,8 @@ export class LoginUI extends BaseView {
 	private getServerList() {
 		LoginMgr.getServerList((data) => {
 			if (data) {
-				UserData.parseLoginData(data);
-				this.accountData = UserData.getAccountData()
+				AccountData.parseLoginData(data);
+				this.accountData = AccountData.getAccountData()
 				this.updateCurServer()
 			}
 		}, this.loginData)
@@ -369,13 +371,13 @@ export class LoginUI extends BaseView {
 	updateCurServer(isRefresh?: boolean) {
 		let sid = -1;
 		if (isRefresh) {
-			sid = UserData.getSid();
+			sid = AccountData.getSid();
 		}
 		if (sid == -1) {
-			const roles = UserData.getRoleServers();
+			const roles = AccountData.getRoleServers();
 			if (roles.length === 0) {
 				// 无角色,寻找推荐服务器
-				const recmds = UserData.getRecmdServers();
+				const recmds = AccountData.getRecmdServers();
 				for (const v of recmds) {
 					if (v && v.sid) {
 						sid = v.sid;
@@ -393,14 +395,14 @@ export class LoginUI extends BaseView {
 			}
 
 		}
-		let serverData = UserData.getServerBySid(sid)
+		let serverData = AccountData.getServerBySid(sid)
 		if (!serverData) {
 			return;
 		}
 
 		this.serverData = serverData;
 
-		UserData.setSid(serverData['sid'], false);
+		AccountData.setSid(serverData['sid'], false);
 		this.serverIndex.string = `${serverData.sid}${StringUtil.getLanguageData('服')}`;
 		this.serverName.string = serverData.name;
 

+ 7 - 6
assets/script/game/ui/login/SelectServer.ts

@@ -9,6 +9,7 @@ import { StringUtil } from '../../../framework/util/StringUtil';
 import { GameEvent } from '../../data/GameEvent';
 import { LoginMgr } from '../../common/LoginManager';
 import { ServergatewaylistConf } from '../../config/ServergatewaylistConf';
+import { AccountData } from '../../data/AccountData.ts';
 const { ccclass, property } = _decorator;
 
 @ccclass('SelectServer')
@@ -44,7 +45,7 @@ export class SelectServer extends BaseView {
 		this.titlteTx.string = StringUtil.getLanguageData('选择服务器');
 
 		Framework.event.addEvent(GameEvent.SelectServer, () => {
-			UserData.setAreanId(this.areaId);
+			AccountData.setAreanId(this.areaId);
 			Framework.layer.close(this);
 		}, this);
 
@@ -108,7 +109,7 @@ export class SelectServer extends BaseView {
 
 	updateUI() {
 		this.groupList = [];
-		let roles = UserData.getRoleServers();
+		let roles = AccountData.getRoleServers();
 		if (roles.length != 0) {
 			let roleList = [];
 			for (const v of roles) {
@@ -119,7 +120,7 @@ export class SelectServer extends BaseView {
 			this.groupList.push({ name: 'lately', data: [roleList[0]] });
 			this.groupList.push({ name: 'user', data: roleList });
 		} else {
-			let recmds = UserData.getRecmdServers();
+			let recmds = AccountData.getRecmdServers();
 			if (recmds.length != 0) {
 				let recommendList = [];
 				for (const v of recmds) {
@@ -131,7 +132,7 @@ export class SelectServer extends BaseView {
 			}
 		}
 
-		let allList = UserData.getAllServers();
+		let allList = AccountData.getAllServers();
 		let num = 0;
 		let idx = 1;
 		let serverList = {};
@@ -163,10 +164,10 @@ export class SelectServer extends BaseView {
 				url: url,
 				uid: UserData.save_locally('UserID'),
 			}
-			UserData.setAreanId(this.areaId);
+			AccountData.setAreanId(this.areaId);
 			LoginMgr.getServerList((data) => {
 				if (data) {
-					UserData.parseLoginData(data);
+					AccountData.parseLoginData(data);
 					this.updateUI();
 				}
 			}, loginData)

+ 2 - 2
assets/script/game/ui/tower/node/Hero.ts

@@ -69,7 +69,7 @@ export class Hero extends BattleNodeBase {
         this.modelSpine.setEventListener(this.actionCallback.bind(this))
 
         this.battleEventManager = BattleEventManager.instance
-        let bone1 = this.modelSpine.findBone("gun1")
+        let bone1 = this.modelSpine.findBone("gun")
         if(bone1){
             this.attackBone1= bone1
             let rot = this.attackBone1.rotation
@@ -179,7 +179,7 @@ export class Hero extends BattleNodeBase {
             this.attackBone4.rotation = 0
 
             if(rotationAngleDegrees<67.5 || rotationAngleDegrees > 292.5){
-                this.attackBone1.rotation = rotationAngleDegrees+this.attackAngle1
+                this.attackBone1.rotation = 360-(rotationAngleDegrees+this.attackAngle1)
                 if(this.modelSpine.animation != "attack_right")
                     this.modelSpine.setAnimation(0, 'attack_right', true);
             }

Някои файлове не бяха показани, защото твърде много файлове са промени