This commit is contained in:
DESKTOP-5RP3AKU\Jisol 2023-11-05 03:26:09 +08:00
parent ec4d6a15d7
commit 0014eff5e0
4034 changed files with 623229 additions and 41 deletions

View File

@ -0,0 +1,9 @@
{
"ver": "1.2.0",
"importer": "directory",
"imported": true,
"uuid": "8aad49c8-3dce-4946-aed9-9204e08a3372",
"files": [],
"subMetas": {},
"userData": {}
}

View File

@ -0,0 +1,9 @@
{
"ver": "1.2.0",
"importer": "directory",
"imported": true,
"uuid": "be07960d-4bad-475c-8cd8-893ed0557a99",
"files": [],
"subMetas": {},
"userData": {}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

View File

@ -0,0 +1,134 @@
{
"ver": "1.0.26",
"importer": "image",
"imported": true,
"uuid": "76aadab4-10a3-4c8e-b4b9-dce7807050fc",
"files": [
".json",
".png"
],
"subMetas": {
"6c48a": {
"importer": "texture",
"uuid": "76aadab4-10a3-4c8e-b4b9-dce7807050fc@6c48a",
"displayName": "bg",
"id": "6c48a",
"name": "texture",
"userData": {
"wrapModeS": "clamp-to-edge",
"wrapModeT": "clamp-to-edge",
"imageUuidOrDatabaseUri": "76aadab4-10a3-4c8e-b4b9-dce7807050fc",
"isUuid": true,
"visible": false,
"minfilter": "linear",
"magfilter": "linear",
"mipfilter": "none",
"anisotropy": 0
},
"ver": "1.0.22",
"imported": true,
"files": [
".json"
],
"subMetas": {}
},
"f9941": {
"importer": "sprite-frame",
"uuid": "76aadab4-10a3-4c8e-b4b9-dce7807050fc@f9941",
"displayName": "bg",
"id": "f9941",
"name": "spriteFrame",
"userData": {
"trimType": "auto",
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 658,
"height": 1425,
"rawWidth": 658,
"rawHeight": 1425,
"borderTop": 0,
"borderBottom": 0,
"borderLeft": 0,
"borderRight": 0,
"packable": true,
"pixelsToUnit": 100,
"pivotX": 0.5,
"pivotY": 0.5,
"meshType": 0,
"vertices": {
"rawPosition": [
-329,
-712.5,
0,
329,
-712.5,
0,
-329,
712.5,
0,
329,
712.5,
0
],
"indexes": [
0,
1,
2,
2,
1,
3
],
"uv": [
0,
1425,
658,
1425,
0,
0,
658,
0
],
"nuv": [
0,
0,
1,
0,
0,
1,
1,
1
],
"minPos": [
-329,
-712.5,
0
],
"maxPos": [
329,
712.5,
0
]
},
"isUuid": true,
"imageUuidOrDatabaseUri": "76aadab4-10a3-4c8e-b4b9-dce7807050fc@6c48a",
"atlasUuid": ""
},
"ver": "1.0.12",
"imported": true,
"files": [
".json"
],
"subMetas": {}
}
},
"userData": {
"type": "sprite-frame",
"hasAlpha": false,
"fixAlphaTransparencyArtifacts": false,
"redirect": "76aadab4-10a3-4c8e-b4b9-dce7807050fc@f9941"
}
}

View File

@ -63,7 +63,7 @@
},
"_lpos": {
"__type__": "cc.Vec3",
"x": 0,
"x": 720,
"y": 0,
"z": 0
},
@ -3095,8 +3095,8 @@
},
"_alignFlags": 45,
"_target": null,
"_left": 0,
"_right": 0,
"_left": 720,
"_right": -720,
"_top": 0,
"_bottom": 0,
"_horizontalCenter": 0,

View File

@ -0,0 +1,9 @@
{
"ver": "1.2.0",
"importer": "directory",
"imported": true,
"uuid": "8a40f59c-0b6f-4904-9a13-29d84a8c03c7",
"files": [],
"subMetas": {},
"userData": {}
}

View File

