Compare commits
54 Commits
4f55c00f86
...
v2.1.0
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
35c5fe36fb | ||
|
|
3f58e3deae | ||
|
|
788c864e71 | ||
|
|
680a4f8a5a | ||
|
|
8f46e286dd | ||
|
|
2eaf7a1ba2 | ||
|
|
6b58fa99cf | ||
|
|
5d1b623230 | ||
|
|
6e442c14c1 | ||
|
|
2eadb6fb23 | ||
|
|
d19afd7b1a | ||
|
|
98eda94f66 | ||
|
|
e0f5cb71c5 | ||
|
|
58140fd4d2 | ||
|
|
b44e0e65a5 | ||
|
|
cc460d6108 | ||
|
|
1dd1927612 | ||
|
|
21d4c9d568 | ||
|
|
35eac7d19d | ||
|
|
c1ed14385a | ||
|
|
50ad3d35e7 | ||
|
|
4df53d9f58 | ||
|
|
8a6f50dda6 | ||
|
|
49488505e2 | ||
|
|
dd64e8f44e | ||
|
|
b39772fd94 | ||
|
|
fc1135a621 | ||
|
|
d7ea91a1b8 | ||
|
|
53a8729968 | ||
|
|
ad93703a45 | ||
|
|
329c2f09c4 | ||
|
|
1f7434a133 | ||
|
|
145211ba9a | ||
|
|
1d58fd6bfd | ||
|
|
26d4e09bc8 | ||
|
|
49619fbaa2 | ||
|
|
751a0dec0f | ||
|
|
bc560c393b | ||
|
|
8eb0e44845 | ||
|
|
14f9340d0a | ||
|
|
150c991648 | ||
|
|
99640a5813 | ||
|
|
485c1bb48c | ||
|
|
5799cf635b | ||
|
|
066f1fd060 | ||
|
|
162eaffd1d | ||
|
|
b5a4db5224 | ||
|
|
09b3aeb8c5 | ||
|
|
c83ceef3c4 | ||
|
|
221e5219f0 | ||
|
|
145dfe964d | ||
|
|
bf9702e3a1 | ||
|
|
b3f1e6c9c5 | ||
|
|
960f3137c6 |
2
.dockerignore
Normal file
@@ -0,0 +1,2 @@
|
||||
node_modules
|
||||
npm-debug.log
|
||||
29
.github/workflows/deploy.yml
vendored
Normal file
@@ -0,0 +1,29 @@
|
||||
name: Build and Deploy
|
||||
on:
|
||||
push:
|
||||
branches: [main]
|
||||
permissions:
|
||||
contents: write
|
||||
jobs:
|
||||
build-and-deploy:
|
||||
concurrency: ci-${{ github.ref }} # Recommended if you intend to make multiple deployments in quick succession.
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout 🛎️
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Install pnpm
|
||||
uses: pnpm/action-setup@v4
|
||||
with:
|
||||
version: 10
|
||||
|
||||
- name: Install and Build 🔧 # This example project is built using npm and outputs the result to the 'build' folder. Replace with the commands required to build your project, or remove this step entirely if your site is pre-built.
|
||||
run: |
|
||||
pnpm install
|
||||
pnpm xlsx2json
|
||||
pnpm build
|
||||
|
||||
- name: Deploy 🚀
|
||||
uses: JamesIves/github-pages-deploy-action@v4
|
||||
with:
|
||||
folder: template # The folder the action should deploy.
|
||||
31
.github/workflows/node.js.yml
vendored
@@ -1,31 +0,0 @@
|
||||
# This workflow will do a clean install of node dependencies, cache/restore them, build the source code and run tests across different versions of node
|
||||
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions
|
||||
|
||||
name: Node.js CI
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ master ]
|
||||
pull_request:
|
||||
branches: [ master ]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
node-version: [14.x, 16.x]
|
||||
# See supported Node.js release schedule at https://nodejs.org/en/about/releases/
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Use Node.js ${{ matrix.node-version }}
|
||||
uses: actions/setup-node@v2
|
||||
with:
|
||||
node-version: ${{ matrix.node-version }}
|
||||
cache: 'npm'
|
||||
- run: npm install
|
||||
- run: npm run build --if-present
|
||||
- run: npm test
|
||||
5
.gitignore
vendored
@@ -107,4 +107,7 @@ utils/xlsxTransform-*
|
||||
|
||||
/.idea
|
||||
|
||||
__localStorage.json
|
||||
__localStorage.json
|
||||
|
||||
template/public
|
||||
public/data
|
||||
29
.vscode/launch.json
vendored
@@ -4,40 +4,15 @@
|
||||
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
|
||||
"version": "0.2.0",
|
||||
"configurations": [
|
||||
{
|
||||
"name": "Launch Chrome",
|
||||
"request": "launch",
|
||||
"type": "pwa-chrome",
|
||||
"url": "http://127.0.0.1:8000/public/index.html",
|
||||
"webRoot": "${workspaceFolder}"
|
||||
},
|
||||
{
|
||||
"type": "node",
|
||||
"request": "launch",
|
||||
"name": "test",
|
||||
"program": "${workspaceFolder}/test",
|
||||
"skipFiles": [
|
||||
"<node_internals>/**"
|
||||
"<node_internals>/**",
|
||||
"**/node_modumes/**"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "node",
|
||||
"request": "launch",
|
||||
"name": "xlsx2json",
|
||||
"program": "${workspaceFolder}/node_modules/v-transform/src/index.js",
|
||||
"args": ["transform", "jobs/xlsx2json/config.json"],
|
||||
"skipFiles": [
|
||||
"<node_internals>/**"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Attach by Process ID",
|
||||
"processId": "${command:PickProcess}",
|
||||
"request": "attach",
|
||||
"skipFiles": [
|
||||
"<node_internals>/**"
|
||||
],
|
||||
"type": "node"
|
||||
},
|
||||
]
|
||||
}
|
||||
15
Dockerfile
Normal file
@@ -0,0 +1,15 @@
|
||||
FROM node:alpine
|
||||
|
||||
ENV NPM_CONFIG_LOGLEVEL info
|
||||
|
||||
WORKDIR /usr/src/app
|
||||
|
||||
COPY package*.json ./
|
||||
|
||||
RUN npm install
|
||||
|
||||
COPY . .
|
||||
|
||||
EXPOSE 8080
|
||||
CMD ["yarn", "dev"]
|
||||
|
||||
@@ -24,7 +24,7 @@ cd my-project
|
||||
2. 进入目录安装依赖。
|
||||
|
||||
```bash
|
||||
yarn install
|
||||
pnpm install
|
||||
```
|
||||
|
||||
或者
|
||||
@@ -36,7 +36,7 @@ npm install
|
||||
3. 启动本地服务器。
|
||||
|
||||
```bash
|
||||
yarn dev
|
||||
pnpm dev
|
||||
```
|
||||
|
||||
或者
|
||||
@@ -45,7 +45,7 @@ yarn dev
|
||||
npm run dev
|
||||
```
|
||||
|
||||
4. 启动完成后会自动打开浏览器访问 [http://localhost:8081/view/index.html](http://localhost:8081/view/index.html)。
|
||||
4. 启动完成后会自动打开浏览器访问 [http://localhost:5173](http://localhost:5173)。
|
||||
|
||||
</details>
|
||||
|
||||
|
||||
@@ -24,7 +24,7 @@ cd my-project
|
||||
2. Installation dependence.
|
||||
|
||||
```bash
|
||||
yarn install
|
||||
pnpm install
|
||||
```
|
||||
|
||||
Or
|
||||
@@ -36,7 +36,7 @@ npm install
|
||||
3. Start local server.
|
||||
|
||||
```bash
|
||||
yarn dev
|
||||
pnpm dev
|
||||
```
|
||||
|
||||
Or
|
||||
@@ -45,7 +45,7 @@ Or
|
||||
npm run dev
|
||||
```
|
||||
|
||||
4. After the startup is complete, will automatically open a browser and visit [http://localhost:8081/view/index.html](http://localhost:8081/view/index.html).
|
||||
4. After the startup is complete, open a browser and visit [http://localhost:5173](http://localhost:5173).
|
||||
</details>
|
||||
|
||||
<details>
|
||||
|
||||
BIN
data/en-us/character.xlsx
Normal file
BIN
data/zh-cn/character.xlsx
Normal file
@@ -17,8 +17,6 @@
|
||||
<meta http-equiv="Cache-Control" content="no-siteapp"/>
|
||||
<font-face font-family="方正像素12" src="fonts/方正像素12.ttf"/>
|
||||
<title>Life Restart</title>
|
||||
</head>
|
||||
<body style="background:black">
|
||||
<!--以下引用了常用类库,如果不使用,可以删除-->
|
||||
|
||||
<!--核心包,封装了显示对象渲染,事件,时间管理,时间轴动画,缓动,消息交互,socket,本地存储,鼠标触摸,声音,加载,颜色滤镜,位图字体等-->
|
||||
@@ -54,7 +52,7 @@
|
||||
<!--包含更多webgl滤镜,比如外发光,阴影,模糊以及更多-->
|
||||
<script type="text/javascript" src="libs/laya/laya.filter.js"></script>
|
||||
<!--封装了html动态排版功能-->
|
||||
<!-- <script type="text/javascript" src="libs/laya/laya.html.js"></script> -->
|
||||
<script type="text/javascript" src="libs/laya/laya.html.js"></script>
|
||||
<!--粒子类库-->
|
||||
<script type="text/javascript" src="libs/laya/laya.particle.js"></script>
|
||||
<!--提供tileMap解析支持-->
|
||||
@@ -67,12 +65,8 @@
|
||||
<!-- 物理引擎matter.js -->
|
||||
<!--自定义的js(src文件夹下)文件自动添加到下面jsfile模块标签里面里,js的顺序可以手动修改,修改后保留修改的顺序,新增加的js会默认依次追加到标签里-->
|
||||
<!--删除标签,ide不会自动添加js文件,请谨慎操作-->
|
||||
<!--jsfile--startTag-->
|
||||
<script type="text/javascript" src="../src/ui/runtime.js"></script>
|
||||
<script type="text/javascript" src="../src/ui/layaUI.max.all.js"></script>
|
||||
<script type="text/javascript" src="../src/ui/promisesLaya.js"></script>
|
||||
<script type="text/javascript" src="../src/ui/pluginFunction.js"></script>
|
||||
<script type="module" src="../src/index.js"></script>
|
||||
<!--jsfile--endTag-->
|
||||
</body>
|
||||
|
||||
<script type="module" src="src/index.js"></script>
|
||||
</head>
|
||||
<body style="background:black"></body>
|
||||
</html>
|
||||
@@ -1,19 +0,0 @@
|
||||
{
|
||||
"configurations": [
|
||||
{
|
||||
"source": [
|
||||
"../../data/specialthanks-afd.xlsx",
|
||||
"../../data/specialthanks-dun.xlsx"
|
||||
],
|
||||
"target": "../../public/data"
|
||||
},
|
||||
{
|
||||
"source": "../../data/zh-cn",
|
||||
"target": "../../public/data/zh-cn"
|
||||
},
|
||||
{
|
||||
"source": "../../data/en-us",
|
||||
"target": "../../public/data/en-us"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
<project version="0.9.8">
|
||||
<asynRes>img,temp,sound </asynRes>
|
||||
<unDealRes>embed </unDealRes>
|
||||
<asynRes>img,temp,sound </asynRes>
|
||||
<unDealRes>embed </unDealRes>
|
||||
<resTypes>png,jpg </resTypes>
|
||||
<resExportPath>public/images/atlas </resExportPath>
|
||||
<asynResExportPath>public </asynResExportPath>
|
||||
@@ -16,7 +16,7 @@ var Dialog=laya.ui.Dialog;]]> </codeImportsJS>
|
||||
<shareResPath/>
|
||||
<codeType>2 </codeType>
|
||||
<resCanCompress/>
|
||||
<resPublishQuality>80 </resPublishQuality>
|
||||
<resPublishQuality>80 </resPublishQuality>
|
||||
<langPath/>
|
||||
<defaultFont/>
|
||||
<codeImportsTS><![CDATA[import View=laya.ui.View;
|
||||
|
||||
BIN
laya/assets/images/icons/icon_save.png
Normal file
|
After Width: | Height: | Size: 652 B |
BIN
laya/assets/images/icons/icon_themes.png
Normal file
|
After Width: | Height: | Size: 4.3 KiB |
BIN
laya/assets/images/radio/radio_cyber.png
Normal file
|
After Width: | Height: | Size: 28 KiB |
BIN
laya/assets/images/radio/radio_dark.png
Normal file
|
After Width: | Height: | Size: 30 KiB |
BIN
laya/assets/images/radio/radio_light.png
Normal file
|
After Width: | Height: | Size: 26 KiB |
BIN
laya/assets/images/texture/texture_1.png
Normal file
|
After Width: | Height: | Size: 31 KiB |
1
laya/pages/particle/fly.part
Normal file
@@ -0,0 +1 @@
|
||||
{"textureName":"images/texture/texture_1.png","positionVariance":{"0":0,"1":0,"2":0},"minVerticalVelocity":-100,"minVerticalEndRadian":0,"minStartSize":0,"minStartRadius":0,"minRotateSpeed":0,"minHorizontalVelocity":100,"minHorizontalEndRadian":0,"minEndSize":18.55,"minEndRadius":218.75,"minColor":{"0":0.15,"1":0.92,"2":0.91,"3":0.6000000238418579},"maxVerticalVelocity":100,"maxVerticalEndRadian":0,"maxStartSize":2.04,"maxStartRadius":0,"maxRotateSpeed":0,"maxPartices":400,"maxHorizontalVelocity":100,"maxHorizontalEndRadian":0,"maxEndSize":24.35,"maxEndRadius":84.82,"maxColor":{"0":0.57,"1":1,"2":0,"3":1},"gravity":{"0":0,"1":0,"2":0},"endVelocity":2,"emitterVelocitySensitivity":56.89,"duration":9.52,"colorComponentInter":true,"blendState":0,"ageAddScale":10,"backColor":"#ffffff","textureFileName":"comp\\clip_num.png","textureCount":1,"minHorizontalStartRadian":0,"maxHorizontalStartRadian":0,"minVerticalStartRadian":0,"maxVerticalStartRadian":0,"emitterType":"null","emissionRate":0,"sphereEmitterRadius":1,"sphereEmitterVelocity":0,"sphereEmitterVelocityAddVariance":0,"ringEmitterRadius":30,"ringEmitterVelocity":0,"ringEmitterVelocityAddVariance":0,"ringEmitterUp":2,"minStartColor":{"0":0.5,"1":0.5,"2":0.5,"3":0.2},"maxStartColor":{"0":1,"1":1,"2":1,"3":1},"minEndColor":{"0":0,"1":0,"2":0,"3":0.08},"maxEndColor":{"0":1,"1":1,"2":1,"3":1},"pointEmitterPosition":{"0":0,"1":0,"2":0},"pointEmitterPositionVariance":{"0":0,"1":0,"2":0},"pointEmitterVelocity":{"0":0,"1":0,"2":0},"pointEmitterVelocityAddVariance":{"0":0,"1":0,"2":0},"boxEmitterCenterPosition":{"0":0,"1":0,"2":0},"boxEmitterSize":{"0":0,"1":0,"2":0},"boxEmitterVelocity":{"0":0,"1":0,"2":0},"boxEmitterVelocityAddVariance":{"0":0,"1":0,"2":0},"sphereEmitterCenterPosition":{"0":0,"1":0,"2":0},"ringEmitterCenterPosition":{"0":0,"1":0,"2":0},"useEndRadian":true,"disableColor":false}
|
||||
1204
laya/pages/view/CyberTheme/Celebrity.ui
Normal file
@@ -3,7 +3,7 @@
|
||||
"type":"View",
|
||||
"selectedBox":3,
|
||||
"selecteID":7,
|
||||
"props":{"width":1125,"sceneColor":"#000000","sceneBg":"laya/views/view/CyberTheme/CyberAchievement.png","runtime":"ViewBase","height":2436},
|
||||
"props":{"width":1125,"sceneColor":"#000000","sceneBg":"laya/views/view/CyberTheme/CyberAchievement.png","runtime":"Laya.runtime.ViewBase","height":2436},
|
||||
"nodeParent":-1,
|
||||
"label":"View",
|
||||
"isOpen":true,
|
||||
@@ -40,7 +40,7 @@
|
||||
{
|
||||
"x":30,
|
||||
"type":"Box",
|
||||
"props":{"y":200,"x":-170,"width":260,"var":"btnRank","runtime":"ScaleButton","height":90,"anchorY":0.5,"anchorX":0.5},
|
||||
"props":{"y":200,"x":-170,"width":260,"var":"btnRank","runtime":"Laya.runtime.ScaleButton","height":90,"anchorY":0.5,"anchorX":0.5},
|
||||
"nodeParent":68,
|
||||
"label":"Box(btnRank)",
|
||||
"isOpen":true,
|
||||
@@ -505,7 +505,7 @@
|
||||
"child":[
|
||||
{
|
||||
"type":"Box",
|
||||
"props":{"y":0,"x":0,"width":530,"runtime":"ColorFilterItem","renderType":"render","height":460},
|
||||
"props":{"y":0,"x":0,"width":530,"runtime":"Laya.runtime.ColorFilterItem","renderType":"render","height":460},
|
||||
"nodeParent":9,
|
||||
"label":"Box",
|
||||
"isOpen":true,
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
{
|
||||
"x":0,
|
||||
"type":"View",
|
||||
"selectedBox":1,
|
||||
"selecteID":83,
|
||||
"props":{"y":1218,"x":562,"width":1125,"sceneColor":"#000000","sceneBg":"laya/views/view/CyberTheme/CyberMain.png","runtime":"ViewBase","height":2436,"anchorY":0.5,"anchorX":0.5},
|
||||
"selectedBox":93,
|
||||
"selecteID":94,
|
||||
"props":{"y":1218,"x":562,"width":1125,"sceneColor":"#000000","sceneBg":"laya/views/view/CyberTheme/CyberMain.png","runtime":"Laya.runtime.ViewBase","height":2436,"anchorY":0.5,"anchorX":0.5},
|
||||
"nodeParent":-1,
|
||||
"label":"View",
|
||||
"isOpen":true,
|
||||
@@ -18,14 +18,13 @@
|
||||
"props":{"var":"imgBg","skin":"images/background/background_1@3x.png","name":"imgBg","centerY":0,"centerX":0},
|
||||
"nodeParent":1,
|
||||
"label":"Image(imgBg)",
|
||||
"isOpen":true,
|
||||
"isOpen":false,
|
||||
"isDirectory":true,
|
||||
"isAniNode":true,
|
||||
"hasChild":true,
|
||||
"compId":67,
|
||||
"child":[
|
||||
{
|
||||
"x":30,
|
||||
"type":"Animation",
|
||||
"props":{"y":0,"x":0,"width":1125,"source":"view/CyberTheme/animation/jumpBackground.ani","interval":80,"height":2436,"blendMode":"lighter","autoPlay":true,"alpha":0.3},
|
||||
"nodeParent":67,
|
||||
@@ -42,7 +41,7 @@
|
||||
{
|
||||
"x":15,
|
||||
"type":"Image",
|
||||
"props":{"var":"imgTitle","skin":"images/accessories/title@3x.png","runtime":"ColorFilterItem","name":"imgTitle","centerY":-350,"centerX":0},
|
||||
"props":{"var":"imgTitle","skin":"images/accessories/title@3x.png","runtime":"Laya.runtime.ColorFilterItem","name":"imgTitle","centerY":-350,"centerX":0},
|
||||
"nodeParent":1,
|
||||
"label":"Image(imgTitle)",
|
||||
"isOpen":false,
|
||||
@@ -131,7 +130,7 @@
|
||||
{
|
||||
"x":15,
|
||||
"type":"Label",
|
||||
"props":{"text":"UI_Cyber_Theme_Art_Design","right":50,"fontSize":48,"font":"方正像素12","color":"#00fffd","centerY":1165,"anchorY":0.5,"anchorX":0.5},
|
||||
"props":{"text":"UI_Cyber_Theme_Art_Design","right":50,"fontSize":48,"font":"方正像素12","color":"#00fffd","bottom":30,"anchorY":0.5,"anchorX":0.5},
|
||||
"nodeParent":1,
|
||||
"label":"Label",
|
||||
"isDirectory":false,
|
||||
@@ -409,7 +408,7 @@
|
||||
{
|
||||
"x":15,
|
||||
"type":"Box",
|
||||
"props":{"y":200,"x":200,"width":225,"var":"btnThanks","runtime":"ScaleButton","name":"btnThanks","height":90,"anchorY":0.5,"anchorX":0.5},
|
||||
"props":{"y":200,"x":200,"width":225,"var":"btnThanks","runtime":"Laya.runtime.ScaleButton","name":"btnThanks","height":90,"anchorY":0.5,"anchorX":0.5},
|
||||
"nodeParent":1,
|
||||
"label":"Box(btnThanks)",
|
||||
"isOpen":false,
|
||||
@@ -474,16 +473,15 @@
|
||||
"props":{"y":0,"x":1100,"width":1,"top":0,"right":0,"height":1},
|
||||
"nodeParent":1,
|
||||
"label":"Box",
|
||||
"isOpen":true,
|
||||
"isOpen":false,
|
||||
"isDirectory":true,
|
||||
"isAniNode":true,
|
||||
"hasChild":true,
|
||||
"compId":84,
|
||||
"child":[
|
||||
{
|
||||
"x":30,
|
||||
"type":"Box",
|
||||
"props":{"y":200,"x":-200,"width":225,"var":"btnAchievement","runtime":"ScaleButton","name":"btnAchievement","height":90,"anchorY":0.5,"anchorX":0.5},
|
||||
"props":{"y":200,"x":-200,"width":225,"var":"btnAchievement","runtime":"Laya.runtime.ScaleButton","name":"btnAchievement","height":90,"anchorY":0.5,"anchorX":0.5},
|
||||
"nodeParent":84,
|
||||
"label":"Box(btnAchievement)",
|
||||
"isOpen":false,
|
||||
@@ -550,16 +548,15 @@
|
||||
"props":{"width":1,"left":0,"height":1,"bottom":0},
|
||||
"nodeParent":1,
|
||||
"label":"Box",
|
||||
"isOpen":true,
|
||||
"isOpen":false,
|
||||
"isDirectory":true,
|
||||
"isAniNode":true,
|
||||
"hasChild":true,
|
||||
"compId":85,
|
||||
"child":[
|
||||
{
|
||||
"x":30,
|
||||
"type":"Box",
|
||||
"props":{"y":-175,"x":100,"width":160,"var":"btnGithub","runtime":"ScaleButton","name":"btnGithub","height":160,"anchorY":0.5,"anchorX":0.5},
|
||||
"props":{"y":-175,"x":100,"width":160,"var":"btnGithub","runtime":"Laya.runtime.ScaleButton","name":"btnGithub","height":160,"anchorY":0.5,"anchorX":0.5},
|
||||
"nodeParent":85,
|
||||
"label":"Box(btnGithub)",
|
||||
"isOpen":false,
|
||||
@@ -582,9 +579,8 @@
|
||||
}]
|
||||
},
|
||||
{
|
||||
"x":30,
|
||||
"type":"Box",
|
||||
"props":{"y":-355,"x":100,"width":160,"var":"btnDiscord","runtime":"ScaleButton","name":"btnDiscord","height":160,"anchorY":0.5,"anchorX":0.5},
|
||||
"props":{"y":-355,"x":100,"width":160,"var":"btnDiscord","runtime":"Laya.runtime.ScaleButton","name":"btnDiscord","height":160,"anchorY":0.5,"anchorX":0.5},
|
||||
"nodeParent":85,
|
||||
"label":"Box(btnDiscord)",
|
||||
"isOpen":false,
|
||||
@@ -606,6 +602,117 @@
|
||||
]
|
||||
}]
|
||||
}]
|
||||
},
|
||||
{
|
||||
"x":15,
|
||||
"type":"Box",
|
||||
"props":{"right":0,"bottom":0},
|
||||
"nodeParent":1,
|
||||
"label":"Box",
|
||||
"isOpen":false,
|
||||
"isDirectory":true,
|
||||
"isAniNode":true,
|
||||
"hasChild":true,
|
||||
"compId":88,
|
||||
"child":[
|
||||
{
|
||||
"type":"Box",
|
||||
"props":{"y":-300,"x":-100,"width":110,"runtime":"Laya.runtime.ScaleButton","height":110,"anchorY":0.5,"anchorX":0.5},
|
||||
"nodeParent":88,
|
||||
"label":"Box",
|
||||
"isOpen":true,
|
||||
"isDirectory":true,
|
||||
"isAniNode":true,
|
||||
"hasChild":true,
|
||||
"compId":90,
|
||||
"child":[
|
||||
{
|
||||
"type":"Box",
|
||||
"props":{"width":110,"var":"btnSaveLoad","runtime":"Laya.runtime.ColorfulBox","name":"btnSmall","height":110,"centerY":0,"centerX":0,"anchorY":0.5,"anchorX":0.5},
|
||||
"nodeParent":90,
|
||||
"label":"Box(btnSaveLoad)",
|
||||
"isOpen":true,
|
||||
"isDirectory":true,
|
||||
"isAniNode":true,
|
||||
"hasChild":true,
|
||||
"compId":91,
|
||||
"child":[
|
||||
{
|
||||
"type":"Image",
|
||||
"props":{"width":80,"skin":"images/icons/icon_save.png","height":80,"centerY":0,"centerX":0},
|
||||
"nodeParent":91,
|
||||
"label":"Image",
|
||||
"isDirectory":false,
|
||||
"isAniNode":true,
|
||||
"hasChild":false,
|
||||
"compId":92,
|
||||
"child":[
|
||||
]
|
||||
}]
|
||||
}]
|
||||
},
|
||||
{
|
||||
"type":"Box",
|
||||
"props":{"y":-175,"x":-100,"width":110,"runtime":"Laya.runtime.ScaleButton","height":110,"anchorY":0.5,"anchorX":0.5},
|
||||
"nodeParent":88,
|
||||
"label":"Box",
|
||||
"isOpen":true,
|
||||
"isDirectory":true,
|
||||
"isAniNode":true,
|
||||
"hasChild":true,
|
||||
"compId":89,
|
||||
"child":[
|
||||
{
|
||||
"type":"Box",
|
||||
"props":{"width":110,"var":"btnThemes","runtime":"Laya.runtime.ColorfulBox","name":"btnThemes","height":110,"centerY":0,"centerX":0,"anchorY":0.5,"anchorX":0.5},
|
||||
"nodeParent":89,
|
||||
"label":"Box(btnThemes)",
|
||||
"isOpen":false,
|
||||
"isDirectory":true,
|
||||
"isAniNode":true,
|
||||
"hasChild":true,
|
||||
"compId":86,
|
||||
"child":[
|
||||
{
|
||||
"type":"Image",
|
||||
"props":{"width":90,"skin":"images/icons/icon_themes.png","height":90,"centerY":0,"centerX":0},
|
||||
"nodeParent":86,
|
||||
"label":"Image",
|
||||
"isDirectory":false,
|
||||
"isAniNode":true,
|
||||
"hasChild":false,
|
||||
"compId":87,
|
||||
"child":[
|
||||
]
|
||||
}]
|
||||
}]
|
||||
}]
|
||||
},
|
||||
{
|
||||
"x":15,
|
||||
"type":"Box",
|
||||
"props":{"x":572,"var":"banner","centerX":0,"bottom":100,"anchorY":1,"anchorX":0.5},
|
||||
"nodeParent":1,
|
||||
"label":"Box(banner)",
|
||||
"isOpen":true,
|
||||
"isDirectory":true,
|
||||
"isAniNode":true,
|
||||
"hasChild":true,
|
||||
"compId":93,
|
||||
"child":[
|
||||
{
|
||||
"x":30,
|
||||
"type":"Label",
|
||||
"props":{"text":"UI_Banner","fontSize":40,"font":"方正像素12","color":"#00fffd"},
|
||||
"nodeParent":93,
|
||||
"label":"Label",
|
||||
"isDirectory":false,
|
||||
"isAniNode":true,
|
||||
"hasChild":false,
|
||||
"compId":94,
|
||||
"child":[
|
||||
]
|
||||
}]
|
||||
}],
|
||||
"animations":[
|
||||
{
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
"selectedBox":1,
|
||||
"selecteID":97,
|
||||
"referenceLines":null,
|
||||
"props":{"width":1125,"sceneColor":"#000000","sceneBg":"laya/views/view/CyberTheme/CyberProperty.png","runtime":"ViewBase","height":2436},
|
||||
"props":{"width":1125,"sceneColor":"#000000","sceneBg":"laya/views/view/CyberTheme/CyberProperty.png","runtime":"Laya.runtime.ViewBase","height":2436},
|
||||
"nodeParent":-1,
|
||||
"label":"View",
|
||||
"isOpen":true,
|
||||
@@ -300,7 +300,7 @@
|
||||
},
|
||||
{
|
||||
"type":"Box",
|
||||
"props":{"width":110,"runtime":"ScaleButton","height":110,"centerY":0,"centerX":0,"anchorY":0.5,"anchorX":0.5},
|
||||
"props":{"width":110,"runtime":"Laya.runtime.ScaleButton","height":110,"centerY":0,"centerX":0,"anchorY":0.5,"anchorX":0.5},
|
||||
"nodeParent":21,
|
||||
"label":"Box",
|
||||
"isDirectory":true,
|
||||
@@ -465,7 +465,7 @@
|
||||
},
|
||||
{
|
||||
"type":"Box",
|
||||
"props":{"width":110,"runtime":"ScaleButton","height":110,"centerY":0,"centerX":0,"anchorY":0.5,"anchorX":0.5},
|
||||
"props":{"width":110,"runtime":"Laya.runtime.ScaleButton","height":110,"centerY":0,"centerX":0,"anchorY":0.5,"anchorX":0.5},
|
||||
"nodeParent":22,
|
||||
"label":"Box",
|
||||
"isDirectory":true,
|
||||
@@ -653,7 +653,7 @@
|
||||
},
|
||||
{
|
||||
"type":"Box",
|
||||
"props":{"width":110,"runtime":"ScaleButton","height":110,"centerY":0,"centerX":0,"anchorY":0.5,"anchorX":0.5},
|
||||
"props":{"width":110,"runtime":"Laya.runtime.ScaleButton","height":110,"centerY":0,"centerX":0,"anchorY":0.5,"anchorX":0.5},
|
||||
"nodeParent":126,
|
||||
"label":"Box",
|
||||
"isDirectory":true,
|
||||
@@ -818,7 +818,7 @@
|
||||
},
|
||||
{
|
||||
"type":"Box",
|
||||
"props":{"width":110,"runtime":"ScaleButton","height":110,"centerY":0,"centerX":0,"anchorY":0.5,"anchorX":0.5},
|
||||
"props":{"width":110,"runtime":"Laya.runtime.ScaleButton","height":110,"centerY":0,"centerX":0,"anchorY":0.5,"anchorX":0.5},
|
||||
"nodeParent":140,
|
||||
"label":"Box",
|
||||
"isDirectory":true,
|
||||
@@ -1006,7 +1006,7 @@
|
||||
},
|
||||
{
|
||||
"type":"Box",
|
||||
"props":{"width":110,"runtime":"ScaleButton","height":110,"centerY":0,"centerX":0,"anchorY":0.5,"anchorX":0.5},
|
||||
"props":{"width":110,"runtime":"Laya.runtime.ScaleButton","height":110,"centerY":0,"centerX":0,"anchorY":0.5,"anchorX":0.5},
|
||||
"nodeParent":156,
|
||||
"label":"Box",
|
||||
"isDirectory":true,
|
||||
@@ -1171,7 +1171,7 @@
|
||||
},
|
||||
{
|
||||
"type":"Box",
|
||||
"props":{"width":110,"runtime":"ScaleButton","height":110,"centerY":0,"centerX":0,"anchorY":0.5,"anchorX":0.5},
|
||||
"props":{"width":110,"runtime":"Laya.runtime.ScaleButton","height":110,"centerY":0,"centerX":0,"anchorY":0.5,"anchorX":0.5},
|
||||
"nodeParent":170,
|
||||
"label":"Box",
|
||||
"isDirectory":true,
|
||||
@@ -1359,7 +1359,7 @@
|
||||
},
|
||||
{
|
||||
"type":"Box",
|
||||
"props":{"width":110,"runtime":"ScaleButton","height":110,"centerY":0,"centerX":0,"anchorY":0.5,"anchorX":0.5},
|
||||
"props":{"width":110,"runtime":"Laya.runtime.ScaleButton","height":110,"centerY":0,"centerX":0,"anchorY":0.5,"anchorX":0.5},
|
||||
"nodeParent":186,
|
||||
"label":"Box",
|
||||
"isDirectory":true,
|
||||
@@ -1524,7 +1524,7 @@
|
||||
},
|
||||
{
|
||||
"type":"Box",
|
||||
"props":{"width":110,"runtime":"ScaleButton","height":110,"centerY":0,"centerX":0,"anchorY":0.5,"anchorX":0.5},
|
||||
"props":{"width":110,"runtime":"Laya.runtime.ScaleButton","height":110,"centerY":0,"centerX":0,"anchorY":0.5,"anchorX":0.5},
|
||||
"nodeParent":200,
|
||||
"label":"Box",
|
||||
"isDirectory":true,
|
||||
@@ -2053,7 +2053,7 @@
|
||||
"child":[
|
||||
{
|
||||
"type":"Box",
|
||||
"props":{"runtime":"ColorFilterItem","colorFilter":"#ffce45ff","blendMode":"lighter"},
|
||||
"props":{"runtime":"Laya.runtime.ColorFilterItem","colorFilter":"#ffce45ff","blendMode":"lighter"},
|
||||
"nodeParent":75,
|
||||
"label":"Box",
|
||||
"isOpen":false,
|
||||
@@ -2232,7 +2232,7 @@
|
||||
},
|
||||
{
|
||||
"type":"Box",
|
||||
"props":{"runtime":"ColorFilterItem","colorFilter":"#ffce45ff","blendMode":"lighter"},
|
||||
"props":{"runtime":"Laya.runtime.ColorFilterItem","colorFilter":"#ffce45ff","blendMode":"lighter"},
|
||||
"nodeParent":75,
|
||||
"label":"Box",
|
||||
"isOpen":false,
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
"type":"View",
|
||||
"selectedBox":1,
|
||||
"selecteID":8,
|
||||
"props":{"width":1125,"sceneColor":"#000000","sceneBg":"laya/views/view/CyberTheme/CyberSummary.png","runtime":"ViewBase","height":2436},
|
||||
"props":{"width":1125,"sceneColor":"#000000","sceneBg":"laya/views/view/CyberTheme/CyberSummary.png","runtime":"Laya.runtime.ViewBase","height":2436},
|
||||
"nodeParent":-1,
|
||||
"label":"View",
|
||||
"isOpen":true,
|
||||
@@ -393,7 +393,7 @@
|
||||
},
|
||||
{
|
||||
"type":"Box",
|
||||
"props":{"var":"boxCharmGrade","top":20,"runtime":"ColorFilterItem","right":240,"name":"boxCharmGrade","left":255,"bottom":20},
|
||||
"props":{"var":"boxCharmGrade","top":20,"runtime":"Laya.runtime.ColorFilterItem","right":240,"name":"boxCharmGrade","left":255,"bottom":20},
|
||||
"nodeParent":17,
|
||||
"label":"Box(boxCharmGrade)",
|
||||
"isOpen":true,
|
||||
@@ -489,7 +489,7 @@
|
||||
},
|
||||
{
|
||||
"type":"Box",
|
||||
"props":{"var":"boxIntelligenceGrade","top":20,"runtime":"ColorFilterItem","right":240,"name":"boxIntelligenceGrade","left":255,"bottom":20},
|
||||
"props":{"var":"boxIntelligenceGrade","top":20,"runtime":"Laya.runtime.ColorFilterItem","right":240,"name":"boxIntelligenceGrade","left":255,"bottom":20},
|
||||
"nodeParent":47,
|
||||
"label":"Box(boxIntelligenceGrade)",
|
||||
"isOpen":true,
|
||||
@@ -585,7 +585,7 @@
|
||||
},
|
||||
{
|
||||
"type":"Box",
|
||||
"props":{"var":"boxStrengthGrade","top":20,"runtime":"ColorFilterItem","right":240,"name":"boxStrengthGrade","left":255,"bottom":20},
|
||||
"props":{"var":"boxStrengthGrade","top":20,"runtime":"Laya.runtime.ColorFilterItem","right":240,"name":"boxStrengthGrade","left":255,"bottom":20},
|
||||
"nodeParent":77,
|
||||
"label":"Box(boxStrengthGrade)",
|
||||
"isOpen":true,
|
||||
@@ -681,7 +681,7 @@
|
||||
},
|
||||
{
|
||||
"type":"Box",
|
||||
"props":{"var":"boxMoneyGrade","top":20,"runtime":"ColorFilterItem","right":240,"name":"boxMoneyGrade","left":255,"bottom":20},
|
||||
"props":{"var":"boxMoneyGrade","top":20,"runtime":"Laya.runtime.ColorFilterItem","right":240,"name":"boxMoneyGrade","left":255,"bottom":20},
|
||||
"nodeParent":107,
|
||||
"label":"Box(boxMoneyGrade)",
|
||||
"isOpen":true,
|
||||
@@ -777,7 +777,7 @@
|
||||
},
|
||||
{
|
||||
"type":"Box",
|
||||
"props":{"var":"boxSpiritGrade","top":20,"runtime":"ColorFilterItem","right":240,"name":"boxSpiritGrade","left":255,"bottom":20},
|
||||
"props":{"var":"boxSpiritGrade","top":20,"runtime":"Laya.runtime.ColorFilterItem","right":240,"name":"boxSpiritGrade","left":255,"bottom":20},
|
||||
"nodeParent":195,
|
||||
"label":"Box(boxSpiritGrade)",
|
||||
"isOpen":true,
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
"type":"View",
|
||||
"selectedBox":21,
|
||||
"selecteID":22,
|
||||
"props":{"width":1125,"sceneColor":"#000000","sceneBg":"laya/views/view/CyberTheme/CyberTalent.png","runtime":"ViewBase","height":2436},
|
||||
"props":{"width":1125,"sceneColor":"#000000","sceneBg":"laya/views/view/CyberTheme/CyberTalent.png","runtime":"Laya.runtime.ViewBase","height":2436},
|
||||
"nodeParent":-1,
|
||||
"label":"View",
|
||||
"isOpen":true,
|
||||
|
||||
@@ -1,37 +0,0 @@
|
||||
{
|
||||
"x":0,
|
||||
"type":"View",
|
||||
"selectedBox":1,
|
||||
"selecteID":1,
|
||||
"props":{"width":1125,"sceneColor":"#000000","runtime":"ViewBase","height":2436},
|
||||
"nodeParent":-1,
|
||||
"label":"View",
|
||||
"isOpen":true,
|
||||
"isDirectory":true,
|
||||
"isAniNode":true,
|
||||
"hasChild":true,
|
||||
"compId":1,
|
||||
"child":[
|
||||
{
|
||||
"x":15,
|
||||
"type":"Button",
|
||||
"props":{"y":200,"var":"btnBack","skin":"images/button/button_back@3x.png","name":"btnBack","left":30},
|
||||
"nodeParent":1,
|
||||
"label":"Button(btnBack)",
|
||||
"isDirectory":false,
|
||||
"isAniNode":true,
|
||||
"hasChild":false,
|
||||
"compId":2,
|
||||
"child":[
|
||||
]
|
||||
}],
|
||||
"animations":[
|
||||
{
|
||||
"nodes":[
|
||||
],
|
||||
"name":"ani1",
|
||||
"id":1,
|
||||
"frameRate":24,
|
||||
"action":0
|
||||
}]
|
||||
}
|
||||
@@ -1,9 +1,9 @@
|
||||
{
|
||||
"x":0,
|
||||
"type":"View",
|
||||
"selectedBox":14,
|
||||
"selecteID":13,
|
||||
"props":{"width":1125,"sceneColor":"#000000","sceneBg":"laya/views/view/CyberTheme/CyberTrajectory.png","runtime":"ViewBase","height":2436},
|
||||
"selectedBox":88,
|
||||
"selecteID":153,
|
||||
"props":{"width":1125,"sceneColor":"#000000","sceneBg":"laya/views/view/CyberTheme/CyberTrajectory.png","runtime":"Laya.runtime.ViewBase","height":2436},
|
||||
"nodeParent":-1,
|
||||
"label":"View",
|
||||
"isOpen":true,
|
||||
@@ -550,14 +550,13 @@
|
||||
"props":{"right":0,"left":0,"height":1,"bottom":-1},
|
||||
"nodeParent":1,
|
||||
"label":"Box",
|
||||
"isOpen":true,
|
||||
"isOpen":false,
|
||||
"isDirectory":true,
|
||||
"isAniNode":true,
|
||||
"hasChild":true,
|
||||
"compId":14,
|
||||
"child":[
|
||||
{
|
||||
"x":30,
|
||||
"type":"Button",
|
||||
"props":{"y":-155,"width":500,"var":"btnSummary","skin":"images/button/button_main@3x.png","name":"btnSummary","label":"UI_Goto_Summary","centerX":0},
|
||||
"nodeParent":14,
|
||||
@@ -569,7 +568,6 @@
|
||||
"compId":13,
|
||||
"child":[
|
||||
{
|
||||
"x":45,
|
||||
"type":"Box",
|
||||
"props":{},
|
||||
"nodeParent":13,
|
||||
@@ -750,7 +748,6 @@
|
||||
}]
|
||||
},
|
||||
{
|
||||
"x":45,
|
||||
"type":"Box",
|
||||
"props":{},
|
||||
"nodeParent":13,
|
||||
@@ -824,7 +821,6 @@
|
||||
"$HIDDEN":false
|
||||
},
|
||||
{
|
||||
"x":30,
|
||||
"type":"Box",
|
||||
"props":{"y":-155,"var":"boxSpeed","right":100,"name":"boxSpeed","left":100,"height":150,"anchorY":0.5,"anchorX":0.5},
|
||||
"nodeParent":14,
|
||||
@@ -836,7 +832,6 @@
|
||||
"compId":104,
|
||||
"child":[
|
||||
{
|
||||
"x":45,
|
||||
"type":"ProgressBar",
|
||||
"props":{"var":"prgSpeed","skin":"images/progress/progress_s.png","right":0,"name":"prgSpeed","left":0,"bottom":0},
|
||||
"nodeParent":104,
|
||||
@@ -849,7 +844,6 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"x":45,
|
||||
"type":"HScrollBar",
|
||||
"props":{"var":"scbSpeed","skin":"images/slider/hslider_s.png","right":0,"name":"scbSpeed","min":0,"max":1000,"left":0,"height":60,"bottom":0},
|
||||
"nodeParent":104,
|
||||
@@ -862,7 +856,6 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"x":45,
|
||||
"type":"Label",
|
||||
"props":{"text":"UI_Manual","fontSize":50,"font":"方正像素12","color":"#55fffe","bottom":70},
|
||||
"nodeParent":104,
|
||||
@@ -875,7 +868,6 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"x":45,
|
||||
"type":"Label",
|
||||
"props":{"text":"UI_Auto","right":0,"fontSize":50,"font":"方正像素12","color":"#55fffe","bottom":70},
|
||||
"nodeParent":104,
|
||||
@@ -934,13 +926,14 @@
|
||||
"props":{"var":"vboxTrajectory","top":0,"right":40,"name":"vboxTrajectory","left":20},
|
||||
"nodeParent":18,
|
||||
"label":"VBox(vboxTrajectory)",
|
||||
"isOpen":false,
|
||||
"isOpen":true,
|
||||
"isDirectory":true,
|
||||
"isAniNode":true,
|
||||
"hasChild":true,
|
||||
"compId":17,
|
||||
"child":[
|
||||
{
|
||||
"x":60,
|
||||
"type":"Box",
|
||||
"props":{"right":0,"name":"boxTrajectoryItem","left":0},
|
||||
"nodeParent":17,
|
||||
@@ -952,11 +945,25 @@
|
||||
"compId":88,
|
||||
"child":[
|
||||
{
|
||||
"x":75,
|
||||
"type":"Box",
|
||||
"props":{"y":0,"width":10,"top":0,"runtime":"Laya.runtime.ColorfulBox","name":"boxGrade","left":0,"height":50},
|
||||
"nodeParent":88,
|
||||
"label":"Box(boxGrade)",
|
||||
"isDirectory":false,
|
||||
"isAniNode":true,
|
||||
"hasChild":false,
|
||||
"compId":153,
|
||||
"child":[
|
||||
]
|
||||
},
|
||||
{
|
||||
"x":75,
|
||||
"type":"HBox",
|
||||
"props":{"y":0,"x":200,"name":"hboxAge","anchorX":1,"align":"middle"},
|
||||
"props":{"y":0,"x":220,"name":"hboxAge","anchorX":1,"align":"middle"},
|
||||
"nodeParent":88,
|
||||
"label":"HBox(hboxAge)",
|
||||
"isOpen":true,
|
||||
"isOpen":false,
|
||||
"isDirectory":true,
|
||||
"isAniNode":true,
|
||||
"hasChild":true,
|
||||
@@ -1000,8 +1007,9 @@
|
||||
}]
|
||||
},
|
||||
{
|
||||
"x":75,
|
||||
"type":"Label",
|
||||
"props":{"wordWrap":true,"text":"你的父母开始辅导你数学和英语,智力+1","right":0,"name":"labContent","left":220,"leading":44,"fontSize":50,"font":"方正像素12","color":"#ffffff"},
|
||||
"props":{"wordWrap":true,"text":"你的父母开始辅导你数学和英语,智力+1","right":0,"name":"labContent","left":240,"leading":44,"fontSize":50,"font":"方正像素12","color":"#ffffff"},
|
||||
"nodeParent":88,
|
||||
"label":"Label(labContent)",
|
||||
"isDirectory":false,
|
||||
@@ -1113,6 +1121,32 @@
|
||||
}]
|
||||
}]
|
||||
}]
|
||||
},
|
||||
{
|
||||
"x":15,
|
||||
"type":"Box",
|
||||
"props":{"width":10,"var":"boxParticle","name":"boxParticle","height":10,"centerY":0,"centerX":0},
|
||||
"nodeParent":1,
|
||||
"label":"Box(boxParticle)",
|
||||
"isOpen":false,
|
||||
"isDirectory":true,
|
||||
"isAniNode":true,
|
||||
"hasChild":true,
|
||||
"compId":152,
|
||||
"child":[
|
||||
{
|
||||
"type":"Particle2D",
|
||||
"source":"particle/fly.part",
|
||||
"props":{"y":5,"x":5,"url":"particle/fly.part","autoPlay":true},
|
||||
"nodeParent":152,
|
||||
"label":"Particle2D",
|
||||
"isDirectory":false,
|
||||
"isAniNode":true,
|
||||
"hasChild":false,
|
||||
"compId":151,
|
||||
"child":[
|
||||
]
|
||||
}]
|
||||
}],
|
||||
"animations":[
|
||||
{
|
||||
|
||||
128
laya/pages/view/CyberTheme/Mode.ui
Normal file
@@ -0,0 +1,128 @@
|
||||
{
|
||||
"x":0,
|
||||
"type":"View",
|
||||
"selectedBox":1,
|
||||
"selecteID":8,
|
||||
"props":{"width":1125,"sceneColor":"#000000","height":2436},
|
||||
"nodeParent":-1,
|
||||
"label":"View",
|
||||
"isOpen":true,
|
||||
"isDirectory":true,
|
||||
"isAniNode":true,
|
||||
"hasChild":true,
|
||||
"compId":1,
|
||||
"child":[
|
||||
{
|
||||
"x":15,
|
||||
"type":"Box",
|
||||
"props":{"y":10,"x":10,"width":600,"var":"btnCustom","runtime":"Laya.runtime.ScaleButton","name":"btn","height":400,"centerY":-400,"centerX":0},
|
||||
"nodeParent":1,
|
||||
"label":"Box(btnCustom)",
|
||||
"isOpen":true,
|
||||
"isDirectory":true,
|
||||
"isAniNode":true,
|
||||
"hasChild":true,
|
||||
"compId":2,
|
||||
"child":[
|
||||
{
|
||||
"x":30,
|
||||
"type":"Image",
|
||||
"props":{"top":-15,"skin":"images/border/achievement_complete@3x.png","right":-15,"left":-15,"bottom":-15},
|
||||
"nodeParent":2,
|
||||
"label":"Image",
|
||||
"isDirectory":false,
|
||||
"isAniNode":true,
|
||||
"hasChild":false,
|
||||
"compId":10,
|
||||
"child":[
|
||||
]
|
||||
},
|
||||
{
|
||||
"x":30,
|
||||
"type":"Label",
|
||||
"props":{"top":50,"text":"UI_CustomMode","fontSize":80,"font":"方正像素12","color":"#ffffff","centerX":0,"bold":true},
|
||||
"nodeParent":2,
|
||||
"label":"Label",
|
||||
"isDirectory":false,
|
||||
"isAniNode":true,
|
||||
"hasChild":false,
|
||||
"compId":4,
|
||||
"child":[
|
||||
]
|
||||
},
|
||||
{
|
||||
"x":30,
|
||||
"type":"Label",
|
||||
"props":{"top":200,"text":"UI_CustomModeDescription","right":0,"left":0,"leading":20,"fontSize":40,"font":"方正像素12","color":"#bcbcbc","bottom":0,"align":"center"},
|
||||
"nodeParent":2,
|
||||
"label":"Label",
|
||||
"isDirectory":false,
|
||||
"isAniNode":true,
|
||||
"hasChild":false,
|
||||
"compId":5,
|
||||
"child":[
|
||||
]
|
||||
}]
|
||||
},
|
||||
{
|
||||
"x":15,
|
||||
"type":"Box",
|
||||
"props":{"y":10,"x":20,"width":600,"var":"btnCelebrity","runtime":"Laya.runtime.ScaleButton","name":"btn","height":400,"centerY":400,"centerX":0},
|
||||
"nodeParent":1,
|
||||
"label":"Box(btnCelebrity)",
|
||||
"isOpen":true,
|
||||
"isDirectory":true,
|
||||
"isAniNode":true,
|
||||
"hasChild":true,
|
||||
"compId":3,
|
||||
"child":[
|
||||
{
|
||||
"x":30,
|
||||
"type":"Image",
|
||||
"props":{"y":-15,"x":-15,"top":-15,"skin":"images/border/achievement_complete@3x.png","right":-15,"left":-15,"bottom":-15},
|
||||
"nodeParent":3,
|
||||
"label":"Image",
|
||||
"isDirectory":false,
|
||||
"isAniNode":true,
|
||||
"hasChild":false,
|
||||
"compId":11,
|
||||
"child":[
|
||||
]
|
||||
},
|
||||
{
|
||||
"x":30,
|
||||
"type":"Label",
|
||||
"props":{"top":50,"text":"UI_CelebrityMode","fontSize":80,"font":"方正像素12","color":"#ffffff","centerX":0,"bold":true},
|
||||
"nodeParent":3,
|
||||
"label":"Label",
|
||||
"isDirectory":false,
|
||||
"isAniNode":true,
|
||||
"hasChild":false,
|
||||
"compId":7,
|
||||
"child":[
|
||||
]
|
||||
},
|
||||
{
|
||||
"x":30,
|
||||
"type":"Label",
|
||||
"props":{"top":200,"text":"UI_CelebrityModeDescription","right":0,"left":0,"leading":20,"fontSize":40,"font":"方正像素12","color":"#bcbcbc","bottom":0,"align":"center"},
|
||||
"nodeParent":3,
|
||||
"label":"Label",
|
||||
"isDirectory":false,
|
||||
"isAniNode":true,
|
||||
"hasChild":false,
|
||||
"compId":8,
|
||||
"child":[
|
||||
]
|
||||
}]
|
||||
}],
|
||||
"animations":[
|
||||
{
|
||||
"nodes":[
|
||||
],
|
||||
"name":"ani1",
|
||||
"id":1,
|
||||
"frameRate":24,
|
||||
"action":0
|
||||
}]
|
||||
}
|
||||
@@ -3,7 +3,7 @@
|
||||
"type":"View",
|
||||
"selectedBox":1,
|
||||
"selecteID":9,
|
||||
"props":{"width":1125,"sceneColor":"#000000","runtime":"ViewBase","height":2436},
|
||||
"props":{"width":1125,"sceneColor":"#000000","runtime":"Laya.runtime.ViewBase","height":2436},
|
||||
"nodeParent":-1,
|
||||
"label":"View",
|
||||
"isOpen":true,
|
||||
@@ -28,7 +28,7 @@
|
||||
{
|
||||
"x":15,
|
||||
"type":"Box",
|
||||
"props":{"width":260,"var":"btnBack","top":50,"runtime":"ColorfulBox","right":50,"name":"btnBack","height":90,"anchorY":0.5,"anchorX":0.5},
|
||||
"props":{"width":260,"var":"btnBack","top":50,"runtime":"Laya.runtime.ColorfulBox","right":50,"name":"btnBack","height":90,"anchorY":0.5,"anchorX":0.5},
|
||||
"nodeParent":1,
|
||||
"label":"Box(btnBack)",
|
||||
"isOpen":false,
|
||||
@@ -64,7 +64,7 @@
|
||||
"child":[
|
||||
{
|
||||
"type":"Box",
|
||||
"props":{"width":500,"var":"boxRemakeTimes","top":0,"runtime":"ColorfulBox","name":"boxRemakeTimes","left":0,"height":240},
|
||||
"props":{"width":500,"var":"boxRemakeTimes","top":0,"runtime":"Laya.runtime.ColorfulBox","name":"boxRemakeTimes","left":0,"height":240},
|
||||
"nodeParent":25,
|
||||
"label":"Box(boxRemakeTimes)",
|
||||
"isOpen":true,
|
||||
@@ -100,7 +100,7 @@
|
||||
},
|
||||
{
|
||||
"type":"Box",
|
||||
"props":{"width":500,"var":"boxAchievementCount","top":0,"runtime":"ColorfulBox","right":0,"name":"boxAchievementCount","height":240},
|
||||
"props":{"width":500,"var":"boxAchievementCount","top":0,"runtime":"Laya.runtime.ColorfulBox","right":0,"name":"boxAchievementCount","height":240},
|
||||
"nodeParent":25,
|
||||
"label":"Box(boxAchievementCount)",
|
||||
"isOpen":true,
|
||||
@@ -136,7 +136,7 @@
|
||||
},
|
||||
{
|
||||
"type":"Box",
|
||||
"props":{"width":500,"var":"boxEventRate","runtime":"ColorfulBox","name":"boxEventRate","left":0,"height":240,"bottom":0},
|
||||
"props":{"width":500,"var":"boxEventRate","runtime":"Laya.runtime.ColorfulBox","name":"boxEventRate","left":0,"height":240,"bottom":0},
|
||||
"nodeParent":25,
|
||||
"label":"Box(boxEventRate)",
|
||||
"isOpen":true,
|
||||
@@ -196,7 +196,7 @@
|
||||
},
|
||||
{
|
||||
"type":"Box",
|
||||
"props":{"width":500,"var":"boxTalentRate","runtime":"ColorfulBox","right":0,"name":"boxTalentRate","height":240,"bottom":0},
|
||||
"props":{"width":500,"var":"boxTalentRate","runtime":"Laya.runtime.ColorfulBox","right":0,"name":"boxTalentRate","height":240,"bottom":0},
|
||||
"nodeParent":25,
|
||||
"label":"Box(boxTalentRate)",
|
||||
"isOpen":true,
|
||||
@@ -258,7 +258,7 @@
|
||||
{
|
||||
"x":15,
|
||||
"type":"Box",
|
||||
"props":{"width":1060,"top":800,"runtime":"ColorfulBox","name":"hr","height":10,"centerX":0},
|
||||
"props":{"width":1060,"top":800,"runtime":"Laya.runtime.ColorfulBox","name":"hr","height":10,"centerX":0},
|
||||
"nodeParent":1,
|
||||
"label":"Box(hr)",
|
||||
"isDirectory":false,
|
||||
@@ -284,7 +284,7 @@
|
||||
{
|
||||
"x":15,
|
||||
"type":"Box",
|
||||
"props":{"x":945,"width":260,"var":"btnRank","top":870,"runtime":"ColorfulBox","right":50,"name":"btnRank","height":90,"anchorY":0.5,"anchorX":0.5},
|
||||
"props":{"x":945,"width":260,"var":"btnRank","top":870,"runtime":"Laya.runtime.ColorfulBox","right":50,"name":"btnRank","height":90,"anchorY":0.5,"anchorX":0.5},
|
||||
"nodeParent":1,
|
||||
"label":"Box(btnRank)",
|
||||
"isOpen":false,
|
||||
@@ -322,7 +322,7 @@
|
||||
{
|
||||
"x":30,
|
||||
"type":"Box",
|
||||
"props":{"y":10,"x":10,"width":500,"runtime":"ColorfulBox","renderType":"render","height":320},
|
||||
"props":{"y":10,"x":10,"width":500,"runtime":"Laya.runtime.ColorfulBox","renderType":"render","height":320},
|
||||
"nodeParent":9,
|
||||
"label":"Box",
|
||||
"isOpen":true,
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
"x":0,
|
||||
"type":"View",
|
||||
"selectedBox":1,
|
||||
"selecteID":2,
|
||||
"selecteID":13,
|
||||
"props":{"y":50,"width":570,"sceneColor":"#000000","mouseThrough":true,"mouseEnabled":false,"height":150,"alpha":0.75},
|
||||
"nodeParent":-1,
|
||||
"label":"View",
|
||||
@@ -15,7 +15,7 @@
|
||||
{
|
||||
"x":15,
|
||||
"type":"Box",
|
||||
"props":{"x":0,"var":"boxBg","name":"boxBg"},
|
||||
"props":{"var":"boxBg","top":0,"right":0,"name":"boxBg","left":0,"bottom":0},
|
||||
"nodeParent":1,
|
||||
"label":"Box(boxBg)",
|
||||
"isOpen":true,
|
||||
@@ -24,19 +24,6 @@
|
||||
"hasChild":true,
|
||||
"compId":5,
|
||||
"child":[
|
||||
{
|
||||
"x":30,
|
||||
"type":"Rect",
|
||||
"props":{"width":560,"lineWidth":1,"height":150,"fillColor":"#292a28"},
|
||||
"nodeParent":5,
|
||||
"label":"Rect",
|
||||
"isDirectory":false,
|
||||
"isAniNode":true,
|
||||
"hasChild":false,
|
||||
"compId":6,
|
||||
"child":[
|
||||
]
|
||||
},
|
||||
{
|
||||
"x":30,
|
||||
"type":"Rect",
|
||||
@@ -49,6 +36,19 @@
|
||||
"compId":14,
|
||||
"child":[
|
||||
]
|
||||
},
|
||||
{
|
||||
"x":30,
|
||||
"type":"Box",
|
||||
"props":{"var":"bg1","top":0,"runtime":"Laya.runtime.ColorfulBox","right":10,"left":0,"bottom":0},
|
||||
"nodeParent":5,
|
||||
"label":"Box(bg1)",
|
||||
"isDirectory":false,
|
||||
"isAniNode":true,
|
||||
"hasChild":false,
|
||||
"compId":15,
|
||||
"child":[
|
||||
]
|
||||
}]
|
||||
},
|
||||
{
|
||||
|
||||
306
laya/pages/view/DefaultTheme/Celebrity.ui
Normal file
@@ -0,0 +1,306 @@
|
||||
{
|
||||
"x":0,
|
||||
"type":"View",
|
||||
"selectedBox":1,
|
||||
"selecteID":28,
|
||||
"props":{"width":1125,"sceneColor":"#000000","height":2436},
|
||||
"nodeParent":-1,
|
||||
"label":"View",
|
||||
"isOpen":true,
|
||||
"isDirectory":true,
|
||||
"isAniNode":true,
|
||||
"hasChild":true,
|
||||
"compId":1,
|
||||
"child":[
|
||||
{
|
||||
"x":15,
|
||||
"type":"Label",
|
||||
"props":{"y":80,"text":"UI_Title_Celebrity","name":"title","fontSize":80,"font":"SimHei","color":"#ffffff","centerX":0},
|
||||
"nodeParent":1,
|
||||
"label":"Label(title)",
|
||||
"isDirectory":false,
|
||||
"isAniNode":true,
|
||||
"hasChild":false,
|
||||
"compId":19,
|
||||
"child":[
|
||||
]
|
||||
},
|
||||
{
|
||||
"x":15,
|
||||
"type":"Panel",
|
||||
"props":{"var":"panelCharacter","vScrollBarSkin":" ","top":200,"right":0,"name":"panelCharacter","left":0,"bottom":700},
|
||||
"nodeParent":1,
|
||||
"label":"Panel(panelCharacter)",
|
||||
"isOpen":true,
|
||||
"isDirectory":true,
|
||||
"isAniNode":true,
|
||||
"hasChild":true,
|
||||
"compId":2,
|
||||
"child":[
|
||||
{
|
||||
"x":30,
|
||||
"type":"VBox",
|
||||
"props":{"y":10,"width":1000,"var":"vboxCharacter","space":20,"name":"vboxCharacter","centerX":0},
|
||||
"nodeParent":2,
|
||||
"label":"VBox(vboxCharacter)",
|
||||
"isOpen":true,
|
||||
"isDirectory":true,
|
||||
"isAniNode":true,
|
||||
"hasChild":true,
|
||||
"compId":8,
|
||||
"child":[
|
||||
{
|
||||
"x":45,
|
||||
"type":"Box",
|
||||
"props":{"right":0,"name":"boxCharacter","left":0},
|
||||
"nodeParent":8,
|
||||
"label":"Box(boxCharacter)",
|
||||
"isOpen":false,
|
||||
"isDirectory":true,
|
||||
"isAniNode":true,
|
||||
"hasChild":true,
|
||||
"compId":10,
|
||||
"child":[
|
||||
{
|
||||
"type":"Box",
|
||||
"props":{"y":0,"runtime":"Laya.runtime.ColorfulBox","right":0,"name":"boxName","left":0,"height":100},
|
||||
"nodeParent":10,
|
||||
"label":"Box(boxName)",
|
||||
"isOpen":false,
|
||||
"isDirectory":true,
|
||||
"isAniNode":true,
|
||||
"hasChild":true,
|
||||
"compId":12,
|
||||
"child":[
|
||||
{
|
||||
"type":"Label",
|
||||
"props":{"valign":"middle","text":"颜值10 智力10 体质10 家境Π","name":"label","fontSize":55,"font":"SimHei","color":"#ffffff","centerY":0,"centerX":0,"align":"center"},
|
||||
"nodeParent":12,
|
||||
"label":"Label(label)",
|
||||
"isDirectory":false,
|
||||
"isAniNode":true,
|
||||
"hasChild":false,
|
||||
"compId":18,
|
||||
"child":[
|
||||
]
|
||||
}]
|
||||
},
|
||||
{
|
||||
"type":"VBox",
|
||||
"props":{"top":100,"space":20,"runtime":"Laya.runtime.ColorfulBox","right":25,"name":"vboxStates","left":25},
|
||||
"nodeParent":10,
|
||||
"label":"VBox(vboxStates)",
|
||||
"isOpen":true,
|
||||
"isDirectory":true,
|
||||
"isAniNode":true,
|
||||
"hasChild":true,
|
||||
"compId":11,
|
||||
"child":[
|
||||
{
|
||||
"type":"Label",
|
||||
"props":{"valign":"middle","text":"颜值10 智力10 体质10 家境Π","name":"label","height":100,"fontSize":55,"font":"SimHei","color":"#ffffff","centerX":0,"align":"center"},
|
||||
"nodeParent":11,
|
||||
"label":"Label(label)",
|
||||
"isDirectory":false,
|
||||
"isAniNode":true,
|
||||
"hasChild":false,
|
||||
"compId":14,
|
||||
"child":[
|
||||
]
|
||||
}]
|
||||
}]
|
||||
},
|
||||
{
|
||||
"x":45,
|
||||
"type":"Box",
|
||||
"props":{"runtime":"Laya.runtime.ColorfulBox","right":25,"name":"boxTalent","left":25,"height":100},
|
||||
"nodeParent":8,
|
||||
"label":"Box(boxTalent)",
|
||||
"isOpen":false,
|
||||
"isDirectory":true,
|
||||
"isAniNode":true,
|
||||
"hasChild":true,
|
||||
"compId":15,
|
||||
"child":[
|
||||
{
|
||||
"type":"Label",
|
||||
"props":{"valign":"middle","text":"颜值10 智力10 体质10 家境Π","name":"label","fontSize":50,"font":"SimHei","color":"#ffffff","centerY":0,"centerX":0,"align":"center"},
|
||||
"nodeParent":15,
|
||||
"label":"Label(label)",
|
||||
"isDirectory":false,
|
||||
"isAniNode":true,
|
||||
"hasChild":false,
|
||||
"compId":17,
|
||||
"child":[
|
||||
]
|
||||
}]
|
||||
},
|
||||
{
|
||||
"x":45,
|
||||
"type":"Box",
|
||||
"props":{"y":10,"x":10,"right":0,"name":"boxUniqueUnGenerate","left":0},
|
||||
"nodeParent":8,
|
||||
"label":"Box(boxUniqueUnGenerate)",
|
||||
"isOpen":true,
|
||||
"isDirectory":true,
|
||||
"isAniNode":true,
|
||||
"hasChild":true,
|
||||
"compId":20,
|
||||
"child":[
|
||||
{
|
||||
"x":60,
|
||||
"type":"Box",
|
||||
"props":{"y":0,"runtime":"Laya.runtime.ColorfulBox","right":0,"name":"boxName","left":0,"height":100},
|
||||
"nodeParent":20,
|
||||
"label":"Box(boxName)",
|
||||
"isOpen":true,
|
||||
"isDirectory":true,
|
||||
"isAniNode":true,
|
||||
"hasChild":true,
|
||||
"compId":21,
|
||||
"child":[
|
||||
{
|
||||
"x":75,
|
||||
"type":"Label",
|
||||
"props":{"valign":"middle","text":"UI_UniqueWaTaShi","name":"label","fontSize":55,"font":"SimHei","color":"#ffffff","centerY":0,"centerX":0,"align":"center"},
|
||||
"nodeParent":21,
|
||||
"label":"Label(label)",
|
||||
"isDirectory":false,
|
||||
"isAniNode":true,
|
||||
"hasChild":false,
|
||||
"compId":22,
|
||||
"child":[
|
||||
]
|
||||
}]
|
||||
},
|
||||
{
|
||||
"x":60,
|
||||
"type":"VBox",
|
||||
"props":{"top":100,"space":20,"runtime":"Laya.runtime.ColorfulBox","right":25,"name":"vboxStates","left":25},
|
||||
"nodeParent":20,
|
||||
"label":"VBox(vboxStates)",
|
||||
"isOpen":true,
|
||||
"isDirectory":true,
|
||||
"isAniNode":true,
|
||||
"hasChild":true,
|
||||
"compId":23,
|
||||
"child":[
|
||||
{
|
||||
"x":75,
|
||||
"type":"Label",
|
||||
"props":{"y":1,"valign":"middle","text":"UI_UniqueWaTaShiContent","right":0,"name":"label","left":0,"leading":30,"fontSize":55,"font":"SimHei","color":"#ffffff","align":"center"},
|
||||
"nodeParent":23,
|
||||
"label":"Label(label)",
|
||||
"isOpen":true,
|
||||
"isDirectory":false,
|
||||
"isAniNode":true,
|
||||
"hasChild":false,
|
||||
"compId":24,
|
||||
"child":[
|
||||
]
|
||||
},
|
||||
{
|
||||
"x":75,
|
||||
"type":"Box",
|
||||
"props":{"y":2,"right":0,"name":"boxBtn","left":0,"height":150},
|
||||
"nodeParent":23,
|
||||
"label":"Box(boxBtn)",
|
||||
"isOpen":true,
|
||||
"isDirectory":true,
|
||||
"isAniNode":true,
|
||||
"hasChild":true,
|
||||
"compId":25,
|
||||
"child":[
|
||||
{
|
||||
"x":90,
|
||||
"type":"Box",
|
||||
"props":{"runtime":"Laya.runtime.ColorfulBox","right":50,"name":"btn","left":50,"height":120,"centerY":0},
|
||||
"nodeParent":25,
|
||||
"label":"Box(btn)",
|
||||
"isOpen":true,
|
||||
"isDirectory":true,
|
||||
"isAniNode":true,
|
||||
"hasChild":true,
|
||||
"compId":26,
|
||||
"child":[
|
||||
{
|
||||
"x":105,
|
||||
"type":"Label",
|
||||
"props":{"y":30,"x":290,"text":"UI_GenerateNow","name":"label","fontSize":60,"font":"SimHei","color":"#ffffff","centerY":0,"centerX":0},
|
||||
"nodeParent":26,
|
||||
"label":"Label(label)",
|
||||
"isDirectory":false,
|
||||
"isAniNode":true,
|
||||
"hasChild":false,
|
||||
"compId":27,
|
||||
"child":[
|
||||
]
|
||||
}]
|
||||
}]
|
||||
}]
|
||||
}]
|
||||
}]
|
||||
}]
|
||||
},
|
||||
{
|
||||
"x":15,
|
||||
"type":"Box",
|
||||
"props":{"width":480,"var":"btnRetry","runtime":"Laya.runtime.ColorfulBox","name":"btnRetry","height":150,"centerX":0,"bottom":400},
|
||||
"nodeParent":1,
|
||||
"label":"Box(btnRetry)",
|
||||
"isOpen":true,
|
||||
"isDirectory":true,
|
||||
"isAniNode":true,
|
||||
"hasChild":true,
|
||||
"compId":4,
|
||||
"child":[
|
||||
{
|
||||
"x":30,
|
||||
"type":"Label",
|
||||
"props":{"text":"UI_AllNot","name":"label","fontSize":60,"font":"SimHei","color":"#ffffff","centerY":0,"centerX":0},
|
||||
"nodeParent":4,
|
||||
"label":"Label(label)",
|
||||
"isDirectory":false,
|
||||
"isAniNode":true,
|
||||
"hasChild":false,
|
||||
"compId":5,
|
||||
"child":[
|
||||
]
|
||||
}]
|
||||
},
|
||||
{
|
||||
"x":15,
|
||||
"type":"Box",
|
||||
"props":{"width":480,"var":"btnNext","runtime":"Laya.runtime.ColorfulBox","name":"btnNext","height":150,"centerX":0,"bottom":150},
|
||||
"nodeParent":1,
|
||||
"label":"Box(btnNext)",
|
||||
"isOpen":true,
|
||||
"isDirectory":true,
|
||||
"isAniNode":true,
|
||||
"hasChild":true,
|
||||
"compId":6,
|
||||
"child":[
|
||||
{
|
||||
"x":30,
|
||||
"type":"Label",
|
||||
"props":{"text":"UI_Make_New_Life","name":"label","fontSize":60,"font":"SimHei","color":"#ffffff","centerY":0,"centerX":0},
|
||||
"nodeParent":6,
|
||||
"label":"Label(label)",
|
||||
"isDirectory":false,
|
||||
"isAniNode":true,
|
||||
"hasChild":false,
|
||||
"compId":7,
|
||||
"child":[
|
||||
]
|
||||
}]
|
||||
}],
|
||||
"animations":[
|
||||
{
|
||||
"nodes":[
|
||||
],
|
||||
"name":"ani1",
|
||||
"id":1,
|
||||
"frameRate":24,
|
||||
"action":0
|
||||
}]
|
||||
}
|
||||
@@ -1,9 +1,9 @@
|
||||
{
|
||||
"x":0,
|
||||
"type":"View",
|
||||
"selectedBox":1,
|
||||
"selecteID":83,
|
||||
"props":{"y":1218,"x":562,"width":1125,"sceneColor":"#000000","runtime":"ViewBase","height":2436,"anchorY":0.5,"anchorX":0.5},
|
||||
"selectedBox":101,
|
||||
"selecteID":102,
|
||||
"props":{"y":1218,"x":562,"width":1125,"sceneColor":"#000000","runtime":"Laya.runtime.ViewBase","height":2436,"anchorY":0.5,"anchorX":0.5},
|
||||
"nodeParent":-1,
|
||||
"label":"View",
|
||||
"isOpen":true,
|
||||
@@ -15,9 +15,9 @@
|
||||
{
|
||||
"x":15,
|
||||
"type":"Label",
|
||||
"props":{"var":"labTitle","text":"UI_Title_Remake","name":"labTitle","fontSize":130,"font":"SimHei","color":"#ffffff","centerY":-260,"centerX":0,"bold":true,"anchorY":0.5,"anchorX":0.5},
|
||||
"props":{"text":"UI_Title_Remake","name":"title","fontSize":130,"font":"SimHei","color":"#ffffff","centerY":-260,"centerX":0,"bold":true,"anchorY":0.5,"anchorX":0.5},
|
||||
"nodeParent":1,
|
||||
"label":"Label(labTitle)",
|
||||
"label":"Label(title)",
|
||||
"isDirectory":false,
|
||||
"isAniNode":true,
|
||||
"hasChild":false,
|
||||
@@ -28,7 +28,7 @@
|
||||
{
|
||||
"x":15,
|
||||
"type":"Label",
|
||||
"props":{"wordWrap":true,"var":"labSubTitle","text":"UI_Title_Subsequent","right":0,"name":"labSubTitle","left":0,"fontSize":70,"font":"SimHei","color":"#999999","centerY":-120,"anchorY":0.5,"anchorX":0.5,"align":"center"},
|
||||
"props":{"wordWrap":true,"var":"labSubTitle","text":"UI_Title_Subsequent","right":0,"name":"title","left":0,"fontSize":70,"font":"SimHei","color":"#999999","centerY":-120,"anchorY":0.5,"anchorX":0.5,"align":"center"},
|
||||
"nodeParent":1,
|
||||
"label":"Label(labSubTitle)",
|
||||
"isDirectory":false,
|
||||
@@ -41,7 +41,7 @@
|
||||
{
|
||||
"x":15,
|
||||
"type":"Box",
|
||||
"props":{"width":600,"var":"btnRemake","runtime":"ColorfulBox","name":"btnRemake","height":150,"centerY":600,"centerX":0},
|
||||
"props":{"width":600,"var":"btnRemake","runtime":"Laya.runtime.ColorfulBox","name":"btnRemake","height":150,"centerY":600,"centerX":0},
|
||||
"nodeParent":1,
|
||||
"label":"Box(btnRemake)",
|
||||
"isOpen":true,
|
||||
@@ -67,7 +67,7 @@
|
||||
{
|
||||
"x":15,
|
||||
"type":"Box",
|
||||
"props":{"width":260,"var":"btnThanks","top":50,"runtime":"ColorfulBox","right":50,"name":"btnSmall","height":90,"anchorY":0.5,"anchorX":0.5},
|
||||
"props":{"width":260,"var":"btnThanks","top":50,"runtime":"Laya.runtime.ColorfulBox","right":50,"name":"btnSmall","height":90,"anchorY":0.5,"anchorX":0.5},
|
||||
"nodeParent":1,
|
||||
"label":"Box(btnThanks)",
|
||||
"isOpen":false,
|
||||
@@ -92,7 +92,7 @@
|
||||
{
|
||||
"x":15,
|
||||
"type":"Box",
|
||||
"props":{"width":260,"var":"btnAchievement","top":180,"runtime":"ColorfulBox","right":50,"name":"btnSmall","height":90,"anchorY":0.5,"anchorX":0.5},
|
||||
"props":{"width":260,"var":"btnAchievement","top":180,"runtime":"Laya.runtime.ColorfulBox","right":50,"name":"btnSmall","height":90,"anchorY":0.5,"anchorX":0.5},
|
||||
"nodeParent":1,
|
||||
"label":"Box(btnAchievement)",
|
||||
"isOpen":true,
|
||||
@@ -119,7 +119,7 @@
|
||||
{
|
||||
"x":15,
|
||||
"type":"Box",
|
||||
"props":{"y":0,"x":0,"width":160,"var":"btnGithub","runtime":"ScaleButton","rotation":-45,"name":"btnGithub","height":160,"anchorY":0,"anchorX":0.5},
|
||||
"props":{"y":0,"x":0,"width":160,"var":"btnGithub","runtime":"Laya.runtime.ScaleButton","rotation":-45,"name":"btnGithub","height":160,"anchorY":0,"anchorX":0.5},
|
||||
"nodeParent":1,
|
||||
"label":"Box(btnGithub)",
|
||||
"isOpen":false,
|
||||
@@ -195,16 +195,15 @@
|
||||
"props":{"width":160,"left":50,"height":160,"bottom":50},
|
||||
"nodeParent":1,
|
||||
"label":"Box",
|
||||
"isOpen":true,
|
||||
"isOpen":false,
|
||||
"isDirectory":true,
|
||||
"isAniNode":true,
|
||||
"hasChild":true,
|
||||
"compId":92,
|
||||
"child":[
|
||||
{
|
||||
"x":30,
|
||||
"type":"Box",
|
||||
"props":{"width":160,"var":"btnDiscord","runtime":"ScaleButton","name":"btnDiscord","height":160,"centerY":0,"centerX":0,"anchorY":0.5,"anchorX":0.5},
|
||||
"props":{"width":160,"var":"btnDiscord","runtime":"Laya.runtime.ScaleButton","name":"btnDiscord","height":160,"centerY":0,"centerX":0,"anchorY":0.5,"anchorX":0.5},
|
||||
"nodeParent":92,
|
||||
"label":"Box(btnDiscord)",
|
||||
"isOpen":false,
|
||||
@@ -226,6 +225,83 @@
|
||||
]
|
||||
}]
|
||||
}]
|
||||
},
|
||||
{
|
||||
"x":15,
|
||||
"type":"Box",
|
||||
"props":{"y":2201,"x":1020,"width":110,"var":"btnSaveLoad","runtime":"Laya.runtime.ColorfulBox","right":50,"name":"btnSmall","height":110,"bottom":180,"anchorY":0.5,"anchorX":0.5},
|
||||
"nodeParent":1,
|
||||
"label":"Box(btnSaveLoad)",
|
||||
"isOpen":true,
|
||||
"isDirectory":true,
|
||||
"isAniNode":true,
|
||||
"hasChild":true,
|
||||
"compId":99,
|
||||
"child":[
|
||||
{
|
||||
"x":30,
|
||||
"type":"Image",
|
||||
"props":{"width":80,"skin":"images/icons/icon_save.png","height":80,"centerY":0,"centerX":0},
|
||||
"nodeParent":99,
|
||||
"label":"Image",
|
||||
"isDirectory":false,
|
||||
"isAniNode":true,
|
||||
"hasChild":false,
|
||||
"compId":100,
|
||||
"child":[
|
||||
]
|
||||
}]
|
||||
},
|
||||
{
|
||||
"x":15,
|
||||
"type":"Box",
|
||||
"props":{"width":110,"var":"btnThemes","runtime":"Laya.runtime.ColorfulBox","right":50,"name":"btnThemes","height":110,"bottom":50,"anchorY":0.5,"anchorX":0.5},
|
||||
"nodeParent":1,
|
||||
"label":"Box(btnThemes)",
|
||||
"isOpen":false,
|
||||
"isDirectory":true,
|
||||
"isAniNode":true,
|
||||
"hasChild":true,
|
||||
"compId":96,
|
||||
"child":[
|
||||
{
|
||||
"type":"Image",
|
||||
"props":{"width":90,"skin":"images/icons/icon_themes.png","height":90,"centerY":0,"centerX":0},
|
||||
"nodeParent":96,
|
||||
"label":"Image",
|
||||
"isDirectory":false,
|
||||
"isAniNode":true,
|
||||
"hasChild":false,
|
||||
"compId":98,
|
||||
"child":[
|
||||
]
|
||||
}]
|
||||
},
|
||||
{
|
||||
"x":15,
|
||||
"type":"Box",
|
||||
"props":{"x":562,"var":"banner","centerX":0,"bottom":100,"anchorY":1,"anchorX":0.5},
|
||||
"nodeParent":1,
|
||||
"label":"Box(banner)",
|
||||
"isOpen":true,
|
||||
"isDirectory":true,
|
||||
"isAniNode":true,
|
||||
"hasChild":true,
|
||||
"compId":101,
|
||||
"child":[
|
||||
{
|
||||
"x":30,
|
||||
"type":"Label",
|
||||
"props":{"text":"UI_Banner","name":"title","fontSize":40,"font":"SimHei","color":"#ffffff"},
|
||||
"nodeParent":101,
|
||||
"label":"Label(title)",
|
||||
"isDirectory":false,
|
||||
"isAniNode":true,
|
||||
"hasChild":false,
|
||||
"compId":102,
|
||||
"child":[
|
||||
]
|
||||
}]
|
||||
}],
|
||||
"animations":[
|
||||
{
|
||||
|
||||
128
laya/pages/view/DefaultTheme/Mode.ui
Normal file
@@ -0,0 +1,128 @@
|
||||
{
|
||||
"x":0,
|
||||
"type":"View",
|
||||
"selectedBox":1,
|
||||
"selecteID":11,
|
||||
"props":{"width":1125,"sceneColor":"#000000","height":2436},
|
||||
"nodeParent":-1,
|
||||
"label":"View",
|
||||
"isOpen":true,
|
||||
"isDirectory":true,
|
||||
"isAniNode":true,
|
||||
"hasChild":true,
|
||||
"compId":1,
|
||||
"child":[
|
||||
{
|
||||
"x":15,
|
||||
"type":"Box",
|
||||
"props":{"width":600,"var":"btnCustom","runtime":"Laya.runtime.ColorfulBox","name":"btn","height":400,"centerY":-400,"centerX":0},
|
||||
"nodeParent":1,
|
||||
"label":"Box(btnCustom)",
|
||||
"isOpen":true,
|
||||
"isDirectory":true,
|
||||
"isAniNode":true,
|
||||
"hasChild":true,
|
||||
"compId":2,
|
||||
"child":[
|
||||
{
|
||||
"x":30,
|
||||
"type":"Label",
|
||||
"props":{"top":50,"text":"UI_CustomMode","name":"font_default","fontSize":80,"font":"SimHei","color":"#ffffff","centerX":0,"bold":true},
|
||||
"nodeParent":2,
|
||||
"label":"Label(font_default)",
|
||||
"isDirectory":false,
|
||||
"isAniNode":true,
|
||||
"hasChild":false,
|
||||
"compId":4,
|
||||
"child":[
|
||||
]
|
||||
},
|
||||
{
|
||||
"x":30,
|
||||
"type":"Label",
|
||||
"props":{"top":200,"text":"UI_CustomModeDescription","right":0,"name":"font_default","left":0,"leading":20,"fontSize":40,"font":"SimHei","color":"#ffffff","bottom":0,"align":"center"},
|
||||
"nodeParent":2,
|
||||
"label":"Label(font_default)",
|
||||
"isDirectory":false,
|
||||
"isAniNode":true,
|
||||
"hasChild":false,
|
||||
"compId":5,
|
||||
"child":[
|
||||
]
|
||||
},
|
||||
{
|
||||
"x":30,
|
||||
"type":"Label",
|
||||
"props":{"runtime":"Laya.runtime.ColorAgentLabel","name":"label"},
|
||||
"nodeParent":2,
|
||||
"label":"Label(label)",
|
||||
"isDirectory":false,
|
||||
"isAniNode":true,
|
||||
"hasChild":false,
|
||||
"compId":10,
|
||||
"child":[
|
||||
]
|
||||
}]
|
||||
},
|
||||
{
|
||||
"x":15,
|
||||
"type":"Box",
|
||||
"props":{"x":10,"width":600,"var":"btnCelebrity","runtime":"Laya.runtime.ColorfulBox","name":"btn","height":400,"centerY":400,"centerX":0},
|
||||
"nodeParent":1,
|
||||
"label":"Box(btnCelebrity)",
|
||||
"isOpen":true,
|
||||
"isDirectory":true,
|
||||
"isAniNode":true,
|
||||
"hasChild":true,
|
||||
"compId":3,
|
||||
"child":[
|
||||
{
|
||||
"x":30,
|
||||
"type":"Label",
|
||||
"props":{"top":50,"text":"UI_CelebrityMode","name":"font_default","fontSize":80,"font":"SimHei","color":"#ffffff","centerX":0,"bold":true},
|
||||
"nodeParent":3,
|
||||
"label":"Label(font_default)",
|
||||
"isDirectory":false,
|
||||
"isAniNode":true,
|
||||
"hasChild":false,
|
||||
"compId":8,
|
||||
"child":[
|
||||
]
|
||||
},
|
||||
{
|
||||
"x":30,
|
||||
"type":"Label",
|
||||
"props":{"top":200,"text":"UI_CelebrityModeDescription","right":0,"name":"font_default","left":0,"leading":20,"fontSize":40,"font":"SimHei","color":"#ffffff","bottom":0,"align":"center"},
|
||||
"nodeParent":3,
|
||||
"label":"Label(font_default)",
|
||||
"isDirectory":false,
|
||||
"isAniNode":true,
|
||||
"hasChild":false,
|
||||
"compId":9,
|
||||
"child":[
|
||||
]
|
||||
},
|
||||
{
|
||||
"x":30,
|
||||
"type":"Label",
|
||||
"props":{"y":10,"x":10,"runtime":"Laya.runtime.ColorAgentLabel","name":"label"},
|
||||
"nodeParent":3,
|
||||
"label":"Label(label)",
|
||||
"isDirectory":false,
|
||||
"isAniNode":true,
|
||||
"hasChild":false,
|
||||
"compId":11,
|
||||
"child":[
|
||||
]
|
||||
}]
|
||||
}],
|
||||
"animations":[
|
||||
{
|
||||
"nodes":[
|
||||
],
|
||||
"name":"ani1",
|
||||
"id":1,
|
||||
"frameRate":24,
|
||||
"action":0
|
||||
}]
|
||||
}
|
||||
@@ -1,10 +1,10 @@
|
||||
{
|
||||
"x":0,
|
||||
"type":"View",
|
||||
"selectedBox":1,
|
||||
"selecteID":8,
|
||||
"selectedBox":181,
|
||||
"selecteID":184,
|
||||
"referenceLines":null,
|
||||
"props":{"width":1125,"sceneColor":"#000000","runtime":"ViewBase","height":2436},
|
||||
"props":{"width":1125,"sceneColor":"#000000","runtime":"Laya.runtime.ViewBase","height":2436},
|
||||
"nodeParent":-1,
|
||||
"label":"View",
|
||||
"isOpen":true,
|
||||
@@ -117,9 +117,9 @@
|
||||
{
|
||||
"x":60,
|
||||
"type":"Label",
|
||||
"props":{"x":183,"text":"UI_Property_Charm","fontSize":70,"font":"SimHei","color":"#ffffff","centerY":0,"anchorY":0.5,"anchorX":0.5},
|
||||
"props":{"x":183,"text":"UI_Property_Charm","name":"font_default","fontSize":70,"font":"SimHei","color":"#ffffff","centerY":0,"anchorY":0.5,"anchorX":0.5},
|
||||
"nodeParent":10,
|
||||
"label":"Label",
|
||||
"label":"Label(font_default)",
|
||||
"isDirectory":false,
|
||||
"isAniNode":true,
|
||||
"hasChild":false,
|
||||
@@ -130,7 +130,7 @@
|
||||
{
|
||||
"x":60,
|
||||
"type":"Box",
|
||||
"props":{"width":590,"var":"boxCharmAllocate","runtime":"ColorFilterItem","right":30,"name":"property","height":110,"centerY":0},
|
||||
"props":{"width":590,"var":"boxCharmAllocate","runtime":"Laya.runtime.ColorFilterItem","right":30,"name":"property","height":110,"centerY":0},
|
||||
"nodeParent":10,
|
||||
"label":"Box(boxCharmAllocate)",
|
||||
"isOpen":false,
|
||||
@@ -212,7 +212,7 @@
|
||||
},
|
||||
{
|
||||
"type":"Box",
|
||||
"props":{"width":110,"runtime":"ScaleButton","height":110,"centerY":0,"centerX":0,"anchorY":0.5,"anchorX":0.5},
|
||||
"props":{"width":110,"runtime":"Laya.runtime.ScaleButton","height":110,"centerY":0,"centerX":0,"anchorY":0.5,"anchorX":0.5},
|
||||
"nodeParent":21,
|
||||
"label":"Box",
|
||||
"isOpen":true,
|
||||
@@ -368,7 +368,7 @@
|
||||
},
|
||||
{
|
||||
"type":"Box",
|
||||
"props":{"width":110,"runtime":"ScaleButton","height":110,"centerY":0,"centerX":0,"anchorY":0.5,"anchorX":0.5},
|
||||
"props":{"width":110,"runtime":"Laya.runtime.ScaleButton","height":110,"centerY":0,"centerX":0,"anchorY":0.5,"anchorX":0.5},
|
||||
"nodeParent":22,
|
||||
"label":"Box",
|
||||
"isOpen":true,
|
||||
@@ -444,9 +444,9 @@
|
||||
{
|
||||
"x":60,
|
||||
"type":"Label",
|
||||
"props":{"x":183,"text":"UI_Property_Intelligence","fontSize":70,"font":"SimHei","color":"#ffffff","centerY":0,"anchorY":0.5,"anchorX":0.5},
|
||||
"props":{"x":183,"text":"UI_Property_Intelligence","name":"font_default","fontSize":70,"font":"SimHei","color":"#ffffff","centerY":0,"anchorY":0.5,"anchorX":0.5},
|
||||
"nodeParent":121,
|
||||
"label":"Label",
|
||||
"label":"Label(font_default)",
|
||||
"isDirectory":false,
|
||||
"isAniNode":true,
|
||||
"hasChild":false,
|
||||
@@ -457,7 +457,7 @@
|
||||
{
|
||||
"x":60,
|
||||
"type":"Box",
|
||||
"props":{"width":590,"var":"boxIntelligenceAllocate","runtime":"ColorFilterItem","right":30,"name":"property","height":110,"centerY":0},
|
||||
"props":{"width":590,"var":"boxIntelligenceAllocate","runtime":"Laya.runtime.ColorFilterItem","right":30,"name":"property","height":110,"centerY":0},
|
||||
"nodeParent":121,
|
||||
"label":"Box(boxIntelligenceAllocate)",
|
||||
"isOpen":false,
|
||||
@@ -539,7 +539,7 @@
|
||||
},
|
||||
{
|
||||
"type":"Box",
|
||||
"props":{"width":110,"runtime":"ScaleButton","height":110,"centerY":0,"centerX":0,"anchorY":0.5,"anchorX":0.5},
|
||||
"props":{"width":110,"runtime":"Laya.runtime.ScaleButton","height":110,"centerY":0,"centerX":0,"anchorY":0.5,"anchorX":0.5},
|
||||
"nodeParent":126,
|
||||
"label":"Box",
|
||||
"isOpen":true,
|
||||
@@ -695,7 +695,7 @@
|
||||
},
|
||||
{
|
||||
"type":"Box",
|
||||
"props":{"width":110,"runtime":"ScaleButton","height":110,"centerY":0,"centerX":0,"anchorY":0.5,"anchorX":0.5},
|
||||
"props":{"width":110,"runtime":"Laya.runtime.ScaleButton","height":110,"centerY":0,"centerX":0,"anchorY":0.5,"anchorX":0.5},
|
||||
"nodeParent":140,
|
||||
"label":"Box",
|
||||
"isOpen":true,
|
||||
@@ -771,9 +771,9 @@
|
||||
{
|
||||
"x":60,
|
||||
"type":"Label",
|
||||
"props":{"x":183,"text":"UI_Property_Strength","fontSize":70,"font":"SimHei","color":"#ffffff","centerY":0,"anchorY":0.5,"anchorX":0.5},
|
||||
"props":{"x":183,"text":"UI_Property_Strength","name":"font_default","fontSize":70,"font":"SimHei","color":"#ffffff","centerY":0,"anchorY":0.5,"anchorX":0.5},
|
||||
"nodeParent":151,
|
||||
"label":"Label",
|
||||
"label":"Label(font_default)",
|
||||
"isDirectory":false,
|
||||
"isAniNode":true,
|
||||
"hasChild":false,
|
||||
@@ -784,7 +784,7 @@
|
||||
{
|
||||
"x":60,
|
||||
"type":"Box",
|
||||
"props":{"width":590,"var":"boxStrengthAllocate","runtime":"ColorFilterItem","right":30,"name":"property","height":110,"centerY":0},
|
||||
"props":{"width":590,"var":"boxStrengthAllocate","runtime":"Laya.runtime.ColorFilterItem","right":30,"name":"property","height":110,"centerY":0},
|
||||
"nodeParent":151,
|
||||
"label":"Box(boxStrengthAllocate)",
|
||||
"isOpen":false,
|
||||
@@ -866,7 +866,7 @@
|
||||
},
|
||||
{
|
||||
"type":"Box",
|
||||
"props":{"width":110,"runtime":"ScaleButton","height":110,"centerY":0,"centerX":0,"anchorY":0.5,"anchorX":0.5},
|
||||
"props":{"width":110,"runtime":"Laya.runtime.ScaleButton","height":110,"centerY":0,"centerX":0,"anchorY":0.5,"anchorX":0.5},
|
||||
"nodeParent":156,
|
||||
"label":"Box",
|
||||
"isOpen":true,
|
||||
@@ -1022,7 +1022,7 @@
|
||||
},
|
||||
{
|
||||
"type":"Box",
|
||||
"props":{"width":110,"runtime":"ScaleButton","height":110,"centerY":0,"centerX":0,"anchorY":0.5,"anchorX":0.5},
|
||||
"props":{"width":110,"runtime":"Laya.runtime.ScaleButton","height":110,"centerY":0,"centerX":0,"anchorY":0.5,"anchorX":0.5},
|
||||
"nodeParent":170,
|
||||
"label":"Box",
|
||||
"isOpen":true,
|
||||
@@ -1098,9 +1098,9 @@
|
||||
{
|
||||
"x":60,
|
||||
"type":"Label",
|
||||
"props":{"x":183,"text":"UI_Property_Money","fontSize":70,"font":"SimHei","color":"#ffffff","centerY":0,"anchorY":0.5,"anchorX":0.5},
|
||||
"props":{"x":183,"text":"UI_Property_Money","name":"font_default","fontSize":70,"font":"SimHei","color":"#ffffff","centerY":0,"anchorY":0.5,"anchorX":0.5},
|
||||
"nodeParent":181,
|
||||
"label":"Label",
|
||||
"label":"Label(font_default)",
|
||||
"isDirectory":false,
|
||||
"isAniNode":true,
|
||||
"hasChild":false,
|
||||
@@ -1111,7 +1111,7 @@
|
||||
{
|
||||
"x":60,
|
||||
"type":"Box",
|
||||
"props":{"width":590,"var":"boxMoneyAllocate","runtime":"ColorFilterItem","right":30,"name":"property","height":110,"centerY":0},
|
||||
"props":{"width":590,"var":"boxMoneyAllocate","runtime":"Laya.runtime.ColorFilterItem","right":30,"name":"property","height":110,"centerY":0},
|
||||
"nodeParent":181,
|
||||
"label":"Box(boxMoneyAllocate)",
|
||||
"isOpen":false,
|
||||
@@ -1193,7 +1193,7 @@
|
||||
},
|
||||
{
|
||||
"type":"Box",
|
||||
"props":{"width":110,"runtime":"ScaleButton","height":110,"centerY":0,"centerX":0,"anchorY":0.5,"anchorX":0.5},
|
||||
"props":{"width":110,"runtime":"Laya.runtime.ScaleButton","height":110,"centerY":0,"centerX":0,"anchorY":0.5,"anchorX":0.5},
|
||||
"nodeParent":186,
|
||||
"label":"Box",
|
||||
"isOpen":true,
|
||||
@@ -1349,7 +1349,7 @@
|
||||
},
|
||||
{
|
||||
"type":"Box",
|
||||
"props":{"width":110,"runtime":"ScaleButton","height":110,"centerY":0,"centerX":0,"anchorY":0.5,"anchorX":0.5},
|
||||
"props":{"width":110,"runtime":"Laya.runtime.ScaleButton","height":110,"centerY":0,"centerX":0,"anchorY":0.5,"anchorX":0.5},
|
||||
"nodeParent":200,
|
||||
"label":"Box",
|
||||
"isOpen":true,
|
||||
@@ -1453,7 +1453,7 @@
|
||||
{
|
||||
"x":45,
|
||||
"type":"Box",
|
||||
"props":{"y":15,"runtime":"ColorfulBox","right":15,"renderType":"render","left":15,"height":80},
|
||||
"props":{"y":15,"runtime":"Laya.runtime.ColorfulBox","right":15,"renderType":"render","left":15,"height":80},
|
||||
"nodeParent":58,
|
||||
"label":"Box",
|
||||
"isOpen":true,
|
||||
@@ -1494,7 +1494,7 @@
|
||||
{
|
||||
"x":30,
|
||||
"type":"Box",
|
||||
"props":{"y":0,"x":0,"width":480,"var":"btnRandomAllocate","top":0,"runtime":"ColorfulBox","name":"btnRandomAllocate","bottom":0},
|
||||
"props":{"y":0,"x":0,"width":480,"var":"btnRandomAllocate","top":0,"runtime":"Laya.runtime.ColorfulBox","name":"btnRandomAllocate","bottom":0},
|
||||
"nodeParent":212,
|
||||
"label":"Box(btnRandomAllocate)",
|
||||
"isOpen":true,
|
||||
@@ -1520,7 +1520,7 @@
|
||||
{
|
||||
"x":30,
|
||||
"type":"Box",
|
||||
"props":{"x":1,"width":480,"var":"btnNext","top":0,"runtime":"ColorfulBox","name":"btnNext","bottom":0},
|
||||
"props":{"x":1,"width":480,"var":"btnNext","top":0,"runtime":"Laya.runtime.ColorfulBox","name":"btnNext","bottom":0},
|
||||
"nodeParent":212,
|
||||
"label":"Box(btnNext)",
|
||||
"isOpen":true,
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
"type":"View",
|
||||
"selectedBox":1,
|
||||
"selecteID":8,
|
||||
"props":{"width":1125,"sceneColor":"#000000","runtime":"ViewBase","height":2436},
|
||||
"props":{"width":1125,"sceneColor":"#000000","runtime":"Laya.runtime.ViewBase","height":2436},
|
||||
"nodeParent":-1,
|
||||
"label":"View",
|
||||
"isOpen":true,
|
||||
@@ -52,7 +52,7 @@
|
||||
{
|
||||
"x":45,
|
||||
"type":"Box",
|
||||
"props":{"y":15,"runtime":"ColorfulBox","right":15,"renderType":"render","left":15,"height":160},
|
||||
"props":{"y":15,"runtime":"Laya.runtime.ColorfulBox","right":15,"renderType":"render","left":15,"height":160},
|
||||
"nodeParent":265,
|
||||
"label":"Box",
|
||||
"isOpen":true,
|
||||
@@ -120,7 +120,7 @@
|
||||
{
|
||||
"x":45,
|
||||
"type":"Box",
|
||||
"props":{"y":15,"runtime":"ColorfulBox","right":15,"renderType":"render","left":15,"height":80},
|
||||
"props":{"y":15,"runtime":"Laya.runtime.ColorfulBox","right":15,"renderType":"render","left":15,"height":80},
|
||||
"nodeParent":138,
|
||||
"label":"Box",
|
||||
"isOpen":true,
|
||||
@@ -145,7 +145,7 @@
|
||||
{
|
||||
"x":60,
|
||||
"type":"Box",
|
||||
"props":{"top":0,"runtime":"BlankBox","right":0,"name":"blank","left":0,"bottom":0,"alpha":0.3},
|
||||
"props":{"top":0,"runtime":"Laya.runtime.BlankBox","right":0,"name":"blank","left":0,"bottom":0,"alpha":0.3},
|
||||
"nodeParent":263,
|
||||
"label":"Box(blank)",
|
||||
"isDirectory":false,
|
||||
@@ -174,7 +174,7 @@
|
||||
{
|
||||
"x":30,
|
||||
"type":"Box",
|
||||
"props":{"width":600,"var":"btnAgain","runtime":"ColorfulBox","name":"btnAgain","height":150,"centerX":0,"bottom":100},
|
||||
"props":{"width":600,"var":"btnAgain","runtime":"Laya.runtime.ColorfulBox","name":"btnAgain","height":150,"centerX":0,"bottom":100},
|
||||
"nodeParent":10,
|
||||
"label":"Box(btnAgain)",
|
||||
"isOpen":true,
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
"type":"View",
|
||||
"selectedBox":21,
|
||||
"selecteID":114,
|
||||
"props":{"width":1125,"sceneColor":"#000000","runtime":"ViewBase","height":2436},
|
||||
"props":{"width":1125,"sceneColor":"#000000","runtime":"Laya.runtime.ViewBase","height":2436},
|
||||
"nodeParent":-1,
|
||||
"label":"View",
|
||||
"isOpen":true,
|
||||
@@ -39,7 +39,7 @@
|
||||
"child":[
|
||||
{
|
||||
"type":"Box",
|
||||
"props":{"width":600,"var":"btnDrawCard","runtime":"ColorfulBox","name":"btnDrawCard","height":150,"centerY":0,"centerX":0},
|
||||
"props":{"width":600,"var":"btnDrawCard","runtime":"Laya.runtime.ColorfulBox","name":"btnDrawCard","height":150,"centerY":0,"centerX":0},
|
||||
"nodeParent":19,
|
||||
"label":"Box(btnDrawCard)",
|
||||
"isOpen":true,
|
||||
@@ -91,7 +91,7 @@
|
||||
{
|
||||
"x":45,
|
||||
"type":"Box",
|
||||
"props":{"y":15,"runtime":"ColorfulBox","right":15,"renderType":"render","left":15,"height":80},
|
||||
"props":{"y":15,"runtime":"Laya.runtime.ColorfulBox","right":15,"renderType":"render","left":15,"height":80},
|
||||
"nodeParent":22,
|
||||
"label":"Box",
|
||||
"isOpen":true,
|
||||
@@ -116,7 +116,7 @@
|
||||
{
|
||||
"x":60,
|
||||
"type":"Box",
|
||||
"props":{"top":0,"runtime":"BlankBox","right":0,"name":"blank","left":0,"bottom":0,"alpha":0.3},
|
||||
"props":{"top":0,"runtime":"Laya.runtime.BlankBox","right":0,"name":"blank","left":0,"bottom":0,"alpha":0.3},
|
||||
"nodeParent":23,
|
||||
"label":"Box(blank)",
|
||||
"isDirectory":false,
|
||||
@@ -133,7 +133,7 @@
|
||||
{
|
||||
"x":30,
|
||||
"type":"Box",
|
||||
"props":{"x":263,"width":1085,"var":"btnNext","runtime":"ColorfulBox","name":"btnNext","height":150,"centerX":0,"bottom":30},
|
||||
"props":{"x":263,"width":1085,"var":"btnNext","runtime":"Laya.runtime.ColorfulBox","name":"btnNext","height":150,"centerX":0,"bottom":30},
|
||||
"nodeParent":21,
|
||||
"label":"Box(btnNext)",
|
||||
"isOpen":true,
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
"x":0,
|
||||
"type":"View",
|
||||
"selectedBox":1,
|
||||
"selecteID":3,
|
||||
"props":{"width":1125,"sceneColor":"#000000","runtime":"ViewBase","height":2436},
|
||||
"selecteID":161,
|
||||
"props":{"width":1125,"sceneColor":"#666666","runtime":"Laya.runtime.ViewBase","height":2436},
|
||||
"nodeParent":-1,
|
||||
"label":"View",
|
||||
"isOpen":true,
|
||||
@@ -15,24 +15,164 @@
|
||||
{
|
||||
"x":15,
|
||||
"type":"Box",
|
||||
"props":{"width":260,"var":"btnBack","top":50,"runtime":"ColorfulBox","right":50,"name":"btnBack","height":90,"anchorY":0.5,"anchorX":0.5},
|
||||
"props":{"y":95,"x":945,"width":260,"var":"btnBack","top":50,"runtime":"Laya.runtime.ColorfulBox","right":50,"name":"btnBack","height":90,"anchorY":0.5,"anchorX":0.5},
|
||||
"nodeParent":1,
|
||||
"label":"Box(btnBack)",
|
||||
"isOpen":false,
|
||||
"isDirectory":true,
|
||||
"isAniNode":true,
|
||||
"hasChild":true,
|
||||
"compId":3,
|
||||
"compId":153,
|
||||
"child":[
|
||||
{
|
||||
"type":"Label",
|
||||
"props":{"y":1028,"x":332,"text":"UI_Back","name":"label","fontSize":50,"font":"SimHei","color":"#ffffff","centerY":0,"centerX":0},
|
||||
"nodeParent":3,
|
||||
"nodeParent":153,
|
||||
"label":"Label(label)",
|
||||
"isDirectory":false,
|
||||
"isAniNode":true,
|
||||
"hasChild":false,
|
||||
"compId":4,
|
||||
"compId":154,
|
||||
"child":[
|
||||
]
|
||||
}]
|
||||
},
|
||||
{
|
||||
"x":15,
|
||||
"type":"Panel",
|
||||
"props":{"width":1100,"var":"panelTopSupports","vScrollBarSkin":" ","top":170,"name":"panelTopSupports","height":400,"centerX":0},
|
||||
"nodeParent":1,
|
||||
"label":"Panel(panelTopSupports)",
|
||||
"isOpen":false,
|
||||
"isDirectory":true,
|
||||
"isAniNode":true,
|
||||
"hasChild":true,
|
||||
"compId":18,
|
||||
"child":[
|
||||
{
|
||||
"type":"VBox",
|
||||
"props":{"y":15,"var":"vboxTopSupports","space":30,"right":-6,"name":"vboxTopSupports","left":-6},
|
||||
"nodeParent":18,
|
||||
"label":"VBox(vboxTopSupports)",
|
||||
"isOpen":false,
|
||||
"isDirectory":true,
|
||||
"isAniNode":true,
|
||||
"hasChild":true,
|
||||
"compId":17,
|
||||
"child":[
|
||||
{
|
||||
"type":"Box",
|
||||
"props":{"runtime":"Laya.runtime.ColorfulBox","right":0,"name":"boxTopSupport","left":0},
|
||||
"nodeParent":17,
|
||||
"label":"Box(boxTopSupport)",
|
||||
"isOpen":true,
|
||||
"isDirectory":true,
|
||||
"isAniNode":true,
|
||||
"hasChild":true,
|
||||
"compId":88,
|
||||
"child":[
|
||||
{
|
||||
"type":"Label",
|
||||
"props":{"y":25,"wordWrap":true,"width":250,"text":"Sombody","name":"name","left":50,"leading":25,"fontSize":50,"font":"SimHei","color":"#000000","align":"center"},
|
||||
"nodeParent":88,
|
||||
"label":"Label(name)",
|
||||
"isDirectory":false,
|
||||
"isAniNode":true,
|
||||
"hasChild":false,
|
||||
"compId":155,
|
||||
"child":[
|
||||
]
|
||||
},
|
||||
{
|
||||
"type":"Label",
|
||||
"props":{"y":25,"wordWrap":true,"text":"This is he say","right":20,"name":"comment","left":350,"leading":25,"fontSize":50,"font":"SimHei","color":"#000000","align":"center"},
|
||||
"nodeParent":88,
|
||||
"label":"Label(comment)",
|
||||
"isDirectory":false,
|
||||
"isAniNode":true,
|
||||
"hasChild":false,
|
||||
"compId":95,
|
||||
"child":[
|
||||
]
|
||||
}]
|
||||
}]
|
||||
}],
|
||||
"$HIDDEN":false
|
||||
},
|
||||
{
|
||||
"x":15,
|
||||
"type":"List",
|
||||
"props":{"width":1100,"var":"listSupports","vScrollBarSkin":" ","top":600,"spaceY":50,"spaceX":50,"name":"listSupports","centerX":0,"bottom":200},
|
||||
"nodeParent":1,
|
||||
"label":"List(listSupports)",
|
||||
"isOpen":true,
|
||||
"isDirectory":true,
|
||||
"isAniNode":true,
|
||||
"hasChild":true,
|
||||
"compId":161,
|
||||
"child":[
|
||||
{
|
||||
"x":30,
|
||||
"type":"Label",
|
||||
"props":{"y":30,"x":25,"width":500,"text":"label","renderType":"render","fontSize":50,"font":"SimHei","color":"#ffffff","align":"center"},
|
||||
"nodeParent":161,
|
||||
"label":"Label",
|
||||
"isDirectory":false,
|
||||
"isAniNode":false,
|
||||
"hasChild":false,
|
||||
"compId":162,
|
||||
"child":[
|
||||
]
|
||||
}]
|
||||
},
|
||||
{
|
||||
"x":15,
|
||||
"type":"Box",
|
||||
"props":{"width":400,"var":"btnDDF","runtime":"Laya.runtime.ColorfulBox","name":"btnDDF","height":100,"centerX":300,"bottom":50,"anchorY":0.5,"anchorX":0.5},
|
||||
"nodeParent":1,
|
||||
"label":"Box(btnDDF)",
|
||||
"isOpen":true,
|
||||
"isDirectory":true,
|
||||
"isAniNode":true,
|
||||
"hasChild":true,
|
||||
"compId":163,
|
||||
"child":[
|
||||
{
|
||||
"x":30,
|
||||
"type":"Label",
|
||||
"props":{"y":1028,"x":332,"text":"UI_Support_Programmer","name":"label","fontSize":45,"font":"SimHei","color":"#ffffff","centerY":0,"centerX":0},
|
||||
"nodeParent":163,
|
||||
"label":"Label(label)",
|
||||
"isDirectory":false,
|
||||
"isAniNode":true,
|
||||
"hasChild":false,
|
||||
"compId":164,
|
||||
"child":[
|
||||
]
|
||||
}]
|
||||
},
|
||||
{
|
||||
"x":15,
|
||||
"type":"Box",
|
||||
"props":{"width":400,"var":"btnAFD","runtime":"Laya.runtime.ColorfulBox","name":"btnAFD","height":100,"centerX":-300,"bottom":50,"anchorY":0.5,"anchorX":0.5},
|
||||
"nodeParent":1,
|
||||
"label":"Box(btnAFD)",
|
||||
"isOpen":true,
|
||||
"isDirectory":true,
|
||||
"isAniNode":true,
|
||||
"hasChild":true,
|
||||
"compId":165,
|
||||
"child":[
|
||||
{
|
||||
"x":30,
|
||||
"type":"Label",
|
||||
"props":{"y":1028,"x":332,"text":"UI_Support_Designer","name":"label","fontSize":45,"font":"SimHei","color":"#ffffff","centerY":0,"centerX":0},
|
||||
"nodeParent":165,
|
||||
"label":"Label(label)",
|
||||
"isDirectory":false,
|
||||
"isAniNode":true,
|
||||
"hasChild":false,
|
||||
"compId":166,
|
||||
"child":[
|
||||
]
|
||||
}]
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
"x":0,
|
||||
"type":"View",
|
||||
"selectedBox":1,
|
||||
"selecteID":102,
|
||||
"props":{"width":1125,"sceneColor":"#000000","runtime":"ViewBase","height":2436},
|
||||
"selecteID":95,
|
||||
"props":{"width":1125,"sceneColor":"#000000","runtime":"Laya.runtime.ViewBase","height":2436},
|
||||
"nodeParent":-1,
|
||||
"label":"View",
|
||||
"isOpen":true,
|
||||
@@ -15,7 +15,7 @@
|
||||
{
|
||||
"x":15,
|
||||
"type":"Box",
|
||||
"props":{"top":80,"right":20,"left":20,"height":180},
|
||||
"props":{"top":80,"right":20,"left":20,"height":120},
|
||||
"nodeParent":1,
|
||||
"label":"Box",
|
||||
"isOpen":false,
|
||||
@@ -37,7 +37,7 @@
|
||||
"child":[
|
||||
{
|
||||
"type":"Box",
|
||||
"props":{"x":0,"width":200,"runtime":"ColorfulBox","name":"propertyBox","height":180,"centerY":0},
|
||||
"props":{"x":0,"width":200,"runtime":"Laya.runtime.ColorfulBox","name":"propertyBox","height":120,"centerY":0},
|
||||
"nodeParent":71,
|
||||
"label":"Box(propertyBox)",
|
||||
"isOpen":true,
|
||||
@@ -48,7 +48,7 @@
|
||||
"child":[
|
||||
{
|
||||
"type":"Label",
|
||||
"props":{"y":45,"text":"UI_Property_Charm","name":"label","fontSize":60,"font":"SimHei","color":"#ffffff","centerX":0,"anchorY":0.5,"anchorX":0.5},
|
||||
"props":{"y":30,"text":"UI_Property_Charm","name":"label","fontSize":45,"font":"SimHei","color":"#ffffff","centerX":0,"anchorY":0.5,"anchorX":0.5},
|
||||
"nodeParent":34,
|
||||
"label":"Label(label)",
|
||||
"isDirectory":false,
|
||||
@@ -60,7 +60,7 @@
|
||||
},
|
||||
{
|
||||
"type":"Box",
|
||||
"props":{"runtime":"ColorfulBox","right":0,"name":"propertyValue","left":0,"height":90,"bottom":0},
|
||||
"props":{"runtime":"Laya.runtime.ColorfulBox","right":0,"name":"propertyValue","left":0,"height":60,"bottom":0},
|
||||
"nodeParent":34,
|
||||
"label":"Box(propertyValue)",
|
||||
"isOpen":true,
|
||||
@@ -71,7 +71,7 @@
|
||||
"child":[
|
||||
{
|
||||
"type":"Label",
|
||||
"props":{"y":45,"var":"labCharm","text":"10","name":"label","fontSize":60,"font":"SimHei","color":"#55fffe","centerY":0,"centerX":0,"anchorY":0.5,"anchorX":0.5},
|
||||
"props":{"var":"labCharm","text":"10","name":"label","fontSize":55,"font":"SimHei","color":"#55fffe","centerY":0,"centerX":0,"anchorY":0.5,"anchorX":0.5},
|
||||
"nodeParent":41,
|
||||
"label":"Label(labCharm)",
|
||||
"isDirectory":false,
|
||||
@@ -86,7 +86,7 @@
|
||||
},
|
||||
{
|
||||
"type":"Box",
|
||||
"props":{"x":1,"width":200,"runtime":"ColorfulBox","name":"propertyBox","height":180,"centerY":0},
|
||||
"props":{"x":1,"width":200,"runtime":"Laya.runtime.ColorfulBox","name":"propertyBox","height":120,"centerY":0},
|
||||
"nodeParent":71,
|
||||
"label":"Box(propertyBox)",
|
||||
"isOpen":true,
|
||||
@@ -97,7 +97,7 @@
|
||||
"child":[
|
||||
{
|
||||
"type":"Label",
|
||||
"props":{"y":45,"text":"UI_Property_Intelligence","name":"label","fontSize":60,"font":"SimHei","color":"#ffffff","centerX":0,"anchorY":0.5,"anchorX":0.5},
|
||||
"props":{"y":30,"text":"UI_Property_Intelligence","name":"label","fontSize":45,"font":"SimHei","color":"#ffffff","centerX":0,"anchorY":0.5,"anchorX":0.5},
|
||||
"nodeParent":50,
|
||||
"label":"Label(label)",
|
||||
"isDirectory":false,
|
||||
@@ -109,7 +109,7 @@
|
||||
},
|
||||
{
|
||||
"type":"Box",
|
||||
"props":{"runtime":"ColorfulBox","right":0,"name":"propertyValue","left":0,"height":90,"bottom":0},
|
||||
"props":{"runtime":"Laya.runtime.ColorfulBox","right":0,"name":"propertyValue","left":0,"height":60,"bottom":0},
|
||||
"nodeParent":50,
|
||||
"label":"Box(propertyValue)",
|
||||
"isOpen":true,
|
||||
@@ -120,7 +120,7 @@
|
||||
"child":[
|
||||
{
|
||||
"type":"Label",
|
||||
"props":{"y":41,"var":"labIntelligence","text":"10","name":"label","fontSize":60,"font":"SimHei","color":"#55fffe","centerY":0,"centerX":0,"anchorY":0.5,"anchorX":0.5},
|
||||
"props":{"var":"labIntelligence","text":"10","name":"label","fontSize":55,"font":"SimHei","color":"#55fffe","centerY":0,"centerX":0,"anchorY":0.5,"anchorX":0.5},
|
||||
"nodeParent":55,
|
||||
"label":"Label(labIntelligence)",
|
||||
"isDirectory":false,
|
||||
@@ -135,7 +135,7 @@
|
||||
},
|
||||
{
|
||||
"type":"Box",
|
||||
"props":{"x":2,"width":200,"runtime":"ColorfulBox","name":"propertyBox","height":180,"centerY":0},
|
||||
"props":{"x":2,"width":200,"runtime":"Laya.runtime.ColorfulBox","name":"propertyBox","height":120,"centerY":0},
|
||||
"nodeParent":71,
|
||||
"label":"Box(propertyBox)",
|
||||
"isOpen":true,
|
||||
@@ -146,7 +146,7 @@
|
||||
"child":[
|
||||
{
|
||||
"type":"Label",
|
||||
"props":{"y":45,"text":"UI_Property_Strength","name":"label","fontSize":60,"font":"SimHei","color":"#ffffff","centerX":0,"anchorY":0.5,"anchorX":0.5},
|
||||
"props":{"y":30,"text":"UI_Property_Strength","name":"label","fontSize":45,"font":"SimHei","color":"#ffffff","centerX":0,"anchorY":0.5,"anchorX":0.5},
|
||||
"nodeParent":74,
|
||||
"label":"Label(label)",
|
||||
"isDirectory":false,
|
||||
@@ -158,7 +158,7 @@
|
||||
},
|
||||
{
|
||||
"type":"Box",
|
||||
"props":{"runtime":"ColorfulBox","right":0,"name":"propertyValue","left":0,"height":90,"bottom":0},
|
||||
"props":{"runtime":"Laya.runtime.ColorfulBox","right":0,"name":"propertyValue","left":0,"height":60,"bottom":0},
|
||||
"nodeParent":74,
|
||||
"label":"Box(propertyValue)",
|
||||
"isOpen":true,
|
||||
@@ -169,7 +169,7 @@
|
||||
"child":[
|
||||
{
|
||||
"type":"Label",
|
||||
"props":{"y":41,"var":"labStrength","text":"10","name":"label","fontSize":60,"font":"SimHei","color":"#55fffe","centerY":0,"centerX":0,"anchorY":0.5,"anchorX":0.5},
|
||||
"props":{"var":"labStrength","text":"10","name":"label","fontSize":55,"font":"SimHei","color":"#55fffe","centerY":0,"centerX":0,"anchorY":0.5,"anchorX":0.5},
|
||||
"nodeParent":79,
|
||||
"label":"Label(labStrength)",
|
||||
"isDirectory":false,
|
||||
@@ -183,7 +183,7 @@
|
||||
},
|
||||
{
|
||||
"type":"Box",
|
||||
"props":{"x":3,"width":200,"runtime":"ColorfulBox","name":"propertyBox","height":180,"centerY":0},
|
||||
"props":{"x":3,"width":200,"runtime":"Laya.runtime.ColorfulBox","name":"propertyBox","height":120,"centerY":0},
|
||||
"nodeParent":71,
|
||||
"label":"Box(propertyBox)",
|
||||
"isOpen":true,
|
||||
@@ -194,7 +194,7 @@
|
||||
"child":[
|
||||
{
|
||||
"type":"Label",
|
||||
"props":{"y":45,"text":"UI_Property_Money","name":"label","fontSize":60,"font":"SimHei","color":"#ffffff","centerX":0,"anchorY":0.5,"anchorX":0.5},
|
||||
"props":{"y":30,"text":"UI_Property_Money","name":"label","fontSize":45,"font":"SimHei","color":"#ffffff","centerX":0,"anchorY":0.5,"anchorX":0.5},
|
||||
"nodeParent":43,
|
||||
"label":"Label(label)",
|
||||
"isDirectory":false,
|
||||
@@ -206,7 +206,7 @@
|
||||
},
|
||||
{
|
||||
"type":"Box",
|
||||
"props":{"runtime":"ColorfulBox","right":0,"name":"propertyValue","left":0,"height":90,"bottom":0},
|
||||
"props":{"runtime":"Laya.runtime.ColorfulBox","right":0,"name":"propertyValue","left":0,"height":60,"bottom":0},
|
||||
"nodeParent":43,
|
||||
"label":"Box(propertyValue)",
|
||||
"isOpen":true,
|
||||
@@ -217,7 +217,7 @@
|
||||
"child":[
|
||||
{
|
||||
"type":"Label",
|
||||
"props":{"y":41,"var":"labMoney","text":"10","name":"label","fontSize":60,"font":"SimHei","color":"#55fffe","centerY":0,"centerX":0,"anchorY":0.5,"anchorX":0.5},
|
||||
"props":{"var":"labMoney","text":"10","name":"label","fontSize":55,"font":"SimHei","color":"#55fffe","centerY":0,"centerX":0,"anchorY":0.5,"anchorX":0.5},
|
||||
"nodeParent":48,
|
||||
"label":"Label(labMoney)",
|
||||
"isDirectory":false,
|
||||
@@ -231,7 +231,7 @@
|
||||
},
|
||||
{
|
||||
"type":"Box",
|
||||
"props":{"x":4,"width":200,"runtime":"ColorfulBox","name":"propertyBox","height":180,"centerY":0},
|
||||
"props":{"x":4,"width":200,"runtime":"Laya.runtime.ColorfulBox","name":"propertyBox","height":120,"centerY":0},
|
||||
"nodeParent":71,
|
||||
"label":"Box(propertyBox)",
|
||||
"isOpen":true,
|
||||
@@ -242,7 +242,7 @@
|
||||
"child":[
|
||||
{
|
||||
"type":"Label",
|
||||
"props":{"y":45,"text":"UI_Property_Spirit","name":"label","fontSize":60,"font":"SimHei","color":"#ffffff","centerX":0,"anchorY":0.5,"anchorX":0.5},
|
||||
"props":{"y":30,"text":"UI_Property_Spirit","name":"label","fontSize":45,"font":"SimHei","color":"#ffffff","centerX":0,"anchorY":0.5,"anchorX":0.5},
|
||||
"nodeParent":81,
|
||||
"label":"Label(label)",
|
||||
"isDirectory":false,
|
||||
@@ -254,7 +254,7 @@
|
||||
},
|
||||
{
|
||||
"type":"Box",
|
||||
"props":{"runtime":"ColorfulBox","right":0,"name":"propertyValue","left":0,"height":90,"bottom":0},
|
||||
"props":{"runtime":"Laya.runtime.ColorfulBox","right":0,"name":"propertyValue","left":0,"height":60,"bottom":0},
|
||||
"nodeParent":81,
|
||||
"label":"Box(propertyValue)",
|
||||
"isOpen":true,
|
||||
@@ -265,7 +265,7 @@
|
||||
"child":[
|
||||
{
|
||||
"type":"Label",
|
||||
"props":{"y":41,"var":"labSpirit","text":"10","name":"label","fontSize":60,"font":"SimHei","color":"#55fffe","centerY":0,"centerX":0,"anchorY":0.5,"anchorX":0.5},
|
||||
"props":{"var":"labSpirit","text":"10","name":"label","fontSize":55,"font":"SimHei","color":"#55fffe","centerY":0,"centerX":0,"anchorY":0.5,"anchorX":0.5},
|
||||
"nodeParent":86,
|
||||
"label":"Label(labSpirit)",
|
||||
"isDirectory":false,
|
||||
@@ -284,7 +284,7 @@
|
||||
{
|
||||
"x":15,
|
||||
"type":"Box",
|
||||
"props":{"x":20,"var":"boxTrajectory","top":300,"runtime":"ColorfulBox","right":20,"name":"boxTrajectory","left":20,"bottom":250},
|
||||
"props":{"x":20,"var":"boxTrajectory","top":240,"runtime":"Laya.runtime.ColorfulBox","right":20,"name":"boxTrajectory","left":20,"bottom":250},
|
||||
"nodeParent":1,
|
||||
"label":"Box(boxTrajectory)",
|
||||
"isOpen":true,
|
||||
@@ -308,7 +308,7 @@
|
||||
{
|
||||
"x":45,
|
||||
"type":"VBox",
|
||||
"props":{"y":15,"var":"vboxTrajectory","space":15,"right":-6,"name":"vboxTrajectory","left":-6},
|
||||
"props":{"y":15,"var":"vboxTrajectory","space":20,"right":-6,"name":"vboxTrajectory","left":-6},
|
||||
"nodeParent":18,
|
||||
"label":"VBox(vboxTrajectory)",
|
||||
"isOpen":true,
|
||||
@@ -320,7 +320,7 @@
|
||||
{
|
||||
"x":60,
|
||||
"type":"Box",
|
||||
"props":{"runtime":"ColorfulBox","right":0,"name":"boxTrajectoryItem","left":0},
|
||||
"props":{"runtime":"Laya.runtime.ColorfulBox","right":0,"name":"boxTrajectoryItem","left":0},
|
||||
"nodeParent":17,
|
||||
"label":"Box(boxTrajectoryItem)",
|
||||
"isOpen":true,
|
||||
@@ -332,17 +332,16 @@
|
||||
{
|
||||
"x":75,
|
||||
"type":"HBox",
|
||||
"props":{"y":10,"x":200,"name":"hboxAge","anchorX":1,"align":"middle"},
|
||||
"props":{"y":25,"x":200,"name":"hboxAge","anchorX":1,"align":"middle"},
|
||||
"nodeParent":88,
|
||||
"label":"HBox(hboxAge)",
|
||||
"isOpen":true,
|
||||
"isOpen":false,
|
||||
"isDirectory":true,
|
||||
"isAniNode":true,
|
||||
"hasChild":true,
|
||||
"compId":91,
|
||||
"child":[
|
||||
{
|
||||
"x":90,
|
||||
"type":"Label",
|
||||
"props":{"x":0,"text":"3000","name":"labAge","fontSize":50,"font":"SimHei","color":"#cfea5c","anchorX":0},
|
||||
"nodeParent":91,
|
||||
@@ -355,7 +354,6 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"x":90,
|
||||
"type":"Label",
|
||||
"props":{"x":1,"text":"岁","fontSize":50,"font":"SimHei","color":"#cfea5c","anchorX":0},
|
||||
"nodeParent":91,
|
||||
@@ -368,7 +366,6 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"x":90,
|
||||
"type":"Label",
|
||||
"props":{"x":2,"text":":","fontSize":50,"font":"SimHei","color":"#cfea5c","anchorX":0},
|
||||
"nodeParent":91,
|
||||
@@ -384,7 +381,7 @@
|
||||
{
|
||||
"x":75,
|
||||
"type":"Label",
|
||||
"props":{"y":10,"wordWrap":true,"text":"你的父母开始辅导你数学和英语,智力+1","right":0,"name":"labContent","left":220,"leading":10,"fontSize":50,"font":"SimHei","color":"#ffffff"},
|
||||
"props":{"y":25,"wordWrap":true,"text":"你的父母开始辅导你数学和英语,智力+1","right":0,"name":"labContent","left":220,"leading":25,"fontSize":50,"font":"SimHei","color":"#ffffff"},
|
||||
"nodeParent":88,
|
||||
"label":"Label(labContent)",
|
||||
"isDirectory":false,
|
||||
@@ -405,15 +402,16 @@
|
||||
"props":{"right":0,"left":0,"height":1,"bottom":-1},
|
||||
"nodeParent":1,
|
||||
"label":"Box",
|
||||
"isOpen":false,
|
||||
"isOpen":true,
|
||||
"isDirectory":true,
|
||||
"isAniNode":true,
|
||||
"hasChild":true,
|
||||
"compId":14,
|
||||
"child":[
|
||||
{
|
||||
"x":30,
|
||||
"type":"Box",
|
||||
"props":{"width":600,"var":"btnSummary","runtime":"ColorfulBox","name":"btnSummary","height":150,"centerX":0,"bottom":80},
|
||||
"props":{"width":600,"var":"btnSummary","runtime":"Laya.runtime.ColorfulBox","name":"btnSummary","height":150,"centerX":0,"bottom":80},
|
||||
"nodeParent":14,
|
||||
"label":"Box(btnSummary)",
|
||||
"isOpen":true,
|
||||
@@ -423,6 +421,7 @@
|
||||
"compId":151,
|
||||
"child":[
|
||||
{
|
||||
"x":45,
|
||||
"type":"Label",
|
||||
"props":{"text":"UI_Goto_Summary","name":"label","fontSize":60,"font":"SimHei","color":"#ffffff","centerY":0,"centerX":0},
|
||||
"nodeParent":151,
|
||||
@@ -436,8 +435,9 @@
|
||||
}]
|
||||
},
|
||||
{
|
||||
"x":30,
|
||||
"type":"Box",
|
||||
"props":{"y":-155,"var":"boxSpeed","runtime":"ColorFilterItem","right":100,"name":"boxSpeed","left":100,"height":150,"anchorY":0.5,"anchorX":0.5},
|
||||
"props":{"y":-155,"var":"boxSpeed","runtime":"Laya.runtime.ColorFilterItem","right":100,"name":"boxSpeed","left":100,"height":150,"anchorY":0.5,"anchorX":0.5},
|
||||
"nodeParent":14,
|
||||
"label":"Box(boxSpeed)",
|
||||
"isOpen":true,
|
||||
@@ -447,6 +447,7 @@
|
||||
"compId":104,
|
||||
"child":[
|
||||
{
|
||||
"x":45,
|
||||
"type":"ProgressBar",
|
||||
"props":{"var":"prgSpeed","skin":"images/progress/progress_s.png","right":0,"name":"prgSpeed","left":0,"bottom":0},
|
||||
"nodeParent":104,
|
||||
@@ -459,6 +460,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"x":45,
|
||||
"type":"HScrollBar",
|
||||
"props":{"var":"scbSpeed","skin":"images/slider/hslider_s.png","right":0,"name":"scbSpeed","min":0,"max":1000,"left":0,"height":60,"bottom":0},
|
||||
"nodeParent":104,
|
||||
@@ -471,6 +473,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"x":45,
|
||||
"type":"Label",
|
||||
"props":{"text":"UI_Manual","fontSize":50,"color":"#ffffff","bottom":70},
|
||||
"nodeParent":104,
|
||||
@@ -483,6 +486,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"x":45,
|
||||
"type":"Label",
|
||||
"props":{"text":"UI_Auto","right":0,"fontSize":50,"font":"SimHei","color":"#ffffff","bottom":70},
|
||||
"nodeParent":104,
|
||||
@@ -497,6 +501,32 @@
|
||||
}],
|
||||
"$LOCKED":true,
|
||||
"$HIDDEN":false
|
||||
},
|
||||
{
|
||||
"x":15,
|
||||
"type":"Box",
|
||||
"props":{"width":10,"var":"boxParticle","name":"boxParticle","height":10,"centerY":0,"centerX":0},
|
||||
"nodeParent":1,
|
||||
"label":"Box(boxParticle)",
|
||||
"isOpen":false,
|
||||
"isDirectory":true,
|
||||
"isAniNode":true,
|
||||
"hasChild":true,
|
||||
"compId":153,
|
||||
"child":[
|
||||
{
|
||||
"type":"Particle2D",
|
||||
"source":"particle/fly.part",
|
||||
"props":{"y":5,"x":5,"url":"particle/fly.part","autoPlay":true},
|
||||
"nodeParent":153,
|
||||
"label":"Particle2D",
|
||||
"isDirectory":false,
|
||||
"isAniNode":true,
|
||||
"hasChild":false,
|
||||
"compId":154,
|
||||
"child":[
|
||||
]
|
||||
}]
|
||||
}],
|
||||
"animations":[
|
||||
{
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
"type":"View",
|
||||
"selectedBox":1,
|
||||
"selecteID":12,
|
||||
"props":{"width":1125,"sceneColor":"#000000","runtime":"ViewBase","height":2436},
|
||||
"props":{"width":1125,"sceneColor":"#000000","runtime":"Laya.runtime.ViewBase","height":2436},
|
||||
"nodeParent":-1,
|
||||
"label":"View",
|
||||
"isOpen":true,
|
||||
|
||||
50
laya/pages/view/MessagePopup.ui
Normal file
@@ -0,0 +1,50 @@
|
||||
{
|
||||
"x":0,
|
||||
"type":"View",
|
||||
"selectedBox":1,
|
||||
"selecteID":2,
|
||||
"props":{"width":1100,"sceneColor":"#000000","mouseThrough":true,"mouseEnabled":false,"height":230},
|
||||
"nodeParent":-1,
|
||||
"label":"View",
|
||||
"isOpen":true,
|
||||
"isDirectory":true,
|
||||
"isAniNode":true,
|
||||
"hasChild":true,
|
||||
"compId":1,
|
||||
"child":[
|
||||
{
|
||||
"x":15,
|
||||
"type":"Box",
|
||||
"props":{"var":"boxBg","top":10,"runtime":"Laya.runtime.ColorfulBox","right":10,"name":"boxBg","left":10,"bottom":10,"alpha":0.75},
|
||||
"nodeParent":1,
|
||||
"label":"Box(boxBg)",
|
||||
"isDirectory":false,
|
||||
"isAniNode":true,
|
||||
"hasChild":false,
|
||||
"compId":3,
|
||||
"child":[
|
||||
]
|
||||
},
|
||||
{
|
||||
"x":15,
|
||||
"type":"Label",
|
||||
"props":{"wordWrap":true,"var":"message","text":"消息","right":50,"name":"message","left":50,"fontSize":60,"font":"SimHei","color":"#ffffff","centerY":0,"align":"center"},
|
||||
"nodeParent":1,
|
||||
"label":"Label(message)",
|
||||
"isDirectory":false,
|
||||
"isAniNode":true,
|
||||
"hasChild":false,
|
||||
"compId":2,
|
||||
"child":[
|
||||
]
|
||||
}],
|
||||
"animations":[
|
||||
{
|
||||
"nodes":[
|
||||
],
|
||||
"name":"ani1",
|
||||
"id":1,
|
||||
"frameRate":24,
|
||||
"action":0
|
||||
}]
|
||||
}
|
||||
273
laya/pages/view/SaveLoad.ui
Normal file
@@ -0,0 +1,273 @@
|
||||
{
|
||||
"x":0,
|
||||
"type":"Dialog",
|
||||
"selectedBox":1,
|
||||
"selecteID":25,
|
||||
"props":{"width":645,"sceneColor":"#000000","height":400},
|
||||
"nodeParent":-1,
|
||||
"label":"Dialog",
|
||||
"isOpen":true,
|
||||
"isDirectory":true,
|
||||
"isAniNode":true,
|
||||
"hasChild":true,
|
||||
"compId":1,
|
||||
"child":[
|
||||
{
|
||||
"x":15,
|
||||
"type":"Box",
|
||||
"props":{"top":0,"right":0,"left":0,"bottom":300},
|
||||
"nodeParent":1,
|
||||
"label":"Box",
|
||||
"isOpen":false,
|
||||
"isDirectory":true,
|
||||
"isAniNode":true,
|
||||
"hasChild":true,
|
||||
"compId":15,
|
||||
"child":[
|
||||
{
|
||||
"type":"Box",
|
||||
"props":{"y":0,"x":0,"width":645,"height":2},
|
||||
"nodeParent":15,
|
||||
"label":"Box",
|
||||
"isOpen":null,
|
||||
"isDirectory":true,
|
||||
"isAniNode":true,
|
||||
"hasChild":true,
|
||||
"compId":19,
|
||||
"child":[
|
||||
{
|
||||
"type":"Rect",
|
||||
"props":{"width":645,"lineWidth":1,"height":2,"fillColor":"#97ffe6"},
|
||||
"nodeParent":19,
|
||||
"label":"Rect",
|
||||
"isDirectory":false,
|
||||
"isAniNode":true,
|
||||
"hasChild":false,
|
||||
"compId":17,
|
||||
"child":[
|
||||
]
|
||||
}]
|
||||
},
|
||||
{
|
||||
"type":"Box",
|
||||
"props":{"width":645,"height":2,"centerX":0,"bottom":0},
|
||||
"nodeParent":15,
|
||||
"label":"Box",
|
||||
"isOpen":null,
|
||||
"isDirectory":true,
|
||||
"isAniNode":true,
|
||||
"hasChild":true,
|
||||
"compId":20,
|
||||
"child":[
|
||||
{
|
||||
"type":"Rect",
|
||||
"props":{"width":645,"lineWidth":1,"height":2,"fillColor":"#97ffe6"},
|
||||
"nodeParent":20,
|
||||
"label":"Rect",
|
||||
"isDirectory":false,
|
||||
"isAniNode":true,
|
||||
"hasChild":false,
|
||||
"compId":21,
|
||||
"child":[
|
||||
]
|
||||
}]
|
||||
},
|
||||
{
|
||||
"type":"Box",
|
||||
"props":{"width":645,"height":100,"centerY":0,"centerX":0,"alpha":0.2},
|
||||
"nodeParent":15,
|
||||
"label":"Box",
|
||||
"isOpen":true,
|
||||
"isDirectory":true,
|
||||
"isAniNode":true,
|
||||
"hasChild":true,
|
||||
"compId":22,
|
||||
"child":[
|
||||
{
|
||||
"type":"Rect",
|
||||
"props":{"width":645,"lineWidth":1,"height":100,"fillColor":"#000000"},
|
||||
"nodeParent":22,
|
||||
"label":"Rect",
|
||||
"isDirectory":false,
|
||||
"isAniNode":true,
|
||||
"hasChild":false,
|
||||
"compId":23,
|
||||
"child":[
|
||||
]
|
||||
}]
|
||||
}]
|
||||
},
|
||||
{
|
||||
"x":15,
|
||||
"type":"TextInput",
|
||||
"props":{"wordWrap":false,"var":"input","valign":"middle","top":0,"text":"content","right":0,"overflow":"scroll","left":0,"fontSize":35,"font":"SimHei","color":"#ffffff","bottom":300},
|
||||
"nodeParent":1,
|
||||
"label":"TextInput(input)",
|
||||
"isDirectory":false,
|
||||
"isAniNode":true,
|
||||
"hasChild":false,
|
||||
"compId":4,
|
||||
"child":[
|
||||
]
|
||||
},
|
||||
{
|
||||
"x":15,
|
||||
"type":"Box",
|
||||
"props":{"width":120,"var":"btnSave","runtime":"Laya.runtime.ColorfulBox","name":"btnSmall","left":5,"height":120,"bottom":155,"anchorY":0.5,"anchorX":0.5},
|
||||
"nodeParent":1,
|
||||
"label":"Box(btnSave)",
|
||||
"isOpen":false,
|
||||
"isDirectory":true,
|
||||
"isAniNode":true,
|
||||
"hasChild":true,
|
||||
"compId":5,
|
||||
"child":[
|
||||
{
|
||||
"type":"Label",
|
||||
"props":{"text":"UI_Save","name":"label","fontSize":50,"font":"SimHei","color":"#ffffff","centerY":0,"centerX":0,"bold":true,"anchorY":0.5,"anchorX":0.5},
|
||||
"nodeParent":5,
|
||||
"label":"Label(label)",
|
||||
"isDirectory":false,
|
||||
"isAniNode":true,
|
||||
"hasChild":false,
|
||||
"compId":7,
|
||||
"child":[
|
||||
]
|
||||
}]
|
||||
},
|
||||
{
|
||||
"x":15,
|
||||
"type":"Box",
|
||||
"props":{"width":120,"var":"btnLoad","runtime":"Laya.runtime.ColorfulBox","name":"btnSmall","left":130,"height":120,"bottom":155,"anchorY":0.5,"anchorX":0.5},
|
||||
"nodeParent":1,
|
||||
"label":"Box(btnLoad)",
|
||||
"isOpen":false,
|
||||
"isDirectory":true,
|
||||
"isAniNode":true,
|
||||
"hasChild":true,
|
||||
"compId":6,
|
||||
"child":[
|
||||
{
|
||||
"type":"Label",
|
||||
"props":{"text":"UI_Load","name":"label","fontSize":50,"font":"SimHei","color":"#ffffff","centerY":0,"centerX":0,"bold":true,"anchorY":0.5,"anchorX":0.5},
|
||||
"nodeParent":6,
|
||||
"label":"Label(label)",
|
||||
"isDirectory":false,
|
||||
"isAniNode":true,
|
||||
"hasChild":false,
|
||||
"compId":8,
|
||||
"child":[
|
||||
]
|
||||
}]
|
||||
},
|
||||
{
|
||||
"x":15,
|
||||
"type":"Box",
|
||||
"props":{"width":120,"var":"btnRead","runtime":"Laya.runtime.ColorfulBox","name":"btnSmall","left":260,"height":120,"bottom":155,"anchorY":0.5,"anchorX":0.5},
|
||||
"nodeParent":1,
|
||||
"label":"Box(btnRead)",
|
||||
"isOpen":false,
|
||||
"isDirectory":true,
|
||||
"isAniNode":true,
|
||||
"hasChild":true,
|
||||
"compId":13,
|
||||
"child":[
|
||||
{
|
||||
"type":"Label",
|
||||
"props":{"text":"UI_Read","name":"label","fontSize":50,"font":"SimHei","color":"#ffffff","centerY":0,"centerX":0,"bold":true,"anchorY":0.5,"anchorX":0.5},
|
||||
"nodeParent":13,
|
||||
"label":"Label(label)",
|
||||
"isDirectory":false,
|
||||
"isAniNode":true,
|
||||
"hasChild":false,
|
||||
"compId":14,
|
||||
"child":[
|
||||
]
|
||||
}]
|
||||
},
|
||||
{
|
||||
"x":15,
|
||||
"type":"Box",
|
||||
"props":{"width":120,"var":"btnWrite","runtime":"Laya.runtime.ColorfulBox","name":"btnSmall","left":390,"height":120,"bottom":155,"anchorY":0.5,"anchorX":0.5},
|
||||
"nodeParent":1,
|
||||
"label":"Box(btnWrite)",
|
||||
"isOpen":false,
|
||||
"isDirectory":true,
|
||||
"isAniNode":true,
|
||||
"hasChild":true,
|
||||
"compId":11,
|
||||
"child":[
|
||||
{
|
||||
"type":"Label",
|
||||
"props":{"text":"UI_Write","name":"label","fontSize":50,"font":"SimHei","color":"#ffffff","centerY":0,"centerX":0,"bold":true,"anchorY":0.5,"anchorX":0.5},
|
||||
"nodeParent":11,
|
||||
"label":"Label(label)",
|
||||
"isDirectory":false,
|
||||
"isAniNode":true,
|
||||
"hasChild":false,
|
||||
"compId":12,
|
||||
"child":[
|
||||
]
|
||||
}]
|
||||
},
|
||||
{
|
||||
"x":15,
|
||||
"type":"Box",
|
||||
"props":{"x":10,"width":120,"var":"btnClose","runtime":"Laya.runtime.ColorfulBox","right":5,"name":"btnSmall","height":120,"bottom":155,"anchorY":0.5,"anchorX":0.5},
|
||||
"nodeParent":1,
|
||||
"label":"Box(btnClose)",
|
||||
"isOpen":false,
|
||||
"isDirectory":true,
|
||||
"isAniNode":true,
|
||||
"hasChild":true,
|
||||
"compId":9,
|
||||
"child":[
|
||||
{
|
||||
"type":"Label",
|
||||
"props":{"text":"×","name":"label","fontSize":50,"font":"SimHei","color":"#ffffff","centerY":0,"centerX":0,"bold":true,"anchorY":0.5,"anchorX":0.5},
|
||||
"nodeParent":9,
|
||||
"label":"Label(label)",
|
||||
"isDirectory":false,
|
||||
"isAniNode":true,
|
||||
"hasChild":false,
|
||||
"compId":10,
|
||||
"child":[
|
||||
]
|
||||
}]
|
||||
},
|
||||
{
|
||||
"x":15,
|
||||
"type":"Box",
|
||||
"props":{"y":20,"var":"btnBackup","runtime":"Laya.runtime.ColorfulBox","right":5,"name":"btnBackup","left":5,"height":120,"bottom":5,"anchorY":0.5,"anchorX":0.5},
|
||||
"nodeParent":1,
|
||||
"label":"Box(btnBackup)",
|
||||
"isOpen":true,
|
||||
"isDirectory":true,
|
||||
"isAniNode":true,
|
||||
"hasChild":true,
|
||||
"compId":25,
|
||||
"child":[
|
||||
{
|
||||
"x":30,
|
||||
"type":"Label",
|
||||
"props":{"text":"UI_BackupBtn","name":"label","fontSize":50,"font":"SimHei","color":"#ffffff","centerY":0,"centerX":0,"bold":true,"anchorY":0.5,"anchorX":0.5},
|
||||
"nodeParent":25,
|
||||
"label":"Label(label)",
|
||||
"isDirectory":false,
|
||||
"isAniNode":true,
|
||||
"hasChild":false,
|
||||
"compId":26,
|
||||
"child":[
|
||||
]
|
||||
}]
|
||||
}],
|
||||
"animations":[
|
||||
{
|
||||
"nodes":[
|
||||
],
|
||||
"name":"ani1",
|
||||
"id":1,
|
||||
"frameRate":24,
|
||||
"action":0
|
||||
}]
|
||||
}
|
||||
141
laya/pages/view/Themes.ui
Normal file
@@ -0,0 +1,141 @@
|
||||
{
|
||||
"x":0,
|
||||
"type":"Dialog",
|
||||
"selectedBox":1,
|
||||
"selecteID":13,
|
||||
"props":{"width":350,"sceneColor":"#000000","height":550},
|
||||
"nodeParent":-1,
|
||||
"label":"Dialog",
|
||||
"isOpen":true,
|
||||
"isDirectory":true,
|
||||
"isAniNode":true,
|
||||
"hasChild":true,
|
||||
"compId":1,
|
||||
"child":[
|
||||
{
|
||||
"x":15,
|
||||
"type":"Box",
|
||||
"props":{"top":20,"right":20,"left":20,"bottom":130},
|
||||
"nodeParent":1,
|
||||
"label":"Box",
|
||||
"isOpen":true,
|
||||
"isDirectory":true,
|
||||
"isAniNode":true,
|
||||
"hasChild":true,
|
||||
"compId":6,
|
||||
"child":[
|
||||
{
|
||||
"x":30,
|
||||
"type":"RadioGroup",
|
||||
"props":{"var":"radioTheme","name":"radioTheme","height":380,"centerY":0,"centerX":0},
|
||||
"nodeParent":6,
|
||||
"label":"RadioGroup(radioTheme)",
|
||||
"isOpen":true,
|
||||
"isDirectory":true,
|
||||
"isAniNode":true,
|
||||
"hasChild":true,
|
||||
"compId":13,
|
||||
"child":[
|
||||
{
|
||||
"x":45,
|
||||
"type":"Radio",
|
||||
"props":{"width":300,"top":0,"skin":"images/radio/radio_cyber.png","name":"item0","height":100},
|
||||
"nodeParent":13,
|
||||
"label":"Radio(item0)",
|
||||
"isDirectory":false,
|
||||
"isAniNode":true,
|
||||
"hasChild":false,
|
||||
"compId":10,
|
||||
"child":[
|
||||
]
|
||||
},
|
||||
{
|
||||
"x":45,
|
||||
"type":"Radio",
|
||||
"props":{"width":300,"skin":"images/radio/radio_dark.png","name":"item1","height":100,"centerY":0},
|
||||
"nodeParent":13,
|
||||
"label":"Radio(item1)",
|
||||
"isDirectory":false,
|
||||
"isAniNode":true,
|
||||
"hasChild":false,
|
||||
"compId":11,
|
||||
"child":[
|
||||
]
|
||||
},
|
||||
{
|
||||
"x":45,
|
||||
"type":"Radio",
|
||||
"props":{"width":300,"skin":"images/radio/radio_light.png","name":"item2","height":100,"bottom":0},
|
||||
"nodeParent":13,
|
||||
"label":"Radio(item2)",
|
||||
"isDirectory":false,
|
||||
"isAniNode":true,
|
||||
"hasChild":false,
|
||||
"compId":12,
|
||||
"child":[
|
||||
]
|
||||
}]
|
||||
}]
|
||||
},
|
||||
{
|
||||
"x":15,
|
||||
"type":"Box",
|
||||
"props":{"width":90,"var":"btnOK","runtime":"Laya.runtime.ColorfulBox","name":"btnSmall","left":20,"height":90,"bottom":20,"anchorY":0.5,"anchorX":0.5},
|
||||
"nodeParent":1,
|
||||
"label":"Box(btnOK)",
|
||||
"isOpen":true,
|
||||
"isDirectory":true,
|
||||
"isAniNode":true,
|
||||
"hasChild":true,
|
||||
"compId":2,
|
||||
"child":[
|
||||
{
|
||||
"x":30,
|
||||
"type":"Label",
|
||||
"props":{"text":"√","name":"label","fontSize":50,"font":"SimHei","color":"#ffffff","centerY":0,"centerX":0,"bold":true,"anchorY":0.5,"anchorX":0.5},
|
||||
"nodeParent":2,
|
||||
"label":"Label(label)",
|
||||
"isDirectory":false,
|
||||
"isAniNode":true,
|
||||
"hasChild":false,
|
||||
"compId":3,
|
||||
"child":[
|
||||
]
|
||||
}]
|
||||
},
|
||||
{
|
||||
"x":15,
|
||||
"type":"Box",
|
||||
"props":{"width":90,"var":"btnClose","runtime":"Laya.runtime.ColorfulBox","right":20,"name":"btnSmall","height":90,"bottom":20,"anchorY":0.5,"anchorX":0.5},
|
||||
"nodeParent":1,
|
||||
"label":"Box(btnClose)",
|
||||
"isOpen":true,
|
||||
"isDirectory":true,
|
||||
"isAniNode":true,
|
||||
"hasChild":true,
|
||||
"compId":14,
|
||||
"child":[
|
||||
{
|
||||
"x":30,
|
||||
"type":"Label",
|
||||
"props":{"text":"×","name":"label","fontSize":50,"font":"SimHei","color":"#ffffff","centerY":0,"centerX":0,"bold":true,"anchorY":0.5,"anchorX":0.5},
|
||||
"nodeParent":14,
|
||||
"label":"Label(label)",
|
||||
"isDirectory":false,
|
||||
"isAniNode":true,
|
||||
"hasChild":false,
|
||||
"compId":15,
|
||||
"child":[
|
||||
]
|
||||
}]
|
||||
}],
|
||||
"animations":[
|
||||
{
|
||||
"nodes":[
|
||||
],
|
||||
"name":"ani1",
|
||||
"id":1,
|
||||
"frameRate":24,
|
||||
"action":0
|
||||
}]
|
||||
}
|
||||
@@ -10,10 +10,10 @@
|
||||
<item name="images/border/border_1@3x.png" type="Image" compress="0" pack="0" quality="80" props="sizeGrid=130,130,130,130" picType="0" scale="0"/>
|
||||
<item name="images/button/button_back.png" type="Button" compress="0" pack="0" quality="80" props="stateNum=1@@!@@label=""@@!@@anchorX=0@@!@@anchorY=0.5" picType="0" scale="0"/>
|
||||
<item name="images/button/button_back@2x.png" type="Button" compress="0" pack="0" quality="80" props="stateNum=1@@!@@label=""@@!@@anchorX=0@@!@@anchorY=0.5" picType="0" scale="0"/>
|
||||
<item name="images/button/button_back@3x.png" type="Button" compress="0" pack="0" quality="80" props="stateNum=1@@!@@label= @@!@@anchorX=0@@!@@anchorY=0.5@@!@@runtime=ScaleButton" picType="0" scale="0"/>
|
||||
<item name="images/button/button_back@3x.png" type="Button" compress="0" pack="0" quality="80" props="stateNum=1@@!@@label= @@!@@anchorX=0@@!@@anchorY=0.5@@!@@runtime=Laya.runtime.ScaleButton" picType="0" scale="0"/>
|
||||
<item name="images/button/button_main.png" type="Button" compress="0" pack="0" quality="80" props="stateNum=1@@!@@label=""@@!@@anchorX=0.5@@!@@anchorY=0.5@@!@@sizeGrid=36,150,36,150@@!@@labelFont=方正像素12@@!@@labelColors=#00fffc,#00fffc,#00fffc@@!@@labelSize=35" picType="0" scale="0"/>
|
||||
<item name="images/button/button_main@2x.png" type="Button" compress="0" pack="0" quality="80" props="stateNum=1@@!@@label=""@@!@@anchorX=0.5@@!@@anchorY=0.5@@!@@sizeGrid=72,300,72,300@@!@@labelFont=方正像素12@@!@@labelColors=#00fffc,#00fffc,#00fffc@@!@@labelSize=70" picType="0" scale="0"/>
|
||||
<item name="images/button/button_main@3x.png" type="Button" compress="0" pack="0" quality="80" props="stateNum=1@@!@@label= @@!@@anchorX=0.5@@!@@anchorY=0.5@@!@@sizeGrid=45,200,45,200@@!@@labelFont=方正像素12@@!@@labelColors=#00fffc,#00fffc,#00fffc@@!@@labelSize=50@@!@@runtime=ScaleButton" picType="0" scale="0"/>
|
||||
<item name="images/button/button_main@3x.png" type="Button" compress="0" pack="0" quality="80" props="stateNum=1@@!@@label= @@!@@anchorX=0.5@@!@@anchorY=0.5@@!@@sizeGrid=45,200,45,200@@!@@labelFont=方正像素12@@!@@labelColors=#00fffc,#00fffc,#00fffc@@!@@labelSize=50@@!@@runtime=Laya.runtime.ScaleButton" picType="0" scale="0"/>
|
||||
<item name="images/border/up@2x.png" type="Image" compress="0" pack="0" quality="80" props="sizeGrid=4,4,4,4" picType="0" scale="0"/>
|
||||
<item name="images/border/up.png" type="Image" compress="0" pack="0" quality="80" props="sizeGrid=2,2,2,2" picType="0" scale="0"/>
|
||||
<item name="images/border/talentitem.png" type="Image" compress="0" pack="0" quality="80" props="sizeGrid=50,100,50,100" picType="0" scale="0"/>
|
||||
@@ -29,7 +29,7 @@
|
||||
<item name="images/border/property.png" type="Image" compress="0" pack="0" quality="80" props="sizeGrid=10,10,10,10" picType="0" scale="0"/>
|
||||
<item name="images/border/property@3x.png" type="Image" compress="0" pack="0" quality="80" props="sizeGrid=15,15,15,15" picType="0" scale="0"/>
|
||||
<item name="images/border/up@3x.png" type="Image" compress="0" pack="0" quality="80" props="sizeGrid=4,4,4,4" picType="0" scale="0"/>
|
||||
<item name="images/button/button_small@3x.png" type="Button" compress="0" pack="0" quality="80" props="sizeGrid=8,8,8,8@@!@@stateNum=1@@!@@label= @@!@@runtime=ScaleButton" picType="0" scale="0"/>
|
||||
<item name="images/button/button_small@3x.png" type="Button" compress="0" pack="0" quality="80" props="sizeGrid=8,8,8,8@@!@@stateNum=1@@!@@label= @@!@@runtime=Laya.runtime.ScaleButton" picType="0" scale="0"/>
|
||||
<item name="images/border/achievement@3x.png" type="Image" compress="0" pack="0" quality="80" props="sizeGrid=16,16,16,16" picType="0" scale="0"/>
|
||||
<item name="images/border/achievement_complete@3x.png" type="Image" compress="0" pack="0" quality="80" props="sizeGrid=74,80,74,80" picType="0" scale="0"/>
|
||||
<item name="images/resource/circle.png" type="Image" compress="0" pack="0" quality="80" props="" picType="0" scale="0"/>
|
||||
|
||||
26
package.json
@@ -1,23 +1,19 @@
|
||||
{
|
||||
"name": "life_restart",
|
||||
"type": "module",
|
||||
"bin": "repl/index.js",
|
||||
"version": "2.0.0",
|
||||
"main": "repl/index.js",
|
||||
"version": "2.1.0",
|
||||
"author": "Vick Scarlet <vick@syaro.io>",
|
||||
"scripts": {
|
||||
"test": "node test",
|
||||
"xlsxTransform": "vt transform data",
|
||||
"xlsx2json": "vt transform jobs/xlsx2json/config.json",
|
||||
"dev": "webpack serve --open /view/index.html",
|
||||
"build": "webpack --mode production"
|
||||
"xlsx2json": "vt transform -d public \"data/**/*.xlsx\"",
|
||||
"dev": "vite",
|
||||
"build": "vite build",
|
||||
"start": "vite preview",
|
||||
"test": "vitest"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/core": "^7.15.4",
|
||||
"@babel/preset-env": "^7.15.4",
|
||||
"babel-loader": "^8.2.2",
|
||||
"core-js": "^3.17.2",
|
||||
"v-transform": "^1.0.1",
|
||||
"webpack": "^5.51.2",
|
||||
"webpack-cli": "^4.8.0",
|
||||
"webpack-dev-server": "^4.1.0"
|
||||
"v-transform": "^2.1.1",
|
||||
"vite": "^6.2.5",
|
||||
"vitest": "^3.1.1"
|
||||
}
|
||||
}
|
||||
|
||||
1059
pnpm-lock.yaml
generated
Normal file
@@ -35,9 +35,11 @@ P 3FA91C13 icon_github.png
|
||||
P AB934AEA icon_int@3x.png
|
||||
P F1A0724B icon_mny@3x.png
|
||||
P D5AADAC9 icon_rank@3x.png
|
||||
P 0806E5F3 icon_save.png
|
||||
P 2DB0325D icon_spr@3x.png
|
||||
P 2EFA541B icon_str@3x.png
|
||||
P 804842C9 icon_thanks@3x.png
|
||||
P 96DD5D94 icon_themes.png
|
||||
P 6ECB5FEC icon_up@3x.png
|
||||
D images/progress
|
||||
P E2BF0C93 progress_1@3x$bar.png
|
||||
@@ -46,6 +48,10 @@ P E7F15BA7 progress_2$bar.png
|
||||
P 641A22BF progress_2.png
|
||||
P AF80A9AF progress_s$bar.png
|
||||
P 41417E8D progress_s.png
|
||||
D images/radio
|
||||
P CCF63014 radio_cyber.png
|
||||
P 040DE73C radio_dark.png
|
||||
P BA975F5A radio_light.png
|
||||
D images/resource
|
||||
P F3659301 bottombreath.png
|
||||
P 496D6FB9 circle.png
|
||||
@@ -59,3 +65,5 @@ R 8B95E6D3 vslider_1@3x$bar.png
|
||||
P 6581FBA8 vslider_1@3x$down.png
|
||||
P 6581FBA8 vslider_1@3x$up.png
|
||||
R C9587878 vslider_1@3x.png
|
||||
D images/texture
|
||||
P FD231754 texture_1.png
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"frames":{"icon_achievement@3x.png":{"frame":{"h":69,"idx":0,"w":65,"x":0,"y":385},"sourceSize":{"h":69,"w":65},"spriteSourceSize":{"x":0,"y":0}},"icon_chr@3x.png":{"frame":{"h":61,"idx":0,"w":57,"x":132,"y":448},"sourceSize":{"h":61,"w":57},"spriteSourceSize":{"x":0,"y":0}},"icon_discord.png":{"frame":{"h":384,"idx":0,"w":384,"x":0,"y":0},"sourceSize":{"h":384,"w":384},"spriteSourceSize":{"x":0,"y":0}},"icon_github.png":{"frame":{"h":384,"idx":0,"w":384,"x":385,"y":0},"sourceSize":{"h":384,"w":384},"spriteSourceSize":{"x":0,"y":0}},"icon_int@3x.png":{"frame":{"h":57,"idx":0,"w":54,"x":0,"y":455},"sourceSize":{"h":57,"w":54},"spriteSourceSize":{"x":0,"y":0}},"icon_mny@3x.png":{"frame":{"h":57,"idx":0,"w":54,"x":55,"y":455},"sourceSize":{"h":57,"w":54},"spriteSourceSize":{"x":0,"y":0}},"icon_rank@3x.png":{"frame":{"h":62,"idx":0,"w":72,"x":132,"y":385},"sourceSize":{"h":62,"w":72},"spriteSourceSize":{"x":0,"y":0}},"icon_spr@3x.png":{"frame":{"h":60,"idx":0,"w":57,"x":190,"y":448},"sourceSize":{"h":60,"w":57},"spriteSourceSize":{"x":0,"y":0}},"icon_str@3x.png":{"frame":{"h":57,"idx":0,"w":54,"x":205,"y":385},"sourceSize":{"h":57,"w":54},"spriteSourceSize":{"x":0,"y":0}},"icon_thanks@3x.png":{"frame":{"h":69,"idx":0,"w":65,"x":66,"y":385},"sourceSize":{"h":69,"w":65},"spriteSourceSize":{"x":0,"y":0}},"icon_up@3x.png":{"frame":{"h":18,"idx":0,"w":33,"x":248,"y":443},"sourceSize":{"h":18,"w":33},"spriteSourceSize":{"x":0,"y":0}}},"meta":{"image":"icons.png","prefix":"images/icons/"}}
|
||||
{"frames":{"icon_achievement@3x.png":{"frame":{"h":69,"idx":0,"w":65,"x":188,"y":385},"sourceSize":{"h":69,"w":65},"spriteSourceSize":{"x":0,"y":0}},"icon_chr@3x.png":{"frame":{"h":61,"idx":0,"w":57,"x":320,"y":448},"sourceSize":{"h":61,"w":57},"spriteSourceSize":{"x":0,"y":0}},"icon_discord.png":{"frame":{"h":384,"idx":0,"w":384,"x":0,"y":0},"sourceSize":{"h":384,"w":384},"spriteSourceSize":{"x":0,"y":0}},"icon_github.png":{"frame":{"h":384,"idx":0,"w":384,"x":385,"y":0},"sourceSize":{"h":384,"w":384},"spriteSourceSize":{"x":0,"y":0}},"icon_int@3x.png":{"frame":{"h":57,"idx":0,"w":54,"x":188,"y":455},"sourceSize":{"h":57,"w":54},"spriteSourceSize":{"x":0,"y":0}},"icon_mny@3x.png":{"frame":{"h":57,"idx":0,"w":54,"x":243,"y":455},"sourceSize":{"h":57,"w":54},"spriteSourceSize":{"x":0,"y":0}},"icon_rank@3x.png":{"frame":{"h":62,"idx":0,"w":72,"x":320,"y":385},"sourceSize":{"h":62,"w":72},"spriteSourceSize":{"x":0,"y":0}},"icon_save.png":{"frame":{"h":90,"idx":0,"w":90,"x":97,"y":385},"sourceSize":{"h":90,"w":90},"spriteSourceSize":{"x":0,"y":0}},"icon_spr@3x.png":{"frame":{"h":60,"idx":0,"w":57,"x":378,"y":448},"sourceSize":{"h":60,"w":57},"spriteSourceSize":{"x":0,"y":0}},"icon_str@3x.png":{"frame":{"h":57,"idx":0,"w":54,"x":393,"y":385},"sourceSize":{"h":57,"w":54},"spriteSourceSize":{"x":0,"y":0}},"icon_thanks@3x.png":{"frame":{"h":69,"idx":0,"w":65,"x":254,"y":385},"sourceSize":{"h":69,"w":65},"spriteSourceSize":{"x":0,"y":0}},"icon_themes.png":{"frame":{"h":96,"idx":0,"w":96,"x":0,"y":385},"sourceSize":{"h":96,"w":96},"spriteSourceSize":{"x":0,"y":0}},"icon_up@3x.png":{"frame":{"h":18,"idx":0,"w":33,"x":97,"y":476},"sourceSize":{"h":18,"w":33},"spriteSourceSize":{"x":0,"y":0}}},"meta":{"image":"icons.png","prefix":"images/icons/"}}
|
||||
|
Before Width: | Height: | Size: 49 KiB After Width: | Height: | Size: 53 KiB |
1
public/images/atlas/images/radio.atlas
Normal file
@@ -0,0 +1 @@
|
||||
{"frames":{"radio_cyber.png":{"frame":{"h":300,"idx":0,"w":300,"x":0,"y":0},"sourceSize":{"h":300,"w":300},"spriteSourceSize":{"x":0,"y":0}},"radio_dark.png":{"frame":{"h":300,"idx":0,"w":300,"x":0,"y":301},"sourceSize":{"h":300,"w":300},"spriteSourceSize":{"x":0,"y":0}},"radio_light.png":{"frame":{"h":300,"idx":0,"w":300,"x":301,"y":0},"sourceSize":{"h":300,"w":300},"spriteSourceSize":{"x":0,"y":0}}},"meta":{"image":"radio.png","prefix":"images/radio/"}}
|
||||
BIN
public/images/atlas/images/radio.png
Normal file
|
After Width: | Height: | Size: 83 KiB |
1
public/images/atlas/images/texture.atlas
Normal file
@@ -0,0 +1 @@
|
||||
{"frames":{"texture_1.png":{"frame":{"h":400,"idx":0,"w":400,"x":0,"y":0},"sourceSize":{"h":400,"w":400},"spriteSourceSize":{"x":0,"y":0}}},"meta":{"image":"texture.png","prefix":"images/texture/"}}
|
||||
BIN
public/images/atlas/images/texture.png
Normal file
|
After Width: | Height: | Size: 32 KiB |
BIN
public/images/texture/texture_1.png
Normal file
|
After Width: | Height: | Size: 31 KiB |
1
public/particle/fly.part
Normal file
@@ -0,0 +1 @@
|
||||
{"textureName":"images/texture/texture_1.png","positionVariance":{"0":0,"1":0,"2":0},"minVerticalVelocity":-100,"minVerticalEndRadian":0,"minStartSize":0,"minStartRadius":0,"minRotateSpeed":0,"minHorizontalVelocity":100,"minHorizontalEndRadian":0,"minEndSize":18.55,"minEndRadius":218.75,"minColor":{"0":0.15,"1":0.92,"2":0.91,"3":0.6000000238418579},"maxVerticalVelocity":100,"maxVerticalEndRadian":0,"maxStartSize":2.04,"maxStartRadius":0,"maxRotateSpeed":0,"maxPartices":400,"maxHorizontalVelocity":100,"maxHorizontalEndRadian":0,"maxEndSize":24.35,"maxEndRadius":84.82,"maxColor":{"0":0.57,"1":1,"2":0,"3":1},"gravity":{"0":0,"1":0,"2":0},"endVelocity":2,"emitterVelocitySensitivity":56.89,"duration":9.52,"colorComponentInter":true,"blendState":0,"ageAddScale":10,"backColor":"#ffffff","textureFileName":"comp\\clip_num.png","textureCount":1,"minHorizontalStartRadian":0,"maxHorizontalStartRadian":0,"minVerticalStartRadian":0,"maxVerticalStartRadian":0,"emitterType":"null","emissionRate":0,"sphereEmitterRadius":1,"sphereEmitterVelocity":0,"sphereEmitterVelocityAddVariance":0,"ringEmitterRadius":30,"ringEmitterVelocity":0,"ringEmitterVelocityAddVariance":0,"ringEmitterUp":2,"minStartColor":{"0":0.5,"1":0.5,"2":0.5,"3":0.2},"maxStartColor":{"0":1,"1":1,"2":1,"3":1},"minEndColor":{"0":0,"1":0,"2":0,"3":0.08},"maxEndColor":{"0":1,"1":1,"2":1,"3":1},"pointEmitterPosition":{"0":0,"1":0,"2":0},"pointEmitterPositionVariance":{"0":0,"1":0,"2":0},"pointEmitterVelocity":{"0":0,"1":0,"2":0},"pointEmitterVelocityAddVariance":{"0":0,"1":0,"2":0},"boxEmitterCenterPosition":{"0":0,"1":0,"2":0},"boxEmitterSize":{"0":0,"1":0,"2":0},"boxEmitterVelocity":{"0":0,"1":0,"2":0},"boxEmitterVelocityAddVariance":{"0":0,"1":0,"2":0},"sphereEmitterCenterPosition":{"0":0,"1":0,"2":0},"ringEmitterCenterPosition":{"0":0,"1":0,"2":0},"useEndRadian":true,"disableColor":false}
|
||||
@@ -1,37 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="description" content="やり直すんだ。そして、次はうまくやる。"/>
|
||||
<meta name="keywords" content="人生重开模拟器 liferestart life restart remake 人生重来"/>
|
||||
<link id="themeLink" rel="stylesheet" href="light.css">
|
||||
<script src="../lib/jquery-3.6.0.min.js"></script>
|
||||
<script src="../lib/dom-to-image.min.js"></script>
|
||||
<script type="module" src="../src/index.js"></script>
|
||||
<title>Life Restart</title>
|
||||
</head>
|
||||
<body style="margin: 0; height: 100%">
|
||||
<div class="banners-container">
|
||||
<div class="banners">
|
||||
<div class="banner error">
|
||||
<div class="banner-icon"><span class="iconfont"></span></div>
|
||||
<pre class="banner-message">Oops! Something went wrong!</pre>
|
||||
<div class="banner-close" onclick="hideBanners()"><span class="iconfont"></span></div>
|
||||
</div>
|
||||
<div class="banner success">
|
||||
<div class="banner-icon"><span class="iconfont"></span></div>
|
||||
<pre class="banner-message">Everything was fine!</pre>
|
||||
<div class="banner-close" onclick="hideBanners()"><span class="iconfont"></span></div>
|
||||
</div>
|
||||
<div class="banner info">
|
||||
<div class="banner-icon"><span class="iconfont"></span></div>
|
||||
<pre class="banner-message">Here is some useful information</pre>
|
||||
<div class="banner-close" onclick="hideBanners()"><span class="iconfont"></span></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<a href="https://github.com/VickScarlet/lifeRestart" class="github-corner" style="z-index: 9999;" aria-label="View source on GitHub"><svg width="80" height="80" viewBox="0 0 250 250" style="fill:#151513; color:#fff; position: absolute; top: 0; border: 0; left: 0; transform: scale(-1, 1);" aria-hidden="true"><path d="M0,0 L115,115 L130,115 L142,142 L250,250 L250,0 Z"></path><path d="M128.3,109.0 C113.8,99.7 119.0,89.6 119.0,89.6 C122.0,82.7 120.5,78.6 120.5,78.6 C119.2,72.0 123.4,76.3 123.4,76.3 C127.3,80.9 125.5,87.3 125.5,87.3 C122.9,97.6 130.6,101.9 134.4,103.2" fill="currentColor" style="transform-origin: 130px 106px;" class="octo-arm"></path><path d="M115.0,115.0 C114.9,115.1 118.7,116.5 119.8,115.4 L133.7,101.6 C136.9,99.2 139.9,98.4 142.2,98.6 C133.8,88.0 127.5,74.4 143.8,58.0 C148.5,53.4 154.0,51.2 159.7,51.0 C160.3,49.4 163.2,43.6 171.4,40.1 C171.4,40.1 176.1,42.5 178.8,56.2 C183.1,58.6 187.2,61.8 190.9,65.4 C194.5,69.0 197.7,73.2 200.1,77.6 C213.8,80.2 216.3,84.9 216.3,84.9 C212.7,93.1 206.9,96.0 205.4,96.6 C205.1,102.4 203.0,107.8 198.3,112.5 C181.9,128.9 168.3,122.5 157.7,114.1 C157.9,116.9 156.7,120.9 152.7,124.9 L141.0,136.5 C139.8,137.7 141.6,141.9 141.8,141.8 Z" fill="currentColor" class="octo-body"></path></svg><style>.github-corner:hover .octo-arm{animation:octocat-wave 560ms ease-in-out}@keyframes octocat-wave{0%,100%{transform:rotate(0)}20%,60%{transform:rotate(-25deg)}40%,80%{transform:rotate(10deg)}}@media (max-width:500px){.github-corner:hover .octo-arm{animation:none}.github-corner .octo-arm{animation:octocat-wave 560ms ease-in-out}}</style></a>
|
||||
</body>
|
||||
</html>
|
||||
770
repl/app.js
@@ -1,32 +1,44 @@
|
||||
import App from './app.js';
|
||||
import { readFile, writeFile } from 'fs/promises';
|
||||
import { fileURLToPath } from 'url'
|
||||
import { dirname } from 'path'
|
||||
|
||||
const __filename = fileURLToPath(import.meta.url)
|
||||
const __dirname = dirname(__filename)
|
||||
|
||||
import App from './app.js'
|
||||
import { readFile, writeFile } from 'fs/promises'
|
||||
|
||||
async function main() {
|
||||
|
||||
try {
|
||||
globalThis.localStorage = JSON.parse(await readFile('__localStorage.json'));
|
||||
globalThis.localStorage = JSON.parse(
|
||||
await readFile(__dirname + '/__localStorage.json')
|
||||
)
|
||||
} catch (e) {
|
||||
globalThis.localStorage = {};
|
||||
globalThis.localStorage = {}
|
||||
}
|
||||
localStorage.getItem = key => localStorage[key]===void 0? null: localStorage[key];
|
||||
localStorage.setItem = (key, value) => (localStorage[key] = value);
|
||||
localStorage.getItem = key =>
|
||||
localStorage[key] === void 0 ? null : localStorage[key]
|
||||
localStorage.setItem = (key, value) => (localStorage[key] = value)
|
||||
|
||||
globalThis.dumpLocalStorage = async ()=>await writeFile('__localStorage.json', JSON.stringify( global.localStorage))
|
||||
globalThis.dumpLocalStorage = async () =>
|
||||
await writeFile(
|
||||
__dirname + '/__localStorage.json',
|
||||
JSON.stringify(global.localStorage)
|
||||
)
|
||||
|
||||
const app = new App();
|
||||
const app = new App()
|
||||
app.io(
|
||||
repl => process.stdin.on('data', data=>repl(data.toString().trim())),
|
||||
(data, isRepl) => process.stdout.write(`${data}${isRepl?'\n>':''}`),
|
||||
code=>process.exit(code)
|
||||
repl => process.stdin.on('data', data => repl(data.toString().trim())),
|
||||
(data, isRepl) => process.stdout.write(`${data}${isRepl ? '\n>' : ''}`),
|
||||
code => process.exit(code)
|
||||
)
|
||||
await app.initial();
|
||||
await app.initial()
|
||||
}
|
||||
|
||||
main();
|
||||
main()
|
||||
|
||||
// process.stdin.setRawMode(true);
|
||||
|
||||
// process.openStdin().on('keypress', function (chunk, key) {
|
||||
// process.stdout.write('Get Chunk: ' + chunk + '\n');
|
||||
// if (key && key.ctrl && key.name == 'c') process.exit();
|
||||
// });
|
||||
// });
|
||||
|
||||
102
src/app.js
@@ -1,13 +1,37 @@
|
||||
import './ui/laya.patch.js';
|
||||
import './ui/runtime.js';
|
||||
import './ui/pluginFunction.js'
|
||||
import './ui/promisesLaya.js'
|
||||
import './ui/layaUI.max.all.js';
|
||||
import UIManager from './ui/uiManager.js';
|
||||
import * as utils from './functions/util.js';
|
||||
|
||||
globalThis.UIManager =
|
||||
globalThis.UI =
|
||||
UIManager;
|
||||
globalThis.UI =
|
||||
UIManager;
|
||||
|
||||
globalThis.$_ = utils;
|
||||
class App{
|
||||
constructor(){
|
||||
|
||||
globalThis.goto = async tag => {
|
||||
let url;
|
||||
switch (tag) {
|
||||
case 'github': url = 'https://github.com/VickScarlet/lifeRestart'; break;
|
||||
case 'discord': url = 'https://discord.gg/U3qrf49NMQ'; break;
|
||||
case 'sponsor_afd': url = 'https://afdian.com/a/LifeRestart'; break;
|
||||
case 'sponsor_ddf': url = 'https://dun.mianbaoduo.com/@vickscarlet'; break;
|
||||
}
|
||||
try {
|
||||
if (Laya.Browser.onIOS) {
|
||||
window.location.href = url;
|
||||
} else {
|
||||
window.open(url, '_blank');
|
||||
}
|
||||
} catch (error) {
|
||||
console.error(error);
|
||||
}
|
||||
}
|
||||
class App {
|
||||
constructor() {
|
||||
this.name = 'lifeRestart';
|
||||
this.version = '2.0.0';
|
||||
console.log(`${this.name} ${this.version}`);
|
||||
@@ -20,6 +44,43 @@ class App{
|
||||
};
|
||||
|
||||
#initLaya() {
|
||||
/**
|
||||
*...特殊的字符,如泰文,必须重新实现这个类
|
||||
*/
|
||||
//class laya.webgl.text.CharSegment
|
||||
class CharSegment {
|
||||
constructor() {
|
||||
this._sourceStr = null;
|
||||
}
|
||||
textToSpit(str) {
|
||||
this._sourceStr = str;
|
||||
var texLen = str.length;
|
||||
var idx = -1;
|
||||
this._words = [];
|
||||
while (++idx < texLen) {
|
||||
var character = str.charAt(idx);
|
||||
var code = str.charCodeAt(idx);
|
||||
if (code >= 0xD800 && code <= 0xDBFF) {
|
||||
this._words.push(character + str.charAt(++idx));
|
||||
} else {
|
||||
this._words.push(character);
|
||||
}
|
||||
}
|
||||
}
|
||||
getChar(i) {
|
||||
return this._words;
|
||||
}
|
||||
getCharCode(i) {
|
||||
return this._words[i].codePointAt(0);
|
||||
}
|
||||
length() {
|
||||
return this._words.length;
|
||||
}
|
||||
}
|
||||
Laya.class(CharSegment, 'laya.webgl.text.CharSegment');
|
||||
Laya.imps(CharSegment.prototype, { "laya.webgl.text.ICharSegment": true })
|
||||
|
||||
|
||||
// Laya.init(1125, 2436, Laya.WebGL);
|
||||
Laya.Config.isAntialias = true;
|
||||
Laya.init(...this.#fitScreen, Laya.WebGL);
|
||||
@@ -42,15 +103,15 @@ class App{
|
||||
const screenWidth = window.innerWidth;
|
||||
const screenHeight = window.innerHeight;
|
||||
const screenRatio = screenWidth / screenHeight;
|
||||
if(screenRatio > designRatio) {
|
||||
if (screenRatio > designRatio) {
|
||||
return [
|
||||
Math.min(screenWidth*designHeight/screenHeight, maxWidth),
|
||||
Math.min(screenWidth * designHeight / screenHeight, maxWidth),
|
||||
designHeight
|
||||
]
|
||||
} else {
|
||||
return [
|
||||
designWidth,
|
||||
Math.min(screenHeight*designWidth/screenWidth, maxHeight)
|
||||
Math.min(screenHeight * designWidth / screenWidth, maxHeight)
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -60,7 +121,7 @@ class App{
|
||||
}
|
||||
|
||||
async #setLanguage(language) {
|
||||
switch(language) {
|
||||
switch (language) {
|
||||
case App.languages['en-us']:
|
||||
case App.languages['zh-cn']:
|
||||
this.#language = language;
|
||||
@@ -70,13 +131,23 @@ class App{
|
||||
break;
|
||||
}
|
||||
globalThis.$lang =
|
||||
Laya.Text.langPacks =
|
||||
Laya.Text.langPacks =
|
||||
(await import(`./i18n/${this.#language}.js`)).default;
|
||||
}
|
||||
|
||||
resigterEvent() {
|
||||
$$on('achievement', achievement => {
|
||||
$ui.popup(UI.popups.ACHIEVEMENT, {achievement});
|
||||
$ui.popup(UI.popups.ACHIEVEMENT, { achievement });
|
||||
})
|
||||
$$on('message', ([message, ...args]) => {
|
||||
if (Array.isArray(message)) {
|
||||
message = message.map(([m, ...a]) => $_.format($lang[m], ...a)).join('\n');
|
||||
} else {
|
||||
message = $_.format(
|
||||
$lang[message], ...args
|
||||
);
|
||||
}
|
||||
$ui.popup(UI.popups.MESSAGE, { message });
|
||||
})
|
||||
}
|
||||
|
||||
@@ -87,12 +158,21 @@ class App{
|
||||
this.resigterEvent();
|
||||
this.#initLaya();
|
||||
globalThis.$ui = UIManager.getInstance();
|
||||
|
||||
if (theme == 'default') {
|
||||
theme = localStorage.getItem('theme') || 'default';
|
||||
}
|
||||
|
||||
$ui.theme = theme;
|
||||
await this.#setLanguage(language);
|
||||
await $ui.setLoading(UI.pages.LOADING);
|
||||
await $ui.switchView(UI.pages.LOADING);
|
||||
await core.initial(dataSet=>Laya.promises.loader.load(`data/${this.#language}/${dataSet}.json`, null, Laya.Loader.JSON));
|
||||
await core.initial(
|
||||
dataSet => Laya.promises.loader.load(`data/${this.#language}/${dataSet}.json`, null, Laya.Loader.JSON),
|
||||
dataSet => Laya.promises.loader.load(`data/${dataSet}.json`, null, Laya.Loader.JSON),
|
||||
);
|
||||
await $ui.switchView(UI.pages.MAIN);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -43,7 +43,7 @@ function parseCondition(condition) {
|
||||
return conditions;
|
||||
}
|
||||
|
||||
function checkCondition(property, condition) {
|
||||
export function checkCondition(property, condition) {
|
||||
const conditions = parseCondition(condition);
|
||||
return checkParsedConditions(property, conditions);
|
||||
}
|
||||
@@ -113,7 +113,7 @@ function checkProp(property, condition) {
|
||||
}
|
||||
}
|
||||
|
||||
function extractMaxTriggers(condition) {
|
||||
export function extractMaxTriggers(condition) {
|
||||
// Assuming only age related talents can be triggered multiple times.
|
||||
const RE_AGE_CONDITION = /AGE\?\[([0-9\,]+)\]/;
|
||||
const match_object = RE_AGE_CONDITION.exec(condition);
|
||||
@@ -124,6 +124,4 @@ function extractMaxTriggers(condition) {
|
||||
|
||||
const age_list = match_object[1].split(",");
|
||||
return age_list.length;
|
||||
}
|
||||
|
||||
export { checkCondition, extractMaxTriggers };
|
||||
}
|
||||
103
src/functions/condition.spec.js
Normal file
@@ -0,0 +1,103 @@
|
||||
import { expect, test, describe } from 'vitest'
|
||||
import { checkCondition } from './condition'
|
||||
|
||||
function withProp(prop) {
|
||||
const p = {
|
||||
get(key) {
|
||||
return prop[key]
|
||||
},
|
||||
}
|
||||
return condition => checkCondition(p, condition)
|
||||
}
|
||||
|
||||
describe('condition', () => {
|
||||
const check = withProp({
|
||||
n1: 0,
|
||||
n2: -10,
|
||||
n3: 10,
|
||||
nl1: [1, 2, 3],
|
||||
nl2: [0],
|
||||
nl3: [],
|
||||
})
|
||||
test('gt(>)', () => {
|
||||
expect(check('n3>11')).toBe(false)
|
||||
expect(check('n3>10')).toBe(false)
|
||||
expect(check('n3>9')).toBe(true)
|
||||
})
|
||||
test('gte(>=)', () => {
|
||||
expect(check('n3>=11')).toBe(false)
|
||||
expect(check('n3>=10')).toBe(true)
|
||||
expect(check('n3>=9')).toBe(true)
|
||||
})
|
||||
test('lt(<)', () => {
|
||||
expect(check('n3<9')).toBe(false)
|
||||
expect(check('n3<10')).toBe(false)
|
||||
expect(check('n3<11')).toBe(true)
|
||||
})
|
||||
test('lte(<=)', () => {
|
||||
expect(check('n3<=9')).toBe(false)
|
||||
expect(check('n3<=10')).toBe(true)
|
||||
expect(check('n3<=11')).toBe(true)
|
||||
})
|
||||
test('eq(=)', () => {
|
||||
expect(check('n3=9')).toBe(false)
|
||||
expect(check('n3=10')).toBe(true)
|
||||
expect(check('n3=11')).toBe(false)
|
||||
expect(check('nl1=0')).toBe(false)
|
||||
expect(check('nl1=1')).toBe(true)
|
||||
expect(check('nl1=2')).toBe(true)
|
||||
expect(check('nl1=3')).toBe(true)
|
||||
})
|
||||
test('ne(!=)', () => {
|
||||
expect(check('n3!=9')).toBe(true)
|
||||
expect(check('n3!=10')).toBe(false)
|
||||
expect(check('n3!=11')).toBe(true)
|
||||
expect(check('nl1!=0')).toBe(true)
|
||||
expect(check('nl1!=1')).toBe(false)
|
||||
expect(check('nl1!=2')).toBe(false)
|
||||
expect(check('nl1!=3')).toBe(false)
|
||||
})
|
||||
test('in(?)', () => {
|
||||
expect(check('n3?[1,2,3]')).toBe(false)
|
||||
expect(check('n3?[10,11,12]')).toBe(true)
|
||||
expect(check('nl1?[0,1]')).toBe(true)
|
||||
expect(check('nl2?[1,2,3]')).toBe(false)
|
||||
expect(check('nl3?[1,2,3]')).toBe(false)
|
||||
expect(check('nl2?[]')).toBe(false)
|
||||
expect(check('nl3?[]')).toBe(false)
|
||||
})
|
||||
test('notin(!)', () => {
|
||||
expect(check('n3![1,2,3]')).toBe(true)
|
||||
expect(check('n3![10,11,12]')).toBe(false)
|
||||
expect(check('nl1![0,1]')).toBe(false)
|
||||
expect(check('nl2![1,2,3]')).toBe(true)
|
||||
expect(check('nl3![1,2,3]')).toBe(true)
|
||||
expect(check('nl2![]')).toBe(true)
|
||||
expect(check('nl3![]')).toBe(true)
|
||||
})
|
||||
test('and(&)', () => {
|
||||
expect(check('n1>=0&n2<0')).toBe(true)
|
||||
expect(check('n2>0&n3>0')).toBe(false)
|
||||
expect(check('n2<0&n3<0')).toBe(false)
|
||||
expect(check('n2<0&n3>0')).toBe(true)
|
||||
expect(check('n1=0&n2<0&n3>0')).toBe(true)
|
||||
expect(check('n1=0&n2>0&n3>0')).toBe(false)
|
||||
})
|
||||
test('or(|)', () => {
|
||||
expect(check('n1>=0|n2<0')).toBe(true)
|
||||
expect(check('n2>0|n3>0')).toBe(true)
|
||||
expect(check('n2<0|n3<0')).toBe(true)
|
||||
expect(check('n2<0|n3>0')).toBe(true)
|
||||
expect(check('n2>0|n3<0')).toBe(false)
|
||||
expect(check('n1=0|n2<0|n3>0')).toBe(true)
|
||||
expect(check('n1=0|n2>0|n3>0')).toBe(true)
|
||||
expect(check('n1!=0|n2>0|n3<0')).toBe(false)
|
||||
})
|
||||
test('mix', () => {
|
||||
expect(check('(n1=0|n2<0|n3>0)&(n1=0|n2>0|n3>0)')).toBe(true)
|
||||
expect(check('(n1=0|n2<0|n3>0)&(n1!=0|n2>0|n3<0)')).toBe(false)
|
||||
expect(check('n1=0|n2<0|n3>0&n1!=0|n2>0|n3<0')).toBe(true)
|
||||
expect(check('(n1>0|n1?[-10,0])&(n2>0|n3![0,1])')).toBe(true)
|
||||
expect(check('(n1>0&n1?[-10,0])|(n2<0&n3![0,1])')).toBe(true)
|
||||
})
|
||||
})
|
||||
@@ -1,6 +1,7 @@
|
||||
function clone(value) {
|
||||
switch(typeof value) {
|
||||
case 'object':
|
||||
if(value === null) return null;
|
||||
if(Array.isArray(value)) return value.map(v=>clone(v));
|
||||
const newObj = {};
|
||||
for(const key in value) newObj[key] = clone(value[key]);
|
||||
@@ -69,18 +70,31 @@ function mapSet(target, source) {
|
||||
|
||||
function deepMapSet(target, source) {
|
||||
for(const key in source) {
|
||||
if(typeof source[key] === 'object')
|
||||
deepMapSet(target[key], source[key]);
|
||||
else
|
||||
target[key] = source[key];
|
||||
let value = source[key];
|
||||
switch(typeof value) {
|
||||
case 'function': value = value();
|
||||
case 'object':
|
||||
if(!Array.isArray(value)) {
|
||||
deepMapSet(target[key], value);
|
||||
break;
|
||||
}
|
||||
default: target[key] = value;
|
||||
}
|
||||
}
|
||||
return target;
|
||||
}
|
||||
|
||||
function deepGet(obj, path) {
|
||||
for(const key of path.split('.')) {
|
||||
if(!(key in obj)) return undefined;
|
||||
obj = obj[key];
|
||||
}
|
||||
return obj;
|
||||
}
|
||||
|
||||
function format(str, ...args) {
|
||||
const replace = set => (match, key) => {
|
||||
const value = set[key];
|
||||
const value = deepGet(set, key);
|
||||
switch(typeof value) {
|
||||
case 'object': return JSON.stringify(value);
|
||||
case 'boolean':
|
||||
|
||||
@@ -27,10 +27,11 @@ export default ({
|
||||
|
||||
UI_Title_Remake: 'Remake Simulate',
|
||||
UI_Title_Subsequent: 'The rubbish life doesn\'t want to stay for a second',
|
||||
UI_Remake: 'Remake Now',
|
||||
UI_Remake: '↻Remake Now',
|
||||
UI_Thanks: 'Thx',
|
||||
UI_Achievement: 'Achv',
|
||||
UI_Cyber_Theme_Art_Design: 'UI Design by 晰晰',
|
||||
UI_Banner: '作者的新作《纸上谈亲》已上线小程序\n微信/抖音搜索“纸上谈亲”即可游玩~',
|
||||
|
||||
UI_Title_Talent: 'Talent Draw',
|
||||
UI_Talent_Draw: '!10 Pulls!',
|
||||
@@ -116,7 +117,48 @@ export default ({
|
||||
UI_Achievement_Count_Judge_Level_4: 'Orange rate Quintuple',
|
||||
UI_Achievement_Count_Judge_Level_5: 'Orange rate Sextuple',
|
||||
|
||||
UI_Support_Programmer: 'Programmer',
|
||||
UI_Support_Designer: 'Designer',
|
||||
|
||||
UI_Save: 'Save',
|
||||
UI_Load: 'Load',
|
||||
UI_Read: 'Copy',
|
||||
UI_Write: 'Paste',
|
||||
|
||||
UI_CopySuccess: 'Copy to clipboard success',
|
||||
UI_CopyFailed: 'Copy to clipboard Failed',
|
||||
|
||||
UI_PasteSuccessDecodeSuccess: 'Load Success!',
|
||||
UI_PasteSuccessDecodeFailed: 'Paste success, but load Failed!',
|
||||
UI_PasteFailedDecodeSuccess: 'Paste Failed, use input load success!',
|
||||
UI_PasteFailedDecodeFailed: 'Paste Failed, use input load Failed!',
|
||||
|
||||
UI_LoadSuccess: 'Load Success!',
|
||||
UI_LoadFailed: 'Load Failed!',
|
||||
|
||||
UI_Title_Celebrity: 'Past life was...',
|
||||
UI_CustomMode: 'Custom',
|
||||
UI_CustomModeDescription: '10 Talent\nCustom property',
|
||||
UI_CelebrityMode: 'Celebrity',
|
||||
UI_CelebrityModeDescription: 'Past life is celebrity\nRebirth to modern',
|
||||
UI_AllNot: '↻All Not',
|
||||
UI_UniqueWaTaShi: 'Unique of mine',
|
||||
UI_UniqueWaTaShiContent: '\nUnique character card different from other 60 million player\nAll property, All talent, All random\nAll has only one chance',
|
||||
UI_GenerateNow: 'Generate Now',
|
||||
|
||||
|
||||
M_NoRank: 'There is no rank',
|
||||
M_PleaseSelectOne: 'Please Select One',
|
||||
M_UnGenerate: 'Unique Character no generate',
|
||||
M_DisableExtendTalent: 'Celebrity mode can\'t extends talent',
|
||||
|
||||
F_RemakeTimes: 'Remake {0} Times',
|
||||
F_AchievementCount: 'Achievement {0}',
|
||||
F_TalentSelection: '{name} ({description})',
|
||||
F_TalentConflict: 'Conflict with talent ({0})',
|
||||
F_TalentSelectLimit: 'Talent select limit {0}',
|
||||
F_TalentSelectNotComplect: 'Please select {0} talent',
|
||||
F_PropertyPointLeft: 'You have left {0} property point',
|
||||
F_TalentReplace: 'Talent replace [{source.name}] -> [{target.name}]',
|
||||
F_PropertyStr: 'CHR{CHR} INT{INT} STR{STR} MNY{MNY}'
|
||||
});
|
||||
@@ -15,6 +15,8 @@ export default ({
|
||||
UI_Loading: '加载中...',
|
||||
UI_Error: '错误',
|
||||
|
||||
UI_BackupBtn: '上面没有效果就试试这个吧',
|
||||
|
||||
UI_Colon: ':',
|
||||
UI_Times: '次',
|
||||
UI_Count: '个',
|
||||
@@ -27,10 +29,11 @@ export default ({
|
||||
|
||||
UI_Title_Remake: '人生重开模拟器',
|
||||
UI_Title_Subsequent: '这垃圾人生一秒也不想待了',
|
||||
UI_Remake: '立即重开',
|
||||
UI_Remake: '↻立即重开',
|
||||
UI_Thanks: '感谢',
|
||||
UI_Achievement: '成就',
|
||||
UI_Cyber_Theme_Art_Design: 'UI 设计 by 晰晰',
|
||||
UI_Banner: '作者的新作《纸上谈亲》已上线小程序\n微信/抖音搜索“纸上谈亲”即可游玩~',
|
||||
|
||||
UI_Title_Talent: '天赋抽卡',
|
||||
UI_Talent_Draw: '10连抽!',
|
||||
@@ -116,7 +119,47 @@ export default ({
|
||||
UI_Achievement_Count_Judge_Level_4: '抽到橙色概率五倍',
|
||||
UI_Achievement_Count_Judge_Level_5: '抽到橙色概率六倍',
|
||||
|
||||
UI_Support_Programmer: '打赏程序(顿顿饭)',
|
||||
UI_Support_Designer: '打赏策划(爱发电)',
|
||||
|
||||
UI_Save: '存档',
|
||||
UI_Load: '读档',
|
||||
UI_Read: '复制',
|
||||
UI_Write: '粘贴',
|
||||
|
||||
UI_LoadSuccess: '读档成功!',
|
||||
UI_LoadFailed: '读档失败!',
|
||||
|
||||
UI_CopySuccess: '成功复制存档到剪贴板',
|
||||
UI_CopyFailed: '复制存档到剪贴板失败,请手动复制存档内容',
|
||||
|
||||
UI_PasteSuccessDecodeSuccess: '读档成功!',
|
||||
UI_PasteSuccessDecodeFailed: '粘贴剪贴板存档内容成功,但剪贴板内容读档失败',
|
||||
UI_PasteFailedDecodeSuccess: '粘贴剪贴板存档内容失败,使用输入的内容读档成功',
|
||||
UI_PasteFailedDecodeFailed: '粘贴剪贴板存档内容失败,使用输入的内容读档失败',
|
||||
|
||||
UI_Title_Celebrity: '你的前世是...',
|
||||
UI_CustomMode: '经典模式',
|
||||
UI_CustomModeDescription: '10连抽天赋\n自由分配属性',
|
||||
UI_CelebrityMode: '名人模式',
|
||||
UI_CelebrityModeDescription: '前世是古代名人\n重开到了现代',
|
||||
UI_AllNot: '↻都不是',
|
||||
UI_UniqueWaTaShi: '独一无二的我',
|
||||
UI_UniqueWaTaShiContent: '\n6000万玩家中独一无二的角色卡\n所有属性 所有天赋 随机生成\n 每人只能生成一次',
|
||||
UI_GenerateNow: '立即生成',
|
||||
|
||||
M_NoRank: '别卷了,没有排行榜',
|
||||
M_PleaseSelectOne: '请选择一个名人',
|
||||
M_UnGenerate: '独一无二的我还没有生成',
|
||||
M_DisableExtendTalent: '名人模式不能继承天赋',
|
||||
|
||||
F_RemakeTimes: '已重开{0}次',
|
||||
F_AchievementCount: '成就达成{0}个',
|
||||
F_TalentSelection: '{name}({description})',
|
||||
F_TalentConflict: '与已选的「{0}」天赋冲突',
|
||||
F_TalentSelectLimit: '只能选 {0} 个天赋',
|
||||
F_TalentSelectNotComplect: '要选满{0}个天赋',
|
||||
F_PropertyPointLeft: '你还有 {0} 属性点没有分配完',
|
||||
F_TalentReplace: '天赋替换【{source.name}】->【{target.name}】',
|
||||
F_PropertyStr: '颜值{CHR} 智力{INT} 体质{STR} 家境{MNY}'
|
||||
});
|
||||
68
src/index.js
@@ -1,19 +1,6 @@
|
||||
import App from './app.js';
|
||||
import Life from './modules/life.js';
|
||||
|
||||
globalThis.goto = async tag => {
|
||||
let url;
|
||||
switch(tag) {
|
||||
case 'github': url = 'https://github.com/VickScarlet/lifeRestart'; break;
|
||||
case 'discord': url = 'https://discord.gg/U3qrf49NMQ'; break;
|
||||
}
|
||||
try {
|
||||
window.open(url, '_blank');
|
||||
} catch (error) {
|
||||
console.error(error);
|
||||
}
|
||||
}
|
||||
|
||||
globalThis.$$eventMap = new Map();
|
||||
globalThis.$$event = (tag, data) => {
|
||||
const listener = $$eventMap.get(tag);
|
||||
@@ -32,6 +19,37 @@ globalThis.$$off = (tag, fn) => {
|
||||
if(listener) listener.delete(fn);
|
||||
}
|
||||
|
||||
globalThis.$$copy = async text => {
|
||||
const result = await navigator.permissions.query({ name: "clipboard-write" })
|
||||
if (result.state == "granted" || result.state == "prompt") {
|
||||
navigator.clipboard.writeText(text)
|
||||
return true;
|
||||
}
|
||||
const input = document.createElement('input');
|
||||
input.setAttribute('style', 'opacity: 0;');
|
||||
document.body.appendChild(input);
|
||||
input.value = text;
|
||||
input.select();
|
||||
const r = document.execCommand("copy");
|
||||
document.body.removeChild(input);
|
||||
return r;
|
||||
}
|
||||
|
||||
globalThis.$$read = async ()=>{
|
||||
const result = await navigator.permissions.query({ name: "clipboard-read" })
|
||||
if (result.state == "granted" || result.state == "prompt") {
|
||||
return await navigator.clipboard.readText();
|
||||
}
|
||||
const input = document.createElement('input');
|
||||
input.setAttribute('style', 'opacity: 0;');
|
||||
document.body.appendChild(input);
|
||||
input.focus();
|
||||
const r = document.execCommand("paste");
|
||||
const text = input.value;
|
||||
document.body.removeChild(input);
|
||||
return r?text:r;
|
||||
};
|
||||
|
||||
const core = new Life();
|
||||
const game = new App();
|
||||
globalThis.core = core;
|
||||
@@ -178,5 +196,29 @@ core.config({
|
||||
],
|
||||
},
|
||||
},
|
||||
characterConfig: { // config for character
|
||||
characterPullCount: 3,
|
||||
rateableKnife: 10,
|
||||
propertyWeight: [
|
||||
[ 0, 1],
|
||||
[ 1, 2],
|
||||
[ 2, 3],
|
||||
[ 3, 4],
|
||||
[ 4, 5],
|
||||
[ 5, 6],
|
||||
[ 6, 5],
|
||||
[ 7, 4],
|
||||
[ 8, 3],
|
||||
[ 9, 2],
|
||||
[10, 1],
|
||||
],
|
||||
talentWeight: [
|
||||
[ 1, 1],
|
||||
[ 2, 2],
|
||||
[ 3, 3],
|
||||
[ 4, 2],
|
||||
[ 5, 1],
|
||||
],
|
||||
},
|
||||
});
|
||||
game.start(query);
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
import { clone } from '../functions/util.js';
|
||||
import { checkCondition } from '../functions/condition.js';
|
||||
|
||||
class Achievement {
|
||||
constructor() {}
|
||||
constructor(system) {
|
||||
this.#system = system;
|
||||
}
|
||||
|
||||
// 时机
|
||||
Opportunity = {
|
||||
@@ -12,6 +11,7 @@ class Achievement {
|
||||
END: "END", // 游戏完成,点击重开 重开次数在这之后才会+1
|
||||
};
|
||||
|
||||
#system;
|
||||
#achievements;
|
||||
|
||||
initial({achievements}) {
|
||||
@@ -23,7 +23,11 @@ class Achievement {
|
||||
return Object.keys(this.#achievements).length;
|
||||
}
|
||||
|
||||
list(property) {
|
||||
get #prop() {
|
||||
return this.#system.request(this.#system.Module.PROPERTY);
|
||||
}
|
||||
|
||||
list() {
|
||||
return Object
|
||||
.values(this.#achievements)
|
||||
.map(({
|
||||
@@ -32,34 +36,34 @@ class Achievement {
|
||||
})=>({
|
||||
id, name, opportunity,
|
||||
description, hide, grade,
|
||||
isAchieved: this.isAchieved(id, property),
|
||||
isAchieved: this.isAchieved(id, this.#prop),
|
||||
}));
|
||||
}
|
||||
|
||||
get(achievementId) {
|
||||
const achievement = this.#achievements[achievementId];
|
||||
if(!achievement) throw new Error(`[ERROR] No Achievement[${achievementId}]`);
|
||||
return clone(achievement);
|
||||
return this.#system.clone(achievement);
|
||||
}
|
||||
|
||||
check(achievementId, property) {
|
||||
check(achievementId) {
|
||||
const { condition } = this.get(achievementId);
|
||||
return checkCondition(property, condition);
|
||||
return this.#system.check(condition);
|
||||
}
|
||||
|
||||
isAchieved(achievementId, property) {
|
||||
for(const [achieved] of (property.get(property.TYPES.ACHV)||[]))
|
||||
isAchieved(achievementId) {
|
||||
for(const [achieved] of (this.#prop.get(this.#prop.TYPES.ACHV)||[]))
|
||||
if(achieved == achievementId) return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
achieve(opportunity, property) {
|
||||
this.list(property)
|
||||
achieve(opportunity) {
|
||||
this.list()
|
||||
.filter(({isAchieved})=>!isAchieved)
|
||||
.filter(({opportunity: o})=>o==opportunity)
|
||||
.filter(({id})=>this.check(id, property))
|
||||
.filter(({id})=>this.check(id, this.#prop))
|
||||
.forEach(({id})=>{
|
||||
property.achieve(property.TYPES.ACHV, id)
|
||||
this.#prop.achieve(this.#prop.TYPES.ACHV, id)
|
||||
$$event('achievement', this.get(id))
|
||||
});
|
||||
}
|
||||
|
||||
134
src/modules/character.js
Normal file
@@ -0,0 +1,134 @@
|
||||
class Character {
|
||||
constructor(system) {
|
||||
this.#system = system;
|
||||
}
|
||||
|
||||
#system;
|
||||
#characters;
|
||||
#characterPullCount;
|
||||
#rateableKnife;
|
||||
#rate;
|
||||
#pipe = [];
|
||||
#uniqueWaTaShi;
|
||||
#propertyWeight;
|
||||
#talentWeight
|
||||
|
||||
initial({characters}) {
|
||||
this.#characters = characters;
|
||||
const uniqueWaTaShi = localStorage.getItem('uniqueWaTaShi');
|
||||
if(uniqueWaTaShi != null || uniqueWaTaShi != 'undefined')
|
||||
this.#uniqueWaTaShi = JSON.parse(uniqueWaTaShi);
|
||||
return this.count;
|
||||
}
|
||||
|
||||
get count() {
|
||||
return Object.keys(this.#characters).length;
|
||||
}
|
||||
|
||||
config({
|
||||
characterPullCount = 3,
|
||||
rateableKnife = 10,
|
||||
propertyWeight,
|
||||
talentWeight,
|
||||
} = {}) {
|
||||
this.#characterPullCount = characterPullCount;
|
||||
this.#rateableKnife = rateableKnife;
|
||||
this.#propertyWeight = propertyWeight;
|
||||
this.#talentWeight = talentWeight;
|
||||
}
|
||||
|
||||
get #unique() {
|
||||
if(this.#uniqueWaTaShi) {
|
||||
return this.#system.clone(this.#uniqueWaTaShi);
|
||||
}
|
||||
|
||||
const now = Date.now();
|
||||
this.#pipe.push(now);
|
||||
if(this.#pipe.length < 10) return null;
|
||||
const time = this.#pipe.shift();
|
||||
if(now - time > 10000) return null;
|
||||
return {unique: true, generate: false};
|
||||
}
|
||||
|
||||
set #unique(data) {
|
||||
this.#uniqueWaTaShi = this.#system.clone(data);
|
||||
this.#uniqueWaTaShi.unique = true;
|
||||
this.#uniqueWaTaShi.generate = true;
|
||||
localStorage.setItem(
|
||||
'uniqueWaTaShi',
|
||||
JSON.stringify(this.#uniqueWaTaShi)
|
||||
);
|
||||
}
|
||||
|
||||
get #weightRandom() {
|
||||
return this.#system.function(this.#system.Function.UTIL).weightRandom;
|
||||
}
|
||||
|
||||
generateUnique() {
|
||||
if(this.#uniqueWaTaShi) return this.#unique;
|
||||
const weightRandom = this.#weightRandom;
|
||||
const {CHR, INT, STR, MNY} = this.#system.PropertyTypes;
|
||||
|
||||
this.#unique = {
|
||||
property: {
|
||||
[CHR]: weightRandom(this.#propertyWeight),
|
||||
[INT]: weightRandom(this.#propertyWeight),
|
||||
[STR]: weightRandom(this.#propertyWeight),
|
||||
[MNY]: weightRandom(this.#propertyWeight),
|
||||
},
|
||||
talent: this.#system
|
||||
.request(this.#system.Module.TALENT)
|
||||
.random(weightRandom(this.#talentWeight)),
|
||||
}
|
||||
|
||||
return this.#unique;
|
||||
}
|
||||
|
||||
random() {
|
||||
return {
|
||||
unique: this.#unique,
|
||||
normal: this.#rateable(),
|
||||
}
|
||||
}
|
||||
|
||||
#rateable() {
|
||||
if(!this.#rate) {
|
||||
this.#rate = {};
|
||||
for(const id in this.#characters) {
|
||||
this.#rate[id] = 1;
|
||||
}
|
||||
}
|
||||
|
||||
const r = [];
|
||||
const weightRandom = this.#weightRandom;
|
||||
new Array(this.#characterPullCount)
|
||||
.fill(0)
|
||||
.forEach(()=>{
|
||||
r.push(
|
||||
weightRandom(Object
|
||||
.keys(this.#rate)
|
||||
.filter(id=>!r.includes(id))
|
||||
.map(id=>([id,this.#rate[id]]))
|
||||
)
|
||||
)
|
||||
});
|
||||
|
||||
let min = Infinity;
|
||||
for(const id in this.#rate) {
|
||||
if(r.includes(id)) {
|
||||
min = Math.min(min, this.#rate[id]);
|
||||
continue;
|
||||
}
|
||||
min = Math.min(min, ++ this.#rate[id]);
|
||||
}
|
||||
if(min > this.#rateableKnife) {
|
||||
for(const id in this.#rate) {
|
||||
this.#rate[id] -= this.#rateableKnife;
|
||||
}
|
||||
}
|
||||
return r.map(id=>this.#system.clone(this.#characters[id]));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
export default Character;
|
||||
@@ -1,9 +1,9 @@
|
||||
import { clone } from '../functions/util.js';
|
||||
import { checkCondition } from '../functions/condition.js';
|
||||
|
||||
class Event {
|
||||
constructor() {}
|
||||
constructor(system) {
|
||||
this.#system = system;
|
||||
}
|
||||
|
||||
#system;
|
||||
#events;
|
||||
|
||||
initial({events}) {
|
||||
@@ -24,18 +24,18 @@ class Event {
|
||||
return Object.keys(this.#events).length;
|
||||
}
|
||||
|
||||
check(eventId, property) {
|
||||
check(eventId) {
|
||||
const { include, exclude, NoRandom } = this.get(eventId);
|
||||
if(NoRandom) return false;
|
||||
if(exclude && checkCondition(property, exclude)) return false;
|
||||
if(include) return checkCondition(property, include);
|
||||
if(exclude && this.#system.check(exclude)) return false;
|
||||
if(include) return this.#system.check(include);
|
||||
return true;
|
||||
}
|
||||
|
||||
get(eventId) {
|
||||
const event = this.#events[eventId];
|
||||
if(!event) throw new Error(`[ERROR] No Event[${eventId}]`);
|
||||
return clone(event);
|
||||
return this.#system.clone(event);
|
||||
}
|
||||
|
||||
information(eventId) {
|
||||
@@ -43,13 +43,13 @@ class Event {
|
||||
return { description };
|
||||
}
|
||||
|
||||
do(eventId, property) {
|
||||
const { effect, branch, event: description, postEvent } = this.get(eventId);
|
||||
do(eventId) {
|
||||
const { effect, branch, event: description, postEvent, grade } = this.get(eventId);
|
||||
if(branch)
|
||||
for(const [cond, next] of branch)
|
||||
if(checkCondition(property, cond))
|
||||
return { effect, next, description };
|
||||
return { effect, postEvent, description };
|
||||
if(this.#system.check(cond))
|
||||
return { effect, next, description, grade };
|
||||
return { effect, postEvent, description, grade };
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,42 +1,65 @@
|
||||
import { clone, weightRandom, getListValuesMap, getConvertedMap } from '../functions/util.js'
|
||||
import * as util from '../functions/util.js';
|
||||
import * as fCondition from '../functions/condition.js';
|
||||
|
||||
import Property from './property.js';
|
||||
import Event from './event.js';
|
||||
import Talent from './talent.js';
|
||||
import Achievement from './achievement.js';
|
||||
import Character from './character.js';
|
||||
|
||||
class Life {
|
||||
constructor() {
|
||||
this.#property = new Property();
|
||||
this.#event = new Event();
|
||||
this.#talent = new Talent();
|
||||
this.#achievement = new Achievement();
|
||||
this.#property = new Property(this);
|
||||
this.#event = new Event(this);
|
||||
this.#talent = new Talent(this);
|
||||
this.#achievement = new Achievement(this);
|
||||
this.#character = new Character(this);
|
||||
}
|
||||
|
||||
Module = {
|
||||
PROPERTY: 'PROPERTY',
|
||||
TALENT: 'TALENT',
|
||||
EVENT: 'EVENT',
|
||||
ACHIEVEMENT: 'ACHIEVEMENT',
|
||||
CHARACTER: 'CHARACTER',
|
||||
}
|
||||
|
||||
Function = {
|
||||
CONDITION: 'CONDITION',
|
||||
UTIL: 'UTIL',
|
||||
}
|
||||
|
||||
#property;
|
||||
#event;
|
||||
#talent;
|
||||
#achievement;
|
||||
#character;
|
||||
#triggerTalents;
|
||||
#defaultPropertyPoints;
|
||||
#talentSelectLimit;
|
||||
#propertyAllocateLimit;
|
||||
#defaultPropertys;
|
||||
#specialThanks;
|
||||
#initialData;
|
||||
|
||||
async initial(loadJSON) {
|
||||
const [age, talents, events, achievements] = await Promise.all([
|
||||
loadJSON('age'),
|
||||
loadJSON('talents'),
|
||||
loadJSON('events'),
|
||||
loadJSON('achievement'),
|
||||
async initial(i18nLoad, commonLoad) {
|
||||
const [age, talents, events, achievements, characters, specialThanks] = await Promise.all([
|
||||
i18nLoad('age'),
|
||||
i18nLoad('talents'),
|
||||
i18nLoad('events'),
|
||||
i18nLoad('achievement'),
|
||||
i18nLoad('character'),
|
||||
commonLoad('specialthanks'),
|
||||
]);
|
||||
this.#specialThanks = specialThanks;
|
||||
|
||||
const total = {
|
||||
[this.PropertyTypes.TACEV]: this.#achievement.initial({achievements}),
|
||||
[this.PropertyTypes.TACHV]: this.#achievement.initial({achievements}),
|
||||
[this.PropertyTypes.TEVT]: this.#event.initial({events}),
|
||||
[this.PropertyTypes.TTLT]: this.#talent.initial({talents}),
|
||||
};
|
||||
|
||||
this.#property.initial({age, total});
|
||||
this.#character.initial({characters});
|
||||
}
|
||||
|
||||
config({
|
||||
@@ -46,6 +69,7 @@ class Life {
|
||||
defaultPropertys = {}, // default propertys
|
||||
talentConfig, // config for talent
|
||||
propertyConfig, // config for property
|
||||
characterConfig, // config for character
|
||||
} = {}) {
|
||||
this.#defaultPropertyPoints = defaultPropertyPoints;
|
||||
this.#talentSelectLimit = talentSelectLimit;
|
||||
@@ -53,27 +77,54 @@ class Life {
|
||||
this.#defaultPropertys = defaultPropertys;
|
||||
this.#talent.config(talentConfig);
|
||||
this.#property.config(propertyConfig);
|
||||
this.#character.config(characterConfig);
|
||||
}
|
||||
|
||||
restart(allocation) {
|
||||
const propertys = clone(this.#defaultPropertys);
|
||||
for(const key in allocation) {
|
||||
propertys[key] = clone(allocation[key]);
|
||||
request(module) {
|
||||
switch (module) {
|
||||
case this.Module.ACHIEVEMENT: return this.#achievement;
|
||||
case this.Module.CHARACTER: return this.#character;
|
||||
case this.Module.EVENT: return this.#event;
|
||||
case this.Module.PROPERTY: return this.#property;
|
||||
case this.Module.TALENT: return this.#talent;
|
||||
default: return null;
|
||||
}
|
||||
}
|
||||
|
||||
function(type) {
|
||||
switch (type) {
|
||||
case this.Function.CONDITION: return fCondition;
|
||||
case this.Function.UTIL: return util;
|
||||
}
|
||||
}
|
||||
|
||||
check(condition) {
|
||||
return fCondition.checkCondition(this.#property,condition);
|
||||
}
|
||||
|
||||
clone(...args) {
|
||||
return util.clone(...args);
|
||||
}
|
||||
|
||||
remake(talents) {
|
||||
this.#initialData = util.clone(this.#defaultPropertys);
|
||||
this.#initialData.TLT = util.clone(talents);
|
||||
this.#triggerTalents = {};
|
||||
const contents = this.talentReplace(propertys.TLT);
|
||||
this.#property.restart(propertys);
|
||||
return this.talentReplace(this.#initialData.TLT);
|
||||
}
|
||||
|
||||
start(allocation) {
|
||||
for(const key in allocation) {
|
||||
this.#initialData[key] = util.clone(allocation[key]);
|
||||
}
|
||||
this.#property.restart(this.#initialData);
|
||||
this.doTalent()
|
||||
this.#property.restartLastStep();
|
||||
this.#achievement.achieve(
|
||||
this.AchievementOpportunity.START,
|
||||
this.#property
|
||||
)
|
||||
return contents;
|
||||
this.#achievement.achieve(this.AchievementOpportunity.START);
|
||||
}
|
||||
|
||||
getPropertyPoints(selectedTalentIds) {
|
||||
return this.#defaultPropertyPoints + this.#talent.allocationAddition(selectedTalentIds);
|
||||
getPropertyPoints() {
|
||||
return this.#defaultPropertyPoints + this.#talent.allocationAddition(this.#initialData.TLT);
|
||||
}
|
||||
|
||||
getTalentCurrentTriggerCount(talentId) {
|
||||
@@ -89,10 +140,7 @@ class Life {
|
||||
const isEnd = this.#property.isEnd();
|
||||
|
||||
const content = [talentContent, eventContent].flat();
|
||||
this.#achievement.achieve(
|
||||
this.AchievementOpportunity.TRAJECTORY,
|
||||
this.#property
|
||||
)
|
||||
this.#achievement.achieve(this.AchievementOpportunity.TRAJECTORY);
|
||||
return { age, content, isEnd };
|
||||
}
|
||||
|
||||
@@ -118,7 +166,7 @@ class Life {
|
||||
|
||||
const contents = [];
|
||||
for(const talentId of talents) {
|
||||
const result = this.#talent.do(talentId, this.#property);
|
||||
const result = this.#talent.do(talentId);
|
||||
if(!result) continue;
|
||||
this.#triggerTalents[talentId] = this.getTalentCurrentTriggerCount(talentId) + 1;
|
||||
const { effect, name, description, grade } = result;
|
||||
@@ -135,20 +183,21 @@ class Life {
|
||||
}
|
||||
|
||||
doEvent(eventId) {
|
||||
const { effect, next, description, postEvent } = this.#event.do(eventId, this.#property);
|
||||
const { effect, next, description, postEvent, grade } = this.#event.do(eventId);
|
||||
this.#property.change(this.PropertyTypes.EVT, eventId);
|
||||
this.#property.effect(effect);
|
||||
const content = {
|
||||
type: this.PropertyTypes.EVT,
|
||||
description,
|
||||
postEvent,
|
||||
grade,
|
||||
}
|
||||
if(next) return [content, this.doEvent(next)].flat();
|
||||
return [content];
|
||||
}
|
||||
|
||||
random(events) {
|
||||
return weightRandom(
|
||||
return util.weightRandom(
|
||||
events.filter(
|
||||
([eventId])=>this.#event.check(eventId, this.#property)
|
||||
)
|
||||
@@ -165,20 +214,35 @@ class Life {
|
||||
);
|
||||
}
|
||||
|
||||
characterRandom() {
|
||||
const characters = this.#character.random();
|
||||
const replaceTalent = v=>v.talent=v.talent.map(
|
||||
id=>this.#talent.get(id)
|
||||
);
|
||||
characters.normal.forEach(replaceTalent);
|
||||
if(characters.unique && characters.unique.talent)
|
||||
replaceTalent(characters.unique);
|
||||
return characters;
|
||||
}
|
||||
|
||||
talentExtend(talentId) {
|
||||
this.#property.set(this.PropertyTypes.EXT, talentId);
|
||||
}
|
||||
|
||||
exclusive(talents, exclusive) {
|
||||
return this.#talent.exclusive(talents, exclusive);
|
||||
exclude(talents, exclusive) {
|
||||
return this.#talent.exclude(talents, exclusive);
|
||||
}
|
||||
|
||||
generateUnique() {
|
||||
this.#character.generateUnique();
|
||||
}
|
||||
|
||||
#getJudges(...types) {
|
||||
return getListValuesMap(types.flat(), key => this.#property.judge(key));
|
||||
return util.getListValuesMap(types.flat(), key => this.#property.judge(key));
|
||||
}
|
||||
|
||||
#getPropertys(...types) {
|
||||
return getListValuesMap(types.flat(), key => this.#property.get(key));
|
||||
return util.getListValuesMap(types.flat(), key => this.#property.get(key));
|
||||
}
|
||||
|
||||
get lastExtendTalent() {
|
||||
@@ -186,10 +250,7 @@ class Life {
|
||||
}
|
||||
|
||||
get summary() {
|
||||
this.#achievement.achieve(
|
||||
this.AchievementOpportunity.SUMMARY,
|
||||
this.#property
|
||||
)
|
||||
this.#achievement.achieve(this.AchievementOpportunity.SUMMARY);
|
||||
|
||||
const pt = this.PropertyTypes;
|
||||
|
||||
@@ -235,17 +296,15 @@ class Life {
|
||||
get PropertyTypes() { return this.#property.TYPES; }
|
||||
get AchievementOpportunity() { return this.#achievement.Opportunity; }
|
||||
get talentSelectLimit() { return this.#talentSelectLimit; }
|
||||
get propertyAllocateLimit() { return clone(this.#propertyAllocateLimit); }
|
||||
get propertyAllocateLimit() { return util.clone(this.#propertyAllocateLimit); }
|
||||
|
||||
get propertys() { return this.#property.getPropertys(); }
|
||||
get times() { return this.#property.get(this.PropertyTypes.TMS) || 0; }
|
||||
set times(v) {
|
||||
this.#property.set(this.PropertyTypes.TMS, v);
|
||||
this.#achievement.achieve(
|
||||
this.AchievementOpportunity.END,
|
||||
this.#property
|
||||
)
|
||||
this.#achievement.achieve(this.AchievementOpportunity.END);
|
||||
}
|
||||
get specialThanks() { return this.#specialThanks; }
|
||||
}
|
||||
|
||||
export default Life;
|
||||
@@ -1,7 +1,7 @@
|
||||
import { max, min, sum, clone, listRandom } from '../functions/util.js';
|
||||
|
||||
class Property {
|
||||
constructor() {}
|
||||
constructor(system) {
|
||||
this.#system = system;
|
||||
}
|
||||
|
||||
TYPES = {
|
||||
// 本局
|
||||
@@ -70,11 +70,16 @@ class Property {
|
||||
]
|
||||
}
|
||||
|
||||
#system;
|
||||
#ageData;
|
||||
#data = {};
|
||||
#total;
|
||||
#judge;
|
||||
|
||||
get #util() {
|
||||
return this.#system.function(this.#system.Function.UTIL);
|
||||
}
|
||||
|
||||
initial({age, total}) {
|
||||
this.#ageData = age;
|
||||
for(const a in age) {
|
||||
@@ -151,6 +156,7 @@ class Property {
|
||||
}
|
||||
|
||||
get(prop) {
|
||||
const util = this.#util;
|
||||
switch(prop) {
|
||||
case this.TYPES.AGE:
|
||||
case this.TYPES.CHR:
|
||||
@@ -161,14 +167,14 @@ class Property {
|
||||
case this.TYPES.LIF:
|
||||
case this.TYPES.TLT:
|
||||
case this.TYPES.EVT:
|
||||
return clone(this.#data[prop]);
|
||||
return util.clone(this.#data[prop]);
|
||||
case this.TYPES.LAGE:
|
||||
case this.TYPES.LCHR:
|
||||
case this.TYPES.LINT:
|
||||
case this.TYPES.LSTR:
|
||||
case this.TYPES.LMNY:
|
||||
case this.TYPES.LSPR:
|
||||
return min(
|
||||
return util.min(
|
||||
this.#data[prop],
|
||||
this.get(this.fallback(prop))
|
||||
);
|
||||
@@ -178,7 +184,7 @@ class Property {
|
||||
case this.TYPES.HSTR:
|
||||
case this.TYPES.HMNY:
|
||||
case this.TYPES.HSPR:
|
||||
return max(
|
||||
return util.max(
|
||||
this.#data[prop],
|
||||
this.get(this.fallback(prop))
|
||||
);
|
||||
@@ -189,7 +195,7 @@ class Property {
|
||||
const HSTR = this.get(this.TYPES.HSTR);
|
||||
const HMNY = this.get(this.TYPES.HMNY);
|
||||
const HSPR = this.get(this.TYPES.HSPR);
|
||||
return Math.floor(sum(HCHR, HINT, HSTR, HMNY, HSPR)*2 + HAGE/2);
|
||||
return Math.floor(util.sum(HCHR, HINT, HSTR, HMNY, HSPR)*2 + HAGE/2);
|
||||
case this.TYPES.TMS:
|
||||
return this.lsget('times') || 0;
|
||||
case this.TYPES.EXT:
|
||||
@@ -253,7 +259,7 @@ class Property {
|
||||
case this.TYPES.LIF:
|
||||
case this.TYPES.TLT:
|
||||
case this.TYPES.EVT:
|
||||
this.hl(prop, this.#data[prop] = clone(value));
|
||||
this.hl(prop, this.#data[prop] = this.#system.clone(value));
|
||||
this.achieve(prop, value);
|
||||
return;
|
||||
case this.TYPES.TMS:
|
||||
@@ -267,7 +273,7 @@ class Property {
|
||||
}
|
||||
|
||||
getPropertys() {
|
||||
return clone({
|
||||
return this.#system.clone({
|
||||
[this.TYPES.AGE]: this.get(this.TYPES.AGE),
|
||||
[this.TYPES.CHR]: this.get(this.TYPES.CHR),
|
||||
[this.TYPES.INT]: this.get(this.TYPES.INT),
|
||||
@@ -315,7 +321,8 @@ class Property {
|
||||
|
||||
hookSpecial(prop) {
|
||||
switch(prop) {
|
||||
case this.TYPES.RDM: return listRandom(this.SPECIAL.RDM);
|
||||
case this.TYPES.RDM:
|
||||
return this.#util.listRandom(this.SPECIAL.RDM);
|
||||
default: return prop;
|
||||
}
|
||||
}
|
||||
@@ -334,15 +341,6 @@ class Property {
|
||||
const d = this.#judge[prop];
|
||||
let length = d.length;
|
||||
|
||||
// progress judge
|
||||
// const p = 1/length;
|
||||
// const progress = () => {
|
||||
// const min = d[length][0] || 0;
|
||||
// const max = d[length+1]?.[0] || value;
|
||||
// if(max == min) return 1;
|
||||
// return p * (length + (value - min) / (max - min));
|
||||
// }
|
||||
|
||||
const progress = () => Math.max(Math.min(value, 10), 0) / 10;
|
||||
|
||||
while(length--) {
|
||||
@@ -363,7 +361,7 @@ class Property {
|
||||
}
|
||||
|
||||
getAgeData(age) {
|
||||
return clone(this.#ageData[age]);
|
||||
return this.#system.clone(this.#ageData[age]);
|
||||
}
|
||||
|
||||
hl(prop, value) {
|
||||
@@ -378,8 +376,8 @@ class Property {
|
||||
default: return;
|
||||
}
|
||||
const [l, h] = keys;
|
||||
this.#data[l] = min(this.#data[l], value);
|
||||
this.#data[h] = max(this.#data[h], value);
|
||||
this.#data[l] = this.#util.min(this.#data[l], value);
|
||||
this.#data[h] = this.#util.max(this.#data[h], value);
|
||||
}
|
||||
|
||||
achieve(prop, newData) {
|
||||
@@ -411,7 +409,7 @@ class Property {
|
||||
|
||||
lsget(key) {
|
||||
const data = localStorage.getItem(key);
|
||||
if(data === null) return;
|
||||
if(data === null || data === 'undefined') return;
|
||||
return JSON.parse(data);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
import { clone, weightRandom } from '../functions/util.js';
|
||||
import { checkCondition, extractMaxTriggers } from '../functions/condition.js';
|
||||
|
||||
class Talent {
|
||||
constructor() {}
|
||||
constructor(system) {
|
||||
this.#system = system;
|
||||
}
|
||||
|
||||
#system;
|
||||
#talents;
|
||||
#talentPullCount;
|
||||
#talentRate;
|
||||
@@ -11,11 +11,12 @@ class Talent {
|
||||
|
||||
initial({talents}) {
|
||||
this.#talents = talents;
|
||||
const emt = this.#system.function(this.#system.Function.CONDITION).extractMaxTriggers;
|
||||
for(const id in talents) {
|
||||
const talent = talents[id];
|
||||
talent.id= Number(id);
|
||||
talent.grade = Number(talent.grade);
|
||||
talent.max_triggers = extractMaxTriggers(talent.condition);
|
||||
talent.max_triggers = emt(talent.condition);
|
||||
if(talent.replacement) {
|
||||
for(let key in talent.replacement) {
|
||||
const obj = {};
|
||||
@@ -34,6 +35,10 @@ class Talent {
|
||||
return Object.keys(this.#talents).length;
|
||||
}
|
||||
|
||||
get #prop() {
|
||||
return this.#system.request(this.#system.Module.PROPERTY);
|
||||
}
|
||||
|
||||
config({
|
||||
talentPullCount = 10, // number of talents to pull from the talent pool
|
||||
talentRate = { 1:100, 2:10, 3:1, total: 1000 }, // rate of talent pull
|
||||
@@ -45,15 +50,15 @@ class Talent {
|
||||
}
|
||||
|
||||
|
||||
check(talentId, property) {
|
||||
check(talentId) {
|
||||
const { condition } = this.get(talentId);
|
||||
return checkCondition(property, condition);
|
||||
return this.#system.check(this.#prop, condition);
|
||||
}
|
||||
|
||||
get(talentId) {
|
||||
const talent = this.#talents[talentId];
|
||||
if(!talent) throw new Error(`[ERROR] No Talent[${talentId}]`);
|
||||
return clone(talent);
|
||||
return this.#system.clone(talent);
|
||||
}
|
||||
|
||||
information(talentId) {
|
||||
@@ -61,11 +66,11 @@ class Talent {
|
||||
return { grade, name, description };
|
||||
}
|
||||
|
||||
exclusive(talends, exclusiveId) {
|
||||
const { exclusive } = this.get(exclusiveId);
|
||||
if(!exclusive) return null;
|
||||
for(const talent of talends) {
|
||||
for(const e of exclusive) {
|
||||
exclude(talents, excludeId) {
|
||||
const { exclude } = this.get(excludeId);
|
||||
if(!exclude) return null;
|
||||
for(const talent of talents) {
|
||||
for(const e of exclude) {
|
||||
if(talent == e) return talent;
|
||||
}
|
||||
}
|
||||
@@ -81,7 +86,7 @@ class Talent {
|
||||
}
|
||||
|
||||
getRate(additionValues = {}) {
|
||||
const rate = clone(this.#talentRate);
|
||||
const rate = this.#system.clone(this.#talentRate);
|
||||
const addition = { 1:1, 2:1, 3:1, };
|
||||
|
||||
Object.keys(additionValues).forEach(key => {
|
||||
@@ -103,13 +108,14 @@ class Talent {
|
||||
let randomNumber = Math.floor(Math.random() * rate.total);
|
||||
if((randomNumber -= rate[3]) < 0) return 3;
|
||||
if((randomNumber -= rate[2]) < 0) return 2;
|
||||
if((randomNumber -= rate[1]) < 0) return 1;
|
||||
if((randomNumber - rate[1]) < 0) return 1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
const talentList = {};
|
||||
for(const talentId in this.#talents) {
|
||||
const { id, grade, name, description } = this.#talents[talentId];
|
||||
const { id, grade, name, description, exclusive } = this.#talents[talentId];
|
||||
if(!!exclusive) continue;
|
||||
if(id == include) {
|
||||
include = { grade, name, description, id };
|
||||
continue;
|
||||
@@ -130,6 +136,19 @@ class Talent {
|
||||
});
|
||||
}
|
||||
|
||||
random(count) {
|
||||
const talents = Object
|
||||
.keys(this.#talents)
|
||||
.filter(id=>!this.#talents[id].exclusive);
|
||||
return new Array(count)
|
||||
.fill(1)
|
||||
.map(()=>talents.splice(
|
||||
Math.floor(Math.random()*talents.length)%talents.length,
|
||||
1
|
||||
)[0]
|
||||
);
|
||||
}
|
||||
|
||||
allocationAddition(talents) {
|
||||
if(Array.isArray(talents)) {
|
||||
let addition = 0;
|
||||
@@ -140,9 +159,9 @@ class Talent {
|
||||
return Number(this.get(talents).status) || 0;
|
||||
}
|
||||
|
||||
do(talentId, property) {
|
||||
do(talentId) {
|
||||
const { effect, condition, grade, name, description } = this.get(talentId);
|
||||
if(condition && !checkCondition(property, condition))
|
||||
if(condition && !this.#system.check(condition))
|
||||
return null;
|
||||
return { effect, grade, name, description };
|
||||
}
|
||||
@@ -153,32 +172,34 @@ class Talent {
|
||||
if(!replacement) return null;
|
||||
const list = [];
|
||||
if(replacement.grade) {
|
||||
this.forEach(({id, grade})=>{
|
||||
this.forEach(({id, grade, exclusive})=>{
|
||||
if(exclusive) return;
|
||||
if(!replacement.grade[grade]) return;
|
||||
if(this.exclusive(talents, id)) return;
|
||||
if(this.exclude(talents, id)) return;
|
||||
list.push([id, replacement.grade[grade]]);
|
||||
})
|
||||
}
|
||||
if(replacement.talent) {
|
||||
for(let id in replacement.talent) {
|
||||
id = Number(id);
|
||||
if(this.exclusive(talents, id)) continue;
|
||||
if(this.exclude(talents, id)) continue;
|
||||
list.push([id, replacement.talent[id]]);
|
||||
}
|
||||
}
|
||||
return list;
|
||||
}
|
||||
|
||||
const wr = this.#system.function(this.#system.Function.UTIL).weightRandom;
|
||||
const replace = (talent, talents) => {
|
||||
const replaceList = getReplaceList(talent, talents);
|
||||
if(!replaceList) return talent;
|
||||
const rand = weightRandom(replaceList);
|
||||
const rand = wr(replaceList);
|
||||
return replace(
|
||||
rand, talents.concat(rand)
|
||||
);
|
||||
}
|
||||
|
||||
const newTalents = clone(talents);
|
||||
const newTalents = this.#system.clone(talents);
|
||||
const result = {};
|
||||
for(const talent of talents) {
|
||||
const replaceId = replace(talent, newTalents);
|
||||
@@ -193,7 +214,7 @@ class Talent {
|
||||
forEach(callback) {
|
||||
if(typeof callback != 'function') return;
|
||||
for(const id in this.#talents)
|
||||
callback(clone(this.#talents[id]), id);
|
||||
callback(this.#system.clone(this.#talents[id]), id);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
47
src/ui/laya.patch.js
Normal file
@@ -0,0 +1,47 @@
|
||||
// 滚动条太灵敏
|
||||
const SCROLL_START_DISTANCE = 30;
|
||||
Laya.ScrollBar.prototype.loop=function(){
|
||||
var mouseY=Laya.stage.mouseY;
|
||||
var mouseX=Laya.stage.mouseX;
|
||||
this._lastOffset=this.isVertical ? (mouseY-this._lastPoint.y):(mouseX-this._lastPoint.x);
|
||||
if (this._clickOnly){
|
||||
if (Math.abs(this._lastOffset *(this.isVertical ? Laya.stage._canvasTransform.getScaleY():Laya.stage._canvasTransform.getScaleX()))> SCROLL_START_DISTANCE){
|
||||
this._clickOnly=false;
|
||||
this._offsets || (this._offsets=[]);
|
||||
this._offsets.length=0;
|
||||
this._target.mouseEnabled=false;
|
||||
if (!this.hide && this.autoHide){
|
||||
this.alpha=1;
|
||||
this.visible=true;
|
||||
}
|
||||
this.event(/*laya.events.Event.START*/"start");
|
||||
}else return;
|
||||
}
|
||||
this._offsets.push(this._lastOffset);
|
||||
this._lastPoint.x=mouseX;
|
||||
this._lastPoint.y=mouseY;
|
||||
if (this._lastOffset===0)return;
|
||||
if (!this._checkElastic){
|
||||
if (this.elasticDistance > 0){
|
||||
if (!this._checkElastic && this._lastOffset !=0){
|
||||
if ((this._lastOffset > 0 && this._value <=this.min)|| (this._lastOffset < 0 && this._value >=this.max)){
|
||||
this._isElastic=true;
|
||||
this._checkElastic=true;
|
||||
}else {
|
||||
this._isElastic=false;
|
||||
}
|
||||
}
|
||||
}else {
|
||||
this._checkElastic=true;
|
||||
}
|
||||
}
|
||||
if (this._isElastic){
|
||||
if (this._value <=this.min){
|
||||
this.value-=this._lastOffset *Math.max(0,(1-((this.min-this._value)/ this.elasticDistance)));
|
||||
}else if (this._value >=this.max){
|
||||
this.value-=this._lastOffset *Math.max(0,(1-((this._value-this.max)/ this.elasticDistance)));
|
||||
}
|
||||
}else {
|
||||
this.value-=this._lastOffset;
|
||||
}
|
||||
}
|
||||
@@ -1,4 +1,5 @@
|
||||
var plugin = {};
|
||||
const plugin =
|
||||
Laya.plugin = {};
|
||||
|
||||
plugin.extractComponents = function(uiView, componentNames) {
|
||||
const components = {};
|
||||
|
||||
@@ -1,3 +1,7 @@
|
||||
const runtime =
|
||||
Laya.runtime = {};
|
||||
|
||||
runtime.ColorFilterItem =
|
||||
class ColorFilterItem extends Laya.Image {
|
||||
constructor() {
|
||||
super();
|
||||
@@ -43,24 +47,28 @@ class ColorFilterItem extends Laya.Image {
|
||||
}
|
||||
}
|
||||
}
|
||||
runtime.UIBase =
|
||||
class UIBase extends Laya.View {
|
||||
constructor() {
|
||||
super();
|
||||
}
|
||||
}
|
||||
|
||||
class ViewBase extends UIBase {
|
||||
runtime.ViewBase =
|
||||
class ViewBase extends runtime.UIBase {
|
||||
constructor() {
|
||||
super();
|
||||
}
|
||||
}
|
||||
|
||||
class dialogBase extends UIBase {
|
||||
runtime.DialogBase =
|
||||
class DialogBase extends runtime.UIBase {
|
||||
constructor() {
|
||||
super();
|
||||
}
|
||||
}
|
||||
|
||||
runtime.ScaleButton =
|
||||
class ScaleButton extends Laya.Button {
|
||||
constructor() {
|
||||
super();
|
||||
@@ -85,6 +93,7 @@ class ScaleButton extends Laya.Button {
|
||||
}
|
||||
}
|
||||
|
||||
runtime.RGBAItem =
|
||||
class RGBAItem {
|
||||
constructor(config={}) {
|
||||
for(const key in config)
|
||||
@@ -260,6 +269,7 @@ class RGBAItem {
|
||||
}
|
||||
}
|
||||
}
|
||||
runtime.ColorfulBox =
|
||||
class ColorfulBox extends Laya.Box {
|
||||
constructor() {
|
||||
super();
|
||||
@@ -276,9 +286,9 @@ class ColorfulBox extends Laya.Box {
|
||||
#hoverStroke = '#ffffff';
|
||||
#defaultLabel = '#000000';
|
||||
#hoverLabel = '#000000';
|
||||
#color = new RGBAItem({hex: this.#defaultColor, on: ()=>this.#draw()});
|
||||
#stroke = new RGBAItem({hex: this.#defaultStroke, on: ()=>this.#draw()});
|
||||
#label = new RGBAItem({hex: this.#defaultLabel, on: ({hex})=>{
|
||||
#color = new runtime.RGBAItem({hex: this.#defaultColor, on: ()=>this.#draw()});
|
||||
#stroke = new runtime.RGBAItem({hex: this.#defaultStroke, on: ()=>this.#draw()});
|
||||
#label = new runtime.RGBAItem({hex: this.#defaultLabel, on: ({hex})=>{
|
||||
const label = this.getChildByName('label');
|
||||
if (!label) return;
|
||||
label.color = hex;
|
||||
@@ -465,8 +475,15 @@ class ColorfulBox extends Laya.Box {
|
||||
label.text = value;
|
||||
}
|
||||
|
||||
get cacheAs() {return super.cacheAs;}
|
||||
set cacheAs(value) {
|
||||
if(value=='bitmap') debugger;
|
||||
super.cacheAs = value;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
runtime.BlankBox =
|
||||
class BlankBox extends Laya.Box {
|
||||
constructor() {
|
||||
super();
|
||||
@@ -523,4 +540,32 @@ class BlankBox extends Laya.Box {
|
||||
super.height = value;
|
||||
this.#draw();
|
||||
}
|
||||
}
|
||||
|
||||
runtime.ColorAgentLabel =
|
||||
class ColorAgentLabel extends Laya.Label {
|
||||
constructor(...args) {
|
||||
super(...args);
|
||||
}
|
||||
|
||||
get #brothers() {
|
||||
const brothers = [];
|
||||
if(!this.parent) return brothers;
|
||||
const deepFind = p => {
|
||||
if(!p._childs) return;
|
||||
for(const c of p._childs) {
|
||||
if(c == this) continue;
|
||||
if(c instanceof Laya.Label) brothers.push(c);
|
||||
deepFind(c);
|
||||
}
|
||||
}
|
||||
deepFind(this.parent);
|
||||
return brothers;
|
||||
}
|
||||
|
||||
get color() {return this.super.color;}
|
||||
set color(c) {
|
||||
super.color = c;
|
||||
this.#brothers.forEach(b=>b.color=c);
|
||||
}
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
export default class CyberAchievement extends CyberAchievementUI {
|
||||
export default class CyberAchievement extends ui.view.CyberTheme.CyberAchievementUI {
|
||||
constructor() {
|
||||
super();
|
||||
this.btnBack.on(Laya.Event.CLICK, this, () => $ui.switchView(UI.pages.MAIN));
|
||||
@@ -7,6 +7,7 @@ export default class CyberAchievement extends CyberAchievementUI {
|
||||
this.#state = {min, max};
|
||||
this.btnStatistics.on(Laya.Event.CLICK, this, ()=>this.switch('statistics'));
|
||||
this.btnAchievement.on(Laya.Event.CLICK, this, ()=>this.switch('achievement'));
|
||||
this.btnRank.on(Laya.Event.CLICK, this, $$event, ['message', ['M_NoRank']]);
|
||||
|
||||
this.listAchievements.renderHandler = new Laya.Handler(this, this.onRenderAchievement);
|
||||
this.listAchievements.scrollBar.elasticDistance = 150;
|
||||
|
||||
136
src/ui/themes/cyber/celebrity.js
Normal file
@@ -0,0 +1,136 @@
|
||||
export default class CyberCelebrity extends ui.view.CyberTheme.CelebrityUI {
|
||||
constructor() {
|
||||
super();
|
||||
this.btnRetry.on(Laya.Event.CLICK, this, ()=>this.random());
|
||||
this.btnNext.on(Laya.Event.CLICK, this, this.next);
|
||||
this.panelCharacter.vScrollBar.elasticDistance = 150;
|
||||
}
|
||||
|
||||
#selected;
|
||||
static #createComponent = Laya.plugin.extractComponents(CyberCelebrity.uiView, ['boxCharacter','boxTalent','boxUniqueUnGenerate']);
|
||||
#createCharacterItem(dataSource, click) {
|
||||
const {name, property, talent} = dataSource;
|
||||
const item = CyberCelebrity.#createComponent('boxCharacter');
|
||||
const vboxStates = item.getChildByName('vboxStates');
|
||||
const boxName = item.getChildByName('boxName');
|
||||
boxName.getChildByName('label').text = name;
|
||||
|
||||
const p = $_.clone(property);
|
||||
for(const k in p)
|
||||
if(Math.abs(p[k] - Math.PI) < 0.0000001)
|
||||
p[k] = 'π';
|
||||
|
||||
vboxStates.getChildByName('label').text = $_.format($lang.F_PropertyStr, p);
|
||||
for(const t of talent) {
|
||||
const i = CyberCelebrity.#createComponent('boxTalent');
|
||||
i.getChildByName('label').text = $_.format($lang.F_TalentSelection, t);
|
||||
i.y = vboxStates.height+vboxStates.space;
|
||||
let g = i.getChildByName(`grade${t.grade}`);
|
||||
if(g) g.visible = true;
|
||||
vboxStates.addChild(i);
|
||||
}
|
||||
const box = new Laya.Box();
|
||||
box.height = vboxStates.space;
|
||||
box.y = vboxStates.height;
|
||||
vboxStates.addChild(box);
|
||||
vboxStates.scaleY = 0;
|
||||
|
||||
item.dataSource = dataSource;
|
||||
item.switch = showDetails => vboxStates.scaleY = !!showDetails?1:0;
|
||||
item.click = (cb, caller) => {
|
||||
boxName.offAll(Laya.Event.CLICK);
|
||||
boxName.on(Laya.Event.CLICK, caller || this, cb);
|
||||
}
|
||||
if(click) item.click(click);
|
||||
return item;
|
||||
}
|
||||
#createUniqueUnGenerateItem(generate) {
|
||||
const item = CyberCelebrity.#createComponent('boxUniqueUnGenerate');
|
||||
const boxName = item.getChildByName('boxName');
|
||||
const vboxStates = item.getChildByName('vboxStates');
|
||||
const label = vboxStates.getChildByName('label');
|
||||
const boxBtn = vboxStates.getChildByName('boxBtn');
|
||||
const btn = boxBtn.getChildByName('btn');
|
||||
|
||||
label.event(Laya.Event.RESIZE);
|
||||
vboxStates.scaleY = 0;
|
||||
item.dataSource = false;
|
||||
item.switch = showDetails => vboxStates.scaleY = !!showDetails?1:0;
|
||||
item.click = (cb, caller) => {
|
||||
boxName.offAll(Laya.Event.CLICK);
|
||||
boxName.on(Laya.Event.CLICK, caller || this, cb);
|
||||
}
|
||||
item.generate = (cb, caller) => {
|
||||
btn.offAll(Laya.Event.CLICK);
|
||||
btn.on(Laya.Event.CLICK, caller || this, cb);
|
||||
}
|
||||
if(generate) item.generate(generate);
|
||||
return item;
|
||||
}
|
||||
|
||||
|
||||
init() {
|
||||
this.random();
|
||||
}
|
||||
|
||||
close() {
|
||||
this.#selected = null;
|
||||
this.vboxCharacter.destroyChildren(true);
|
||||
}
|
||||
|
||||
random(g) {
|
||||
this.#selected = null;
|
||||
this.vboxCharacter.destroyChildren(true);
|
||||
const {unique, normal} = core.characterRandom();
|
||||
const items = [];
|
||||
const uniqueItem = this.generateUnique(unique, ()=>{
|
||||
core.generateUnique();
|
||||
this.random(normal);
|
||||
|
||||
});
|
||||
if(uniqueItem) items.push(uniqueItem);
|
||||
(g||normal).forEach(character => items.push(this.#createCharacterItem(character)));
|
||||
|
||||
items.forEach((item, i) => {
|
||||
item.y = i;
|
||||
this.vboxCharacter.addChild(item);
|
||||
item.click(()=>{
|
||||
if(this.#selected) this.#selected.switch(false);
|
||||
this.#selected = item;
|
||||
item.switch(true);
|
||||
item.event(Laya.Event.RESIZE);
|
||||
})
|
||||
});
|
||||
if(g&&uniqueItem) {
|
||||
this.#selected = uniqueItem;
|
||||
uniqueItem.switch(true);
|
||||
uniqueItem.event(Laya.Event.RESIZE);
|
||||
}
|
||||
}
|
||||
|
||||
generateUnique(data, generate) {
|
||||
if(!data) return null;
|
||||
if(!data.generate) return this.#createUniqueUnGenerateItem(generate);
|
||||
data.name = $lang.UI_UniqueWaTaShi;
|
||||
return this.#createCharacterItem(data);
|
||||
}
|
||||
|
||||
next() {
|
||||
if(!this.#selected) return $$event('message', ['M_PleaseSelectOne']);
|
||||
if(!this.#selected.dataSource) return $$event('message', ['M_UnGenerate']);
|
||||
|
||||
const {property: propertyAllocate, talent: talents} = this.#selected.dataSource;
|
||||
const replace = core.remake(talents.map(talent => talent.id));
|
||||
if(replace.length > 0) {
|
||||
$$event('message', [replace.map(v => ['F_TalentReplace', v])]);
|
||||
}
|
||||
$ui.switchView(
|
||||
UI.pages.TRAJECTORY,
|
||||
{
|
||||
propertyAllocate, talents,
|
||||
enableExtend: false,
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,11 +1,13 @@
|
||||
export default class CyberMain extends CyberMainUI {
|
||||
export default class CyberMain extends ui.view.CyberTheme.CyberMainUI {
|
||||
constructor() {
|
||||
super();
|
||||
this.btnRemake.on(Laya.Event.CLICK, this, ()=>$ui.switchView(UI.pages.TALENT));
|
||||
this.btnRemake.on(Laya.Event.CLICK, this, ()=>$ui.switchView(UI.pages.MODE));
|
||||
this.btnAchievement.on(Laya.Event.CLICK, this, ()=>$ui.switchView(UI.pages.ACHIEVEMENT));
|
||||
this.btnThanks.on(Laya.Event.CLICK, this, ()=>$ui.switchView(UI.pages.THANKS));
|
||||
this.btnGithub.on(Laya.Event.CLICK, this, goto, ['github']);
|
||||
this.btnDiscord.on(Laya.Event.CLICK, this, goto, ['discord']);
|
||||
this.btnThemes.on(Laya.Event.CLICK, this, ()=>$ui.showDialog(UI.pages.THEMES));
|
||||
this.btnSaveLoad.on(Laya.Event.CLICK, this, ()=>$ui.showDialog(UI.pages.SAVELOAD));
|
||||
this.on(Laya.Event.RESIZE, this, () => {
|
||||
const scale = Math.max(
|
||||
this.width / this.imgBg.width,
|
||||
@@ -28,6 +30,7 @@ export default class CyberMain extends CyberMainUI {
|
||||
}
|
||||
|
||||
init() {
|
||||
this.banner.visible =
|
||||
this.btnDiscord.visible =
|
||||
this.btnAchievement.visible =
|
||||
this.btnThanks.visible = !!core.times;
|
||||
|
||||
7
src/ui/themes/cyber/mode.js
Normal file
@@ -0,0 +1,7 @@
|
||||
export default class CyberMode extends ui.view.CyberTheme.ModeUI {
|
||||
constructor() {
|
||||
super();
|
||||
this.btnCustom.on(Laya.Event.CLICK, this, ()=>$ui.switchView(UI.pages.TALENT));
|
||||
this.btnCelebrity.on(Laya.Event.CLICK, this, ()=>$ui.switchView(UI.pages.CELEBRITY));
|
||||
}
|
||||
}
|
||||