@ -0,0 +1,819 @@
[
{
"__type__": "cc.Prefab",
"_name": "LoadingView",
"_objFlags": 0,
"__editorExtras__": {},
"_native": "",
"data": {
"__id__": 1
},
"optimizationPolicy": 0,
"persistent": false
},
{
"__type__": "cc.Node",
"_name": "LoadingView",
"_objFlags": 0,
"__editorExtras__": {},
"_parent": null,
"_children": [
{
"__id__": 2
},
{
"__id__": 10
},
{
"__id__": 18
}
],
"_active": true,
"_components": [
{
"__id__": 32
},
{
"__id__": 34
},
{
"__id__": 36
}
],
"_prefab": {
"__id__": 38
},
"_lpos": {
"__type__": "cc.Vec3",
"x": 720,
"y": 0,
"z": 0
},
"_lrot": {
"__type__": "cc.Quat",
"x": 0,
"y": 0,
"z": 0,
"w": 1
},
"_lscale": {
"__type__": "cc.Vec3",
"x": 1,
"y": 1,
"z": 1
},
"_mobility": 0,
"_layer": 33554432,
"_euler": {
"__type__": "cc.Vec3",
"x": 0,
"y": 0,
"z": 0
},
"_id": ""
},
{
"__type__": "cc.Node",
"_name": "bg",
"_objFlags": 0,
"__editorExtras__": {},
"_parent": {
"__id__": 1
},
"_children": [],
"_active": true,
"_components": [
{
"__id__": 3
},
{
"__id__": 5
},
{
"__id__": 7
}
],
"_prefab": {
"__id__": 9
},
"_lpos": {
"__type__": "cc.Vec3",
"x": 0,
"y": 135,
"z": 0
},
"_lrot": {
"__type__": "cc.Quat",
"x": 0,
"y": 0,
"z": 0,
"w": 1
},
"_lscale": {
"__type__": "cc.Vec3",
"x": 1,
"y": 1,
"z": 1
},
"_mobility": 0,
"_layer": 33554432,
"_euler": {
"__type__": "cc.Vec3",
"x": 0,
"y": 0,
"z": 0
},
"_id": ""
},
{
"__type__": "cc.UITransform",
"_name": "",
"_objFlags": 0,
"__editorExtras__": {},
"node": {
"__id__": 2
},
"_enabled": true,
"__prefab": {
"__id__": 4
},
"_contentSize": {
"__type__": "cc.Size",
"width": 720,
"height": 1550
},
"_anchorPoint": {
"__type__": "cc.Vec2",
"x": 0.5,
"y": 0.5
},
"_id": ""
},
{
"__type__": "cc.CompPrefabInfo",
"fileId": "8ftYzn1eBL/KI9lfvctDGE"
},
{
"__type__": "cc.Sprite",
"_name": "",
"_objFlags": 0,
"__editorExtras__": {},
"node": {
"__id__": 2
},
"_enabled": true,
"__prefab": {
"__id__": 6
},
"_customMaterial": null,
"_srcBlendFactor": 2,
"_dstBlendFactor": 4,
"_color": {
"__type__": "cc.Color",
"r": 255,
"g": 255,
"b": 255,
"a": 255
},
"_spriteFrame": {
"__uuid__": "76aadab4-10a3-4c8e-b4b9-dce7807050fc@f9941",
"__expectedType__": "cc.SpriteFrame"
},
"_type": 0,
"_fillType": 0,
"_sizeMode": 0,
"_fillCenter": {
"__type__": "cc.Vec2",
"x": 0,
"y": 0
},
"_fillStart": 0,
"_fillRange": 0,
"_isTrimmedMode": true,
"_useGrayscale": false,
"_atlas": null,
"_id": ""
},
{
"__type__": "cc.CompPrefabInfo",
"fileId": "72OG0M5ThEtaIaziixD4R1"
},
{
"__type__": "cc.Widget",
"_name": "",
"_objFlags": 0,
"__editorExtras__": {},
"node": {
"__id__": 2
},
"_enabled": true,
"__prefab": {
"__id__": 8
},
"_alignFlags": 44,
"_target": null,
"_left": 0,
"_right": 0,
"_top": 0,
"_bottom": 0,
"_horizontalCenter": 0,
"_verticalCenter": 0,
"_isAbsLeft": true,
"_isAbsRight": true,
"_isAbsTop": true,
"_isAbsBottom": true,
"_isAbsHorizontalCenter": true,
"_isAbsVerticalCenter": true,
"_originalWidth": 658,
"_originalHeight": 0,
"_alignMode": 2,
"_lockFlags": 0,
"_id": ""
},
{
"__type__": "cc.CompPrefabInfo",
"fileId": "e3DwW2DJVFXZGua4BUjaXa"
},
{
"__type__": "cc.PrefabInfo",
"root": {
"__id__": 1
},
"asset": {
"__id__": 0
},
"fileId": "85bQbPz7FPkaRPL/kSAwAE",
"instance": null,
"targetOverrides": null,
"nestedPrefabInstanceRoots": null
},
{
"__type__": "cc.Node",
"_name": "Label",
"_objFlags": 0,
"__editorExtras__": {},
"_parent": {
"__id__": 1
},
"_children": [],
"_active": true,
"_components": [
{
"__id__": 11
},
{
"__id__": 13
},
{
"__id__": 15
}
],
"_prefab": {
"__id__": 17
},
"_lpos": {
"__type__": "cc.Vec3",
"x": 0,
"y": -404.685,
"z": 0
},
"_lrot": {
"__type__": "cc.Quat",
"x": 0,
"y": 0,
"z": 0,
"w": 1
},
"_lscale": {
"__type__": "cc.Vec3",
"x": 1,
"y": 1,
"z": 1
},
"_mobility": 0,
"_layer": 33554432,
"_euler": {
"__type__": "cc.Vec3",
"x": 0,
"y": 0,
"z": 0
},
"_id": ""
},
{
"__type__": "cc.UITransform",
"_name": "",
"_objFlags": 0,
"__editorExtras__": {},
"node": {
"__id__": 10
},
"_enabled": true,
"__prefab": {
"__id__": 12
},
"_contentSize": {
"__type__": "cc.Size",
"width": 150,
"height": 56.4
},
"_anchorPoint": {
"__type__": "cc.Vec2",
"x": 0.5,
"y": 0.5
},
"_id": ""
},
{
"__type__": "cc.CompPrefabInfo",
"fileId": "21zdTy8pVIQp5pY9vm9NHt"
},
{
"__type__": "cc.Label",
"_name": "",
"_objFlags": 0,
"__editorExtras__": {},
"node": {
"__id__": 10
},
"_enabled": true,
"__prefab": {
"__id__": 14
},
"_customMaterial": null,
"_srcBlendFactor": 2,
"_dstBlendFactor": 4,
"_color": {
"__type__": "cc.Color",
"r": 255,
"g": 255,
"b": 255,
"a": 255
},
"_string": "加载内容",
"_horizontalAlign": 1,
"_verticalAlign": 1,
"_actualFontSize": 36,
"_fontSize": 36,
"_fontFamily": "Arial",
"_lineHeight": 40,
"_overflow": 0,
"_enableWrapText": true,
"_font": null,
"_isSystemFontUsed": true,
"_spacingX": 0,
"_isItalic": false,
"_isBold": true,
"_isUnderline": false,
"_underlineHeight": 2,
"_cacheMode": 0,
"_id": ""
},
{
"__type__": "cc.CompPrefabInfo",
"fileId": "d7LX6grh1E27UHz++aE7kC"
},
{
"__type__": "cc.LabelOutline",
"_name": "",
"_objFlags": 0,
"__editorExtras__": {},
"node": {
"__id__": 10
},
"_enabled": true,
"__prefab": {
"__id__": 16
},
"_color": {
"__type__": "cc.Color",
"r": 0,
"g": 0,
"b": 0,
"a": 255
},
"_width": 3,
"_id": ""
},
{
"__type__": "cc.CompPrefabInfo",
"fileId": "24TEBL9uJClqHJ/C8FqV7L"
},
{
"__type__": "cc.PrefabInfo",
"root": {
"__id__": 1
},
"asset": {
"__id__": 0
},
"fileId": "25K8+LWY1HabU67cx0nsVl",
"instance": null,
"targetOverrides": null,
"nestedPrefabInstanceRoots": null
},
{
"__type__": "cc.Node",
"_name": "ProgressBar",
"_objFlags": 0,
"__editorExtras__": {},
"_parent": {
"__id__": 1
},
"_children": [
{
"__id__": 19
}
],
"_active": true,
"_components": [
{
"__id__": 25
},
{
"__id__": 27
},
{
"__id__": 29
}
],
"_prefab": {
"__id__": 31
},
"_lpos": {
"__type__": "cc.Vec3",
"x": 0,
"y": -459.803,
"z": 0
},
"_lrot": {
"__type__": "cc.Quat",
"x": 0,
"y": 0,
"z": 0,
"w": 1
},
"_lscale": {
"__type__": "cc.Vec3",
"x": 2,
"y": 2,
"z": 1
},
"_mobility": 0,
"_layer": 33554432,
"_euler": {
"__type__": "cc.Vec3",
"x": 0,
"y": 0,
"z": 0
},
"_id": ""
},
{
"__type__": "cc.Node",
"_name": "Bar",
"_objFlags": 0,
"__editorExtras__": {},
"_parent": {
"__id__": 18
},
"_children": [],
"_active": true,
"_components": [
{
"__id__": 20
},
{
"__id__": 22
}
],
"_prefab": {
"__id__": 24
},
"_lpos": {
"__type__": "cc.Vec3",
"x": -150,
"y": 0,
"z": 0
},
"_lrot": {
"__type__": "cc.Quat",
"x": 0,
"y": 0,
"z": 0,
"w": 1
},
"_lscale": {
"__type__": "cc.Vec3",
"x": 1,
"y": 1,
"z": 1
},
"_mobility": 0,
"_layer": 33554432,
"_euler": {
"__type__": "cc.Vec3",
"x": 0,
"y": 0,
"z": 0
},
"_id": ""
},
{
"__type__": "cc.UITransform",
"_name": "",
"_objFlags": 0,
"__editorExtras__": {},
"node": {
"__id__": 19
},
"_enabled": true,
"__prefab": {
"__id__": 21
},
"_contentSize": {
"__type__": "cc.Size",
"width": 0,
"height": 15
},
"_anchorPoint": {
"__type__": "cc.Vec2",
"x": 0,
"y": 0.5
},
"_id": ""
},
{
"__type__": "cc.CompPrefabInfo",
"fileId": "26DgYhzC1A2rETR6Y5uuLm"
},
{
"__type__": "cc.Sprite",
"_name": "",
"_objFlags": 0,
"__editorExtras__": {},
"node": {
"__id__": 19
},
"_enabled": true,
"__prefab": {
"__id__": 23
},
"_customMaterial": null,
"_srcBlendFactor": 2,
"_dstBlendFactor": 4,
"_color": {
"__type__": "cc.Color",
"r": 65,
"g": 141,
"b": 255,
"a": 255
},
"_spriteFrame": {
"__uuid__": "24a704da-2867-446d-8d1a-5e920c75e09d@f9941",
"__expectedType__": "cc.SpriteFrame"
},
"_type": 1,
"_fillType": 0,
"_sizeMode": 0,
"_fillCenter": {
"__type__": "cc.Vec2",
"x": 0,
"y": 0
},
"_fillStart": 0,
"_fillRange": 0,
"_isTrimmedMode": true,
"_useGrayscale": false,
"_atlas": null,
"_id": ""
},
{
"__type__": "cc.CompPrefabInfo",
"fileId": "01ztTBgsZOFoYCTwqE1l3J"
},
{
"__type__": "cc.PrefabInfo",
"root": {
"__id__": 1
},
"asset": {
"__id__": 0
},
"fileId": "57+wn/Ye1PlrYILhPjajwO",
"instance": null,
"targetOverrides": null,
"nestedPrefabInstanceRoots": null
},
{
"__type__": "cc.UITransform",
"_name": "",
"_objFlags": 0,
"__editorExtras__": {},
"node": {
"__id__": 18
},
"_enabled": true,
"__prefab": {
"__id__": 26
},
"_contentSize": {
"__type__": "cc.Size",
"width": 300,
"height": 15
},
"_anchorPoint": {
"__type__": "cc.Vec2",
"x": 0.5,
"y": 0.5
},
"_id": ""
},
{
"__type__": "cc.CompPrefabInfo",
"fileId": "cc0fFjhwhMGaRQ0ubiGlqz"
},
{
"__type__": "cc.Sprite",
"_name": "",
"_objFlags": 0,
"__editorExtras__": {},
"node": {
"__id__": 18
},
"_enabled": true,
"__prefab": {
"__id__": 28
},
"_customMaterial": null,
"_srcBlendFactor": 2,
"_dstBlendFactor": 4,
"_color": {
"__type__": "cc.Color",
"r": 209,
"g": 225,
"b": 255,
"a": 255
},
"_spriteFrame": {
"__uuid__": "24a704da-2867-446d-8d1a-5e920c75e09d@f9941",
"__expectedType__": "cc.SpriteFrame"
},
"_type": 1,
"_fillType": 0,
"_sizeMode": 0,
"_fillCenter": {
"__type__": "cc.Vec2",
"x": 0,
"y": 0
},
"_fillStart": 0,
"_fillRange": 0,
"_isTrimmedMode": true,
"_useGrayscale": false,
"_atlas": null,
"_id": ""
},
{
"__type__": "cc.CompPrefabInfo",
"fileId": "08q3gyRnNAXIdO7LfY62fu"
},
{
"__type__": "cc.ProgressBar",
"_name": "",
"_objFlags": 0,
"__editorExtras__": {},
"node": {
"__id__": 18
},
"_enabled": true,
"__prefab": {
"__id__": 30
},
"_barSprite": {
"__id__": 22
},
"_mode": 0,
"_totalLength": 300,
"_progress": 0,
"_reverse": false,
"_id": ""
},
{
"__type__": "cc.CompPrefabInfo",
"fileId": "2e2r1+eohH14TzfL+WHlxX"
},
{
"__type__": "cc.PrefabInfo",
"root": {
"__id__": 1
},
"asset": {
"__id__": 0
},
"fileId": "85RG8ssvJFB5oVHXPtWTfF",
"instance": null,
"targetOverrides": null,
"nestedPrefabInstanceRoots": null
},
{
"__type__": "cc.UITransform",
"_name": "",
"_objFlags": 0,
"__editorExtras__": {},
"node": {
"__id__": 1
},
"_enabled": true,
"__prefab": {
"__id__": 33
},
"_contentSize": {
"__type__": "cc.Size",
"width": 720,
"height": 1280
},
"_anchorPoint": {
"__type__": "cc.Vec2",
"x": 0.5,
"y": 0.5
},
"_id": ""
},
{
"__type__": "cc.CompPrefabInfo",
"fileId": "1dgJxmIH5HIpXD6y0/xMwI"
},
{
"__type__": "cc.Widget",
"_name": "",
"_objFlags": 0,
"__editorExtras__": {},
"node": {
"__id__": 1
},
"_enabled": true,
"__prefab": {
"__id__": 35
},
"_alignFlags": 45,
"_target": null,
"_left": 720,
"_right": -720,
"_top": 0,
"_bottom": 0,
"_horizontalCenter": 0,
"_verticalCenter": 0,
"_isAbsLeft": true,
"_isAbsRight": true,
"_isAbsTop": true,
"_isAbsBottom": true,
"_isAbsHorizontalCenter": true,
"_isAbsVerticalCenter": true,
"_originalWidth": 100,
"_originalHeight": 100,
"_alignMode": 2,
"_lockFlags": 0,
"_id": ""
},
{
"__type__": "cc.CompPrefabInfo",
"fileId": "582zBz6m5DKqmkTkiS/LE0"
},
{
"__type__": "7b00a/4yERL/LgI4ZobxPAs",
"_name": "",
"_objFlags": 0,
"__editorExtras__": {},
"node": {
"__id__": 1
},
"_enabled": true,
"__prefab": {
"__id__": 37
},
"progress": {
"__id__": 29
},
"label": {
"__id__": 13
},
"_id": ""
},
{
"__type__": "cc.CompPrefabInfo",
"fileId": "61l1724zhJtZN7fgUUejH7"
},
{
"__type__": "cc.PrefabInfo",
"root": {
"__id__": 1
},
"asset": {
"__id__": 0
},
"fileId": "08xLpDDa9NlK3pgR7XiOqb",
"instance": null,
"targetOverrides": null
}
]

View File

@ -0,0 +1,13 @@
{
"ver": "1.1.49",
"importer": "prefab",
"imported": true,
"uuid": "ab7f7687-54ad-4afe-9362-646727942569",
"files": [
".json"
],
"subMetas": {},
"userData": {
"syncNodeName": "LoadingView"
}
}

View File

@ -25,6 +25,7 @@ import { TableGRoleAttackEffect } from "../resources/config/ts/TableGRoleAttackE
import { TableGRoleSkill } from "../resources/config/ts/TableGRoleSkill";
import { TableGRoleSkillEffect } from "../resources/config/ts/TableGRoleSkillEffect";
import { TableGMap } from "../resources/config/ts/TableGMap";
import Loading from "../../extensions/ngame/assets/ngame/util/Loading";
let IP = "kyu.jisol.cn";
@ -106,6 +107,8 @@ export abstract class JNGSyncProtoBase<T> extends JNSyncFrameProtoComponent<T>{
//读写config
export class JNGConfig extends SystemBase{
static loading = "JNGConfig";
//配置JSON加载
jsons:JsonLoad[] = [
{name:TableGRole.TableName}, //角色
@ -124,25 +127,40 @@ export class JNGConfig extends SystemBase{
});
async onInit(): Promise<any> {
app.loading.setCurrent(JNGConfig.loading);
for (const key in this.jsons) {
const load = this.jsons[key];
await JsonUtil.load(load);
}
app.loading.ok(JNGConfig.loading);
}
}
//角色初始器
export class JLoaderRole extends JLoaderSystem{
//资源初始器
export class JLoaderBattle extends JLoaderSystem{
static loading = "JLoaderBattle";
static loadingInit = "JLoaderBattle_Init";
skData:{[id:number]:sp.SkeletonData} = {}; //角色Spine
bullets:{[id:number]:SpriteFrame} = {};
bullets:{[id:number]:SpriteFrame} = {}; //子弹
effects:{[id:number]:sp.SkeletonData} = {}; //Spine特效
maps:{[id:number]:SpriteFrame[]} = {}; //地图
async onInit(): Promise<any> {
app.loading.setCurrent(JLoaderBattle.loading);
await super.onInit();
app.loading.ok(JLoaderBattle.loading);
app.loading.setCurrent(JLoaderBattle.loadingInit);
//将配置表的角色都读取出来
for (const info of Object.values(TableGRole.getAllConfig())) {
this.skData[info.id] = await (new Promise(r => {
@ -193,6 +211,8 @@ export class JLoaderRole extends JLoaderSystem{
})))
}
app.loading.ok(JLoaderBattle.loadingInit);
}
@ -208,6 +228,11 @@ export const app = {
baseURL: `http://${IP}:8080`,
}), //请求
battle : GBattleModeManager.getIns(), //战斗
config : new JNGConfig(),
battleRes : new JLoaderRole("battle"), //battle包
config : new JNGConfig(), //配置文件
battleRes : new JLoaderBattle("battle"), //battle包
loading: new Loading({
[JNGConfig.loading]:{title:"加载配置文件"},
[JLoaderBattle.loading]:{title:"加载战斗资源"},
[JLoaderBattle.loadingInit]:{title:"初始化战斗资源"},
})
}

View File

@ -16,6 +16,9 @@ export class Main extends Component {
async onLoad(){
// 创建UI
director.getScene().addChild(instantiate(this.UIPrefab));
//加载 APP
await JNGame.Init(app,[
{path:"proto/GDemo"}
@ -26,10 +29,8 @@ export class Main extends Component {
//发生帧同步开始
app.socket.Send(JNSyncAction.NSyncFrameStart);
// 创建UI
director.getScene().addChild(instantiate(this.UIPrefab));
// 创建世界
director.getScene().addChild(instantiate(this.WorldPrefab));
// director.getScene().addChild(instantiate(this.WorldPrefab));
}

View File

@ -14,8 +14,8 @@ export class UICanvas extends Component {
//绑定层级
app.layer.bind(this.root);
//显示Home
app.layer.Open(GUI.Home);
//显示Loading
app.layer.Open(GUI.Loading);
}

View File

@ -97,6 +97,9 @@ export default class GOnHookMode extends GBaseMode<{}>{
fsm:GFSMOnHookMode;
//是否允许攻击
isAllowAttack:boolean = false;
onSyncInitSuccess():void{
//初始化战斗
@ -146,8 +149,13 @@ export default class GOnHookMode extends GBaseMode<{}>{
onUpdateCamera(dt:number){
//如果没有敌人相机永远锁定最前面的宠物
if(!this.isHaveEnemy()){
if(this.isAllowAttack && this.isHaveEnemy()){
//如果有敌人则移动到战斗位置
let cameraWorld = this.camera.node.worldPosition.clone();
this.camera.node.worldPosition = cameraWorld.lerp(v3(this.nextFightX,cameraWorld.y,cameraWorld.z),(dt / 1000));
}else{
//获取冲到最前面的宠物
let roles = this.getOnesRoleAlive(GOnHookModePlayerEnum.PLAYER);
let frontRole = roles.sort((role1,role2) => role2.v2World.x - role1.v2World.x)[0];
@ -156,11 +164,6 @@ export default class GOnHookMode extends GBaseMode<{}>{
//设置相机 位置
let cameraWorld = this.camera.node.worldPosition.clone();
this.camera.node.worldPosition = cameraWorld.lerp(v3(frontRole.v2World.x,cameraWorld.y,cameraWorld.z),(dt / 1000));
}else{
//如果有敌人则移动到战斗位置
let cameraWorld = this.camera.node.worldPosition.clone();
this.camera.node.worldPosition = cameraWorld.lerp(v3(this.nextFightX,cameraWorld.y,cameraWorld.z),(dt / 1000));
}
}
@ -210,6 +213,8 @@ export default class GOnHookMode extends GBaseMode<{}>{
//获取敌人
getEnumy(player:GRoleDefault,type:GOnHookModePlayerEnum):GRoleDefault{
if(!this.isAllowAttack) return null;
let enumyOnes = GOnHookModePlayerEnum.ENEMY
//如果是ENEMY 则 它的敌人是 PLAYER
if(type == GOnHookModePlayerEnum.ENEMY) enumyOnes = GOnHookModePlayerEnum.PLAYER
@ -253,6 +258,7 @@ export default class GOnHookMode extends GBaseMode<{}>{
//是否有怪物
isHaveEnemy(){
if(!this.isAllowAttack) return [];
return this.getOnesRoleAlive(GOnHookModePlayerEnum.ENEMY).filter(role => !!role.get()).length > 0;
}

View File

@ -32,18 +32,18 @@ export default class GFSMOnHookMode extends GFSMBase{
title:"生成下一个战斗位置",
mode:GFSMProcessMode.Execute,
execute: this.onGenNextFightProcess.bind(this),
to:[ProcessEnum.LeaveFight]
},
[ProcessEnum.LeaveFight]:{
title:"前往战斗",
mode:GFSMProcessMode.WaitExecute,
execute: this.onLeaveFightProcess.bind(this),
to:[ProcessEnum.GenEnemy]
},
[ProcessEnum.GenEnemy]:{
title:"生成敌人",
mode:GFSMProcessMode.Execute,
execute: this.onGenEnemyProcess.bind(this),
to:[ProcessEnum.LeaveFight]
},
[ProcessEnum.LeaveFight]:{
title:"前往战斗",
mode:GFSMProcessMode.WaitExecute,
execute: this.onLeaveFightProcess.bind(this),
to:[ProcessEnum.Fight]
},
[ProcessEnum.Fight]:{
@ -69,11 +69,21 @@ export default class GFSMOnHookMode extends GFSMBase{
//生成下一个战斗位置
onGenNextFightProcess(){
this.mode.isAllowAttack = false;
this.mode.onNextTarget();
return ProcessEnum.LeaveFight; //前往战斗位置
return ProcessEnum.GenEnemy; //生成敌人
}
//生成敌人
onGenEnemyProcess(){
this.mode.onResetGenerateEnemy();
return ProcessEnum.LeaveFight; //前往战斗
}
//前往战斗
onLeaveFightProcess(){
@ -90,22 +100,15 @@ export default class GFSMOnHookMode extends GFSMBase{
}
//到达位置生成敌人
return ProcessEnum.GenEnemy;
}
//生成敌人
onGenEnemyProcess(){
this.mode.onResetGenerateEnemy();
return ProcessEnum.Fight;
}
//战斗
onFightProcess(){
this.mode.isAllowAttack = true;
//等待敌人击杀完
if(!(this.mode.isHaveEnemy())){
return ProcessEnum.SeekEnemy; //击杀完寻找敌人

View File

@ -0,0 +1,9 @@
{
"ver": "1.2.0",
"importer": "directory",
"imported": true,
"uuid": "65c8ddaf-bdfa-4c52-bcef-f952bf687165",
"files": [],
"subMetas": {},
"userData": {}
}

View File

@ -0,0 +1,39 @@
import { ProgressBar } from "cc";
import { _decorator } from "cc";
import { JNGLayerBase, app } from "../../App";
import { Label } from "cc";
import { GUI } from "../UIConfig";
const { ccclass, property } = _decorator;
@ccclass('LoadingView')
export default class LoadingView extends JNGLayerBase {
@property(ProgressBar)
progress:ProgressBar;
@property(Label)
label:Label;
//是否加载成功
isOk:boolean = false;
update(dt:number){
if(app.loading.getCurrentInfo())
this.label.string = app.loading.getCurrentInfo().title;
this.progress.progress = app.loading.progress();
if(!this.isOk && app.loading.isAllSuccess()){
this.isOk = true;
this.onSuccess();
}
}
async onSuccess(){
//打开主页
await app.layer.Open(GUI.Home);
//关闭加载页
app.layer.Close(GUI.Loading);
}
}

View File

@ -0,0 +1,9 @@
{
"ver": "4.0.23",
"importer": "typescript",
"imported": true,
"uuid": "7b00aff8-c844-4bfc-b808-e19a1bc4f02c",
"files": [],
"subMetas": {},
"userData": {}
}

View File

@ -1,14 +1,33 @@
import { JNLayerInfo } from "../../../extensions/ngame/assets/ngame/ui/JNLayer";
import { v3 } from "cc";
import { JNLayerAnim, JNLayerInfo } from "../../../extensions/ngame/assets/ngame/ui/JNLayer";
export enum GLayer{
View = "View",
}
export enum GUI{
Loading = "Loading",
Home = "Home",
}
export const UIConfig:{ [key: string]: JNLayerInfo; } = {
[GUI.Home]:{ layer:GLayer.View, uri: "prefab/ui/Home/HomeView"}
[GUI.Loading]:{
layer:GLayer.View,
uri: "prefab/ui/Loading/LoadingView",
anims:{
back:JNLayerAnim.Smaller,
backInfo:{key:"position",start:v3(0,0,0),end:v3(-720,0,0)}
},
},
[GUI.Home]:{
layer:GLayer.View,
uri: "prefab/ui/Home/HomeView",
anims:{
front:JNLayerAnim.Enlarge,
back:JNLayerAnim.Smaller,
frontInfo:{key:"position",start:v3(720,0,0),end:v3(0,0,0)},
backInfo:{key:"position",start:v3(0,0,0),end:v3(-720,0,0)}
},
},
}

View File

@ -16,7 +16,7 @@ const excel = require('exceljs');
* @param {*} name excel文件名
* @param {*} isClient 是否为客户端数据
*/
async function convert(src, dst, name, isClient) {
async function convert(src, dst, name, isClient,outLocalJsonPath) {
let r = {};
let names = []; // 文名字段名
let keys = []; // 字段名
@ -282,11 +282,14 @@ async function convert(src, dst, name, isClient) {
});
// 写入流
if (r["undefined"] == null) {
await fs.writeFileSync(dst, JSON.stringify(r));
await fs.writeFileSync(outLocalJsonPath, JSON.stringify(r));
// 生成客户端脚本
if (isClient)
(0, JsonToTs_1.createTs)(name, types_client, r, primary);
console.log(isClient ? "客户端数据" : "服务器数据", "生成成功", dst);
}
else {
console.warn(isClient ? "客户端数据" : "服务器数据", "无数据", dst);
@ -296,12 +299,13 @@ async function convert(src, dst, name, isClient) {
function run() {
var inputExcelPath = path_1.default.join(__dirname, main_1.config.PathExcel);
var outJsonPath = path_1.default.join(__dirname, main_1.config.PathJson);
var outLocalJsonPath = path_1.default.join(__dirname, "../json/");
const files = fs.readdirSync(inputExcelPath);
files.forEach((f) => {
let name = f.substring(0, f.indexOf("."));
let ext = f.toString().substring(f.lastIndexOf(".") + 1);
if (ext == "xlsx") {
convert(inputExcelPath + f, outJsonPath + name + ".json", name, true); // 客户端数据
convert(inputExcelPath + f, outJsonPath + name + ".json", name, true, outLocalJsonPath + name + ".json"); // 客户端数据
}
});
}

View File

@ -278,6 +278,7 @@ async function convert(src: string, dst: string, name: string, isClient: boolean
});
// 写入流
if (r["undefined"] == null) {
await fs.writeFileSync(dst, JSON.stringify(r));
// 生成客户端脚本

View File

@ -32,7 +32,7 @@ export async function createTs(name: string, fieldType: any, data: any, primary:
}
var script =
`import { JsonUtil } from "../../../ngame/util/JsonUtil";
`import { JsonUtil } from "../../../../extensions/ngame/assets/ngame/util/JsonUtil";
export class Table${name} {
static TableName: string = "${name}";

View File

@ -2,5 +2,6 @@
"__version__": "1.0.0",
"PathExcel": "../../../config/",
"PathJson": "../../../assets/resources/config/game/",
"PathTs": "../../../assets/resources/config/ts/"
"PathTs": "../../../assets/resources/config/ts/",
"PathServerJson": "../../../../JisolGameServer/Main/src/main/resources/json"
}

View File

@ -10,6 +10,10 @@
{
"name": "World",
"value": 1
},
{
"name": "Loading",
"value": 2
}
],
"custom_joint_texture_layouts": [],

View File

@ -0,0 +1,4 @@
package cn.jisol.game.json;
public class GRole {
}

View File

@ -0,0 +1,17 @@
package cn.jisol.game.listener;
import org.springframework.context.event.ContextRefreshedEvent;
import org.springframework.context.event.EventListener;
import org.springframework.stereotype.Component;
@Component
public class InitGameListener {
@EventListener(ContextRefreshedEvent.class)
public void onApplicationEvent(ContextRefreshedEvent event) {
}
}

View File

@ -0,0 +1 @@
{"60001":{"id":60001,"mapName":"天空城","map1":"map/MAP6/MAP6_1/spriteFrame","map2":"map/MAP6/MAP6_2/spriteFrame","map3":"map/MAP6/MAP6_3/spriteFrame","map1OffsetY":100,"map2OffsetY":400,"map3OffsetY":400}}

View File

@ -0,0 +1 @@
{"10001":{"id":10001,"roleName":"小石头","spine":"spine/召唤与合成819个Spine/小石头/guaiA1a/spine/guaiA1a","roleSkillIds":[],"roleAttackRange":100},"10002":{"id":10002,"roleName":"坚强小石","spine":"spine/召唤与合成819个Spine/坚强小石/guaiA1a_1/spine/guaiA1a","roleSkillIds":[],"roleAttackRange":100},"10003":{"id":10003,"roleName":"疯狂松鼠","spine":"spine/召唤与合成819个Spine/疯狂松鼠/guaiA4e_2/spine/guaiA4e","roleSkillIds":[40001],"roleAttackRange":500},"10004":{"id":10004,"roleName":"妙蛙种子","spine":"spine/神奇宝贝/001妙蛙种子/spine/001妙蛙种子","roleSkillIds":[40002],"roleAttackRange":350}}

View File

@ -0,0 +1 @@
{"10001":{"roleId":10001,"attackWay":"Normal","attackArgs":[]},"10002":{"roleId":10002,"attackWay":"Normal","attackArgs":[]},"10003":{"roleId":10003,"attackWay":"ParabolicBangRemote","attackArgs":["20001","30001","timo5 007","0.6","100","100"]},"10004":{"roleId":10004,"attackWay":"Normal","attackArgs":[]}}

View File

@ -0,0 +1 @@
{"20001":{"id":20001,"bulletName":"炸弹","bulletSrc":"bullets/疯狂松鼠/attack/spriteFrame"}}

View File

@ -0,0 +1 @@
{"30001":{"id":30001,"effectName":"爆炸","spine":"effect/爆炸效果/shouji_01/spine/shouji_01","animation":"animation"}}

View File

@ -0,0 +1 @@
{"40001":{"id":40001,"skillName":"疯狂松鼠","skillController":"GSkillCrazySquirrel","skillArgs":["5","250","250"],"skillText":"疯狂松鼠的技能 丢出巨大炸弹 轰炸全部玩家"},"40002":{"id":40002,"skillName":"妙蛙种子连击","skillController":"GSkillBulbasaurDoubleHit","skillArgs":["8"],"skillText":"妙蛙种子攻击8次 触发一次射叶子技能"}}

View File

@ -0,0 +1 @@
{"50001":{"id":50001,"text":"疯狂松鼠的技能开始 松鼠向天上丢出炸弹","spine":"spine/召唤与合成819个Spine/疯狂松鼠/guaiA4es_2/spine/guaiA4es"},"50002":{"id":50002,"text":"火球","spine":"effect/子弹效果/base_fly_fire/spine/buff_fire"},"50003":{"id":50003,"text":"火球爆炸","spine":"effect/爆炸效果/zhouyu_skill2_2/spine/zhouyu_skill2_2"}}

342
luban_examples/.gitignore vendored Normal file
View File

@ -0,0 +1,342 @@
## Ignore Visual Studio temporary files, build results, and
## files generated by popular Visual Studio add-ons.
ReaderLib/**/Config
# User-specific files
*.suo
*.user
*.userosscache
*.sln.docstates
# User-specific files (MonoDevelop/Xamarin Studio)
*.userprefs
# Build results
[Dd]ebug/
[Dd]ebugPublic/
[Rr]elease/
[Rr]eleases/
x64/
x86/
bld/
[Bb]in/
[Oo]bj/
[Ll]og/
# Visual Studio 2015 cache/options directory
.vs/
# Uncomment if you have tasks that create the project's static files in wwwroot
#wwwroot/
# MSTest test Results
[Tt]est[Rr]esult*/
[Bb]uild[Ll]og.*
# NUNIT
*.VisualState.xml
TestResult.xml
# Build Results of an ATL Project
[Dd]ebugPS/
[Rr]eleasePS/
dlldata.c
# DNX
project.lock.json
project.fragment.lock.json
artifacts/
*_i.c
*_p.c
*_i.h
*.ilk
# *.meta
*.obj
*.pch
*.pdb
*.pgc
*.pgd
*.rsp
*.sbr
*.tlb
*.tli
*.tlh
*.tmp
*.tmp_proj
*.log
*.vspscc
*.vssscc
.builds
*.pidb
*.svclog
*.scc
# Chutzpah Test files
_Chutzpah*
# Visual C++ cache files
ipch/
*.aps
*.ncb
*.opendb
*.opensdf
*.sdf
*.cachefile
*.VC.db
*.VC.VC.opendb
# Visual Studio profiler
*.psess
*.vsp
*.vspx
*.sap
# TFS 2012 Local Workspace
$tf/
# Guidance Automation Toolkit
*.gpState
# ReSharper is a .NET coding add-in
_ReSharper*/
*.[Rr]e[Ss]harper
*.DotSettings.user
# JustCode is a .NET coding add-in
.JustCode
# TeamCity is a build add-in
_TeamCity*
# DotCover is a Code Coverage Tool
*.dotCover
# NCrunch
_NCrunch_*
.*crunch*.local.xml
nCrunchTemp_*
# MightyMoose
*.mm.*
AutoTest.Net/
# Web workbench (sass)
.sass-cache/
# Installshield output folder
[Ee]xpress/
# DocProject is a documentation generator add-in
DocProject/buildhelp/
DocProject/Help/*.HxT
DocProject/Help/*.HxC
DocProject/Help/*.hhc
DocProject/Help/*.hhk
DocProject/Help/*.hhp
DocProject/Help/Html2
DocProject/Help/html
# Click-Once directory
publish/
# Publish Web Output
*.[Pp]ublish.xml
*.azurePubxml
# TODO: Comment the next line if you want to checkin your web deploy settings
# but database connection strings (with potential passwords) will be unencrypted
#*.pubxml
*.publishproj
# Microsoft Azure Web App publish settings. Comment the next line if you want to
# checkin your Azure Web App publish settings, but sensitive information contained
# in these scripts will be unencrypted
PublishScripts/
# NuGet Packages
*.nupkg
# The packages folder can be ignored because of Package Restore
# except build/, which is used as an MSBuild target.
!**/packages/build/
# Uncomment if necessary however generally it will be regenerated when needed
#!**/packages/repositories.config
# NuGet v3's project.json files produces more ignoreable files
*.nuget.props
*.nuget.targets
# Microsoft Azure Build Output
csx/
*.build.csdef
# Microsoft Azure Emulator
ecf/
rcf/
# Windows Store app package directories and files
AppPackages/
BundleArtifacts/
Package.StoreAssociation.xml
_pkginfo.txt
# Visual Studio cache files
# files ending in .cache can be ignored
*.[Cc]ache
# but keep track of directories ending in .cache
!*.[Cc]ache/
# Others
ClientBin/
~$*
*~
*.dbmdl
*.dbproj.schemaview
*.jfm
*.pfx
*.publishsettings
node_modules/
orleans.codegen.cs
# Since there are multiple workflows, uncomment next line to ignore bower_components
# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
#bower_components/
# RIA/Silverlight projects
Generated_Code/
# Backup & report files from converting an old project file
# to a newer Visual Studio version. Backup files are not needed,
# because we have git ;-)
_UpgradeReport_Files/
Backup*/
UpgradeLog*.XML
UpgradeLog*.htm
# SQL Server files
*.mdf
*.ldf
# Business Intelligence projects
*.rdl.data
*.bim.layout
*.bim_*.settings
# Microsoft Fakes
FakesAssemblies/
# GhostDoc plugin setting file
*.GhostDoc.xml
# Node.js Tools for Visual Studio
.ntvs_analysis.dat
# Visual Studio 6 build log
*.plg
# Visual Studio 6 workspace options file
*.opt
# Visual Studio LightSwitch build output
**/*.HTMLClient/GeneratedArtifacts
**/*.DesktopClient/GeneratedArtifacts
**/*.DesktopClient/ModelManifest.xml
**/*.Server/GeneratedArtifacts
**/*.Server/ModelManifest.xml
_Pvt_Extensions
# Paket dependency manager
.paket/paket.exe
paket-files/
# FAKE - F# Make
.fake/
# JetBrains Rider
.idea/
*.sln.iml
# CodeRush
.cr/
# Python Tools for Visual Studio (PTVS)
__pycache__/
*.pyc
# gen cache meta file
.cache.meta
/Test/output
/Packages
# unity
Library/
Temp/
#unreal
Binaries/
Intermediate/
Saved/
# java gradle
.gradle
build
gradle/
.vscode/
/Projects/java_bin/out/
/Projects/Csharp_Unity_ILRuntime_bin/Logs
/Projects/Lua_Unity_tolua_bin/Logs
/Projects/Lua_Unity_tolua_lua/Logs
/Projects/TypeScript_NodeJs_json/package-lock.json
/Projects/TypeScript_Puerts_Bin/*.csproj
/Projects/TypeScript_Unity_Puerts_Bin/*.csproj
/Tools/build_luban_client.bat
/Tools/build_luban_server.bat
/Projects/TypeScript_NodeJs_Bin/dist
!/Projects/GenerateDatas/bin
/Benchmark/data_bin
/Benchmark/data_json
/Benchmark/data_lua
/Tools/build_luban_clientserver.bat
/Projects/TypeScript_NodeJs_json/dist
/Projects/Rust_Json/target
/Projects/GenerateDatas/convert_xlsx
/MiniDesignerConfigsTemplate/output_json
/Projects/GenerateDatas/conver_json_to_xlsx
/Projects/GenerateDatas/conver_xlsx_to_json
/Tools/build_excel2textdiff.bat
/Tools/build_luban_assistant.bat
/ProtoProjects/Typescript_Unity_Puerts/TsScripts/output
/ProtoProjects/Typescript_Unity_Puerts/UserSettings
/ProtoProjects/Csharp_Unity/UserSettings
/Projects/Protobuf_bin/pb_datas
/Projects/Csharp_Unity_bin/Logs
*.DS_Store
Projects/Csharp_CustomTemplate_EncryptMemory/UserSettings/
Projects/Csharp_CustomTemplate_EncryptMemory/*.csproj
Projects/Csharp_CustomTemplate_EncryptMemory/*.sln
/Projects/Flatbuffers_bin/datas_bin
/Projects/Flatbuffers_bin/datas
/Projects/Flatbuffers_json/datas
/Projects/Protobuf2_bin/pb_datas
/Projects/Flatbuffers_json/output
/Projects/Protobuf3_bin_json/pb_bin
/Projects/Protobuf3_bin_json/pb_json
/Projects/TypeScript_Unity_Puerts_Bin/Logs
/Projects/TypeScript_Unity_Puerts_Json/Logs
out/
/Projects/GDScript_json/.godot
/Projects/GDScript_json/json
/Tools/Luban
/MiniTemplate/output_json
/Projects/GenerateDatas/bidx
/Projects/GenerateDatas/bin-offset
/Projects/GenerateDatas/bytes
/Projects/GenerateDatas/json
/Projects/GenerateDatas/json2
/Projects/GenerateDatas/lua
/Projects/GenerateDatas/text
/Projects/GenerateDatas/xml
/Projects/GenerateDatas/yaml

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,28 @@
return {
id=10002,
name="random move",
desc="demo behaviour tree haha",
executor="SERVER",
blackboard_id="demo",
root=
{
__type__ = "Sequence",
id=1,
node_name="test",
desc="root",
services=
{
},
decorators=
{
{ __type__="UeLoop", id=3,node_name="",flow_abort_mode="SELF", num_loops=0,infinite_loop=true,infinite_loop_timeout_time=-1,},
},
children =
{
{__type__="UeWait", id=30,node_name="", ignore_restart_self=false,wait_time=1,random_deviation=0.5, services={},decorators={},},
{__type__="MoveToRandomLocation", id=75,node_name="", ignore_restart_self=false,origin_position_key="x5",radius=30, services={},decorators={}},
--{__type__="DebugPrint", id=76,node_name="", ignore_restart_self=false,text="======= bt debug print ===", services={},decorators={}},
},
},
}

View File

@ -0,0 +1,12 @@
return {
name = "attack_or_patrol",
desc ="demo hahaha",
parent_name = "",
keys =
{
{name="OriginPosition",desc="", is_static=false, type="VECTOR", type_class_name=""},
{name="TargetActor",desc="x2 haha", is_static=false, type="OBJECT", type_class_name=""},
{name="AcceptableRadius",desc="x3 haha", is_static=false, type="FLOAT", type_class_name=""},
{name="CurChooseSkillId",desc="x4 haha", is_static=false, type="INT", type_class_name=""},
},
}

View File

@ -0,0 +1,18 @@
return {
name = "demo",
desc ="demo hahaha",
parent_name = "demo_parent",
keys =
{
{name="x1",desc="x1 haha", is_static=false, type="BOOL", type_class_name=""},
{name="x2",desc="x2 haha", is_static=false, type="INT", type_class_name=""},
{name="x3",desc="x3 haha", is_static=false, type="FLOAT", type_class_name=""},
{name="x4",desc="x4 haha", is_static=false, type="STRING", type_class_name=""},
{name="x5",desc="x5 haha", is_static=false, type="VECTOR", type_class_name=""},
{name="x6",desc="x6 haha", is_static=false, type="ROTATOR", type_class_name=""},
{name="x7",desc="x7 haha", is_static=false, type="NAME", type_class_name=""},
{name="x8",desc="x8 haha", is_static=false, type="CLASS", type_class_name=""},
{name="x9",desc="x9 haha", is_static=false, type="ENUM", type_class_name="ABC"},
{name="x10",desc="x10 haha", is_static=false, type="OBJECT", type_class_name="OBJECT"},
},
}

View File

@ -0,0 +1,9 @@
return {
name = "demo_parent",
desc ="demo parent",
parent_name = "",
keys =
{
{name="v1",desc="v1 haha", is_static=false, type="BOOL", type_class_name=""},
},
}

View File

@ -0,0 +1,10 @@
{
"__type__":"NormalClazz",
"name":"int",
"desc":"primity type:int",
"parents":[],
"methods":[],
"is_abstract":false,
"fields":[]
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,9 @@
[
{"key":"/apple", "en":"apple", "zh":"苹果"},
{"key":"/abc", "en":"apple", "zh":"苹果"},
{"key":"/def", "en":"apple", "zh":"苹果"},
{"key":"key_name", "en":"apple", "zh":"苹果"},
{"key":"test/a", "en":"apple", "zh":"苹果"},
{"key":"name", "en":"apple", "zh":"苹果"},
{"key":"/banana", "en":"banana", "zh":"香蕉"}
]

View File

@ -0,0 +1,4 @@
{
"id":2001,
"value": "导出"
}

View File

@ -0,0 +1,5 @@
{
"__tag__":"any",
"id":2004,
"value": "any"
}

View File

@ -0,0 +1,5 @@
{
"__tag__":"test",
"id":2003,
"value": "test"
}

View File

@ -0,0 +1,5 @@
return {
id = 100,
value = "导出",
}

Binary file not shown.

View File

@ -0,0 +1,5 @@
return {
__tag__ = "any",
id = 104,
value="any",
}

View File

@ -0,0 +1,5 @@
return {
__tag__ = "test",
id = 102,
value="test",
}

View File

@ -0,0 +1,4 @@
<data>
<id>3001</id>
<value>export</value>
</data>

View File

@ -0,0 +1,5 @@
<data>
<__tag__>any</__tag__>
<id>3004</id>
<value>any</value>
</data>

View File

@ -0,0 +1,5 @@
<data>
<__tag__>test</__tag__>
<id>3003</id>
<value>test</value>
</data>

View File

@ -0,0 +1,15 @@
{
"table1":[
{"id":1, "x":"aaa1"},
{"id":2,"x":"xx2"}
],
"table2":[
{"id":1, "y":100},
{"id":3, "y":300}
],
"table3": {
"a":111,
"b":222
}
}

View File

@ -0,0 +1,4 @@
[
{"id":11, "x":"aaa11"},
{"id":12,"x":"xx12"}
]

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,5 @@
##,id,name
,,
,11,测试编码
,12,还果园国要
,13,工枯加盟仍
1 ## id name
2
3 11 测试编码
4 12 还果园国要
5 13 工枯加盟仍

Binary file not shown.
1 ##,id,name
2 ,
3 ,31,测试编码
4 ,32,还果园国要
5 ,33,工枯加盟仍

View File

@ -0,0 +1,5 @@
##,id,name
,
,1,测试编码
,2,还果园国要
,3,工枯加盟仍
1 ##,id,name
2 ,
3 ,1,测试编码
4 ,2,还果园国要
5 ,3,工枯加盟仍

View File

@ -0,0 +1,5 @@
##,id,name
,
,21,测试编码
,22,还果园国要
,23,工枯加盟仍
1 ##,id,name
2 ,
3 ,21,测试编码
4 ,22,还果园国要
5 ,23,工枯加盟仍

View File

@ -0,0 +1,68 @@
{
"x4": 1,
"x1": true,
"x5": 100,
"x6": 1.20000005,
"s1": "hq",
"s2": "/abc",
"v2": {
"x": 1,
"y": 2
},
"v3": {
"x": 1.10000002,
"y": 2.20000005,
"z": 3.4000001
},
"v4": {
"x": 10.1000004,
"y": 11.1999998,
"z": 12.3000002,
"w": 13.3999996
},
"t1": "1990-1-1 00:00:00",
"x12": {
"x1": 10
},
"x13": "A",
"x14": {
"__type__": "DemoD2",
"x1": 1,
"x2": 2
},
"k1": [
12
],
"k8": [
[
2,
2
],
[
4,
10
]
],
"k9": [
{
"y1": 1,
"y2": true
},
{
"y1": 2,
"y2": false
}
],
"k15": [
{
"__type__": "DemoD2",
"x1": 1,
"x2": 2
},
{
"__type__": "DemoD2",
"x1": 2,
"x2": 3
}
]
}

View File

@ -0,0 +1,68 @@
{
"x4": 2,
"x1": true,
"x5": 100,
"x6": 1.20000005,
"s1": "hq",
"s2": "/abc",
"v2": {
"x": 1,
"y": 2
},
"v3": {
"x": 1.10000002,
"y": 2.20000005,
"z": 3.4000001
},
"v4": {
"x": 10.1000004,
"y": 11.1999998,
"z": 12.3000002,
"w": 13.3999996
},
"t1": "1990-1-1 00:00:00",
"x12": {
"x1": 10
},
"x13": "B",
"x14": {
"__type__": "DemoD2",
"x1": 1,
"x2": 2
},
"k1": [
12
],
"k8": [
[
2,
2
],
[
4,
10
]
],
"k9": [
{
"y1": 1,
"y2": true
},
{
"y1": 2,
"y2": false
}
],
"k15": [
{
"__type__": "DemoD2",
"x1": 1,
"x2": 2
},
{
"__type__": "DemoD2",
"x1": 2,
"x2": 3
}
]
}

View File

@ -0,0 +1,68 @@
{
"x4": 3,
"x1": true,
"x5": 100,
"x6": 1.20000005,
"s1": "hq",
"s2": "/abc",
"v2": {
"x": 1,
"y": 2
},
"v3": {
"x": 1.10000002,
"y": 2.20000005,
"z": 3.4000001
},
"v4": {
"x": 10.1000004,
"y": 11.1999998,
"z": 12.3000002,
"w": 13.3999996
},
"t1": "1990-1-1 00:00:00",
"x12": {
"x1": 10
},
"x13": "C",
"x14": {
"__type__": "DemoD2",
"x1": 1,
"x2": 2
},
"k1": [
12
],
"k8": [
[
2,
2
],
[
4,
10
]
],
"k9": [
{
"y1": 1,
"y2": true
},
{
"y1": 2,
"y2": false
}
],
"k15": [
{
"__type__": "DemoD2",
"x1": 1,
"x2": 2
},
{
"__type__": "DemoD2",
"x1": 2,
"x2": 3
}
]
}

View File

@ -0,0 +1,33 @@
{
"id": 1,
"x": 5,
"items": [
{
"x": 1,
"y": true,
"z": "abcd",
"a": {
"x": 10,
"y": 100
},
"b": [
1,
3,
5
]
},
{
"x": 2,
"y": false,
"z": "abcd",
"a": {
"x": 22,
"y": 33
},
"b": [
4,
5
]
}
]
}

View File

@ -0,0 +1,46 @@
{
"id": 2,
"x": 9,
"items": [
{
"x": 2,
"y": true,
"z": "abcd",
"a": {
"x": 10,
"y": 11
},
"b": [
1,
3,
5
]
},
{
"x": 4,
"y": false,
"z": "abcd",
"a": {
"x": 22,
"y": 33
},
"b": [
4,
5
]
},
{
"x": 5,
"y": false,
"z": "abcd",
"a": {
"x": 22,
"y": 33
},
"b": [
4,
5
]
}
]
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,31 @@
{
"x1":true,
"x2":3,
"x3":128,
"x4":1,
"x5":11223344,
"x6":1.2,
"x7":1.23432,
"x8_0":12312,
"x8":112233,
"x9":223344,
"x10":"hq",
"x12": { "x1":10},
"x13":"B",
"x14":{"$type": "DemoD2", "x1":1, "x2":2},
"s1": "/def",
"v2":{"x":1, "y":2},
"v3":{"x":1.1, "y":2.2, "z":3.4},
"v4":{"x":10.1, "y":11.2, "z":12.3, "w":13.4},
"t1":"1970-01-01 00:00:00",
"k1":[1,2],
"k2":[2,3],
"k3":[1,3],
"k4":[1,5],
"k5":[1,6],
"k6":[1,7],
"k7":[2,3],
"k8":[[2,2],[4,10]],
"k9":[{"y1":1, "y2":true},{"y1":2, "y2":false}],
"k15":[{"$type": "DemoD2", "x1":1, "x2":2}]
}

View File

@ -0,0 +1,78 @@
<data>
<x1>true</x1>
<x2>4</x2>
<x3>128</x3>
<x4>11</x4>
<x5>112233445566</x5>
<x6>1.3</x6>
<x7>1112232.43123</x7>
<x8>112233</x8>
<x8_0>123</x8_0>
<x9>112334</x9>
<x10>yf</x10>
<x12>
<x1>1</x1>
</x12>
<x13>C</x13>
<x14 __type__="DemoD2">
<x1>1</x1>
<x2>2</x2>
</x14>
<s1>/apple</s1>
<v2>1,2</v2>
<v3>1.2,2.3,3.4</v3>
<v4>1.2,2.2,3.2,4.3</v4>
<t1>1970-01-01 00:00:00</t1>
<k1>
<item>1</item>
<item>2</item>
</k1>
<k2>
<item>1</item>
<item>2</item>
</k2>
<k3>
<item>1</item>
<item>2</item>
</k3>
<k4>
<item>1</item>
<item>2</item>
</k4>
<k5>
<item>1</item>
<item>2</item>
</k5>
<k6>
<item>1</item>
<item>2</item>
</k6>
<k7>
<item>1</item>
<item>3</item>
</k7>
<k8>
<item> <key>2</key><value>10</value></item>
<item> <key>3</key><value>30</value></item>
</k8>
<k9>
<item>
<y1>1</y1>
<y2>true</y2>
</item>
<item>
<y1>2</y1>
<y2>false</y2>
</item>
</k9>
<k15>
<item __type__="DemoD2">
<x1>1</x1>
<x2>2</x2>
</item>
</k15>
</data>

View File

@ -0,0 +1,31 @@
{
"x1":true,
"x2":3,
"x3":128,
"x4":2,
"x5":11223344,
"x6":1.2,
"x7":1.23432,
"x8_0":12312,
"x8":112233,
"x9":223344,
"x10":"hq",
"x12": { "x1":10},
"x13":"B",
"x14":{"__type__": "DemoD2", "x1":1, "x2":2},
"s1": "/apple",
"v2":{"x":1, "y":2},
"v3":{"x":1.1, "y":2.2, "z":3.4},
"v4":{"x":10.1, "y":11.2, "z":12.3, "w":13.4},
"t1":"1970-01-01 00:00:00",
"k1":[1,2],
"k2":[2,3],
"k3":[1,3],
"k4":[1,5],
"k5":[1,6],
"k6":[1,7],
"k7":[2,3],
"k8":[[2,2],[4,10]],
"k9":[{"y1":1, "y2":true},{"y1":2, "y2":false}],
"k15":[{"__type__": "DemoD2", "x1":1, "x2":2}]
}

View File

@ -0,0 +1,78 @@
<data>
<x1>true</x1>
<x2>4</x2>
<x3>128</x3>
<x4>12</x4>
<x5>112233445566</x5>
<x6>1.3</x6>
<x7>1112232.43123</x7>
<x8>112233</x8>
<x8_0>123</x8_0>
<x9>112334</x9>
<x10>yf</x10>
<x12>
<x1>1</x1>
</x12>
<x13>C</x13>
<x14 __type__="DemoD2">
<x1>1</x1>
<x2>2</x2>
</x14>
<s1>/apple</s1>
<v2>1,2</v2>
<v3>1.2,2.3,3.4</v3>
<v4>1.2,2.2,3.2,4.3</v4>
<t1>1970-01-01 00:00:00</t1>
<k1>
<item>1</item>
<item>2</item>
</k1>
<k2>
<item>1</item>
<item>2</item>
</k2>
<k3>
<item>1</item>
<item>2</item>
</k3>
<k4>
<item>1</item>
<item>2</item>
</k4>
<k5>
<item>1</item>
<item>2</item>
</k5>
<k6>
<item>1</item>
<item>2</item>
</k6>
<k7>
<item>1</item>
<item>3</item>
</k7>
<k8>
<item> <key>2</key><value>10</value></item>
<item> <key>3</key><value>30</value></item>
</k8>
<k9>
<item>
<y1>1</y1>
<y2>true</y2>
</item>
<item>
<y1>2</y1>
<y2>false</y2>
</item>
</k9>
<k15>
<item __type__="DemoD2">
<x1>1</x1>
<x2>2</x2>
</item>
</k15>
</data>

View File

@ -0,0 +1,68 @@
---
x1: true
x2: 3
x3: 128
x4: 40
x5: 11223344
x6: 1.2
x7: 1.23432
x8_0: 12312
x8: 112233
x9: 223344
x10: hq
x12:
x1: 10
x13: B
x14:
$type: DemoD2
x1: 1
x2: 2
s1: /apple
v2:
x: 1
y: 2
v3:
x: 1.1
y: 2.2
z: 3.4
v4:
x: 10.1
y: 11.2
z: 12.3
w: 13.4
t1: '1970-01-01 00:00:00'
k1:
- 1
- 2
k2:
- 2
- 3
k3:
- 1
- 3
k4:
- 1
- 5
k5:
- 1
- 6
k6:
- 1
- 7
k7:
- 2
- 3
k8:
- - 2
- 2
- - 4
- 10
k9:
- y1: 1
y2: true
- y1: 2
y2: false
k15:
- $type: DemoD2
x1: 1
x2: 2

View File

@ -0,0 +1,32 @@
return
{
x1 = false,
x2 = 2,
x3 = 128,
x4 = 22,
x5 = 112233445566,
x6 = 1.3,
x7 = 1122,
x8 = 12,
x8_0 = 13,
x9 = 123,
x10 = "yf",
x12 = {x1=1},
x13 = "D",
x14 = { __type__="DemoD2", x1 = 1, x2=3},
s1 = '/apple',
v2 = {x= 1,y = 2},
v3 = {x=0.1, y= 0.2,z=0.3},
v4 = {x=1,y=2,z=3.5,w=4},
t1 = "1970-01-01 00:00:00",
k1 = {1,2},
k2 = {2,3},
k3 = {3,4},
k4 = {1,2},
k5 = {1,3},
k6 = {1,2},
k7 = {1,8},
k8 = {[2]=10,[3]=12},
k9 = {{y1=1,y2=true}, {y1=10,y2=false}},
k15 = {{ __type__="DemoD2", x1 = 1, x2=3}},
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More