Compare commits

...

1022 Commits

Author SHA1 Message Date
puxuan
14ef8d0dc1 config 2025-12-03 15:42:14 +08:00
6ccc61ca53 m30011音效 2025-11-19 21:10:38 +08:00
changyuxiang
cc1aa512cd Merge branch 'dev_hero_2' of https://git.wdd817.link/puxuan/c1_unity into dev_hero_2 2025-11-18 21:38:56 +08:00
changyuxiang
7da8cfde40 Merge branch 'dev_hero_2' of https://git.wdd817.link/puxuan/c1_unity into dev_hero_2 2025-11-18 21:35:13 +08:00
changyuxiang
9f9f934b37 改两个东西 2025-11-18 21:35:05 +08:00
tuxinyu
34e776341c 111111111111111 2025-11-18 21:34:40 +08:00
tuxinyu
96e2f12c19 111111111111 2025-11-18 21:05:36 +08:00
tuxinyu
d3eb50711e 11111111111 2025-11-18 20:14:40 +08:00
tuxinyu
4d0109e170 Merge branch 'dev_hero_2' of https://git.wdd817.link/puxuan/c1_unity into dev_hero_2 2025-11-17 21:14:46 +08:00
tuxinyu
a95682f7ef 111111111111111 2025-11-17 21:14:22 +08:00
puxuan
f5e11bdc96 Merge branch 'dev_hero_2' of https://git.wdd817.link/puxuan/c1_unity into dev_hero_2 2025-11-17 15:56:58 +08:00
puxuan
34706e809c fix bug 2025-11-17 15:56:54 +08:00
changyuxiang
395ef6b9d1 1 2025-11-14 21:11:42 +08:00
changyuxiang
6308e200ae 1 2025-11-13 20:54:20 +08:00
tuxinyu
40d8fbf1e4 111111111111 2025-11-12 21:20:10 +08:00
tuxinyu
760af76761 Merge branch 'dev_hero_2' of https://git.wdd817.link/puxuan/c1_unity into dev_hero_2 2025-11-12 21:16:55 +08:00
tuxinyu
35804958f2 1111111111111 2025-11-12 21:16:45 +08:00
changyuxiang
d3a42f2d27 Merge branch 'dev_hero_2' of https://git.wdd817.link/puxuan/c1_unity into dev_hero_2 2025-11-12 20:34:30 +08:00
changyuxiang
fa1731af65 1 2025-11-12 20:34:27 +08:00
tuxinyu
9a17b669ac Merge branch 'dev_hero_2' of https://git.wdd817.link/puxuan/c1_unity into dev_hero_2 2025-11-12 20:19:47 +08:00
tuxinyu
4d33e204f1 111111111111111 2025-11-12 20:19:38 +08:00
changyuxiang
0e2ce1cace Merge branch 'dev_hero_2' of https://git.wdd817.link/puxuan/c1_unity into dev_hero_2 2025-11-11 21:22:12 +08:00
changyuxiang
511e5078f4 BOSS 2025-11-11 21:22:02 +08:00
tuxinyu
b260addf3c Merge branch 'dev_hero_2' of https://git.wdd817.link/puxuan/c1_unity into dev_hero_2 2025-11-11 20:56:53 +08:00
tuxinyu
359ec4a3cc 1111111111111 2025-11-11 20:56:44 +08:00
puxuan
77f9bf34c4 fix bug 2025-11-11 17:55:49 +08:00
puxuan
0beba55d2f config 2025-11-11 17:31:15 +08:00
puxuan
fc2b3e00b5 fix bug 2025-11-11 17:28:51 +08:00
puxuan
5c9d1ed228 特效 2025-11-11 16:02:18 +08:00
puxuan
10dfc3149f 指引 2025-11-11 15:54:56 +08:00
tuxinyu
260cde4715 111111 2025-11-11 15:21:44 +08:00
tuxinyu
dab89f6728 Merge branch 'dev_hero_2' of https://git.wdd817.link/puxuan/c1_unity into dev_hero_2 2025-11-11 15:15:45 +08:00
tuxinyu
932eaf1f96 111111111 2025-11-11 15:15:37 +08:00
puxuan
6589e8ed71 fix bug 2025-11-11 11:58:57 +08:00
puxuan
44d542d44a fix bug 2025-11-11 11:24:30 +08:00
changyuxiang
90e38566e9 1 2025-11-10 21:28:05 +08:00
tuxinyu
d1c638462f Merge branch 'dev_hero_2' of https://git.wdd817.link/puxuan/c1_unity into dev_hero_2 2025-11-10 20:16:54 +08:00
tuxinyu
1fda830542 11111111 2025-11-10 20:16:46 +08:00
puxuan
5653c7e918 fix bug 2025-11-10 19:44:02 +08:00
puxuan
5663c1ac38 fix bug 2025-11-10 17:13:40 +08:00
puxuan
cbc90b9df1 fix bug 2025-11-10 16:48:36 +08:00
puxuan
cc441308b4 链接提示 2025-11-10 16:39:48 +08:00
puxuan
d015c8ff14 fix bug 2025-11-10 11:52:05 +08:00
puxuan
e4837e3f73 fix bug 2025-11-10 10:51:42 +08:00
changyuxiang
db84769efd Merge branch 'dev_hero_2' of https://git.wdd817.link/puxuan/c1_unity into dev_hero_2 2025-11-08 18:36:18 +08:00
tuxinyu
8d32bd3c9b Merge branch 'dev_hero_2' of https://git.wdd817.link/puxuan/c1_unity into dev_hero_2 2025-11-08 18:33:03 +08:00
tuxinyu
ac79c3a521 111111111 2025-11-08 18:32:51 +08:00
changyuxiang
e89fe8bcf8 boss 2025-11-08 17:53:36 +08:00
puxuan
51e8b73f51 config 2025-11-08 17:52:36 +08:00
puxuan
96dbef0a3a 场景67 2025-11-08 17:49:46 +08:00
puxuan
a2ea591c82 Merge branch 'dev_hero_2' of https://git.wdd817.link/puxuan/c1_unity into dev_hero_2 2025-11-08 17:18:09 +08:00
puxuan
071af307ab UI 2025-11-08 17:18:05 +08:00
tuxinyu
dca1c42a33 Merge branch 'dev_hero_2' of https://git.wdd817.link/puxuan/c1_unity into dev_hero_2 2025-11-08 16:43:19 +08:00
tuxinyu
e435ddc3b4 11111111 2025-11-08 16:43:08 +08:00
puxuan
4efa87d9a9 fix bug 2025-11-08 16:15:41 +08:00
puxuan
6790fc508a fix bug 2025-11-08 15:48:15 +08:00
puxuan
cb6589ece4 fix bug 2025-11-08 14:37:45 +08:00
puxuan
0c52d1da0c res 2025-11-08 14:31:48 +08:00
changyuxiang
20fa27ac2f Merge branch 'dev_hero_2' of https://git.wdd817.link/puxuan/c1_unity into dev_hero_2 2025-11-08 14:14:45 +08:00
changyuxiang
ce1b168e09 1 2025-11-08 14:14:33 +08:00
puxuan
15cc99eb34 Merge branch 'dev_hero_2' of https://git.wdd817.link/puxuan/c1_unity into dev_hero_2 2025-11-08 12:06:57 +08:00
puxuan
74cad70154 fix bug 2025-11-08 12:06:50 +08:00
changyuxiang
73bbe304cc 更新点spine 2025-11-07 20:23:06 +08:00
puxuan
0ae3b73863 fix bug 2025-11-07 17:55:21 +08:00
puxuan
3109e57735 fix bug 2025-11-07 17:43:05 +08:00
puxuan
54a49eb0ab 基金 2025-11-07 17:19:05 +08:00
puxuan
835e70e16d fix bug 2025-11-07 17:06:03 +08:00
puxuan
047c1a34f3 config 2025-11-07 16:45:13 +08:00
puxuan
1a9a8f0632 res 2025-11-07 16:37:30 +08:00
puxuan
22ea8bbea0 竞技场取消 2025-11-07 16:12:16 +08:00
puxuan
31a67ecc20 战斗力bug 2025-11-07 15:02:56 +08:00
puxuan
64bc1ddc83 fix bug 2025-11-07 14:33:21 +08:00
puxuan
78b3e35b8f 首充弹窗 2025-11-07 12:10:15 +08:00
puxuan
c0fac6edf2 召唤跳过 2025-11-07 11:47:40 +08:00
puxuan
a4befbd41f 召唤音效 2025-11-07 10:56:31 +08:00
puxuan
6565e05d5a fix bug 2025-11-06 20:12:34 +08:00
changyuxiang
b9a52ed973 公司背景 2025-11-06 19:55:24 +08:00
puxuan
76b17ad3e6 Revert "res"
This reverts commit 71dbedf9daf623bd5679b9a1dd6072f662b01b98.
2025-11-06 18:32:33 +08:00
puxuan
edcfc2edde Revert "res"
This reverts commit fde6c87a2bc88bf48513d729a16da2772a41ea8b.
2025-11-06 18:32:28 +08:00
puxuan
fde6c87a2b res 2025-11-06 18:23:39 +08:00
puxuan
71dbedf9da res 2025-11-06 18:23:35 +08:00
puxuan
31f4399df1 . 2025-11-06 18:15:02 +08:00
puxuan
af0f7be205 fix bug 2025-11-06 17:56:04 +08:00
puxuan
bca7dfb3a1 fix bug 2025-11-06 11:37:23 +08:00
puxuan
7f5194d192 1 2025-11-06 10:27:43 +08:00
puxuan
068f382c47 Merge branch 'dev_hero' into dev_hero_2
# Conflicts:
#	Assets/arts/sounds/sfx/battle/20007001.wav.meta
#	Assets/arts/sounds/sfx/battle/20007005.wav.meta
#	Assets/arts/sounds/sfx/battle/20008001.wav.meta
#	Assets/arts/sounds/sfx/battle/20008004.wav.meta
2025-11-06 10:26:25 +08:00
puxuan
0b5888e268 Merge branch 'dev_hero_2' of https://git.wdd817.link/puxuan/c1_unity into dev_hero_2 2025-11-06 10:25:55 +08:00
puxuan
e84346116b url 2025-11-06 10:25:52 +08:00
tuxinyu
9e6146fce1 Merge branch 'dev_hero_2' of https://git.wdd817.link/puxuan/c1_unity into dev_hero_2 2025-11-05 21:38:39 +08:00
tuxinyu
3c445a7572 111111111 2025-11-05 21:38:12 +08:00
changyuxiang
cc6f58cc39 改点东西 2025-11-05 21:17:07 +08:00
tuxinyu
2e79493e48 111111 2025-11-05 21:04:59 +08:00
tuxinyu
82c88440fa 111111111 2025-11-05 20:58:00 +08:00
changyuxiang
65a1f43e6b 改点东西 2025-11-05 20:48:01 +08:00
tuxinyu
99698904cb 1111111111111 2025-11-05 20:28:17 +08:00
puxuan
407df4f874 res 2025-11-05 19:02:57 +08:00
puxuan
21dc13c024 fix bug 2025-11-05 18:47:52 +08:00
puxuan
43565d918e 自愈buff回复bug 2025-11-05 18:22:28 +08:00
puxuan
8ce6e84459 Merge branch 'dev_hero_2' of https://git.wdd817.link/puxuan/c1_unity into dev_hero_2 2025-11-05 17:26:38 +08:00
puxuan
ac0c17307d fix bug 2025-11-05 17:26:35 +08:00
changyuxiang
405b5e5a2d 1 2025-11-05 12:13:00 +08:00
puxuan
02588a83fb fix bug 2025-11-05 11:59:15 +08:00
puxuan
40045cc7e6 config 2025-11-05 11:09:28 +08:00
puxuan
0b0efd278c 删除资源 2025-11-05 10:47:59 +08:00
puxuan
19533189dd Merge branch 'dev_hero' into dev_hero_2 2025-11-05 10:33:34 +08:00
tuxinyu
d4839a56d7 1111111111 2025-11-04 21:46:07 +08:00
tuxinyu
282b5a9eea 111111111 2025-11-04 21:24:44 +08:00
changyuxiang
b913aa2870 特权卡 2025-11-04 20:41:20 +08:00
changyuxiang
0d0f55d9e4 1 2025-11-04 20:36:16 +08:00
changyuxiang
478db2f30d Merge branch 'dev_hero_2' of https://git.wdd817.link/puxuan/c1_unity into dev_hero_2 2025-11-04 20:25:37 +08:00
changyuxiang
d9d75cca2b 1 2025-11-04 20:24:59 +08:00
puxuan
fac7fa6812 fix bug 2025-11-04 19:58:53 +08:00
puxuan
0641a93040 fix bug 2025-11-04 19:51:08 +08:00
puxuan
6a04896a5f 竞技场动画 2025-11-04 18:33:51 +08:00
puxuan
1841186071 fix bug 2025-11-04 18:05:38 +08:00
puxuan
9f3cffab69 删除不用资源 2025-11-04 16:20:02 +08:00
puxuan
834a29e5e7 fix bug 2025-11-04 15:34:06 +08:00
puxuan
d7964113c3 fix bug 2025-11-04 10:42:32 +08:00
puxuan
887eb5a9c0 config 2025-11-04 09:48:04 +08:00
puxuan
3448608f15 Merge branch 'dev_hero' into dev_hero_2 2025-11-04 09:46:54 +08:00
tuxinyu
bbd66e3e00 1111111111111 2025-11-03 21:29:58 +08:00
changyuxiang
befedf64ec wwwwwwwwwwwwwwwwwwwww 2025-11-03 21:25:38 +08:00
tuxinyu
5386c24504 11111111111 2025-11-03 21:05:13 +08:00
puxuan
d686512f63 引导 2025-11-03 20:38:20 +08:00
puxuan
8adf53316b Merge branch 'dev_hero' into dev_hero_2 2025-11-03 20:36:06 +08:00
puxuan
b92e5b89ec res 2025-11-03 20:33:57 +08:00
tuxinyu
3ced501994 Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-11-03 20:21:25 +08:00
tuxinyu
3093ef4090 11111111 2025-11-03 20:20:10 +08:00
changyuxiang
df95c52b96 改命名 2025-11-03 19:33:16 +08:00
changyuxiang
6d73ccff00 Merge branch 'dev_hero_2' of https://git.wdd817.link/puxuan/c1_unity into dev_hero_2 2025-11-03 19:28:25 +08:00
puxuan
66232f5e98 fix bug 2025-11-03 17:00:05 +08:00
puxuan
950316ee4b ui 2025-11-03 15:07:13 +08:00
puxuan
39388fd074 fix bug 2025-11-03 12:11:19 +08:00
puxuan
51b6713b1e fix bug 2025-11-03 12:06:09 +08:00
puxuan
47fdba73ae fix bug 2025-11-03 12:01:06 +08:00
puxuan
03cb55a053 屏蔽广告 2025-11-02 21:44:30 +08:00
puxuan
9b92dfe59c config 2025-10-31 21:57:53 +08:00
puxuan
6824f0a4ad Merge branch 'dev_hero' into dev_hero_2 2025-10-31 21:57:03 +08:00
changyuxiang
1de3560cbe 1 2025-10-31 21:56:36 +08:00
changyuxiang
b30f3c7f8e 1 2025-10-31 21:52:14 +08:00
puxuan
0e69e79e7c fix bug 2025-10-31 21:51:54 +08:00
puxuan
fbb3b526ba Merge branch 'dev_hero' into dev_hero_2 2025-10-31 21:26:14 +08:00
puxuan
28dc4d0547 fix bug 2025-10-31 21:25:55 +08:00
changyuxiang
f8cd5af72d 1 2025-10-31 20:41:13 +08:00
puxuan
c0d9bde0e3 Merge branch 'dev_hero' into dev_hero_2 2025-10-31 20:33:04 +08:00
puxuan
cbce1e763f 竞技场 2025-10-31 20:32:48 +08:00
puxuan
989528fb19 fix bug 2025-10-31 20:12:49 +08:00
changyuxiang
bfb73d847f 1 2025-10-31 20:06:00 +08:00
puxuan
9d793b77d8 fix bug 2025-10-31 17:43:21 +08:00
puxuan
e16ec04399 fix bug 2025-10-31 16:41:10 +08:00
puxuan
e47b25c768 fix bug 2025-10-31 15:42:38 +08:00
puxuan
ed24e15ec9 万能块特效 2025-10-31 15:31:48 +08:00
puxuan
451fd0ce81 fix bug 2025-10-31 14:48:16 +08:00
puxuan
ed413b1ec4 config 2025-10-31 14:07:08 +08:00
puxuan
8d091709e0 fix bug 2025-10-31 12:04:02 +08:00
puxuan
71f7222f0a fix bug 2025-10-31 11:32:52 +08:00
puxuan
dee9d7cc12 Merge branch 'dev_hero' into dev_hero_2 2025-10-31 09:37:57 +08:00
changyuxiang
cfbf191f67 Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-10-30 21:49:25 +08:00
changyuxiang
590c1e7488 小怪音效 2025-10-30 21:49:20 +08:00
puxuan
f07dc748bc fix bug 2025-10-30 21:40:17 +08:00
tuxinyu
ba50a1f1e0 Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-10-30 21:30:26 +08:00
tuxinyu
0a117db90e 11111111 2025-10-30 21:30:16 +08:00
puxuan
735742b767 Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-10-30 21:20:32 +08:00
puxuan
5123b7984e Merge branch 'dev_hero_2' into dev_hero 2025-10-30 21:19:27 +08:00
puxuan
f235f33dea 引导 2025-10-30 21:19:09 +08:00
tuxinyu
c6877c6828 111111111 2025-10-30 21:18:36 +08:00
tuxinyu
70c510cbbf 111111111 2025-10-30 21:12:23 +08:00
puxuan
2c04d8d58f 技能增加能量特效 2025-10-30 21:08:31 +08:00
puxuan
54d434e7f5 config 2025-10-30 20:17:09 +08:00
puxuan
4718cc678c Merge branch 'dev_hero_2' into dev_hero 2025-10-30 20:14:51 +08:00
puxuan
90cfba07ec 敌方属性 2025-10-30 20:13:42 +08:00
changyuxiang
ea9e7bed20 2 2025-10-30 19:56:08 +08:00
changyuxiang
8e10a42a76 Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-10-30 19:46:31 +08:00
changyuxiang
89759c494f 1 2025-10-30 19:46:28 +08:00
puxuan
76f1bc51ad Merge branch 'dev_hero' into dev_hero_2 2025-10-30 19:17:19 +08:00
puxuan
7346cfbd67 . 2025-10-30 19:17:03 +08:00
puxuan
5cfff8f347 fix bug 2025-10-30 16:41:04 +08:00
puxuan
6761b1ba0a fix bug 2025-10-30 15:50:36 +08:00
puxuan
aef5a9a65e fix bug 2025-10-30 11:04:43 +08:00
puxuan
4be4b62167 fix bug 2025-10-30 10:41:05 +08:00
puxuan
4394a1e3e2 fix bug 2025-10-30 10:37:50 +08:00
puxuan
fe53bb012b . 2025-10-30 10:05:13 +08:00
puxuan
9686b4b97d Merge branch 'dev_hero' into dev_hero_2 2025-10-30 09:52:52 +08:00
tuxinyu
486b5100ac 1111111111 2025-10-29 21:57:32 +08:00
tuxinyu
208febb5b3 Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-10-29 21:41:45 +08:00
tuxinyu
651c281c2f 1111111111 2025-10-29 21:41:38 +08:00
puxuan
940340cef8 fix bug 2025-10-29 21:32:12 +08:00
puxuan
b74e4e435b Merge branch 'dev_hero' into dev_hero_2 2025-10-29 21:23:01 +08:00
puxuan
eb4b1152a0 fix bug 2025-10-29 21:22:25 +08:00
changyuxiang
3fb0e3c90a 音效一大堆 2025-10-29 21:19:26 +08:00
tuxinyu
4cebc4b154 11111111111 2025-10-29 21:03:39 +08:00
tuxinyu
ac12bc45c4 111111111 2025-10-29 20:57:23 +08:00
tuxinyu
7150d872cf Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-10-29 20:53:41 +08:00
tuxinyu
49cf038bdb 11111111111111 2025-10-29 20:53:17 +08:00
puxuan
c1ca37bda5 Merge branch 'dev_hero' into dev_hero_2 2025-10-29 19:39:32 +08:00
puxuan
4944275cff 首充 2025-10-29 19:39:20 +08:00
changyuxiang
8511e51c00 改名字 2025-10-29 19:32:34 +08:00
changyuxiang
0d26fd250e 首充-剑仙 2025-10-29 19:28:53 +08:00
changyuxiang
fa630edd73 匹配成功动画 2025-10-29 19:22:30 +08:00
puxuan
602c93913c res 2025-10-29 19:21:20 +08:00
puxuan
bad9f48449 fix bug 2025-10-29 19:16:46 +08:00
puxuan
35dc7f578d fix bug 2025-10-29 16:38:54 +08:00
puxuan
14d5d42d08 fix bug 2025-10-29 15:17:36 +08:00
puxuan
7179ed8418 Merge branch 'dev_hero' into dev_hero_2 2025-10-29 09:47:00 +08:00
changyuxiang
cce578bee9 Merge branch 'dev_hero_2' of https://git.wdd817.link/puxuan/c1_unity into dev_hero_2 2025-10-28 21:28:59 +08:00
puxuan
67efcf901b 竞技场 2025-10-28 21:27:58 +08:00
changyuxiang
48d81e5ba5 1 2025-10-28 21:19:22 +08:00
puxuan
7787a00ee1 Merge branch 'dev_hero' into dev_hero_2 2025-10-28 20:58:47 +08:00
puxuan
699e392036 fix bug 2025-10-28 20:58:11 +08:00
changyuxiang
c932ccaba6 竞技场-匹配中和匹配中(。。。) 2025-10-28 20:50:53 +08:00
changyuxiang
8109001683 胜利失败 2025-10-28 19:36:17 +08:00
changyuxiang
5d44b88212 段位图标 2025-10-28 19:31:35 +08:00
puxuan
993d54f500 fix bug 2025-10-28 18:33:55 +08:00
puxuan
6493b5c699 fix bug 2025-10-28 17:47:47 +08:00
puxuan
3dc8c37011 fix bug 2025-10-28 15:38:29 +08:00
puxuan
db8e86b49d fix bug 2025-10-28 11:34:25 +08:00
puxuan
d8fb97368a fix bug 2025-10-28 11:14:03 +08:00
puxuan
2ef607f0ab fix bug 2025-10-28 10:29:25 +08:00
puxuan
ce6f7a090b Merge branch 'dev_hero_2' into dev_hero 2025-10-28 09:37:29 +08:00
tuxinyu
a2d36fb396 11111111 2025-10-27 21:35:56 +08:00
changyuxiang
aa4f2bba5f 1 2025-10-27 20:38:43 +08:00
puxuan
1e8e9cc8f0 fix bug 2025-10-27 18:36:52 +08:00
puxuan
f2a2650f38 UI 2025-10-27 15:24:22 +08:00
puxuan
f0d7cabc29 . 2025-10-27 11:53:59 +08:00
puxuan
cdae7019c7 邮箱 2025-10-27 11:51:58 +08:00
puxuan
e685c77351 伤害公式 2025-10-27 10:54:45 +08:00
puxuan
95851df2af Merge branch 'dev_hero_2' into dev_hero 2025-10-26 18:11:36 +08:00
puxuan
639ceeb387 装备属性 2025-10-26 18:11:16 +08:00
tuxinyu
275bca1375 Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-10-26 17:46:21 +08:00
tuxinyu
9886fc088c 1111111111 2025-10-26 17:46:08 +08:00
changyuxiang
f1410a4f58 Merge branch 'dev_hero_2' of https://git.wdd817.link/puxuan/c1_unity into dev_hero_2 2025-10-26 15:44:26 +08:00
puxuan
7d62cb408e 升级升星属性 2025-10-24 17:52:16 +08:00
puxuan
97b91ec0d9 fix bug 2025-10-24 16:37:31 +08:00
puxuan
513ee323df fix bug 2025-10-24 14:37:15 +08:00
puxuan
6f3d42635e 资源整理 2025-10-24 12:02:08 +08:00
puxuan
265b5474e1 config 2025-10-24 11:40:12 +08:00
puxuan
b727316a77 背包 2025-10-24 11:05:09 +08:00
puxuan
598f288902 Merge branch 'dev_hero' into dev_hero_2 2025-10-24 09:54:54 +08:00
puxuan
31be75d787 ui 2025-10-24 09:54:31 +08:00
changyuxiang
a6d99ba19b 首充-火花姬 2025-10-23 21:31:00 +08:00
puxuan
5f867a9a84 冲刺 2025-10-23 20:09:26 +08:00
puxuan
a572fe571d fix bug 2025-10-23 18:21:29 +08:00
puxuan
d51954e25f fix bug 2025-10-23 18:11:39 +08:00
puxuan
1e99c284b0 资源整理 2025-10-23 18:10:58 +08:00
puxuan
46b11ccf9e 资源整理 2025-10-23 17:33:51 +08:00
puxuan
c40bb80cca . 2025-10-23 17:19:17 +08:00
puxuan
2dc4bdae98 res 2025-10-23 17:17:49 +08:00
puxuan
418dd48412 资源整理 2025-10-23 17:14:08 +08:00
puxuan
0e44ceaff7 资源整理 2025-10-23 16:10:53 +08:00
puxuan
f27864d87e 背包 2025-10-23 16:00:11 +08:00
puxuan
7dfed34849 特权 2025-10-23 11:31:30 +08:00
puxuan
5d5fd03238 商店 2025-10-22 20:51:21 +08:00
puxuan
9d1e561916 fix bug 2025-10-22 18:34:13 +08:00
puxuan
c26a8289be fix bug 2025-10-22 17:33:37 +08:00
puxuan
fc2bc97405 fix bug 2025-10-22 15:06:27 +08:00
puxuan
ab66a2dd52 fix bug 2025-10-22 11:59:47 +08:00
puxuan
6448443c0f 主界面 2025-10-22 11:46:57 +08:00
puxuan
049a754327 副本 2025-10-22 11:14:43 +08:00
puxuan
5d8bf297e8 res 2025-10-22 10:22:14 +08:00
puxuan
6b062362f2 fix bug 2025-10-22 10:14:27 +08:00
puxuan
965b98f0a8 fix bug 2025-10-22 09:30:00 +08:00
puxuan
2ed2daabf2 fix bug 2025-10-21 18:23:54 +08:00
puxuan
79d68e8caf 天赋动画 2025-10-21 16:07:49 +08:00
puxuan
7ecf780dab Merge branch 'dev_hero_2' into dev_hero
# Conflicts:
#	Assets/prefabs/effects/battle/sfx_c1_p35002_05.prefab
2025-10-21 10:30:18 +08:00
puxuan
7116c6a74a 基金 2025-10-21 10:28:57 +08:00
puxuan
79c7a15552 Merge branch 'dev_hero_2' of https://git.wdd817.link/puxuan/c1_unity into dev_hero_2 2025-10-20 21:20:55 +08:00
puxuan
a91941b139 fix bug 2025-10-20 21:20:52 +08:00
tuxinyu
11a4631d28 Merge branch 'dev_hero_2' of https://git.wdd817.link/puxuan/c1_unity into dev_hero_2 2025-10-20 21:10:48 +08:00
tuxinyu
7d761de229 1111111111111 2025-10-20 21:10:38 +08:00
puxuan
c9f22e7671 . 2025-10-20 20:54:34 +08:00
puxuan
8570d9dd2d .. 2025-10-20 20:53:21 +08:00
changyuxiang
b53e9b037e 1 2025-10-20 20:47:07 +08:00
tuxinyu
53bd3da968 Merge branch 'dev_hero_2' of https://git.wdd817.link/puxuan/c1_unity into dev_hero_2 2025-10-20 20:45:09 +08:00
tuxinyu
8f20ac7cb0 111111111111 2025-10-20 20:45:01 +08:00
puxuan
7a4e927513 Merge branch 'dev_hero_2' of https://git.wdd817.link/puxuan/c1_unity into dev_hero_2 2025-10-20 20:37:18 +08:00
puxuan
24901b3966 fix bug 2025-10-20 20:37:13 +08:00
tuxinyu
3943be89c5 Merge branch 'dev_hero_2' of https://git.wdd817.link/puxuan/c1_unity into dev_hero_2 2025-10-20 20:31:53 +08:00
tuxinyu
ccd96db341 111111111 2025-10-20 20:31:44 +08:00
puxuan
9b7fe04959 res 2025-10-20 20:14:51 +08:00
puxuan
add4dcaa57 fix bug 2025-10-20 20:11:43 +08:00
puxuan
17510ca30c fix bug 2025-10-20 20:06:12 +08:00
puxuan
284aed53e3 七日签到 2025-10-20 19:25:02 +08:00
puxuan
b18bb603cc 特权 2025-10-20 17:20:02 +08:00
puxuan
44531ae9f9 倍速 2025-10-20 16:40:15 +08:00
puxuan
66157b5c7d 特权 2025-10-20 15:29:05 +08:00
puxuan
c09deb3f35 res 2025-10-20 14:47:37 +08:00
puxuan
9dae3eb965 buff 2025-10-20 14:06:23 +08:00
puxuan
55449888a4 config 2025-10-20 11:18:20 +08:00
puxuan
3d534e7523 广告 2025-10-20 11:10:29 +08:00
puxuan
56bbcacc2b Merge branch 'dev_hero_2' of https://git.wdd817.link/puxuan/c1_unity into dev_hero_2 2025-10-18 18:06:01 +08:00
puxuan
f4387fca51 fix bug 2025-10-18 18:05:57 +08:00
tuxinyu
fe31d8da1b 111111111 2025-10-18 17:59:53 +08:00
tuxinyu
4142eabe88 11111111111 2025-10-18 16:54:29 +08:00
tuxinyu
bc524cbb10 Merge branch 'dev_hero_2' of https://git.wdd817.link/puxuan/c1_unity into dev_hero_2 2025-10-18 16:38:49 +08:00
tuxinyu
7eb00e61fa 11111111111 2025-10-18 16:38:41 +08:00
changyuxiang
1aa646ca37 优化技能落点位置 2025-10-18 16:27:33 +08:00
tuxinyu
6100bcc988 111111111111 2025-10-18 16:11:31 +08:00
tuxinyu
d5c3de2bcb Merge branch 'dev_hero_2' of https://git.wdd817.link/puxuan/c1_unity into dev_hero_2 2025-10-18 15:49:17 +08:00
tuxinyu
a3a918ec95 11111 2025-10-18 15:48:03 +08:00
changyuxiang
8803fe5ee4 Merge branch 'dev_hero_2' of https://git.wdd817.link/puxuan/c1_unity into dev_hero_2 2025-10-18 15:47:40 +08:00
changyuxiang
fc43266090 1 2025-10-18 15:46:17 +08:00
tuxinyu
caf7e428b7 1111111 2025-10-18 15:08:51 +08:00
tuxinyu
230d4e21a6 11111111111 2025-10-18 15:04:16 +08:00
tuxinyu
bc16ece6d7 11111111 2025-10-18 15:02:36 +08:00
tuxinyu
974db01487 Merge branch 'dev_hero_2' of https://git.wdd817.link/puxuan/c1_unity into dev_hero_2 2025-10-18 14:37:33 +08:00
tuxinyu
6c75f30ffe 111111111111 2025-10-18 14:37:22 +08:00
puxuan
29ded94b59 肉鸽 2025-10-18 10:53:57 +08:00
puxuan
b8b1b86fbb fix bug 2025-10-17 20:46:29 +08:00
puxuan
455e71bf7a fix bug 2025-10-17 20:37:51 +08:00
changyuxiang
ac16f8d0d2 Merge branch 'dev_hero_2' of https://git.wdd817.link/puxuan/c1_unity into dev_hero_2 2025-10-17 20:27:58 +08:00
changyuxiang
120d0079ec 改事件帧 2025-10-17 20:27:28 +08:00
tuxinyu
e5f914814d 111111111 2025-10-17 20:25:15 +08:00
puxuan
2065c73a5c 特殊天赋 2025-10-17 16:13:58 +08:00
puxuan
c450235ffd 肉鸽 2025-10-17 12:18:03 +08:00
puxuan
a500c79107 Merge branch 'dev_hero_2' into dev_hero 2025-10-17 10:03:50 +08:00
puxuan
41af84e469 config 2025-10-17 10:03:12 +08:00
tuxinyu
7710ffac6b 1111111111 2025-10-16 21:39:19 +08:00
tuxinyu
70083216c3 Merge branch 'dev_hero_2' of https://git.wdd817.link/puxuan/c1_unity into dev_hero_2 2025-10-16 21:32:02 +08:00
tuxinyu
fb15192cb0 111111111 2025-10-16 21:31:48 +08:00
puxuan
b845ca91b3 fix bug 2025-10-16 21:26:49 +08:00
puxuan
3427faf4bb Merge branch 'dev_hero_2' of https://git.wdd817.link/puxuan/c1_unity into dev_hero_2 2025-10-16 21:17:06 +08:00
puxuan
3ea8d17837 肉鸽 2025-10-16 21:17:02 +08:00
changyuxiang
0e41adbf6d Merge branch 'dev_hero_2' of https://git.wdd817.link/puxuan/c1_unity into dev_hero_2 2025-10-16 20:25:34 +08:00
changyuxiang
b4d109fbc7 1 2025-10-16 20:25:28 +08:00
tuxinyu
bc9bfbac0c 11111111111 2025-10-16 19:43:12 +08:00
tuxinyu
440c601b7b 111111 2025-10-16 19:37:57 +08:00
puxuan
1cda0abb3f fix bug 2025-10-16 10:03:18 +08:00
puxuan
2c4fe56d6c Merge branch 'dev_hero' into dev_hero_2 2025-10-16 09:48:55 +08:00
changyuxiang
e630c77bb0 1 2025-10-15 21:54:44 +08:00
changyuxiang
9f533f4da1 Merge branch 'dev_hero_2' of https://git.wdd817.link/puxuan/c1_unity into dev_hero_2 2025-10-15 21:34:25 +08:00
changyuxiang
328dd55733 1 2025-10-15 21:34:22 +08:00
puxuan
401b940473 fix bug 2025-10-15 21:19:46 +08:00
tuxinyu
2c9685502c Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-10-15 21:12:51 +08:00
tuxinyu
194e1cb608 1111111111 2025-10-15 21:12:35 +08:00
puxuan
55296e95da . 2025-10-15 20:43:00 +08:00
puxuan
1c96c3a82f fix bug 2025-10-15 20:39:32 +08:00
puxuan
6f4a85dd25 Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-10-15 20:07:24 +08:00
puxuan
2ee6438cfc fix bug 2025-10-15 20:04:36 +08:00
tuxinyu
6da425e8c2 Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-10-15 20:03:24 +08:00
tuxinyu
21b74b519c 11111 2025-10-15 20:03:06 +08:00
puxuan
b01520ead7 fix bug 2025-10-15 17:48:28 +08:00
puxuan
9202d9c83b Merge branch 'dev_hero' into dev_hero_2 2025-10-15 16:12:41 +08:00
puxuan
9a25a6dd90 召唤商店 2025-10-15 16:12:22 +08:00
changyuxiang
10b5e282f7 七天乐 2025-10-14 20:38:32 +08:00
kai
24c73e4b5f 天赋 2025-10-14 19:15:23 +08:00
kai
ec76fd9ad9 肉鸽技能图标 2025-10-14 15:53:49 +08:00
kai
f841ca153f 肉鸽技能直接带入 2025-10-14 15:38:38 +08:00
kai
dacb122526 fix bug 2025-10-14 11:13:42 +08:00
kai
454bdf3755 主界面图标 2025-10-14 10:19:48 +08:00
kai
85fa456381 Merge branch 'dev_hero' into dev_hero_2 2025-10-14 10:08:44 +08:00
changyuxiang
53d965aebc 成长基金 2025-10-13 21:36:19 +08:00
puxuan
29eddc6688 主界面图标 2025-10-13 21:15:31 +08:00
puxuan
7817465e42 Merge branch 'dev_hero' into dev_hero_2 2025-10-13 21:07:56 +08:00
puxuan
a6a7f6b75a 首充 2025-10-13 21:07:26 +08:00
changyuxiang
1387150aa7 在传两个图标 2025-10-13 20:55:38 +08:00
changyuxiang
bce3ff4452 一些活动入口图标 2025-10-13 20:15:20 +08:00
puxuan
ab5b4ce521 装备 2025-10-13 19:52:52 +08:00
puxuan
802e756db3 fix bug 2025-10-13 19:36:33 +08:00
puxuan
6d5a74b44c fix bug 2025-10-13 18:23:24 +08:00
puxuan
1f90462c46 fix bug 2025-10-13 14:53:13 +08:00
puxuan
f75e0fccf6 装备红点 2025-10-13 12:02:26 +08:00
puxuan
21b55ec9b6 . 2025-10-11 17:28:25 +08:00
puxuan
e7a00cd1e4 . 2025-10-11 16:46:34 +08:00
puxuan
1b10f1854f config 2025-10-11 15:57:58 +08:00
puxuan
3a0e919426 Merge branch 'dev_hero' into dev_hero_2 2025-10-11 15:52:27 +08:00
puxuan
c623b9f038 config 2025-10-11 15:52:08 +08:00
puxuan
d527822974 装备 2025-10-11 15:48:03 +08:00
changyuxiang
3a3ab128ab Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-10-10 21:07:06 +08:00
changyuxiang
dfd5a42748 挂机+抽奖入口图标+改英雄可升级动效 2025-10-10 21:05:19 +08:00
puxuan
077a4d0f14 副本 2025-10-10 19:46:33 +08:00
puxuan
e32c238a90 副本 2025-10-10 19:22:45 +08:00
puxuan
40bb3b0c0f Merge branch 'dev_hero' into dev_hero_2 2025-10-10 15:19:54 +08:00
puxuan
5935f650b8 . 2025-10-10 15:16:00 +08:00
puxuan
80db106cd1 Merge branch 'dev_act' into dev_hero 2025-10-10 15:15:22 +08:00
puxuan
c1e793fbe3 . 2025-10-10 15:14:29 +08:00
puxuan
39878f292c 英雄 2025-10-10 15:12:41 +08:00
changyuxiang
7b5d3c5836 Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-10-09 21:38:39 +08:00
tuxinyu
f8e5991c68 1111111 2025-10-09 21:12:09 +08:00
tuxinyu
190d53f430 111111111 2025-10-09 20:50:08 +08:00
changyuxiang
9708208fd5 Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-10-09 20:47:38 +08:00
changyuxiang
58bc0cc529 1 2025-10-09 20:47:23 +08:00
tuxinyu
961fbf6146 1111111 2025-10-09 20:42:30 +08:00
tuxinyu
2659d9950c 111111111111 2025-10-09 20:39:00 +08:00
puxuan
5bd296efe4 fix bug 2025-10-09 19:57:40 +08:00
puxuan
35e2a37420 升星 2025-10-09 19:56:22 +08:00
puxuan
f78071e910 升级 2025-10-09 17:48:18 +08:00
puxuan
a3771c610b 升级 2025-10-09 17:29:10 +08:00
puxuan
ddb9b12654 1 2025-10-09 17:03:34 +08:00
tuxinyu
49e7708675 Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-10-08 21:41:18 +08:00
tuxinyu
2ac928f6a2 11111111 2025-10-08 21:40:57 +08:00
changyuxiang
8dfc52ced1 死灵法师改一下 2025-10-08 18:36:29 +08:00
puxuan
93065c8a00 Merge branch 'dev_act' into dev_hero_2 2025-10-08 18:20:22 +08:00
puxuan
d9cbbb3337 特权 2025-10-08 18:17:27 +08:00
changyuxiang
271308d569 Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-10-08 17:55:46 +08:00
changyuxiang
572ea3e46e 英雄加影子 2025-10-08 17:55:42 +08:00
puxuan
c01bb6dd49 七天乐 2025-10-08 17:26:12 +08:00
tuxinyu
46b4b73cda 11111111 2025-10-08 17:01:57 +08:00
tuxinyu
92ff9e6393 Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-10-08 16:56:02 +08:00
tuxinyu
1a89a7e49a 11111111 2025-10-08 16:54:57 +08:00
puxuan
743d0f097b 特权 2025-10-08 16:03:28 +08:00
changyuxiang
033bdbf11f 狼加影子,改抽奖UI动效 2025-10-08 15:23:15 +08:00
changyuxiang
e0d20294fe 1 2025-10-08 14:27:29 +08:00
changyuxiang
d6ea584023 改45001技能 2025-10-08 14:25:10 +08:00
changyuxiang
d161fac759 补充一个,改点东西 2025-10-08 14:07:54 +08:00
puxuan
b95a8b1378 hero 2025-10-08 10:55:47 +08:00
changyuxiang
f04c3f44e9 Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-10-07 20:09:03 +08:00
changyuxiang
007dbf7d4f 改几个动作 2025-10-07 20:08:47 +08:00
puxuan
ddcb2c72f0 新加任务 2025-10-07 20:00:23 +08:00
puxuan
4fc4b6b23e lua 2025-10-07 18:32:30 +08:00
puxuan
4aa2e6f2a7 Merge branch 'dev_hero' into dev_act
# Conflicts:
#	Assets/lua/app/config/buff.lua.bytes
#	Assets/lua/app/config/fx.lua.bytes
#	Assets/lua/app/config/skill.lua.bytes
#	Assets/lua/app/config/strings/cn/attr.lua.bytes
#	Assets/lua/app/config/strings/cn/task_type.lua.bytes
#	Assets/lua/app/config/strings/de/attr.lua.bytes
#	Assets/lua/app/config/strings/en/attr.lua.bytes
#	Assets/lua/app/config/strings/en/task_type.lua.bytes
#	Assets/lua/app/config/strings/es/attr.lua.bytes
#	Assets/lua/app/config/strings/es/task_type.lua.bytes
#	Assets/lua/app/config/strings/fr/attr.lua.bytes
#	Assets/lua/app/config/strings/id/attr.lua.bytes
#	Assets/lua/app/config/strings/id/task_type.lua.bytes
#	Assets/lua/app/config/strings/ja/attr.lua.bytes
#	Assets/lua/app/config/strings/ja/task_type.lua.bytes
#	Assets/lua/app/config/strings/ko/attr.lua.bytes
#	Assets/lua/app/config/strings/ko/task_type.lua.bytes
#	Assets/lua/app/config/strings/pt/attr.lua.bytes
#	Assets/lua/app/config/strings/pt/task_type.lua.bytes
#	Assets/lua/app/config/strings/ru/attr.lua.bytes
#	Assets/lua/app/config/strings/th/attr.lua.bytes
#	Assets/lua/app/config/strings/th/task_type.lua.bytes
#	Assets/lua/app/config/strings/vi/attr.lua.bytes
#	Assets/lua/app/config/strings/vi/task_type.lua.bytes
#	Assets/lua/app/config/strings/zh/attr.lua.bytes
#	Assets/lua/app/config/strings/zh/task_type.lua.bytes
2025-10-07 18:30:51 +08:00
puxuan
7b6ede56cc 2025-10-07 18:30:02 +08:00
puxuan
614909a19f 每日挑战 2025-10-07 18:28:34 +08:00
puxuan
8060568ced 签到 2025-10-07 17:19:46 +08:00
changyuxiang
cd4622580a 改俩动画 2025-10-07 17:10:38 +08:00
puxuan
9c290fa178 活动 2025-10-07 11:21:54 +08:00
tuxinyu
5f4f6087d2 Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-09-30 19:25:37 +08:00
tuxinyu
9858563402 111111 2025-09-30 19:25:26 +08:00
puxuan
479c5976ec Merge branch 'dev_hero' into dev_act 2025-09-30 09:32:23 +08:00
changyuxiang
603a25ed57 改怪 2025-09-29 21:34:01 +08:00
puxuan
6fc419c7ce . 2025-09-29 21:17:42 +08:00
puxuan
c819d7ce8a 礼包 2025-09-29 21:10:50 +08:00
puxuan
7b4916851e 基金 2025-09-29 19:53:13 +08:00
puxuan
2a6bdfd66e Merge branch 'dev_hero' into dev_act 2025-09-29 17:38:08 +08:00
puxuan
23ac799d02 召唤 2025-09-29 17:33:25 +08:00
puxuan
e911269404 活动 2025-09-29 17:03:14 +08:00
puxuan
e57618f534 冲刺 2025-09-29 16:27:54 +08:00
puxuan
d8249cc3ac 冲刺 2025-09-29 15:37:57 +08:00
changyuxiang
bb804e059a 抽奖 2025-09-28 21:27:28 +08:00
puxuan
778505742a lua 2025-09-28 20:37:41 +08:00
puxuan
c3ce4f0615 Merge branch 'dev_hero' into dev_act 2025-09-28 20:36:36 +08:00
changyuxiang
c1e72278f0 Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-09-28 20:30:54 +08:00
changyuxiang
a1b4dbb1b4 1 2025-09-28 20:30:46 +08:00
changyuxiang
b5981bae15 改个怪物 2025-09-28 20:18:55 +08:00
puxuan
f93e31fb95 活动 2025-09-28 20:05:55 +08:00
tuxinyu
20d555500d Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-09-28 19:47:01 +08:00
tuxinyu
58b59379d9 11111111 2025-09-28 19:46:52 +08:00
puxuan
dc4c1fc49e 活动 2025-09-28 16:11:00 +08:00
puxuan
e10aa91ae9 冲刺活动 2025-09-28 14:43:19 +08:00
puxuan
6a5c903e48 fix bug 2025-09-26 16:48:34 +08:00
puxuan
4369ed4075 config 2025-09-26 15:42:14 +08:00
puxuan
d906155c9c Merge branch 'dev_hero' into dev_act 2025-09-26 09:45:03 +08:00
puxuan
0ac2b10096 活动 2025-09-26 09:44:45 +08:00
changyuxiang
d2005a212d 改两个小怪 2025-09-25 21:47:33 +08:00
puxuan
e91c3d797d 冲刺活动 2025-09-25 20:13:36 +08:00
changyuxiang
eddc613d25 Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-09-25 20:07:58 +08:00
changyuxiang
fd05b716a9 改一下通用获得动效 2025-09-25 20:07:54 +08:00
tuxinyu
cdce72b7a2 Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-09-25 19:35:08 +08:00
changyuxiang
9e5acb67ed 1 2025-09-25 19:31:19 +08:00
tuxinyu
425ea3ec56 Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-09-25 19:29:23 +08:00
tuxinyu
e3fc446960 1111111111 2025-09-25 19:29:07 +08:00
puxuan
38345d5909 Merge branch 'dev_hero' into dev_act 2025-09-25 16:41:07 +08:00
puxuan
776b6ae29f 结算界面 2025-09-25 16:40:26 +08:00
puxuan
1c5b577038 活动 2025-09-25 16:05:10 +08:00
puxuan
18296991a2 商业化 2025-09-25 11:41:03 +08:00
changyuxiang
955d7cca3f Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-09-24 21:30:40 +08:00
changyuxiang
4c7e7aaf78 改点东西 2025-09-24 21:30:32 +08:00
tuxinyu
d3e870351b 11111111 2025-09-24 21:14:35 +08:00
tuxinyu
cfed0a625f 111111111 2025-09-24 20:49:02 +08:00
changyuxiang
6f7a26f595 改俩英雄 2025-09-24 20:27:21 +08:00
tuxinyu
365ae2a618 11111111111 2025-09-24 19:44:36 +08:00
tuxinyu
d2ac016e74 11111111111 2025-09-24 19:39:24 +08:00
puxuan
08d3ed2d7e 商店 2025-09-24 16:23:21 +08:00
puxuan
8ae9b1c288 2025-09-24 12:04:04 +08:00
puxuan
87b4c11a9c 阵容 2025-09-24 12:03:05 +08:00
puxuan
aa3cd49667 Merge branch 'dev_hero' into dev_equip
# Conflicts:
#	Assets/lua/app/ui/hero/hero_comp.lua.bytes
2025-09-24 11:06:41 +08:00
changyuxiang
060dcda776 1 2025-09-23 21:36:24 +08:00
changyuxiang
72123ff72e Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-09-23 21:23:27 +08:00
changyuxiang
ad6cc54cfa 1 2025-09-23 21:23:24 +08:00
tuxinyu
a7d661556a 1111111 2025-09-23 21:22:43 +08:00
changyuxiang
6423f40b58 Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-09-23 21:11:27 +08:00
changyuxiang
6d5086d5e6 1 2025-09-23 21:11:22 +08:00
puxuan
be9a8be241 fix bug 2025-09-23 21:10:20 +08:00
puxuan
aa2648ce08 Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-09-23 20:58:33 +08:00
puxuan
dee92b0594 fix bug 2025-09-23 20:58:26 +08:00
changyuxiang
65574eecaa Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-09-23 20:57:20 +08:00
changyuxiang
db1f0229db 改点东西 2025-09-23 20:57:17 +08:00
tuxinyu
b527d23e44 Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-09-23 20:51:49 +08:00
tuxinyu
25d14cf9c2 1111111111 2025-09-23 20:51:42 +08:00
puxuan
689e1a7ef3 fix bug 2025-09-23 20:48:50 +08:00
tuxinyu
7edaf6ccc0 Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-09-23 20:35:52 +08:00
tuxinyu
9cef0fd55f 111111111 2025-09-23 20:35:42 +08:00
puxuan
fb6c741cc1 fix bug 2025-09-23 20:17:07 +08:00
puxuan
a831629459 敌方属性计算 2025-09-23 20:00:40 +08:00
puxuan
5200466331 Merge branch 'dev_hero' into dev_equip 2025-09-23 16:22:02 +08:00
puxuan
34518800c4 fix bug 2025-09-22 17:38:01 +08:00
puxuan
c4b592025d fix bug 2025-09-22 16:09:04 +08:00
puxuan
2278d90172 . 2025-09-22 15:21:55 +08:00
puxuan
5ef5298243 主界面英雄 2025-09-22 14:57:14 +08:00
puxuan
989d1601eb 引导坐标 2025-09-22 12:00:41 +08:00
puxuan
0c1b99ad82 fix bug 2025-09-22 11:33:05 +08:00
puxuan
026fbcc5c4 fix bug 2025-09-22 10:19:13 +08:00
puxuan
ac5b0c44fa Merge branch 'dev_hero' into dev_equip 2025-09-19 15:02:35 +08:00
puxuan
545a879fa3 config 2025-09-19 15:02:17 +08:00
puxuan
5f1b5b34bd fix bug 2025-09-19 14:56:10 +08:00
puxuan
e7e0bde881 Merge branch 'dev_hero' into dev_equip
# Conflicts:
#	Assets/lua/app/common/data_manager.lua.bytes
#	Assets/lua/app/global/global_const.lua.bytes
2025-09-19 14:52:24 +08:00
puxuan
e36dd5e583 新增肉鸽类型 2025-09-19 14:50:04 +08:00
puxuan
21b5b2b20a 属性 2025-09-18 17:52:48 +08:00
tuxinyu
2647f6925d 11111111 2025-09-17 19:52:54 +08:00
tuxinyu
aa340aae4f 1111111111 2025-09-17 19:35:38 +08:00
puxuan
83f941496d 装备 2025-09-17 17:24:03 +08:00
tuxinyu
3598a27b56 111111111111 2025-09-16 21:10:43 +08:00
tuxinyu
691bd7cccb 11111111 2025-09-16 21:06:32 +08:00
tuxinyu
e0e35ed993 11111111 2025-09-16 21:01:27 +08:00
tuxinyu
0301b00a7d 1111111111 2025-09-16 20:43:24 +08:00
tuxinyu
a8fc5ea363 Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-09-16 20:10:03 +08:00
tuxinyu
08cc62b173 111111 2025-09-16 20:09:56 +08:00
puxuan
1c080a08b2 config 2025-09-16 20:08:47 +08:00
tuxinyu
73230eef02 Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-09-16 19:53:17 +08:00
tuxinyu
00845e9738 111111 2025-09-16 19:53:10 +08:00
puxuan
c06f88f8dc Merge branch 'dev_hero' into dev_equip
# Conflicts:
#	Assets/lua/app/config/localization/localization_global_const.lua.bytes
#	Assets/lua/app/config/skill.lua.bytes
#	Assets/lua/app/config/strings/cn/global.lua.bytes
#	Assets/lua/app/global/global_const.lua.bytes
#	Assets/lua/app/proto/proto_msg_type.lua.bytes
#	Assets/lua/app/ui/hero/hero_detail_ui.lua.bytes
#	Assets/prefabs/ui/hero/hero_detail_ui.prefab
#	Assets/proto/protocol.bytes
2025-09-16 16:12:56 +08:00
puxuan
fb20918bc6 . 2025-09-16 16:11:51 +08:00
puxuan
50a42a6219 config 2025-09-16 16:08:15 +08:00
puxuan
4af4b48bca fix bug 2025-09-16 15:28:04 +08:00
tuxinyu
603f289cb9 Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-09-15 20:33:35 +08:00
tuxinyu
85906420c5 111111 2025-09-15 20:33:25 +08:00
puxuan
447a5364dc 抽卡 2025-09-15 20:32:12 +08:00
tuxinyu
b65a6adc2d 111111111 2025-09-15 20:22:54 +08:00
tuxinyu
5f9e2bf603 111111111 2025-09-15 20:21:53 +08:00
tuxinyu
4a8cd3fb1c 11111111111 2025-09-15 20:09:50 +08:00
tuxinyu
35e73dfc1a Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-09-15 20:03:59 +08:00
tuxinyu
3d26181207 1111111111 2025-09-15 20:03:53 +08:00
puxuan
c8d0e2b3c5 fix bug 2025-09-15 20:01:46 +08:00
tuxinyu
5873842dae 11111111 2025-09-15 19:48:06 +08:00
tuxinyu
7a4cbe79d8 Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-09-15 19:38:09 +08:00
tuxinyu
31ae34260e 11111111111 2025-09-15 19:38:01 +08:00
puxuan
63ad8832a9 每日挑战 2025-09-15 17:20:59 +08:00
changyuxiang
2751a48575 Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-09-15 12:46:42 +08:00
changyuxiang
f03d3de706 1 2025-09-15 12:46:33 +08:00
tuxinyu
18096ad14d Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-09-15 12:39:56 +08:00
tuxinyu
88cee05344 1111111 2025-09-15 12:39:48 +08:00
changyuxiang
6d52fa22c1 1 2025-09-15 12:37:31 +08:00
changyuxiang
6f0d6c4eba 1 2025-09-15 12:36:45 +08:00
puxuan
4de0784535 fix bug 2025-09-15 11:41:49 +08:00
puxuan
f981f0b664 fix bug 2025-09-15 10:54:29 +08:00
puxuan
44326ddfa0 动画 2025-09-15 10:10:03 +08:00
changyuxiang
8d621fabe4 新英雄获得 2025-09-12 21:05:38 +08:00
changyuxiang
ec09ae2a0f 战力提升 2025-09-12 20:16:07 +08:00
tuxinyu
5f766555a7 1111111 2025-09-12 17:31:24 +08:00
tuxinyu
303fb3fef2 Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-09-12 17:19:32 +08:00
tuxinyu
f250b2c03f 111111111 2025-09-12 17:19:25 +08:00
puxuan
ab71cd250c . 2025-09-12 16:34:27 +08:00
puxuan
06261d6465 . 2025-09-12 16:30:28 +08:00
puxuan
b492e287e4 config 2025-09-12 16:28:15 +08:00
puxuan
b1b42d5258 . 2025-09-12 15:28:08 +08:00
puxuan
dbd220fcfc 2025-09-12 15:24:11 +08:00
puxuan
04ecb7b08c 2025-09-12 15:17:41 +08:00
puxuan
1fc0cbe7b1 抽卡 2025-09-12 15:12:39 +08:00
puxuan
974e8d2337 fix bug 2025-09-12 10:25:24 +08:00
puxuan
03cf4e1843 装备 2025-09-12 09:50:57 +08:00
changyuxiang
d65af7f268 Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-09-11 21:33:56 +08:00
changyuxiang
dbdaff5f3c 25001 2025-09-11 21:33:31 +08:00
tuxinyu
2483e8bdd4 Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-09-11 20:35:42 +08:00
tuxinyu
049d79f8dc 111111111 2025-09-11 20:35:31 +08:00
puxuan
dcc9d416c5 装备 2025-09-09 21:11:16 +08:00
puxuan
b9b7cc1c74 Merge branch 'dev_hero' into dev_equip 2025-09-09 20:15:01 +08:00
puxuan
ceb9317d64 box 2025-09-09 20:13:47 +08:00
puxuan
2089171f80 config 2025-09-09 20:03:02 +08:00
puxuan
7adbf9e3c4 res 2025-09-09 19:42:49 +08:00
puxuan
f4f0111fa9 装备 2025-09-09 19:40:07 +08:00
puxuan
72ba48e7d1 战斗力 2025-09-09 19:25:18 +08:00
puxuan
562be8071c fix bug 2025-09-08 20:10:07 +08:00
puxuan
15f7e7eaf0 背包 2025-09-08 20:02:09 +08:00
puxuan
f11022dc96 背包 2025-09-08 17:36:27 +08:00
puxuan
9627e10463 skill 2025-09-08 15:49:20 +08:00
puxuan
13e846a688 fix bug 2025-09-08 14:31:58 +08:00
changyuxiang
af88eb3db9 1 2025-09-05 22:38:23 +08:00
changyuxiang
8fb94acaa6 Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-09-05 20:48:02 +08:00
changyuxiang
797d32155c 1 2025-09-05 20:47:58 +08:00
puxuan
51a75c0906 config 2025-09-05 16:50:19 +08:00
puxuan
eaee735bff 2025-09-05 16:43:04 +08:00
puxuan
5ab0b5f1ab 公司 2025-09-05 16:42:05 +08:00
puxuan
991d7f52bb fix bug 2025-09-05 15:40:40 +08:00
puxuan
defa53883f boss技能 2025-09-05 15:04:36 +08:00
puxuan
ee14aded6a fix bug 2025-09-05 14:28:41 +08:00
puxuan
558cfdf2d8 功能开启 2025-09-05 10:50:01 +08:00
changyuxiang
9ae7ab2790 1 2025-09-05 10:01:05 +08:00
puxuan
78af86e37e Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-09-04 20:08:15 +08:00
puxuan
986d295fbe fix bug 2025-09-04 20:08:09 +08:00
changyuxiang
bb92d5a24e 1 2025-09-04 19:56:57 +08:00
changyuxiang
42a58102c4 替换 2025-09-04 19:51:03 +08:00
changyuxiang
7bec44980b p35002 2025-09-04 19:32:31 +08:00
puxuan
64351e1f6b fix bug 2025-09-04 18:33:13 +08:00
puxuan
9ebcf06b5a boss技能弹窗 2025-09-04 18:20:30 +08:00
puxuan
6262219db6 震动 2025-09-04 17:35:45 +08:00
puxuan
40a48df785 fix bug 2025-09-04 17:03:33 +08:00
puxuan
c10d5817a0 config 2025-09-04 16:28:33 +08:00
puxuan
a6dbfc3fa9 fix bug 2025-09-04 16:22:50 +08:00
puxuan
9ddc8a6c1b config 2025-09-04 09:41:13 +08:00
changyuxiang
646cb07192 Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-09-03 21:03:52 +08:00
changyuxiang
beb9547565 1 2025-09-03 21:03:43 +08:00
puxuan
f2717b72e9 fix bug 2025-09-03 20:43:22 +08:00
changyuxiang
e8842259b6 Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-09-03 20:20:25 +08:00
changyuxiang
311c587ddd 箭头 2025-09-03 20:20:19 +08:00
puxuan
6b828c55c0 fix bug 2025-09-03 19:58:45 +08:00
puxuan
ca872ddab7 fix bug 2025-09-03 18:36:02 +08:00
puxuan
80edb5a22f fix bug 2025-09-03 16:51:55 +08:00
puxuan
8f06da008b Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-09-03 16:43:48 +08:00
puxuan
b146f13e91 fix bug 2025-09-03 16:43:45 +08:00
tuxinyu
7db1817bf3 Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-09-03 15:49:32 +08:00
tuxinyu
6bf327ccb7 562588 2025-09-03 15:49:13 +08:00
puxuan
71f4564255 . 2025-09-02 20:49:34 +08:00
puxuan
3a6e7f9a7c Merge remote-tracking branch 'origin/dev_hero' into dev_android 2025-09-02 20:47:05 +08:00
puxuan
fcb5091001 特效 2025-09-02 20:45:18 +08:00
tuxinyu
aac1a5d5ad 11111 2025-09-02 20:42:18 +08:00
tuxinyu
d3c630ec8e 1111111 2025-09-02 20:39:37 +08:00
tuxinyu
fb70f96ed3 Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-09-02 19:36:42 +08:00
tuxinyu
7a4a8b8f8c 111111 2025-09-02 19:36:31 +08:00
puxuan
be828e96cf lua 2025-09-02 17:31:15 +08:00
puxuan
77fc58e672 Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-09-02 17:30:41 +08:00
puxuan
104a6d1bf5 场景 2025-09-02 17:30:35 +08:00
puxuan
748d55bab5 . 2025-09-02 17:29:17 +08:00
changyuxiang
dd09e4228b 1 2025-09-01 21:29:20 +08:00
tuxinyu
8515c13f92 111111 2025-09-01 20:45:41 +08:00
tuxinyu
efc5900332 111 2025-09-01 20:34:23 +08:00
tuxinyu
9a880a3cce 11111111 2025-09-01 20:33:16 +08:00
tuxinyu
22d3603f19 11111111111 2025-09-01 20:14:58 +08:00
puxuan
448becfe4b . 2025-09-01 19:59:18 +08:00
tuxinyu
c01ed07ef7 Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-09-01 19:44:55 +08:00
tuxinyu
3d3d774273 11111111 2025-09-01 19:44:47 +08:00
puxuan
5c7be3141e res 2025-09-01 19:39:14 +08:00
puxuan
8a50d3a5a1 Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-09-01 19:35:01 +08:00
puxuan
a525866905 建筑 2025-09-01 19:34:53 +08:00
tuxinyu
b2a21397d8 Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-09-01 19:26:42 +08:00
tuxinyu
d05efd7327 11111111 2025-09-01 19:26:33 +08:00
puxuan
45835b8706 Merge branch 'dev_hero' into dev_android 2025-09-01 16:56:29 +08:00
puxuan
2ccda92192 .. 2025-09-01 15:05:58 +08:00
puxuan
110bc8ba88 2025-09-01 15:00:38 +08:00
changyuxiang
e9244a90d1 1 2025-09-01 12:30:30 +08:00
tuxinyu
a25afdb9dd Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-09-01 12:13:01 +08:00
tuxinyu
4bfc954ae4 111111 2025-09-01 12:12:06 +08:00
puxuan
953112ed88 Merge branch 'dev_hero' into dev_android 2025-09-01 11:39:06 +08:00
puxuan
43a4a54ea6 广告 2025-09-01 11:28:45 +08:00
puxuan
4fd0f4a6d0 屏蔽上报 2025-09-01 11:25:36 +08:00
puxuan
418d5780bf 场景5 2025-09-01 10:30:25 +08:00
puxuan
2df5ba26fd config 2025-09-01 09:44:54 +08:00
puxuan
98cc05b3cc fix bug 2025-08-29 17:23:14 +08:00
puxuan
65e9cee902 卡牌召唤 2025-08-29 16:21:17 +08:00
puxuan
008fc9eddf 技能弹窗 2025-08-29 14:40:01 +08:00
puxuan
49f697de6e 技能描述 2025-08-29 14:25:56 +08:00
puxuan
ef470b60db 场景3 4 2025-08-29 11:58:09 +08:00
puxuan
079c1b21f6 挂机 2025-08-28 20:57:42 +08:00
puxuan
6488cf581a fix bug 2025-08-28 20:52:01 +08:00
puxuan
10e8dbb255 Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-08-28 20:30:29 +08:00
puxuan
cd70a96e95 天赋 2025-08-28 20:30:25 +08:00
changyuxiang
7a4275a1c9 Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-08-28 20:26:22 +08:00
changyuxiang
f154548f34 场景4 2025-08-28 20:26:15 +08:00
tuxinyu
4cf4604a70 Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-08-28 20:04:15 +08:00
tuxinyu
fc9122f77f 111111 2025-08-28 20:04:05 +08:00
changyuxiang
d193c93fd0 Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-08-28 20:00:06 +08:00
changyuxiang
0e339930f0 1 2025-08-28 20:00:00 +08:00
puxuan
4fbafb72c8 Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-08-28 19:52:38 +08:00
puxuan
8cb98ac1c9 fix bug 2025-08-28 19:52:35 +08:00
tuxinyu
07e5f3b31f Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-08-28 19:43:46 +08:00
tuxinyu
d46cea8ec3 1111 2025-08-28 19:43:38 +08:00
puxuan
287f858230 连击 2025-08-28 17:42:10 +08:00
puxuan
fa1198dd00 连击 2025-08-28 17:40:06 +08:00
puxuan
e9244b18c4 Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-08-28 16:37:18 +08:00
puxuan
bbcb866671 fix bug 2025-08-28 16:37:15 +08:00
changyuxiang
7998dee76a 1 2025-08-28 14:46:21 +08:00
puxuan
028fc1d88a . 2025-08-28 11:44:40 +08:00
puxuan
2301851088 res 2025-08-28 11:17:09 +08:00
puxuan
513dd9b5fc 场景2 2025-08-28 11:15:11 +08:00
puxuan
db721dbb53 fix bug 2025-08-28 10:38:47 +08:00
puxuan
d99175f807 res 2025-08-28 10:17:43 +08:00
tuxinyu
ab5df0906d Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-08-27 21:48:57 +08:00
tuxinyu
dbe73675a8 1111111 2025-08-27 21:48:25 +08:00
puxuan
4b6d350215 Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-08-27 21:44:56 +08:00
puxuan
67ffcb9c1b fix bug 2025-08-27 21:44:53 +08:00
tuxinyu
3fb8fa1c0e Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-08-27 21:44:34 +08:00
changyuxiang
458e466262 Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-08-27 21:33:44 +08:00
tuxinyu
3522b65858 Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-08-27 21:33:20 +08:00
changyuxiang
5ed50c0ede 场景3 2025-08-27 21:33:19 +08:00
tuxinyu
1f1356d913 11111 2025-08-27 21:33:07 +08:00
puxuan
5087a05afa 天赋信息界面 2025-08-27 21:29:19 +08:00
puxuan
a01bf53f0a Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-08-27 20:54:54 +08:00
puxuan
c36dec1a7b fix bug 2025-08-27 20:54:49 +08:00
tuxinyu
84dca0cd71 1111111 2025-08-27 20:46:52 +08:00
tuxinyu
12211838ce 1111111 2025-08-27 20:37:30 +08:00
tuxinyu
eadaf188dd Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-08-27 20:35:49 +08:00
tuxinyu
7989086ebe 11111111 2025-08-27 20:35:35 +08:00
puxuan
515bd7e066 Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-08-27 20:35:15 +08:00
puxuan
862a3f0177 还原boss 2025-08-27 20:35:09 +08:00
puxuan
db6852ca01 res 2025-08-27 20:30:36 +08:00
tuxinyu
a0dfd94a24 Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-08-27 20:19:38 +08:00
tuxinyu
65ae28e715 111111111 2025-08-27 20:19:27 +08:00
changyuxiang
e64cabe516 Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-08-27 20:16:19 +08:00
changyuxiang
caee46ed04 1 2025-08-27 20:16:10 +08:00
tuxinyu
c367168605 Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-08-27 20:05:19 +08:00
tuxinyu
d76f57d2ec 1111111 2025-08-27 20:05:08 +08:00
changyuxiang
0edf4d4b74 Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-08-27 19:49:02 +08:00
changyuxiang
be2057beb3 1 2025-08-27 19:47:25 +08:00
tuxinyu
dca5ec2391 Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-08-27 19:45:35 +08:00
tuxinyu
8abaf2d846 11111111 2025-08-27 19:45:22 +08:00
changyuxiang
74caaa5a88 Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-08-27 19:43:00 +08:00
changyuxiang
f9d0b87676 场景2动画 2025-08-27 19:42:46 +08:00
puxuan
12c52903aa Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-08-27 19:37:41 +08:00
puxuan
8fdadba962 fix bug 2025-08-27 19:37:20 +08:00
tuxinyu
d392473c6e Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-08-27 19:31:43 +08:00
tuxinyu
c9bb11ed29 111111 2025-08-27 19:31:28 +08:00
puxuan
b70249c249 fix bug 2025-08-27 19:27:18 +08:00
puxuan
504e40eb38 res 2025-08-27 19:07:24 +08:00
puxuan
945a1ce922 fix bug 2025-08-27 18:57:27 +08:00
puxuan
e4fe7b0726 res 2025-08-27 16:33:11 +08:00
puxuan
a9c7c04316 fix bug 2025-08-27 16:24:09 +08:00
puxuan
29317b4ea4 fix bug 2025-08-27 16:09:59 +08:00
puxuan
e07da910b5 Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-08-27 14:22:41 +08:00
puxuan
06addac953 fix bug 2025-08-27 14:22:36 +08:00
tuxinyu
d70dec2f19 呃呃呃呃 2025-08-27 10:20:33 +08:00
tuxinyu
310e5f4c79 Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-08-27 10:15:35 +08:00
tuxinyu
9185bd21ce 1111111 2025-08-27 10:15:06 +08:00
puxuan
adaca35ac5 config 2025-08-27 09:46:04 +08:00
changyuxiang
fe9c082c38 快递天使 2025-08-26 21:15:05 +08:00
tuxinyu
4477a52fab Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-08-26 19:21:23 +08:00
tuxinyu
403001b3ab 1111111 2025-08-26 19:21:03 +08:00
changyuxiang
41be97bb08 1 2025-08-25 20:20:00 +08:00
tuxinyu
1de8644056 Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-08-25 19:30:32 +08:00
tuxinyu
5d9f65f6d0 1111111111 2025-08-25 19:30:17 +08:00
puxuan
1a31862d94 头像 2025-08-22 17:59:17 +08:00
puxuan
a4fdfb1dde 头像 2025-08-22 17:50:07 +08:00
puxuan
3c915c8d73 fix bug 2025-08-22 17:04:00 +08:00
puxuan
e041781019 fix bug 2025-08-22 15:47:26 +08:00
puxuan
6c1aa4263b fix bug 2025-08-22 15:28:02 +08:00
puxuan
d9e7c928f6 config 2025-08-22 14:57:07 +08:00
puxuan
b59fd66886 fix bug 2025-08-22 14:35:07 +08:00
puxuan
6ad37f7cc0 fix bug 2025-08-22 10:56:15 +08:00
puxuan
1dfc90943f talent 2025-08-21 21:44:32 +08:00
puxuan
d30e9e502f fix bug 2025-08-21 21:06:54 +08:00
changyuxiang
1b06feed2c Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-08-21 19:54:58 +08:00
changyuxiang
d57ef8ace6 1 2025-08-21 19:54:37 +08:00
puxuan
c737e2cd89 config 2025-08-21 19:36:26 +08:00
puxuan
a5d135a78a fix bug 2025-08-21 18:26:13 +08:00
puxuan
f764b389d5 vs 2025-08-21 17:56:15 +08:00
puxuan
e360bb7662 英雄 2025-08-21 17:45:53 +08:00
puxuan
2daa1d6006 idle 2025-08-21 16:23:50 +08:00
puxuan
6f86255585 成就 2025-08-21 16:01:34 +08:00
puxuan
3d7c916058 idle 2025-08-21 14:42:52 +08:00
puxuan
f5a3400308 fix bug 2025-08-21 11:35:08 +08:00
puxuan
2242ca17dd talent 2025-08-21 10:09:51 +08:00
tuxinyu
df8aef2f45 Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-08-20 21:46:14 +08:00
tuxinyu
5684447b6a 11111111 2025-08-20 21:45:25 +08:00
changyuxiang
aba89f58fc 1 2025-08-20 21:24:01 +08:00
changyuxiang
fabe2a6b3d 匹配成功动效 2025-08-20 21:00:44 +08:00
changyuxiang
b7e9c5c3d7 1 2025-08-20 20:18:32 +08:00
changyuxiang
584489c613 1 2025-08-20 19:59:35 +08:00
puxuan
b506620e47 fix bug 2025-08-20 17:44:40 +08:00
puxuan
b9bd81f802 arena 2025-08-20 16:12:27 +08:00
puxuan
ecd5958b55 fix bug 2025-08-20 15:57:02 +08:00
puxuan
5fbf156762 英雄 2025-08-20 11:43:19 +08:00
puxuan
07adc9afd3 config 2025-08-19 21:18:35 +08:00
puxuan
52e9a63ab3 Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-08-19 21:14:20 +08:00
puxuan
8c228bfc90 英雄 2025-08-19 21:14:17 +08:00
changyuxiang
d8386149e7 Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-08-19 20:44:22 +08:00
changyuxiang
925a6cb8eb 1 2025-08-19 20:44:16 +08:00
puxuan
9bfbada234 fix bug 2025-08-19 20:33:25 +08:00
puxuan
457b3b23a8 fix bug 2025-08-19 17:32:44 +08:00
puxuan
c301840cb2 场景 2025-08-19 17:14:23 +08:00
puxuan
edfbd9ec35 fix bug 2025-08-19 15:11:57 +08:00
puxuan
679ae0de42 任务跳转 2025-08-19 14:31:44 +08:00
puxuan
1f414ccc84 fix bug 2025-08-19 10:38:58 +08:00
puxuan
9dd813c593 fix bug 2025-08-18 20:50:24 +08:00
puxuan
c79625c019 英雄技能 2025-08-18 18:13:35 +08:00
puxuan
25ca47f63b fix bug 2025-08-18 11:59:36 +08:00
puxuan
14c28c83bf fix bug 2025-08-18 11:49:07 +08:00
puxuan
9a4dd35b5b Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-08-18 10:43:00 +08:00
puxuan
6794741f34 主界面 2025-08-18 10:42:57 +08:00
changyuxiang
67d82fdb65 调大小 2025-08-15 21:40:26 +08:00
changyuxiang
ac6a61b6af 1 2025-08-15 21:11:53 +08:00
changyuxiang
4a7df9f57f p44001海的女儿 2025-08-15 20:51:27 +08:00
puxuan
42d074f1cb . 2025-08-15 20:24:05 +08:00
puxuan
c74953aabc 。。 2025-08-15 20:17:28 +08:00
puxuan
5654eb7445 .. 2025-08-15 20:12:27 +08:00
tuxinyu
f1f3c2ba6b 11111111 2025-08-15 19:53:54 +08:00
tuxinyu
d601930533 Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-08-15 19:51:30 +08:00
tuxinyu
673739b538 111111111 2025-08-15 19:51:15 +08:00
puxuan
f3708369a7 chapter2 2025-08-15 18:22:52 +08:00
puxuan
40ae361190 局内 2025-08-15 17:34:34 +08:00
tuxinyu
b2a31dc888 d8d8e 2025-08-15 15:56:46 +08:00
tuxinyu
e2df1b56e0 Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-08-15 15:39:39 +08:00
tuxinyu
be813055c8 guugg 2025-08-15 15:39:21 +08:00
puxuan
cf8b1aa7a8 res 2025-08-15 15:00:48 +08:00
puxuan
cb9acdb86b res 2025-08-15 14:28:17 +08:00
puxuan
46044a175b skill 2025-08-15 11:38:32 +08:00
puxuan
7d0ea33c71 config 2025-08-15 11:16:40 +08:00
puxuan
8d852e11c3 lua 2025-08-15 11:08:40 +08:00
puxuan
6194090eb3 res 2025-08-15 10:40:19 +08:00
changyuxiang
c838e603e6 1 2025-08-14 20:51:56 +08:00
tuxinyu
03e7a5368e Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-08-14 20:50:30 +08:00
tuxinyu
a666ac3417 1111111 2025-08-14 20:50:19 +08:00
changyuxiang
3a26dc2dd2 平底锅战神p24001 2025-08-14 20:20:19 +08:00
tuxinyu
294bf0121b Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-08-14 19:40:11 +08:00
tuxinyu
ce94619813 11111111 2025-08-14 19:40:03 +08:00
puxuan
e61171acc8 res 2025-08-14 18:19:14 +08:00
puxuan
698cf0922f 每日挑战任务 2025-08-14 18:05:58 +08:00
puxuan
840672e242 config 2025-08-14 16:03:59 +08:00
puxuan
8f629e1ac0 红点 2025-08-14 16:01:21 +08:00
puxuan
f1cc76dc42 Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-08-14 11:49:12 +08:00
puxuan
d63306b9a4 主线 2025-08-14 11:49:09 +08:00
tuxinyu
83de30c45e 11111111 2025-08-13 21:36:11 +08:00
tuxinyu
f0019edefb Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-08-13 20:56:39 +08:00
tuxinyu
f0a3b22724 1111111 2025-08-13 20:56:32 +08:00
puxuan
b863a8e3f4 Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-08-13 20:55:35 +08:00
puxuan
f57f7e5225 战斗力 2025-08-13 20:55:28 +08:00
tuxinyu
3ed6ac716d Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-08-13 20:08:04 +08:00
tuxinyu
0d574dfec7 11111111 2025-08-13 20:07:56 +08:00
puxuan
a83f98212b Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-08-13 20:05:34 +08:00
puxuan
f910e5898d 2025-08-13 20:05:10 +08:00
changyuxiang
19fdca577f Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-08-13 19:49:42 +08:00
changyuxiang
fe750e0645 boss 2025-08-13 19:49:29 +08:00
tuxinyu
30e75cf876 11111111 2025-08-13 19:47:57 +08:00
tuxinyu
a234e231e7 Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-08-13 19:42:03 +08:00
tuxinyu
e88575790b 111111 2025-08-13 19:41:49 +08:00
puxuan
4a945ae37d 主线 2025-08-13 18:33:41 +08:00
puxuan
01a7063020 2025-08-13 17:17:37 +08:00
puxuan
1468aebe4d 英雄信息 2025-08-13 16:27:40 +08:00
puxuan
22a6577076 抽卡 2025-08-13 15:38:46 +08:00
changyuxiang
9621200f95 所有精英到齐 2025-08-12 20:11:11 +08:00
puxuan
1aff7876ec 抽卡 2025-08-12 19:44:10 +08:00
puxuan
a4ea1fabaa meta 2025-08-12 09:52:23 +08:00
changyuxiang
27b796556c Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-08-11 20:46:29 +08:00
changyuxiang
05efb66d3b 精英两个 2025-08-11 20:46:06 +08:00
puxuan
881c683953 Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-08-11 20:39:30 +08:00
puxuan
54cdfc3e47 抽卡 2025-08-11 20:39:27 +08:00
tuxinyu
1b23618a5d Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-08-11 13:05:20 +08:00
tuxinyu
48b6c358ef 111111111 2025-08-11 13:05:12 +08:00
puxuan
d9ddc699c9 设置 2025-08-11 10:18:06 +08:00
puxuan
a0cf7ed49d 设置 2025-08-08 17:37:48 +08:00
puxuan
8913c7fc88 设置 2025-08-08 17:14:39 +08:00
puxuan
13126cb4b2 res 2025-08-08 15:27:17 +08:00
puxuan
2c8a5f70e5 res 2025-08-08 14:19:46 +08:00
puxuan
d385b8c795 局内 2025-08-08 11:42:15 +08:00
puxuan
7cd4088ecd Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-08-08 11:41:24 +08:00
puxuan
313e3f6bdf 局内 2025-08-08 11:41:21 +08:00
tuxinyu
4acd0f9bcb 11111 2025-08-08 10:08:09 +08:00
changyuxiang
6fa1b63954 1 2025-08-06 21:59:34 +08:00
changyuxiang
5b3a108204 胜利失败 2025-08-06 21:34:21 +08:00
puxuan
56a472e971 2025-08-06 20:47:20 +08:00
puxuan
7080ca79f7 Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-08-06 20:46:51 +08:00
puxuan
dd1063d61e task 2025-08-06 20:46:47 +08:00
changyuxiang
d8ca62d0c8 1 2025-08-06 20:05:24 +08:00
tuxinyu
46488baee7 Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-08-06 19:49:48 +08:00
tuxinyu
f011b093d6 11111 2025-08-06 19:49:26 +08:00
puxuan
eb10c29940 android 2025-08-05 17:29:22 +08:00
puxuan
6ef7de12af res 2025-08-05 14:59:18 +08:00
puxuan
67da3359ac Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-08-05 10:26:51 +08:00
puxuan
c79e3498bc res 2025-08-05 10:26:43 +08:00
tuxinyu
b507498f30 Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-08-04 20:58:52 +08:00
tuxinyu
e763a97390 111111 2025-08-04 20:58:32 +08:00
puxuan
5682c2aace res 2025-08-04 19:51:41 +08:00
puxuan
26b7f4d109 build 2025-08-04 19:44:45 +08:00
puxuan
d351d4549f build 2025-08-04 19:14:30 +08:00
puxuan
4ce72abeb5 res 2025-08-04 18:49:43 +08:00
puxuan
a351869a40 res 2025-08-04 17:15:32 +08:00
puxuan
568915467c 主界面 2025-08-04 17:10:12 +08:00
puxuan
c2d8f2f894 天赋 2025-08-04 11:44:25 +08:00
puxuan
e1593159f8 meta 2025-08-04 09:42:04 +08:00
puxuan
fcfcbfd9ae Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-08-04 09:41:35 +08:00
puxuan
d398da007f talent 2025-08-04 09:41:32 +08:00
tuxinyu
284cdfbe53 Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-07-31 20:54:58 +08:00
tuxinyu
a509b5b119 1111111 2025-07-31 20:54:43 +08:00
changyuxiang
7456741201 1 2025-07-31 20:53:57 +08:00
changyuxiang
62e22bc2e8 1 2025-07-29 20:04:55 +08:00
puxuan
cdc40c57ad 公司 2025-07-28 21:37:47 +08:00
changyuxiang
f8a2738052 删除动作融合 2025-07-28 21:35:05 +08:00
changyuxiang
79e55d3646 1 2025-07-28 21:32:41 +08:00
changyuxiang
e1b1bafd78 Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-07-28 21:05:51 +08:00
changyuxiang
5810bba3d8 精英5个 2025-07-28 21:05:35 +08:00
tuxinyu
7bb1df9f35 111111 2025-07-28 21:04:58 +08:00
tuxinyu
f0bb21c710 Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-07-28 21:00:08 +08:00
tuxinyu
f7b00effe8 1111111 2025-07-28 20:59:27 +08:00
changyuxiang
a0c49f6a6e Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-07-28 20:42:55 +08:00
changyuxiang
e4aadf984d 1 2025-07-28 20:42:43 +08:00
puxuan
a335e07912 Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-07-28 20:37:13 +08:00
puxuan
2080d5d643 挂机 2025-07-28 20:37:09 +08:00
tuxinyu
b50725a99c Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-07-28 20:15:46 +08:00
tuxinyu
6d7ddf4a25 1111111 2025-07-28 20:15:25 +08:00
puxuan
f12dad8c7f config 2025-07-23 20:06:30 +08:00
changyuxiang
3c60d66567 1 2025-07-22 21:02:55 +08:00
changyuxiang
2b95659045 Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-07-22 20:48:32 +08:00
changyuxiang
2018520302 1 2025-07-22 20:48:26 +08:00
puxuan
d0fa3731bb arena 2025-07-22 20:43:38 +08:00
puxuan
7db28b8e49 arena 2025-07-21 21:05:32 +08:00
tuxinyu
bec8324c7b Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-07-17 19:28:15 +08:00
tuxinyu
cdb2e850fb 11111 2025-07-17 19:27:37 +08:00
kai
3f12d50201 每日挑战 2025-07-16 21:58:51 +08:00
kai
4fb30c128d 每日挑战 2025-07-16 21:56:44 +08:00
changyuxiang
b2cd80a254 Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-07-16 21:38:24 +08:00
changyuxiang
f3b8eec0cd 1 2025-07-16 21:38:20 +08:00
puxuan
3510a6bef5 Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-07-15 20:59:50 +08:00
puxuan
94227802b4 arena 2025-07-15 20:59:15 +08:00
changyuxiang
c17c28f4fe 过热小莫、火花机 2025-07-15 20:53:38 +08:00
changyuxiang
97ba55700d Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-07-14 21:42:00 +08:00
changyuxiang
080cb76743 1 2025-07-14 21:41:57 +08:00
puxuan
b921faab86 Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-07-14 21:32:58 +08:00
puxuan
7515a0ef1b arena 2025-07-14 21:32:49 +08:00
changyuxiang
61e7e50afd 最后一个怪 2025-07-14 20:59:43 +08:00
puxuan
86f8891173 主界面箱子 2025-07-14 20:48:32 +08:00
kai
4429fb0e24 竞技场 2025-07-13 23:09:23 +08:00
changyuxiang
776d33f119 1 2025-07-09 22:04:58 +08:00
changyuxiang
a8e400309d 一波小怪 2025-07-09 21:22:43 +08:00
tuxinyu
6cfa99a2fd 11111111 2025-07-09 20:49:33 +08:00
tuxinyu
ff7526810b Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-07-09 20:00:33 +08:00
tuxinyu
bff03d9595 1111111 2025-07-09 20:00:22 +08:00
kai
e1abcbf979 主界面 2025-07-07 23:37:57 +08:00
puxuan
d7db1af006 Merge branch 'dev_chapter' into dev_hero 2025-07-07 21:39:59 +08:00
puxuan
ccf4d4cf3e 主界面 2025-07-07 21:39:35 +08:00
changyuxiang
ac48012ed0 传两个小怪,差6个 2025-07-07 20:38:27 +08:00
puxuan
c47f373913 Merge branch 'dev_3' into dev_hero 2025-07-07 19:59:32 +08:00
puxuan
6fbcf645cb 屏蔽报错 2025-07-07 19:58:01 +08:00
puxuan
b4c27e47f0 Merge branch 'dev_hero' into dev_chapter
# Conflicts:
#	Assets/arts/atlas/ui/main.spriteatlas
#	Assets/arts/textures/ui/main/main_bar_2_bg.png.meta
#	Assets/arts/textures/ui/main/main_bg_4.png.meta
2025-07-04 12:56:52 +08:00
puxuan
a4c4632f98 res 2025-07-04 12:54:20 +08:00
puxuan
fd3cac4e2e proto 2025-07-04 12:51:21 +08:00
puxuan
424c407aba proto 2025-07-04 12:49:14 +08:00
puxuan
604b634b80 chapter 2025-07-03 20:56:56 +08:00
tuxinyu
c7b30dcf87 Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-07-03 20:46:14 +08:00
tuxinyu
0845703721 1111 2025-07-03 20:40:51 +08:00
changyuxiang
10693e85b3 Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-07-02 20:39:09 +08:00
changyuxiang
d06e38ae36 1 2025-07-02 20:39:02 +08:00
tuxinyu
bbcbdabe27 Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-06-30 22:14:50 +08:00
tuxinyu
194eef9612 1111111 2025-06-30 22:14:34 +08:00
puxuan
d92df2510a hero 2025-06-30 22:05:54 +08:00
puxuan
d66db62d4b hero 2025-06-30 22:02:12 +08:00
changyuxiang
d128fb5203 2025-06-30 20:08:39 +08:00
kai
d5bdd59e65 . 2025-06-29 16:45:09 +08:00
kai
3a47091fa5 主界面 2025-06-29 16:36:24 +08:00
kai
d988308e79 主界面 2025-06-29 15:15:37 +08:00
kai
4bd8a963ce 主界面 2025-06-29 13:38:53 +08:00
kai
d8fe750a63 竞技场报错 2025-06-29 11:34:35 +08:00
kai
8611677a5d 商店报错 2025-06-29 10:37:02 +08:00
kai
f199aa4642 hero 2025-06-28 19:10:51 +08:00
puxuan
bab3c5b294 hero 2025-06-28 14:15:41 +08:00
puxuan
1d826dca2d 英雄界面 2025-06-26 21:34:10 +08:00
puxuan
5d042832ad hero 2025-06-26 00:14:17 +08:00
puxuan
c8ef9aa7e7 Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-06-26 00:13:52 +08:00
puxuan
3e707f40a6 res 2025-06-25 22:44:41 +08:00
puxuan
d1c1de9e75 res 2025-06-25 22:42:55 +08:00
changyuxiang
f526f0fcfb Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-06-25 19:30:41 +08:00
changyuxiang
e6eca956a3 更新怪 2025-06-25 19:30:37 +08:00
tuxinyu
0970248aaa 6we8gf4rweg5 2025-06-24 21:21:54 +08:00
puxuan
5291201c37 lua 2025-06-23 22:15:24 +08:00
changyuxiang
27296bd4ed 怪物123重制版 2025-06-23 21:26:33 +08:00
changyuxiang
75da39d626 10个英雄更新 2025-06-23 20:31:50 +08:00
puxuan
7106d1b991 star 2025-06-23 00:04:42 +08:00
puxuan
69701634df 暂时还原p0001-p0004 2025-06-22 22:15:23 +08:00
puxuan
b457d91a2d Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-06-22 19:06:13 +08:00
puxuan
0223007bc4 star 2025-06-22 19:06:10 +08:00
changyuxiang
4bf6afa963 Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-06-20 22:28:06 +08:00
changyuxiang
01569a9965 改名字 2025-06-20 22:28:01 +08:00
tuxinyu
5ee0c9c5f1 Merge branch 'dev_hero' of https://git.wdd817.link/puxuan/c1_unity into dev_hero 2025-06-19 21:15:43 +08:00
tuxinyu
9cedb170d6 5413564 2025-06-19 21:15:37 +08:00
changyuxiang
08434ef5b5 死灵法师 2025-06-19 21:14:08 +08:00
changyuxiang
513acf7dc9 死灵法师 2025-06-19 20:32:37 +08:00
puxuan
9034e6a452 fix bug 2025-06-18 21:24:27 +08:00
puxuan
5b143a061f fix bug 2025-06-17 21:00:44 +08:00
puxuan
dd355826d3 fix bug 2025-06-17 20:51:43 +08:00
puxuan
c530cf25b9 fix bug 2025-06-17 20:29:18 +08:00
puxuan
99cccbbb75 res 2025-06-17 19:59:50 +08:00
puxuan
0510e5c71b fix bug 2025-06-17 19:40:26 +08:00
puxuan
71edfe09ca fix bug 2025-06-16 20:59:30 +08:00
puxuan
35e3a95e79 Merge branch 'dev_spine' into dev_hero 2025-06-16 20:20:28 +08:00
1dde46fb3a 1 2025-06-13 02:26:43 +08:00
47d3a203d8 加个born 2025-06-13 00:18:23 +08:00
puxuan
7f796f480c tips 2025-06-12 22:47:33 +08:00
puxuan
c3d9830278 config 2025-06-12 22:06:18 +08:00
puxuan
1b031303fc Merge branch 'dev_spine' into dev_hero 2025-06-12 22:05:06 +08:00
d5ec878c3f 1 2025-06-12 01:21:57 +08:00
puxuan
68da2a7313 boss技能 2025-06-11 23:52:39 +08:00
puxuan
674e9c8679 mystery_box 2025-06-10 23:37:34 +08:00
puxuan
0b45dbebb8 Merge branch 'dev_spine' into dev_hero 2025-06-10 23:37:00 +08:00
94377eed13 1 2025-06-10 22:27:22 +08:00
puxuan
37dc0e4dad 受击 2025-06-09 23:51:29 +08:00
puxuan
7a0501f3ce Merge branch 'dev_spine' into dev_hero 2025-06-09 23:44:24 +08:00
95533b39a2 1 2025-06-09 23:42:28 +08:00
puxuan
3aeae3c273 Merge branch 'dev_spine' into dev_hero 2025-06-09 23:20:46 +08:00
6e6fc18cd8 2025-06-09 21:55:45 +08:00
e90fdc5796 1 2025-06-08 21:52:16 +08:00
puxuan
b9e1915f98 fix bug 2025-06-06 16:29:18 +08:00
puxuan
d080d9b23e hero 2025-06-05 00:14:52 +08:00
puxuan
d82329610d skill 2025-06-03 23:58:23 +08:00
puxuan
2b15221013 Merge branch 'dev_spine' into dev_hero 2025-06-02 23:37:33 +08:00
tuxinyu
dc0eee51b9 章鱼哥 2025-05-29 20:56:23 +08:00
puxuan
a77df017d7 hero 2025-05-28 00:21:24 +08:00
puxuan
472cefe2ca Merge branch 'dev_spine' into dev_hero 2025-05-27 00:09:19 +08:00
puxuan
4cb91d9c95 升星 2025-05-27 00:08:50 +08:00
8c70edf172 1 2025-05-26 22:53:40 +08:00
57119c41da 1 2025-05-26 22:42:47 +08:00
b7014b03ee 678 2025-05-26 22:42:25 +08:00
puxuan
14a895bfc0 2025-05-25 23:41:09 +08:00
puxuan
e346e7146e hero 2025-05-25 23:34:19 +08:00
puxuan
7718bc4ab0 英雄基础数据 2025-05-25 19:22:07 +08:00
puxuan
4106b91afd Merge branch 'dev_spine' into dev_hero 2025-05-24 23:51:39 +08:00
puxuan
5f87e1e817 hero 2025-05-24 23:49:57 +08:00
000e3803dc 替换UI文件 2025-05-24 21:14:51 +08:00
puxuan
25f8d5badb lua 2025-05-24 15:48:08 +08:00
0ec8c05429 Merge branch 'dev_spine' of https://git.wdd817.link/puxuan/c1_unity into dev_spine 2025-05-24 14:21:16 +08:00
9472a28e5c ui替换 2025-05-24 14:21:13 +08:00
puxuan
1a2510264e config 2025-05-24 12:00:36 +08:00
puxuan
c145034f84 gm 2025-05-23 22:41:43 +08:00
da58ff6466 Merge branch 'dev_spine' of https://git.wdd817.link/puxuan/c1_unity into dev_spine 2025-05-23 22:32:46 +08:00
71467e216d UI版本更新 2025-05-23 22:32:40 +08:00
puxuan
97fd207faf Merge branch 'dev' into dev_spine 2025-05-23 00:05:23 +08:00
puxuan
9916b78bb6 lua 2025-05-22 22:53:38 +08:00
f7ba919c6a Merge branch 'dev_spine' of https://git.wdd817.link/puxuan/c1_unity into dev_spine 2025-05-20 23:49:06 +08:00
2393149460 UI替换 2025-05-20 23:42:34 +08:00
puxuan
1e5d69bed5 fix bug 2025-05-20 23:11:58 +08:00
puxuan
2639862d95 proto 2025-05-19 22:11:40 +08:00
5328524eed Merge branch 'dev_spine' of https://git.wdd817.link/puxuan/c1_unity into dev_spine 2025-05-18 22:57:44 +08:00
c1c8ae1a91 1 2025-05-18 22:57:36 +08:00
puxuan
00b2a50ddb Merge branch 'dev' into dev_spine 2025-05-18 22:39:37 +08:00
1ade69bebe 英雄更新 2025-05-18 21:06:27 +08:00
6f4a9e0238 1 2025-05-18 01:34:11 +08:00
ff733e9981 1英雄 2025-05-18 01:34:05 +08:00
1d30bb96a2 主界面UI和小怪BOSS替换 2025-05-17 20:35:44 +08:00
puxuan
aa81a18d2c . 2025-05-15 23:52:48 +08:00
puxuan
5f101e936a log 2025-05-15 22:41:22 +08:00
puxuan
21d6651d1b lua 2025-05-15 22:32:46 +08:00
puxuan
b1ea12e70d .. 2025-05-15 22:12:18 +08:00
puxuan
a447c7470a 屏蔽配置检查 2025-05-15 08:37:58 +08:00
puxuan
43222b0299 主界面 2025-05-13 00:12:08 +08:00
puxuan
54843c5417 spine 2025-05-06 20:44:39 +08:00
puxuan
d33daf1652 c1 2025-05-05 22:23:55 +08:00
kai
2dd336e3bc gate 2025-04-30 23:19:05 +08:00
kai
986b121df4 升级引擎 2025-04-30 23:12:28 +08:00
19922 changed files with 14303969 additions and 872368 deletions

1
.gitignore vendored
View File

@ -54,3 +54,4 @@ Assets/Editor/FYUtils
Assets/Editor/FYUtils.meta
fbg.log
.vsconfig

View File

@ -20,59 +20,30 @@ namespace BFEditor.Build
}
}
public static class BuildMode
{
public const string DEV = "dev";
public const string TEST = "test";
public const string PUBLISH = "publish";
}
[Serializable]
public class BuildInfo
{
public string bundleName; // 包名
public string version; // 版本号
public string mode; // 渠道名_debug 或 渠道名_release
public int version_code = 1; // 各自渠道的version_code
public string mode; // 内网测试包,外网测试包,外网正式包
public int versionCode = 1; // 各自渠道的version code
public List<BulidGitInfo> git_info; // 打包的git信息
public bool exportProject = false; // 是否只导出工程
public bool onlyAssetBundle = false; // 是否只打ab包
[NonSerialized]
public bool skipVersion = false; // 是否跳过版本校验
public bool IsGPChannel()
{
return bundleName == "com.combo.heroes.puzzle.rpg";
}
public bool IsGPOfficial()
{
return bundleName == "com.combo.heroes.puzzle.rpg";
}
// dev包使用mono编译不会导出as工程
public bool IsDevChannel()
{
return bundleName == "com.juzu.b6.dev" || bundleName == "com.juzu.b6.dev.android" ||
bundleName == "com.juzu.b6.dev.ios";
}
public bool IsReleaseChannel()
{
return !IsDevChannel();
}
// 是否是内网release
public bool IsLanRelease()
{
return bundleName == "com.juzu.b6.release.android" || bundleName == "com.juzu.b6.release.ios";
}
public bool IsPublish()
{
return !IsDevChannel() && !IsLanRelease();
}
public bool IsIOSPlatform()
{
return bundleName.Contains("ios");
}
public bool IsAndroidPlatform()
{
return !IsIOSPlatform();
return mode == BuildMode.PUBLISH;
}
public string GetBundleName()

View File

@ -48,6 +48,12 @@ namespace BFEditor.Build
return false;
}
// 只打ab包
if (buildInfo.onlyAssetBundle)
{
AssetDatabase.Refresh();
return true;
}
// 删除不进包的多语言
// if (!DeleteOverLanguageAb(buildInfo))
// {
@ -73,19 +79,10 @@ namespace BFEditor.Build
watch.Start();
var result = false;
if (buildInfo.IsAndroidPlatform() && BuildAndroidUtils.BuildAndroidPlayer(buildInfo))
if (BuildAndroidUtils.BuildAndroidPlayer(buildInfo))
{
result = true;
}
#if UNITY_EDITOR_OSX
if (buildInfo.IsIOSPlatform() && BuildIOSUtils.BuildIOSPlayer(buildInfo))
{
result = true;
}
#endif
if (result)
{
watch.Stop();
@ -140,8 +137,7 @@ namespace BFEditor.Build
var watch = new System.Diagnostics.Stopwatch();
watch.Start();
// var buildTarget = buildInfo.IsIOSPlatform() ? BuildTarget.iOS : BuildTarget.Android;
var isRelease = buildInfo.IsReleaseChannel();
var isRelease = true;
Debug.Log("[bfinfo]开始打包资源, bundleName : " + buildInfo.bundleName + " version : " + buildInfo.version + " mode : " + buildInfo.mode);
// // 检查平台
@ -197,7 +193,7 @@ namespace BFEditor.Build
}
// 本地缓存ab
if (buildInfo.IsReleaseChannel())
if (buildInfo.IsPublish())
{
Debug.Log("[bfinfo]正在缓存assetbundles...");
BFEditorUtils.CopyDirWithIgnore(outputPath, Path.Combine(AssetBundleCachePath, buildInfo.version), new List<string> { ".meta" });

View File

@ -6,20 +6,19 @@ namespace BFEditor.Build
public enum BFPlatformOptions
{
AndroidDev = 1,
IOSDev,
AndroidRelease,
AndroidTest,
AndroidGP,
AndroidGPRU
}
public class BuildProjectWindow : EditorWindow
{
private static int versionCode = 18;
private static string versionName = "1.6.5";
private static int VersionCode = 4;
private static string VersionName = "1.2.10";
private static int VersionCodeRU = 12;
private static string VersionNameRU = "0.4.9";
BFPlatformOptions platform = BFPlatformOptions.AndroidDev;
const string ANDROID_DEV_PACKAGE_NAME = "com.juzu.b6.dev.android";
const string ANDROID_RELEASE_PACKAGE_NAME = "com.juzu.b6.release.android";
const string ANDROID_GP_PACKAGE_NAME = "com.combo.heroes.puzzle.rpg";
const string IOS_PACKAGE_NAME = "com.juzu.b6.dev.ios";
const string ANDROID_GP_PACKAGE_NAME = "com.juzu.b6.dev.android";
public BuildProjectWindow()
{
@ -30,53 +29,93 @@ namespace BFEditor.Build
void OnGUI()
{
GUILayout.BeginVertical("box");
EditorGUILayout.LabelField("选择渠道");
platform = (BFPlatformOptions)EditorGUILayout.EnumPopup("", platform);
EditorGUILayout.Space();
EditorGUILayout.LabelField("版本: " + versionName);
EditorGUILayout.Space();
string packageName;
string mode;
string versionName = VersionName;
int versionCode = VersionCode;
bool skipVersion = false;
string appType;
if (platform == BFPlatformOptions.AndroidDev)
{
packageName = ANDROID_DEV_PACKAGE_NAME;
packageName = ANDROID_GP_PACKAGE_NAME;
skipVersion = true;
mode = "dev_debug";
mode = BuildMode.DEV;
versionName = "0.1.0";
versionCode = 1;
appType = "内网测试包";
}
else if(platform == BFPlatformOptions.AndroidRelease)
else if(platform == BFPlatformOptions.AndroidTest)
{
packageName = ANDROID_RELEASE_PACKAGE_NAME;
mode = "release_release";
packageName = ANDROID_GP_PACKAGE_NAME;
mode = BuildMode.TEST;
versionName = "0.1.0";
versionCode = 1;
appType = "外网测试包";
}
else if(platform == BFPlatformOptions.AndroidGP)
{
packageName = ANDROID_GP_PACKAGE_NAME;
mode = "publish_release";
mode = BuildMode.PUBLISH;
appType = "外网正式包";
}
else
{
packageName = IOS_PACKAGE_NAME;
mode = "dev_debug";
packageName = ANDROID_GP_PACKAGE_NAME;
skipVersion = true;
mode = BuildMode.DEV;
versionName = "0.1.0";
versionCode = 1;
appType = "内网测试包";
}
GUILayout.BeginVertical("box");
EditorGUILayout.LabelField("选择");
platform = (BFPlatformOptions)EditorGUILayout.EnumPopup("", platform);
EditorGUILayout.Space();
EditorGUILayout.LabelField("版本: " + versionName);
EditorGUILayout.Space();
EditorGUILayout.LabelField("包名: " + packageName);
EditorGUILayout.LabelField("mode: " + mode);
EditorGUILayout.Space();
EditorGUILayout.LabelField(appType);
EditorGUILayout.Space();
EditorGUILayout.Space();
EditorGUILayout.Space();
if (GUILayout.Button("一键打包"))
{
var buildInfo = new BuildInfo();
buildInfo.version = versionName;
buildInfo.version_code = versionCode;
buildInfo.versionCode = versionCode;
buildInfo.mode = mode;
buildInfo.bundleName = packageName;
buildInfo.skipVersion = skipVersion;
if (GUILayout.Button("一键APK"))
{
buildInfo.exportProject = false;
buildInfo.onlyAssetBundle = false;
BuildProjectTools.BuildBFPlayer(buildInfo);
}
EditorGUILayout.Space();
EditorGUILayout.Space();
EditorGUILayout.Space();
EditorGUILayout.Space();
EditorGUILayout.Space();
if (GUILayout.Button("仅导出工程"))
{
buildInfo.exportProject = true;
buildInfo.onlyAssetBundle = false;
BuildProjectTools.BuildBFPlayer(buildInfo);
}
EditorGUILayout.Space();
EditorGUILayout.Space();
EditorGUILayout.Space();
EditorGUILayout.Space();
EditorGUILayout.Space();
if (GUILayout.Button("仅打ab包"))
{
buildInfo.exportProject = true;
buildInfo.onlyAssetBundle = true;
BuildProjectTools.BuildBFPlayer(buildInfo);
}

View File

@ -77,25 +77,12 @@ namespace BFEditor.Build
Directory.CreateDirectory(outputPath);
}
AssetBundleManifest manifest;
if (release)
{
manifest = BuildPipeline.BuildAssetBundles(outputPath, options |
AssetBundleManifest manifest = BuildPipeline.BuildAssetBundles(outputPath, options |
BuildAssetBundleOptions.StrictMode |
BuildAssetBundleOptions.DisableLoadAssetByFileName |
BuildAssetBundleOptions.DisableLoadAssetByFileNameWithExtension |
BuildAssetBundleOptions.DeterministicAssetBundle,
target);
}
else
{
manifest = BuildPipeline.BuildAssetBundles(outputPath, options |
BuildAssetBundleOptions.StrictMode |
BuildAssetBundleOptions.DisableLoadAssetByFileName |
BuildAssetBundleOptions.DisableLoadAssetByFileNameWithExtension |
BuildAssetBundleOptions.DeterministicAssetBundle,
target);
}
if (manifest == null)
{
@ -365,12 +352,12 @@ namespace BFEditor.Build
SetProtoABName(Path.Combine(Application.dataPath, "proto"), index++ / total);
SetSpineABName(Path.Combine(Application.dataPath, "arts", "spines"), index++ / total);
SetFirstABName(Path.Combine(Application.dataPath, "first"), index++ / total);
// SetTimelineABName(Path.Combine(Application.dataPath, "arts", "timeline"), 16f / total);
// SetTimelineABName(Path.Combine(Application.dataPath, "arts", "timeline"), index++ / total);
SetVideoABName(Path.Combine(Application.dataPath, "arts", "video"), index++ / total);
// SetLanguageResABName(Resource.ResourceProcessConfig.LANGUAGE_PATH, 19f / total);
// SetBakedatasABName(Path.Combine(Application.dataPath, "arts", "bakedatas"), 21f / total);
// SetLightProbesABName(Path.Combine(Application.dataPath, "arts", "lightprobes"), 22f / total);
// SetReflectionsABName(Path.Combine(Application.dataPath, "arts", "reflections"), 23f / total);
// SetLanguageResABName(Resource.ResourceProcessConfig.LANGUAGE_PATH, index++ / total);
// SetBakedatasABName(Path.Combine(Application.dataPath, "arts", "bakedatas"), index++ / total);
// SetLightProbesABName(Path.Combine(Application.dataPath, "arts", "lightprobes"), index++ / total);
// SetReflectionsABName(Path.Combine(Application.dataPath, "arts", "reflections"), index++ / total);
EditorUtility.ClearProgressBar();
AssetDatabase.SaveAssets();
@ -572,11 +559,11 @@ namespace BFEditor.Build
{
EditorUtility.DisplayProgressBar("提示", "正在设置spine ABName", progress);
var dirInfo = new DirectoryInfo(dirPath);
var dirs = dirInfo.GetDirectories();
for (var i = 0; i < dirs.Length; i++)
string[] dirList = { "ui" , "characters" };
for (var i = 0; i < dirList.Length; ++i)
{
SetABNameBySubDir(dirs[i]);
var dirInfo = new DirectoryInfo(Path.Combine(dirPath, dirList[i]));
SetABNameBySubDir(dirInfo);
}
}
@ -596,6 +583,11 @@ namespace BFEditor.Build
var dirInfo = new DirectoryInfo(Path.Combine(dirPath, dirList[i]));
SetABNameBySubDir(dirInfo);
}
var dirInfo2 = new DirectoryInfo(Path.Combine(dirPath, "ui", "activity"));
if (dirInfo2.Exists)
{
SetABNameBySubDir(dirInfo2);
}
}
static void SetBackgroundABName(string dirPath)

View File

@ -3,9 +3,9 @@ using UnityEditor;
using System.IO;
using UnityEditor.Build.Reporting;
using System.Text.RegularExpressions;
using System.Collections.Generic;
using System;
using System.Threading;
using System.Collections.Generic;
namespace BFEditor.Build
{
@ -24,13 +24,13 @@ namespace BFEditor.Build
static string BuglyPath = Application.dataPath + "/../Bugly";
static string BuglySOPath = Application.dataPath + "/../Bugly/so";
static string GradleExcuteProjectPath = Application.dataPath + "/../BFVersions/android/ub-release";
static string DevAsProjectPath = Application.dataPath + "/../BFVersions/android/dz_dev";
static string LanReleaseAsProjectPath = Application.dataPath + "/../BFVersions/android/dz_release";
static string GoogleAsProjectPath = Application.dataPath + "/../BFVersions/android/dz_google_apk";
static string GoogleCommonProjectPath = Application.dataPath + "/../BFVersions/android/google_common";
static string GPAsProjectPath = Application.dataPath + "/../BFVersions/android/ub-gp"; // gp删档测试渠道
static string GPOfficialAsProjectPath = Application.dataPath + "/../BFVersions/android/ub-google"; // gp正式渠道
static string RuStoreProjectPath = Application.dataPath + "/../BFVersions/android/ru_store";
static string RuProjectPath = Application.dataPath + "/../BFVersions/android/ru";
static string GoogleServicesProjectPath = Application.dataPath + "/../BFVersions/android/google-services";
static string PublishAsProjectPath = Application.dataPath + "/../BFVersions/android/publish_release";
static string KeystoreFilePath = Application.dataPath + "/../BFVersions/android/keystore/dz_keystore.txt";
static string SignShellPath = Application.dataPath + "/../BFFiles/androidkey";
static string GpAlginShellPath = Application.dataPath + "/../BFFiles/androidkey";
static HashSet<string> AABInPackageFileHashSet = new HashSet<string>()
@ -77,10 +77,19 @@ namespace BFEditor.Build
var bpOptions = GetBuildOptions(buildInfo);
var report = BuildPipeline.BuildPlayer(bpOptions);
// 打包成功
// 导出工程成功
if (report.summary.result == BuildResult.Succeeded)
{
return BuildAndroidAPK(buildInfo);
MergeProject(buildInfo, GoogleAsProjectPath);
FixGradleVersion(buildInfo.versionCode, buildInfo.version);
if (buildInfo.exportProject)
{
return true;
}
else
{
return BuildAPK(buildInfo);
}
}
else
{
@ -98,7 +107,7 @@ namespace BFEditor.Build
PlayerSettings.bundleVersion = buildInfo.version;
// 设置VersionCode
PlayerSettings.Android.bundleVersionCode = buildInfo.version_code;
PlayerSettings.Android.bundleVersionCode = buildInfo.versionCode;
// 设置竖屏
PlayerSettings.defaultInterfaceOrientation = UIOrientation.Portrait;
@ -118,22 +127,25 @@ namespace BFEditor.Build
// 设置包名
PlayerSettings.SetApplicationIdentifier(BuildTargetGroup.Android, buildInfo.bundleName);
Debug.Log("[bfinfo]设置包名:" + buildInfo.bundleName);
// 跳过版本控制
var symbols = ANDROID_DEFINE_SYMBOLS;
if (buildInfo.skipVersion)
{
symbols = symbols + ";SKIP_VERSION;";
symbols = symbols + ";SKIP_VERSION";
}
if (buildInfo.mode == BuildMode.DEV)
{
symbols = symbols + ";BF_APP_DEV";
}
else if (buildInfo.mode == BuildMode.TEST)
{
symbols = symbols + ";BF_APP_TEST";
}
PlayerSettings.SetScriptingDefineSymbolsForGroup(BuildTargetGroup.Android, symbols);
Debug.Log("[bfinfo]设置defineSymbols: " + symbols);
// 是否是dev
var development = buildInfo.IsDevChannel() ? true : false;
EditorUserBuildSettings.development = development;
// 商品名称
// 应用名
if (buildInfo.IsPublish())
@ -142,17 +154,15 @@ namespace BFEditor.Build
}
else
{
PlayerSettings.productName = development ? "b6-dev" : "b6-release";
PlayerSettings.productName = "b6-dev";
}
// BuildType设置dev/release
EditorUserBuildSettings.androidBuildType = development ? AndroidBuildType.Debug : AndroidBuildType.Release;
EditorUserBuildSettings.development = false;
EditorUserBuildSettings.androidBuildType = AndroidBuildType.Release;
// 是否导出as工程
// EditorUserBuildSettings.exportAsGoogleAndroidProject = development ? false : true;
EditorUserBuildSettings.exportAsGoogleAndroidProject = true;
// dev使用Mono release使用IL2CPP
var scriptImp = development ? ScriptingImplementation.Mono2x : ScriptingImplementation.IL2CPP;
var scriptImp = ScriptingImplementation.IL2CPP;
PlayerSettings.SetScriptingBackend(BuildTargetGroup.Android, scriptImp);
}
@ -164,29 +174,9 @@ namespace BFEditor.Build
var bpOptions = new BuildPlayerOptions();
bpOptions.scenes = AssetBundleUtils.GetBuildScenes();
bpOptions.target = BuildTarget.Android;
// if (buildInfo.IsDevChannel())
// {
// bpOptions.locationPathName = GetDevApkPathName(buildInfo);
// Debug.Log("[bfinfo]apk path : " + bpOptions.locationPathName);
// }
// else
// {
// bpOptions.locationPathName = GetASProjectPathName();
// Debug.Log("[bfinfo]asProject path : " + bpOptions.locationPathName);
// }
bpOptions.locationPathName = GetASProjectPathName(buildInfo);
BuildOptions options;
if (buildInfo.IsReleaseChannel())
{
options = BuildOptions.None;
}
else
{
options = BuildOptions.Development;
}
BuildOptions options = BuildOptions.None;
bpOptions.options = options;
return bpOptions;
}
@ -200,7 +190,7 @@ namespace BFEditor.Build
static string GetASProjectPathName(BuildInfo buildInfo)
{
var dir = Path.Combine(AS_PROJECT_PATH, buildInfo.mode);
var dir = Path.Combine(AS_PROJECT_PATH, "publish_release");
if (Directory.Exists(dir))
{
Directory.Delete(dir, true);
@ -208,32 +198,53 @@ namespace BFEditor.Build
return dir;
}
static bool BuildAPK(BuildInfo buildInfo)
static bool BuildAPK(BuildInfo buildInfo, bool isAAB = false)
{
if (buildInfo.IsGPChannel())
// 设置jdk环境变量
string javaHomePath = System.Environment.GetEnvironmentVariable("JAVE_HOME");
if (string.IsNullOrEmpty(javaHomePath))
{
MergeGPToReleaseProject(buildInfo);
FixGradleVersion(buildInfo.version_code, buildInfo.version);
Debug.LogError("[bferror] 找不到环境变量JAVE_HOME");
return false;
}
if (buildInfo.IsLanRelease())
var gradleFilePath = Path.Combine(PublishAsProjectPath, "gradle.properties");
var gradleFileText = File.ReadAllText(gradleFilePath);
if (!gradleFileText.Contains("org.gradle.java.home"))
{
AddBuglyParamsToReleaseProject();
gradleFileText = gradleFileText + "\norg.gradle.java.home=" + javaHomePath.Replace("\\", "/");
}
File.WriteAllText(gradleFilePath, gradleFileText);
// 设置密钥密码
if (File.Exists(KeystoreFilePath))
{
var password = File.ReadAllText(KeystoreFilePath).Replace("\n", "").Replace("\r", "");
var buildGradlePath = Path.Combine(PublishAsProjectPath, "launcher/build.gradle");
var text = File.ReadAllText(buildGradlePath);
var regex = new Regex("REPLACE_PASSWORD");
text = regex.Replace(text, password);
File.WriteAllText(buildGradlePath, text);
}
Debug.Log("[bfinfo]正在buildApk...");
var success = true;
var args = "";
if (buildInfo.IsReleaseChannel())
var args = "assembleRelease";
if (isAAB)
{
args += " assembleRelease";
args = "bundleRelease";
}
else
string gradleHomePath = System.Environment.GetEnvironmentVariable("GRADLE_HOME");
if (string.IsNullOrEmpty(gradleHomePath))
{
args += " assembleDebug";
Debug.LogError("[bferror] 找不到环境变量GRADLE_HOME");
return false;
}
BFEditorUtils.RunCommond(GRADLE_PATH, args, GradleExcuteProjectPath,
#if UNITY_EDITOR_OSX
var gradleCommondPath = Path.Combine(gradleHomePath, "gradle");
#else
var gradleCommondPath = Path.Combine(gradleHomePath, "gradle.bat");
#endif
BFEditorUtils.RunCommond(gradleCommondPath, args, PublishAsProjectPath,
(msg) =>
{
},
@ -245,80 +256,35 @@ namespace BFEditor.Build
Debug.LogError("[bferror] " + errorMsg);
}
});
if (buildInfo.IsGPChannel())
{
// 尝试制作并上传bugly符号表 开新Thread不影响打包流程
if (success)
{
CopySOAndUploadBuglySymbol(buildInfo.bundleName, buildInfo.version);
}
}
return success;
}
static bool BuildAAB(BuildInfo buildInfo)
{
var result = true;
if(buildInfo.IsGPChannel())
{
// MergeGPToReleaseProject(buildInfo);
// FixGradleVersion(buildInfo.version_code, buildInfo.version);
}
return result;
}
static bool BuildAndroidAPK(BuildInfo buildInfo)
{
var result = true;
if(buildInfo.IsDevChannel())
{
MergeProject(buildInfo, DevAsProjectPath);
var dir = Path.Combine(Application.dataPath, "../", AS_PROJECT_PATH, buildInfo.mode);
BFEditorUtils.RunCommond("gradle", " assembleDebug", dir, (msg) => {
}, (errorMsg) => {
Debug.LogError("[bferror] " + errorMsg);
});
}
else if(buildInfo.IsLanRelease())
{
MergeProject(buildInfo, LanReleaseAsProjectPath);
}
else if(buildInfo.IsGPChannel())
{
MergeProject(buildInfo, GoogleAsProjectPath);
FixGradleVersion(buildInfo.version_code, buildInfo.version);
}
return result;
}
/// <summary>
/// 合并dev工程
/// 合并工程
/// </summary>
static void MergeProject(BuildInfo buildInfo, String asProjectPath)
{
Debug.Log("[bfinfo]正在整合dev project...");
Debug.Log("[bfinfo]正在整合 project...");
var dir = Path.Combine(Application.dataPath, "../", AS_PROJECT_PATH, buildInfo.mode);
var dir = Path.Combine(Application.dataPath, "../", AS_PROJECT_PATH, "publish_release");
var javaPath = Path.Combine(dir, "unityLibrary/src/main/java");
var manifestPath = Path.Combine(dir, "unityLibrary/src/main/AndroidManifest.xml");
// 老版本unity需要替换这个2021之后的新版本不需要
// 获取到unity打出的build-id
var reader = new StreamReader(new FileStream(manifestPath, FileMode.Open));
string buildIdLine;
while ((buildIdLine = reader.ReadLine()) != null)
{
if (buildIdLine.Contains("unity.build-id"))
{
Debug.Log("[bfinfo]修正build-id: " + buildIdLine);
break;
}
}
reader.Close();
reader.Dispose();
// var reader = new StreamReader(new FileStream(manifestPath, FileMode.Open));
// string buildIdLine;
// while ((buildIdLine = reader.ReadLine()) != null)
// {
// if (buildIdLine.Contains("unity.build-id"))
// {
// Debug.Log("[bfinfo]修正build-id: " + buildIdLine);
// break;
// }
// }
// reader.Close();
// reader.Dispose();
if (Directory.Exists(javaPath))
{
@ -326,6 +292,33 @@ namespace BFEditor.Build
di.Delete(true);
}
// 如果是俄罗斯支付 则需要覆盖为俄罗斯相关文件
// if (buildInfo.bundleName == BF.BFPlatform.ANDROID_GP_PACKAGE_NAME_RU)
// {
// BFEditorUtils.CopyDir(RuProjectPath, dir);
// // 获取到build.gradle和AndroidManifest
// var buildGradlePath = Path.Combine(dir, "launcher/build.gradle");
// var text = File.ReadAllText(buildGradlePath);
// var regex = new Regex("REPLACE_APPLICATION_ID");
// text = regex.Replace(text, buildInfo.bundleName);
// File.WriteAllText(buildGradlePath, text);
// var androidManifestPath = Path.Combine(dir, "launcher/src/main/AndroidManifest.xml");
// text = File.ReadAllText(androidManifestPath);
// regex = new Regex("REPLACE_APPLICATION_ID");
// text = regex.Replace(text, buildInfo.bundleName);
// File.WriteAllText(androidManifestPath, text);
// // 还有另一个AndroidManifest
// androidManifestPath = Path.Combine(dir, "unityLibrary/src/main/AndroidManifest.xml");
// text = File.ReadAllText(androidManifestPath);
// regex = new Regex("REPLACE_APPLICATION_ID");
// text = regex.Replace(text, buildInfo.bundleName);
// File.WriteAllText(androidManifestPath, text);
// }
// // 否则使用通用谷歌
// else
// {
BFEditorUtils.CopyDir(GoogleCommonProjectPath, dir);
// 获取到google_common复制过去的build.gradle和AndroidManifest
var buildGradlePath = Path.Combine(dir, "launcher/build.gradle");
@ -341,57 +334,21 @@ namespace BFEditor.Build
File.WriteAllText(androidManifestPath, text);
BFEditorUtils.CopyDir(asProjectPath, dir);
text = File.ReadAllText(manifestPath);
regex = new Regex("REPLACE_BUILD_ID");
text = regex.Replace(text, buildIdLine);
File.WriteAllText(manifestPath, text);
}
/// <summary>
/// 合并gp工程
/// </summary>
static void MergeGPToReleaseProject(BuildInfo buildInfo)
// 还有dz_google_apk下的AndroidManifest
androidManifestPath = Path.Combine(dir, "unityLibrary/src/main/AndroidManifest.xml");
text = File.ReadAllText(androidManifestPath);
regex = new Regex("REPLACE_APPLICATION_ID");
text = regex.Replace(text, buildInfo.bundleName);
File.WriteAllText(androidManifestPath, text);
// }
// 统一替换google-services文件
var gsPath = Path.Combine(GoogleServicesProjectPath, Path.Combine(buildInfo.bundleName, "google-services.json"));
if (File.Exists(gsPath))
{
Debug.Log("[bfinfo]正在整合gp渠道sdk...");
var javaPath = GradleExcuteProjectPath + "/src/main/java";
var manifestPath = GradleExcuteProjectPath + "/src/main/AndroidManifest.xml";
// 获取到unity打出的build-id
var reader = new StreamReader(new FileStream(manifestPath, FileMode.Open));
string buildIdLine;
while ((buildIdLine = reader.ReadLine()) != null)
{
if (buildIdLine.Contains("unity.build-id"))
{
Debug.Log("[bfinfo]修正build-id: " + buildIdLine);
break;
var destFilePath = Path.Combine(dir, "launcher/google-services.json");
File.Copy(gsPath, destFilePath, true);
}
}
reader.Close();
reader.Dispose();
if (Directory.Exists(javaPath))
{
var di = new DirectoryInfo(javaPath);
di.Delete(true);
}
if (buildInfo.IsGPOfficial())
{
BFEditorUtils.CopyDir(GPOfficialAsProjectPath, GradleExcuteProjectPath);
}
else
{
BFEditorUtils.CopyDir(GPAsProjectPath, GradleExcuteProjectPath);
}
var text = File.ReadAllText(manifestPath);
var regex = new Regex("REPLACE_BUILD_ID");
text = regex.Replace(text, buildIdLine);
File.WriteAllText(manifestPath, text);
}
/// <summary>
/// fix versionCode versionName

View File

@ -1,348 +1,348 @@
#if UNITY_EDITOR_OSX
using UnityEngine;
using UnityEditor;
using UnityEditor.Build.Reporting;
using UnityEditor.iOS.Xcode;
using System.IO;
#endif
// #if UNITY_EDITOR_OSX
// using UnityEngine;
// using UnityEditor;
// using UnityEditor.Build.Reporting;
// using UnityEditor.iOS.Xcode;
// using System.IO;
// #endif
namespace BFEditor.Build
{
public static class BuildIOSUtils
{
#if UNITY_EDITOR_OSX
const string IOS_DEFINE_SYMBOLS = "THREAD_SAFE;USE_AB";
const string DEV_XCODE_LOCAL_PATH = "BFVersions/ios/dev";
const string RELEASE_XCODE_LOCAL_PATH = "BFVersions/ios/release";
// namespace BFEditor.Build
// {
// public static class BuildIOSUtils
// {
// #if UNITY_EDITOR_OSX
// const string IOS_DEFINE_SYMBOLS = "THREAD_SAFE;USE_AB";
// const string DEV_XCODE_LOCAL_PATH = "BFVersions/ios/dev";
// const string RELEASE_XCODE_LOCAL_PATH = "BFVersions/ios/release";
static string devXCodePath = Application.dataPath + "/../" + DEV_XCODE_LOCAL_PATH;
static string releaseXCodePath = Application.dataPath + "/../" + RELEASE_XCODE_LOCAL_PATH;
static string devOptionsPListPath = Application.dataPath + "/../" + "BFVersions/ios/exports/dev/ExportOptions.plist";
static string releaseOptionsPListPath = Application.dataPath + "/../" + "BFVersions/ios/exports/release/ExportOptions.plist";
static string publishOptionsPListPath = Application.dataPath + "/../" + "BFVersions/ios/exports/dis/ExportOptions.plist";
// static string devXCodePath = Application.dataPath + "/../" + DEV_XCODE_LOCAL_PATH;
// static string releaseXCodePath = Application.dataPath + "/../" + RELEASE_XCODE_LOCAL_PATH;
// static string devOptionsPListPath = Application.dataPath + "/../" + "BFVersions/ios/exports/dev/ExportOptions.plist";
// static string releaseOptionsPListPath = Application.dataPath + "/../" + "BFVersions/ios/exports/release/ExportOptions.plist";
// static string publishOptionsPListPath = Application.dataPath + "/../" + "BFVersions/ios/exports/dis/ExportOptions.plist";
public static bool BuildIOSPlayer(BuildInfo buildInfo)
{
var buildTarget = BuildTarget.iOS;
// public static bool BuildIOSPlayer(BuildInfo buildInfo)
// {
// var buildTarget = BuildTarget.iOS;
// 检查平台
if (EditorUserBuildSettings.activeBuildTarget != buildTarget)
{
Debug.LogError("[bferror]当前没有在对应平台");
return false;
}
// // 检查平台
// if (EditorUserBuildSettings.activeBuildTarget != buildTarget)
// {
// Debug.LogError("[bferror]当前没有在对应平台");
// return false;
// }
// 重新生成XLua
CompileScriptsUtils.RegenerateXLuaCode(true);
// // 重新生成XLua
// CompileScriptsUtils.RegenerateXLuaCode(true);
// 打包设置
BuildSettings(buildInfo);
// // 打包设置
// BuildSettings(buildInfo);
// 开始打包
var bpOptions = GetBuildOptions(buildInfo);
var report = BuildPipeline.BuildPlayer(bpOptions);
if (report.summary.result == BuildResult.Succeeded)
{
return BuildIpaFromXCode(buildInfo);
}
else
{
Debug.LogError("[bferror]unity打包xcode失败");
return false;
}
}
// // 开始打包
// var bpOptions = GetBuildOptions(buildInfo);
// var report = BuildPipeline.BuildPlayer(bpOptions);
// if (report.summary.result == BuildResult.Succeeded)
// {
// return BuildIpaFromXCode(buildInfo);
// }
// else
// {
// Debug.LogError("[bferror]unity打包xcode失败");
// return false;
// }
// }
/// <summary>
/// 打包设置
/// </summary>
static void BuildSettings(BuildInfo buildInfo)
{
// 设置bundleVersion
PlayerSettings.bundleVersion = buildInfo.version;
// /// <summary>
// /// 打包设置
// /// </summary>
// static void BuildSettings(BuildInfo buildInfo)
// {
// // 设置bundleVersion
// PlayerSettings.bundleVersion = buildInfo.version;
// 设置buildNumber
PlayerSettings.iOS.buildNumber = buildInfo.version_code.ToString();
// // 设置buildNumber
// PlayerSettings.iOS.buildNumber = buildInfo.versionCode.ToString();
// 设置竖屏
PlayerSettings.defaultInterfaceOrientation = UIOrientation.Portrait;
PlayerSettings.allowedAutorotateToPortrait = false;
PlayerSettings.allowedAutorotateToPortraitUpsideDown = false;
PlayerSettings.allowedAutorotateToLandscapeLeft = false;
PlayerSettings.allowedAutorotateToLandscapeRight = false;
// // 设置竖屏
// PlayerSettings.defaultInterfaceOrientation = UIOrientation.Portrait;
// PlayerSettings.allowedAutorotateToPortrait = false;
// PlayerSettings.allowedAutorotateToPortraitUpsideDown = false;
// PlayerSettings.allowedAutorotateToLandscapeLeft = false;
// PlayerSettings.allowedAutorotateToLandscapeRight = false;
// 允许Xcode根据appleDeveloperTeamID自动签署应用程序
PlayerSettings.iOS.appleEnableAutomaticSigning = !buildInfo.IsPublish();
// // 允许Xcode根据appleDeveloperTeamID自动签署应用程序
// PlayerSettings.iOS.appleEnableAutomaticSigning = !buildInfo.IsPublish();
// 使用手动签名时iOS资源调配配置文件的类型自动
PlayerSettings.iOS.iOSManualProvisioningProfileType = buildInfo.IsPublish() ? ProvisioningProfileType.Distribution : ProvisioningProfileType.Automatic;
// // 使用手动签名时iOS资源调配配置文件的类型自动
// PlayerSettings.iOS.iOSManualProvisioningProfileType = buildInfo.IsPublish() ? ProvisioningProfileType.Distribution : ProvisioningProfileType.Automatic;
// 关闭启动动画
PlayerSettings.SplashScreen.show = false;
// // 关闭启动动画
// PlayerSettings.SplashScreen.show = false;
// 设置包名
PlayerSettings.SetApplicationIdentifier(BuildTargetGroup.iOS, buildInfo.bundleName);
Debug.Log("[bfinfo]设置包名:" + buildInfo.bundleName);
// // 设置包名
// PlayerSettings.SetApplicationIdentifier(BuildTargetGroup.iOS, buildInfo.bundleName);
// Debug.Log("[bfinfo]设置包名:" + buildInfo.bundleName);
// 是否跳过版本控制
var symbols = IOS_DEFINE_SYMBOLS;
if (buildInfo.skipVersion)
{
symbols = symbols + ";SKIP_VERSION;";
}
// // 是否跳过版本控制
// var symbols = IOS_DEFINE_SYMBOLS;
// if (buildInfo.skipVersion)
// {
// symbols = symbols + ";SKIP_VERSION;";
// }
PlayerSettings.SetScriptingDefineSymbolsForGroup(BuildTargetGroup.iOS, symbols);
Debug.Log("[bfinfo]设置defineSymbols: " + symbols);
// PlayerSettings.SetScriptingDefineSymbolsForGroup(BuildTargetGroup.iOS, symbols);
// Debug.Log("[bfinfo]设置defineSymbols: " + symbols);
// 是否是dev
var development = buildInfo.IsDevChannel();
EditorUserBuildSettings.development = development;
// // 是否是dev
// var development = buildInfo.IsDevChannel();
// EditorUserBuildSettings.development = development;
// 商品名称
if (buildInfo.IsPublish())
{
PlayerSettings.productName = "Heroic Expedition";
}
else
{
PlayerSettings.productName = development ? "b6-dev" : "b6-release";
}
// // 商品名称
// if (buildInfo.IsPublish())
// {
// PlayerSettings.productName = "Heroic Expedition";
// }
// else
// {
// PlayerSettings.productName = development ? "b6-dev" : "b6-release";
// }
// BuildType设置dev/release
EditorUserBuildSettings.iOSBuildConfigType = development ? iOSBuildType.Debug : iOSBuildType.Release;
// // BuildType设置dev/release
// EditorUserBuildSettings.iOSXcodeBuildConfig = development ? XcodeBuildConfig.Debug : XcodeBuildConfig.Release;
// 使用IL2CPP
var scriptImp = ScriptingImplementation.IL2CPP;
PlayerSettings.SetScriptingBackend(BuildTargetGroup.iOS, scriptImp);
// // 使用IL2CPP
// var scriptImp = ScriptingImplementation.IL2CPP;
// PlayerSettings.SetScriptingBackend(BuildTargetGroup.iOS, scriptImp);
// 目标平台架构目前支持ARM64
PlayerSettings.SetArchitecture(BuildTargetGroup.iOS, 1);
}
// // 目标平台架构目前支持ARM64
// PlayerSettings.SetArchitecture(BuildTargetGroup.iOS, 1);
// }
/// <summary>
/// 获取打包参数
/// </summary>
static BuildPlayerOptions GetBuildOptions(BuildInfo buildInfo)
{
var bpOptions = new BuildPlayerOptions();
bpOptions.scenes = AssetBundleUtils.GetBuildScenes();
bpOptions.target = BuildTarget.iOS;
// /// <summary>
// /// 获取打包参数
// /// </summary>
// static BuildPlayerOptions GetBuildOptions(BuildInfo buildInfo)
// {
// var bpOptions = new BuildPlayerOptions();
// bpOptions.scenes = AssetBundleUtils.GetBuildScenes();
// bpOptions.target = BuildTarget.iOS;
var path = buildInfo.IsReleaseChannel() ? RELEASE_XCODE_LOCAL_PATH : DEV_XCODE_LOCAL_PATH;
bpOptions.locationPathName = path;
Debug.Log("[bfinfo]xcode path : " + path);
var absolutePath = buildInfo.IsReleaseChannel() ? releaseXCodePath : devXCodePath;
if (Directory.Exists(absolutePath))
{
Directory.Delete(absolutePath, true);
}
// var path = buildInfo.IsReleaseChannel() ? RELEASE_XCODE_LOCAL_PATH : DEV_XCODE_LOCAL_PATH;
// bpOptions.locationPathName = path;
// Debug.Log("[bfinfo]xcode path : " + path);
// var absolutePath = buildInfo.IsReleaseChannel() ? releaseXCodePath : devXCodePath;
// if (Directory.Exists(absolutePath))
// {
// Directory.Delete(absolutePath, true);
// }
if (!buildInfo.IsPublish())
{
var options = BuildOptions.Development | BuildOptions.ConnectWithProfiler | BuildOptions.AllowDebugging;
bpOptions.options = options;
}
return bpOptions;
}
// if (!buildInfo.IsPublish())
// {
// var options = BuildOptions.Development | BuildOptions.ConnectWithProfiler | BuildOptions.AllowDebugging;
// bpOptions.options = options;
// }
// return bpOptions;
// }
/// <summary>
/// 打包ipa
/// </summary>
static bool BuildIpaFromXCode(BuildInfo buildInfo)
{
// 修改XCode设置
FixXCodeProject(buildInfo);
// /// <summary>
// /// 打包ipa
// /// </summary>
// static bool BuildIpaFromXCode(BuildInfo buildInfo)
// {
// // 修改XCode设置
// FixXCodeProject(buildInfo);
// 权限
UnlockKeyChain();
// // 权限
// UnlockKeyChain();
// archive
if (!Archive(buildInfo))
{
return false;
}
// // archive
// if (!Archive(buildInfo))
// {
// return false;
// }
// 导出ipa
if (!ExportIpa(buildInfo))
{
return false;
}
// // 导出ipa
// if (!ExportIpa(buildInfo))
// {
// return false;
// }
return true;
}
// return true;
// }
/// <summary>
/// xCode工程设置
/// </summary>
static void FixXCodeProject(BuildInfo buildInfo)
{
var isDev = buildInfo.IsDevChannel();
var xCodeProjectPath = isDev ? devXCodePath : releaseXCodePath;
// /// <summary>
// /// xCode工程设置
// /// </summary>
// static void FixXCodeProject(BuildInfo buildInfo)
// {
// var isDev = buildInfo.IsDevChannel();
// var xCodeProjectPath = isDev ? devXCodePath : releaseXCodePath;
var path = xCodeProjectPath + "/Unity-iPhone.xcodeproj/project.pbxproj";
var pbxProject = new PBXProject();
pbxProject.ReadFromFile(path);
var targetGuid = pbxProject.TargetGuidByName("Unity-iPhone");
pbxProject.AddBuildProperty(targetGuid, "OTHER_LDFLAGS", "-ObjC");
pbxProject.SetBuildProperty(targetGuid, "ENABLE_BITCODE", "NO");
pbxProject.SetBuildProperty(targetGuid, "ENABLE_BITCODE", "NO");
pbxProject.SetBuildProperty(targetGuid, "DEVELOPMENT_TEAM", "49QQW8856Q");
if (buildInfo.IsPublish())
{
pbxProject.SetBuildProperty(targetGuid, "PROVISIONING_PROFILE_SPECIFIER", "ub_appstore_dis");
}
// var path = xCodeProjectPath + "/Unity-iPhone.xcodeproj/project.pbxproj";
// var pbxProject = new PBXProject();
// pbxProject.ReadFromFile(path);
// var targetGuid = pbxProject.TargetGuidByName("Unity-iPhone");
// pbxProject.AddBuildProperty(targetGuid, "OTHER_LDFLAGS", "-ObjC");
// pbxProject.SetBuildProperty(targetGuid, "ENABLE_BITCODE", "NO");
// pbxProject.SetBuildProperty(targetGuid, "ENABLE_BITCODE", "NO");
// pbxProject.SetBuildProperty(targetGuid, "DEVELOPMENT_TEAM", "49QQW8856Q");
// if (buildInfo.IsPublish())
// {
// pbxProject.SetBuildProperty(targetGuid, "PROVISIONING_PROFILE_SPECIFIER", "ub_appstore_dis");
// }
// 添加系统库
AddSystemLibReferenceToProject(pbxProject, targetGuid, "libsqlite3.tbd");
AddSystemLibReferenceToProject(pbxProject, targetGuid, "libz.1.tbd");
AddSystemLibReferenceToProject(pbxProject, targetGuid, "libiconv.2.tbd");
AddSystemLibReferenceToProject(pbxProject, targetGuid, "libresolv.9.tbd");
// // 添加系统库
// AddSystemLibReferenceToProject(pbxProject, targetGuid, "libsqlite3.tbd");
// AddSystemLibReferenceToProject(pbxProject, targetGuid, "libz.1.tbd");
// AddSystemLibReferenceToProject(pbxProject, targetGuid, "libiconv.2.tbd");
// AddSystemLibReferenceToProject(pbxProject, targetGuid, "libresolv.9.tbd");
var pListPath = Path.Combine(xCodeProjectPath, "Info.plist");
var pList = new PlistDocument();
pList.ReadFromFile(pListPath);
// var pListPath = Path.Combine(xCodeProjectPath, "Info.plist");
// var pList = new PlistDocument();
// pList.ReadFromFile(pListPath);
// 版本号
var vKey = "CFBundleShortVersionString";
var vValue = new PlistElementString(buildInfo.version);
var pListRoot = pList.root;
var rootDict = pListRoot.values;
if (!rootDict.ContainsKey(vKey))
{
rootDict.Add(vKey, vValue);
}
else
{
rootDict[vKey] = vValue;
}
// // 版本号
// var vKey = "CFBundleShortVersionString";
// var vValue = new PlistElementString(buildInfo.version);
// var pListRoot = pList.root;
// var rootDict = pListRoot.values;
// if (!rootDict.ContainsKey(vKey))
// {
// rootDict.Add(vKey, vValue);
// }
// else
// {
// rootDict[vKey] = vValue;
// }
// VersionCode
var vCodeKey = "CFBundleVersion";
var vCodeValue = new PlistElementString(buildInfo.version_code.ToString());
if (!rootDict.ContainsKey(vCodeKey))
{
rootDict.Add(vCodeKey, vCodeValue);
}
else
{
rootDict[vCodeKey] = vCodeValue;
}
// // VersionCode
// var vCodeKey = "CFBundleVersion";
// var vCodeValue = new PlistElementString(buildInfo.versionCode.ToString());
// if (!rootDict.ContainsKey(vCodeKey))
// {
// rootDict.Add(vCodeKey, vCodeValue);
// }
// else
// {
// rootDict[vCodeKey] = vCodeValue;
// }
// 数美SDK会使用位置必须加入这个说明
var localtionKey = "NSLocationWhenInUseUsageDescription";
var localtionValue = new PlistElementString("We use your location to give you a better localization.");
if (!rootDict.ContainsKey(localtionKey))
{
rootDict.Add(localtionKey, localtionValue);
}
else
{
rootDict[localtionKey] = localtionValue;
}
// // 数美SDK会使用位置必须加入这个说明
// var localtionKey = "NSLocationWhenInUseUsageDescription";
// var localtionValue = new PlistElementString("We use your location to give you a better localization.");
// if (!rootDict.ContainsKey(localtionKey))
// {
// rootDict.Add(localtionKey, localtionValue);
// }
// else
// {
// rootDict[localtionKey] = localtionValue;
// }
// 提审提示缺少出口合规证明,这里直接设置为false即可
var encryptionKey = "ITSAppUsesNonExemptEncryption";
var encryptionValue = new PlistElementBoolean(false);
if (!rootDict.ContainsKey(encryptionKey))
{
rootDict.Add(encryptionKey, encryptionValue);
}
else
{
rootDict[encryptionKey] = encryptionValue;
}
// // 提审提示缺少出口合规证明,这里直接设置为false即可
// var encryptionKey = "ITSAppUsesNonExemptEncryption";
// var encryptionValue = new PlistElementBoolean(false);
// if (!rootDict.ContainsKey(encryptionKey))
// {
// rootDict.Add(encryptionKey, encryptionValue);
// }
// else
// {
// rootDict[encryptionKey] = encryptionValue;
// }
pList.WriteToFile(pListPath);
pbxProject.WriteToFile(path);
}
// pList.WriteToFile(pListPath);
// pbxProject.WriteToFile(path);
// }
//添加系统lib方法
static void AddSystemLibReferenceToProject(PBXProject pbxProject, string targetGuid, string lib)
{
var fileGuid = pbxProject.AddFile("usr/lib/" + lib, "Frameworks/" + lib, PBXSourceTree.Sdk);
pbxProject.AddFileToBuild(targetGuid, fileGuid);
}
// //添加系统lib方法
// static void AddSystemLibReferenceToProject(PBXProject pbxProject, string targetGuid, string lib)
// {
// var fileGuid = pbxProject.AddFile("usr/lib/" + lib, "Frameworks/" + lib, PBXSourceTree.Sdk);
// pbxProject.AddFileToBuild(targetGuid, fileGuid);
// }
/// <summary>
/// Archive
/// </summary>
static bool Archive(BuildInfo buildInfo)
{
Debug.Log("[bfinfo]正在archive...");
var result = true;
var xCodeProjectPath = buildInfo.IsDevChannel() ? devXCodePath : releaseXCodePath;
var archivePath = xCodeProjectPath + "/build/archive/Unity-iPhone.xcarchive";
var args = string.Format("archive -scheme Unity-iPhone -configuration Release -archivePath {0}", archivePath);
BFEditorUtils.RunCommond("xcodebuild", args, xCodeProjectPath,
(info) =>
{
Debug.Log(info);
},
(error) =>
{
if (error.Contains("ARCHIVE FAILED")) // 失败标志
{
result = false;
}
Debug.LogError("[bferror] " + error);
}
);
// /// <summary>
// /// Archive
// /// </summary>
// static bool Archive(BuildInfo buildInfo)
// {
// Debug.Log("[bfinfo]正在archive...");
// var result = true;
// var xCodeProjectPath = buildInfo.IsDevChannel() ? devXCodePath : releaseXCodePath;
// var archivePath = xCodeProjectPath + "/build/archive/Unity-iPhone.xcarchive";
// var args = string.Format("archive -scheme Unity-iPhone -configuration Release -archivePath {0}", archivePath);
// BFEditorUtils.RunCommond("xcodebuild", args, xCodeProjectPath,
// (info) =>
// {
// Debug.Log(info);
// },
// (error) =>
// {
// if (error.Contains("ARCHIVE FAILED")) // 失败标志
// {
// result = false;
// }
// Debug.LogError("[bferror] " + error);
// }
// );
return result;
}
// return result;
// }
/// <summary>
/// 导出ipa
/// </summary>
static bool ExportIpa(BuildInfo buildInfo)
{
Debug.Log("[bfinfo]正在导出ipa...");
var result = false;
var xCodeProjectPath = buildInfo.IsDevChannel() ? devXCodePath : releaseXCodePath;
string exportPListPath;
if (buildInfo.IsPublish())
{
exportPListPath = publishOptionsPListPath;
}
else
{
exportPListPath = buildInfo.IsDevChannel() ? devOptionsPListPath : releaseOptionsPListPath;
}
var ipaPath = xCodeProjectPath + "/build/ipa";
var archivePath = xCodeProjectPath + "/build/archive/Unity-iPhone.xcarchive";
var args = string.Format("-exportArchive -archivePath {0} -exportPath {1} -exportOptionsPlist {2} -allowProvisioningUpdates", archivePath, ipaPath, exportPListPath);
BFEditorUtils.RunCommond("xcodebuild", args, null,
(info) =>
{
if(info.Contains("EXPORT SUCCEEDED"))
{
result = true;
}
},
(error) =>
{
}
);
// /// <summary>
// /// 导出ipa
// /// </summary>
// static bool ExportIpa(BuildInfo buildInfo)
// {
// Debug.Log("[bfinfo]正在导出ipa...");
// var result = false;
// var xCodeProjectPath = buildInfo.IsDevChannel() ? devXCodePath : releaseXCodePath;
// string exportPListPath;
// if (buildInfo.IsPublish())
// {
// exportPListPath = publishOptionsPListPath;
// }
// else
// {
// exportPListPath = buildInfo.IsDevChannel() ? devOptionsPListPath : releaseOptionsPListPath;
// }
// var ipaPath = xCodeProjectPath + "/build/ipa";
// var archivePath = xCodeProjectPath + "/build/archive/Unity-iPhone.xcarchive";
// var args = string.Format("-exportArchive -archivePath {0} -exportPath {1} -exportOptionsPlist {2} -allowProvisioningUpdates", archivePath, ipaPath, exportPListPath);
// BFEditorUtils.RunCommond("xcodebuild", args, null,
// (info) =>
// {
// if(info.Contains("EXPORT SUCCEEDED"))
// {
// result = true;
// }
// },
// (error) =>
// {
// }
// );
return result;
}
// return result;
// }
/// <summary>
/// 远程打包签名ipa时需要钥匙串权限
/// </summary>
static void UnlockKeyChain()
{
BFEditorUtils.RunCommond("security", "-v unlock-keychain -p '123456' /Users/aoddabao/Library/Keychains/login.keychain-db", null,
(msg) =>
{
Debug.Log(msg);
},
(msg) =>
{
Debug.LogError(msg);
}
);
}
#endif
}
}
// /// <summary>
// /// 远程打包签名ipa时需要钥匙串权限
// /// </summary>
// static void UnlockKeyChain()
// {
// BFEditorUtils.RunCommond("security", "-v unlock-keychain -p '123456' /Users/aoddabao/Library/Keychains/login.keychain-db", null,
// (msg) =>
// {
// Debug.Log(msg);
// },
// (msg) =>
// {
// Debug.LogError(msg);
// }
// );
// }
// #endif
// }
// }

View File

@ -85,6 +85,9 @@ namespace BFEditor
{
//加载lua配置测试
LuaEnv env = new LuaEnv();
env.DoString(@"
print(' Lua : ' .. _VERSION) -- Lua 5.1
");
env.AddLoader((ref string scriptPath) =>
{
var text = LoadGameLuaScriptText(scriptPath, isDeveloper);
@ -136,58 +139,58 @@ namespace BFEditor
var configFileInfos = configDirInfo.GetFiles(suffix, SearchOption.TopDirectoryOnly);
// 检查棋盘文件格式
checkBoard("chapter_board", env, sb);
checkBoard("chapter_board_bossrush", env, sb);
checkBoard("chapter_board_daily_challenge", env, sb);
checkBoard("chapter_board_dungeon_armor", env, sb);
checkBoard("chapter_board_dungeon_equip", env, sb);
checkBoard("chapter_board_dungeon_gold", env, sb);
checkBoard("chapter_board_dungeon_shards", env, sb);
checkBoard("chapter_board_rune", env, sb);
checkBoard("activity_pvp_board", env, sb);
checkBoard("arena_board", env, sb);
// checkBoard("chapter_board", env, sb);
// checkBoard("chapter_board_bossrush", env, sb);
// checkBoard("chapter_board_daily_challenge", env, sb);
// checkBoard("chapter_board_dungeon_armor", env, sb);
// checkBoard("chapter_board_dungeon_equip", env, sb);
// checkBoard("chapter_board_dungeon_gold", env, sb);
// checkBoard("chapter_board_dungeon_shards", env, sb);
// checkBoard("chapter_board_rune", env, sb);
// checkBoard("activity_pvp_board", env, sb);
// checkBoard("arena_board", env, sb);
// 检查monster
string monsterConfigListLua = "{";
foreach (var file in configFileInfos)
{
var fileName = file.Name.ToLower();
if(fileName.Contains("monster_"))
{
monsterConfigListLua += "'" + fileName.Replace(".lua", "").Replace(".bytes", "") + "',";
}
}
monsterConfigListLua += "}";
var luaScriptString = "local ids = {}\n local MONSTER_LIST = " + monsterConfigListLua + "\n";
luaScriptString += @"local str = {}
for i, name in ipairs(MONSTER_LIST) do
if name ~= 'monster_base' and name ~= 'monster_position' and name ~= 'monster_position_base' then
local data = require('app/config/' .. name).data
for k, v in pairs(data) do
if ids[k] then
table.insert(str, name .. '和' .. ids[k] .. 'mosnter id:' .. k)
end
ids[k] = name
end
end
end
if #str > 0 then
return table.concat(str, '\n');
end
return ''";
var resultStr = env.DoString(luaScriptString);
if (resultStr.Length > 0)
{
foreach(var strObj in resultStr)
{
var str = Convert.ToString(strObj);
if(!String.IsNullOrEmpty(str))
{
sb.Append(str + "\n");
}
}
}
// string monsterConfigListLua = "{";
// foreach (var file in configFileInfos)
// {
// var fileName = file.Name.ToLower();
// if(fileName.Contains("monster_"))
// {
// monsterConfigListLua += "'" + fileName.Replace(".lua", "").Replace(".bytes", "") + "',";
// }
// }
// monsterConfigListLua += "}";
// var luaScriptString = "local ids = {}\n local MONSTER_LIST = " + monsterConfigListLua + "\n";
// luaScriptString += @"local str = {}
// for i, name in ipairs(MONSTER_LIST) do
// if name ~= 'monster_base' and name ~= 'monster_position' and name ~= 'monster_position_base' then
// local data = require('app/config/' .. name).data
// for k, v in pairs(data) do
// if ids[k] then
// table.insert(str, name .. '和' .. ids[k] .. '存在相同的mosnter id:' .. k)
// end
// ids[k] = name
// end
// end
// end
// if #str > 0 then
// return table.concat(str, '\n');
// end
// return ''";
// var resultStr = env.DoString(luaScriptString);
// if (resultStr.Length > 0)
// {
// foreach(var strObj in resultStr)
// {
// var str = Convert.ToString(strObj);
// if(!String.IsNullOrEmpty(str))
// {
// sb.Append(str + "\n");
// }
// }
// }
// 检查怪物的坐标信息
// var luaScriptString2 = @"local MONSTER_POSITION_KEY = { 'monster_1','monster_2','monster_3','monster_4','monster_5','monster_6','monster_7','monster_8','monster_9','monster_10','monster_11','monster_12'}
// local list = {'enemy_id_1', 'enemy_id_2', 'enemy_id_3'}

View File

@ -2,7 +2,7 @@ using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEditor;
using UnityEditor.Experimental.SceneManagement;
namespace BFEditor.Resource
{
@ -19,7 +19,7 @@ namespace BFEditor.Resource
void OnEnable()
{
PrefabStage currentPrefabStage = PrefabStageUtility.GetCurrentPrefabStage();
UnityEditor.SceneManagement.PrefabStage currentPrefabStage = UnityEditor.SceneManagement.PrefabStageUtility.GetCurrentPrefabStage();
Transform tran;
if (currentPrefabStage == null)
tran = Selection.activeTransform;

View File

@ -92,7 +92,7 @@ namespace BFEditor
}
else
{
var currentPrefabStage = UnityEditor.Experimental.SceneManagement.PrefabStageUtility.GetCurrentPrefabStage();
var currentPrefabStage = UnityEditor.SceneManagement.PrefabStageUtility.GetCurrentPrefabStage();
if (currentPrefabStage != null) //当前处于prefab编辑模式
{
var prefabRoot = currentPrefabStage.prefabContentsRoot;

View File

@ -55,7 +55,7 @@ public class JenkinsAdapter {
// 商品名称
PlayerSettings.productName = "Knights Combo";
// BuildType设置dev/release
EditorUserBuildSettings.iOSBuildConfigType = iOSBuildType.Release;
EditorUserBuildSettings.iOSXcodeBuildConfig = XcodeBuildConfig.Release;
EditorUserBuildSettings.development = false;
// 使用IL2CPP
var scriptImp = ScriptingImplementation.IL2CPP;

View File

@ -68,8 +68,9 @@ namespace BFEditor
"TMPro.SortingLayerHelper",
"UnityEngine.CloudStreaming",
"BFEditor.EditorBattleRoleAttackOperate",
"UnityEngine.QualitySettings",
"IronSourceBannerEvents", "IronSourceEvents", "IronSourceInterstitialEvents", "IronSourceRewardedVideoEvents",
"IronSourceAdQualityManifestTools"
"IronSourceAdQualityManifestTools", "TradplusSDK"
};
static bool isExcluded(Type type)
@ -77,7 +78,7 @@ namespace BFEditor
var fullName = type.FullName;
for (int i = 0; i < exclude.Count; i++)
{
if (!string.IsNullOrEmpty(fullName) && fullName.Contains(exclude[i]))
if (fullName != null && fullName.Contains(exclude[i]))
{
return true;
}
@ -93,13 +94,13 @@ namespace BFEditor
List<string> namespaces = new List<string>() // 在这里添加名字空间
{
"BF",
"UnityEngine",
"UnityEngine.UI",
"UnityEngine.U2D",
"UnityEngine.Rendering.Universal",
"TMPro",
"DG.Tweening",
"DG.Tweening.Core",
// "UnityEngine",
// "UnityEngine.UI",
// "UnityEngine.U2D",
// "UnityEngine.Rendering.Universal",
// "TMPro",
// "DG.Tweening",
// "DG.Tweening.Core",
};
var unityTypes = (from assembly in AppDomain.CurrentDomain.GetAssemblies()
where !(assembly.ManifestModule is System.Reflection.Emit.ModuleBuilder)
@ -113,8 +114,8 @@ namespace BFEditor
};
var customTypes = (from assembly in customAssemblys.Select(s => Assembly.Load(s))
from type in assembly.GetExportedTypes()
where type.Namespace == null || !type.Namespace.StartsWith("XLua")
&& type.BaseType != typeof(MulticastDelegate) && !type.IsInterface && !type.IsEnum && !isExcluded(type)
where type.Namespace == null || !type.Namespace.StartsWith("XLua") && !isExcluded(type)
&& type.BaseType != typeof(MulticastDelegate) && !type.IsInterface && !type.IsEnum
select type);
var otherTypes = new List<Type>() {
@ -143,20 +144,31 @@ namespace BFEditor
typeof(System.Collections.Generic.List<TMPro.TMP_FontAsset>),
typeof(System.Collections.Generic.List<UnityEngine.Camera>),
typeof(System.Collections.Generic.List<System.Collections.Generic.List<string>>),
typeof(System.Collections.Generic.List<BF.BFFinger>),
typeof(DG.Tweening.Core.TweenerCore<UnityEngine.Color, UnityEngine.Color, DG.Tweening.Plugins.Options.ColorOptions>),
typeof(DG.Tweening.Core.TweenerCore<UnityEngine.Vector2, UnityEngine.Vector2, DG.Tweening.Plugins.Options.VectorOptions>),
typeof(System.Action<string>),
typeof(System.Action<string, UnityEngine.Object>),
typeof(System.Action<string, UnityEngine.GameObject>),
typeof(UnityEngine.Camera),
typeof(UnityEngine.Camera.GateFitMode),
typeof(UnityEngine.Camera.GateFitParameters),
typeof(UnityEngine.Camera.StereoscopicEye),
typeof(UnityEngine.Camera.MonoOrStereoscopicEye),
typeof(UnityEngine.Camera.FieldOfViewAxis),
typeof(UnityEngine.Camera.RenderRequest),
typeof(UnityEngine.Camera.RenderRequestMode),
typeof(UnityEngine.Camera.RenderRequestOutputSpace),
typeof(UnityEngine.Camera.RenderRequest),
typeof(UnityEngine.Camera.SceneViewFilterMode),
typeof(UnityEngine.TextCore.FaceInfo),
typeof(UnityEngine.Rendering.LightShadowResolution),
typeof(UnityEngine.RenderTextureFormat),
typeof(UnityEngine.RenderTextureReadWrite),
typeof(UnityEngine.RigidbodyConstraints),
typeof(UnityEngine.TransparencySortMode),
typeof(UnityEngine.SystemInfo),
typeof(UnityEngine.Object),
typeof(UnityEngine.Rect),
typeof(UnityEngine.Vector2),
@ -263,11 +275,6 @@ namespace BFEditor
typeof(UnityEngine.Canvas),
typeof(UnityEngine.CanvasGroup),
typeof(UnityEngine.CanvasRenderer),
typeof(UnityEngine.Camera),
typeof(UnityEngine.Camera.GateFitMode),
typeof(UnityEngine.Camera.GateFitParameters),
typeof(UnityEngine.Camera.StereoscopicEye),
typeof(UnityEngine.Camera.MonoOrStereoscopicEye),
typeof(UnityEngine.LineRenderer),
typeof(UnityEngine.Texture2D),
typeof(UnityEngine.Texture2D.EXRFlags),
@ -294,7 +301,13 @@ namespace BFEditor
typeof(UnityEngine.LightProbes),
typeof(UnityEngine.ReflectionProbe),
typeof(UnityEngine.BatteryStatus),
typeof(UnityEngine.SystemInfo),
typeof(UnityEngine.Rigidbody),
typeof(UnityEngine.SphereCollider),
typeof(UnityEngine.ScriptableObject),
typeof(UnityEngine.Physics),
typeof(UnityEngine.PhysicMaterial),
typeof(UnityEngine.MeshCollider),
typeof(UnityEngine.UI.CanvasScaler),
typeof(UnityEngine.UI.Dropdown),
typeof(UnityEngine.UI.Dropdown.OptionData),
@ -316,6 +329,7 @@ namespace BFEditor
typeof(UnityEngine.UI.InputField),
typeof(UnityEngine.UI.InputField.ContentType),
typeof(UnityEngine.UI.InputField.InputType),
typeof(UnityEngine.UI.InputField.EndEditEvent),
typeof(UnityEngine.UI.InputField.CharacterValidation),
typeof(UnityEngine.UI.InputField.LineType),
typeof(UnityEngine.UI.InputField.SubmitEvent),
@ -347,7 +361,7 @@ namespace BFEditor
typeof(UnityEngine.UI.GridLayoutGroup.Constraint),
typeof(UnityEngine.UI.VerticalLayoutGroup),
typeof(UnityEngine.UI.LayoutGroup),
typeof(UnityEngine.GUIUtility),
typeof(UnityEngine.U2D.SpriteAtlas),
// spine
typeof(Spine.TrackEntry),
@ -365,12 +379,14 @@ namespace BFEditor
typeof(Spine.Unity.SkeletonAnimation),
typeof(Spine.Unity.SkeletonDataAsset),
typeof(Spine.Unity.MeshGenerator),
typeof(Spine.MeshAttachment),
typeof(Spine.Unity.MeshGenerator.Settings),
typeof(Spine.Unity.SkeletonRenderer),
typeof(Spine.Unity.SkeletonRenderer.SpriteMaskInteractionMaterials),
typeof(Spine.Unity.BoneFollower),
typeof(Spine.Unity.BoneFollowerGraphic),
typeof(Spine.Unity.BoneFollower.AxisOrientation),
typeof(Spine.Unity.SkeletonGraphic.LayoutMode),
// TextMeshPro
typeof(TMPro.TextAlignmentOptions),
@ -396,6 +412,14 @@ namespace BFEditor
typeof(TMP_AnimationCurve),
typeof(TMP_Curve),
// 数数
typeof(ThinkingAnalytics.ThinkingAnalyticsAPI),
typeof(ThinkingAnalytics.ThinkingAnalyticsAPI.TATimeZone),
typeof(ThinkingAnalytics.ThinkingAnalyticsAPI.TAMode),
typeof(ThinkingAnalytics.ThinkingAnalyticsAPI.NetworkType),
typeof(ThinkingAnalytics.ThinkingAnalyticsAPI.Token),
typeof(ThinkingAnalytics.TDPresetProperties),
//DOTween
typeof(DG.Tweening.AutoPlay),
typeof(DG.Tweening.AxisConstraint),
@ -408,7 +432,6 @@ namespace BFEditor
typeof(DG.Tweening.ScrambleMode),
typeof(DG.Tweening.TweenType),
typeof(DG.Tweening.UpdateType),
typeof(DG.Tweening.DOTween),
typeof(DG.Tweening.Core.DOTweenComponent),
typeof(DG.Tweening.Core.TweenerCore<UnityEngine.Vector3, UnityEngine.Vector3[], DG.Tweening.Plugins.Options.Vector3ArrayOptions>),
@ -431,13 +454,11 @@ namespace BFEditor
typeof(DG.Tweening.ShortcutExtensions),
typeof(DG.Tweening.DOTweenModuleUI),
// 数数
typeof(ThinkingAnalytics.ThinkingAnalyticsAPI.TATimeZone),
typeof(ThinkingAnalytics.ThinkingAnalyticsAPI.TAMode),
typeof(ThinkingAnalytics.ThinkingAnalyticsAPI.NetworkType),
// BestHTTP
typeof(Http.RequestState),
typeof(BestHTTP.HTTPRequest),
typeof(BestHTTP.HTTPResponse),
typeof(BestHTTP.Connections.HTTP2.HTTP2Response),
typeof(BestHTTP.Forms.HTTPUrlEncodedForm),
typeof(BestHTTP.Forms.HTTPFormBase),
@ -448,13 +469,36 @@ namespace BFEditor
typeof(UnityEngine.Purchasing.ProductType),
typeof(BF.MonoSingleton<BF.BFMain>),
typeof(BF.MonoSingleton<AdManager>),
typeof(BF.BFSlider.FillDirection),
typeof(BF.ScrollRectBaseOld.MovementType),
typeof(BF.ScrollRectBaseOld.ScrollbarVisibility),
typeof(BF.NetServiceType),
typeof(BF.NetIncomingMessageType),
typeof(BF.BFGridLayout.Corner),
typeof(BF.BFGridLayout.Constraint),
// Touch
typeof(BF.BFEvent<System.Collections.Generic.List<BF.BFFinger>>),
typeof(BF.BFEvent<BF.SelectEventType, BF.BFFinger>),
typeof(BF.BFEvent<BF.TouchEventType, BF.BFFinger>),
typeof(BF.TouchEventType),
typeof(BF.SelectEventType),
typeof(BF.NativeCore.ThirdPlatform.FacebookSdk),
typeof(BF.NativeCore.ThirdPlatform.AppsFlyerSdk),
typeof(AdManager),
// 震动插件
// typeof(Lofelt.NiceVibrations.HapticPatterns),
// typeof(Lofelt.NiceVibrations.LofeltHaptics),
// typeof(Lofelt.NiceVibrations.HapticPatterns.PresetType),
typeof(UnityEngine.Purchasing.Security.AppleStoreKitTestTangle),
typeof(UnityEngine.Purchasing.Security.AppleTangle),
typeof(UnityEngine.SignInWithApple.SignInWithApple.CallbackArgs),
typeof(UnityEngine.SignInWithApple.SignInWithAppleEvent),
typeof(UnityEngine.SignInWithApple.SignInWithApple),
typeof(UnityEngine.SignInWithApple.UserInfo),
typeof(BF.EnumFlagsAttribute),
};
return unityTypes.Concat(customTypes).Concat(otherTypes);
}
@ -565,11 +609,9 @@ namespace BFEditor
new List<string>(){"UnityEngine.AudioSource", "SetGamepadSpeakerMixLevelDefault", "System.Int32"},
new List<string>(){"UnityEngine.AudioSource", "GamepadSpeakerSupportsOutputType", "UnityEngine.GamepadSpeakerOutputType"},
new List<string>(){"UnityEngine.AudioSource", "gamepadSpeakerOutputType",},
new List<string>(){"UnityEngine.Handheld", "SetActivityIndicatorStyle", "UnityEngine.AndroidActivityIndicatorStyle"},
new List<string>(){"UnityEngine.Handheld", "SetActivityIndicatorStyle", "UnityEngine.iOS.ActivityIndicatorStyle"},
new List<string>(){"ThinkingAnalytics.ThinkingAnalyticsAPI", "onPostProcessBuild", "UnityEditor.BuildTarget", "System.String"},
new List<string>(){"Spine.Unity.SkeletonRenderer", "EditorUpdateMeshFilterHideFlags"},
new List<string>(){"Spine.Unity.SkeletonRenderer", "fixPrefabOverrideViaMeshFilter"},
new List<string>(){"Spine.Unity.SkeletonRenderer", "fixPrefabOverrideViaMeshFilterGlobal"},
new List<string>(){"Spine.Unity.SkeletonDataAsset", "errorIfSkeletonFileNullGlobal"},
new List<string>(){"FBWindowsPhysicalGamepadManager", "state"},
new List<string>(){"IronSourceBannerEvents", "onAdLoaded", "System.String"},
new List<string>(){"IronSourceBannerEvents", "onAdLoadFailed", "System.String"},
@ -638,6 +680,18 @@ namespace BFEditor
new List<string>(){"IronSourceRewardedVideoEvents", "onAdUnavailable"},
new List<string>(){"IronSourceRewardedVideoEvents", "onAdLoadFailed", "System.String"},
new List<string>(){"IronSourceRewardedVideoEvents", "onAdReady", "System.String"},
new List<string>(){"UnityEngine.Rendering.Universal.ShaderUtils", "GetShaderGUID", "UnityEngine.Rendering.Universal.ShaderPathID"},
new List<string>(){"Spine.Unity.SkeletonRenderer", "EditorUpdateMeshFilterHideFlags"},
new List<string>(){"Spine.Unity.SkeletonRenderer", "fixPrefabOverrideViaMeshFilter"},
new List<string>(){"Spine.Unity.SkeletonRenderer", "fixPrefabOverrideViaMeshFilterGlobal"},
new List<string>(){"Spine.Unity.SkeletonDataAsset", "errorIfSkeletonFileNullGlobal"},
new List<string>(){"Spine.Unity.SkeletonGraphic", "ResetRectToReferenceRectSize"},
new List<string>(){"Spine.Unity.SkeletonGraphic", "GetReferenceRectSize"},
new List<string>(){"Spine.Unity.SpineHandles", "DrawReferenceRect", "Spine.Unity.SkeletonGraphic", "UnityEngine.Color"},
new List<string>(){"Spine.Unity.SkeletonGraphic", "EditReferenceRect"},
new List<string>(){"Spine.Unity.SkeletonGraphic", "RectTransformSize"},
new List<string>(){"Spine.Unity.SkeletonGraphic", "GetPivotOffset"},
new List<string>(){"Spine.Unity.SkeletonGraphic", "GetScaledPivotOffset"},
};
static bool hasGenericParameter(Type type)

View File

@ -14,19 +14,26 @@ MonoBehaviour:
m_EditorClassIdentifier:
defaultScale: 0.01
defaultMix: 0.2
defaultShader: BF/Spine/Skeleton
defaultShader: Spine/Skeleton
defaultZSpacing: 0
defaultInstantiateLoop: 1
defaultPhysicsPositionInheritance: {x: 1, y: 1}
defaultPhysicsRotationInheritance: 1
showHierarchyIcons: 1
reloadAfterPlayMode: 1
setTextureImporterSettings: 1
textureSettingsReference: Assets/ThirdParty/Spine/Editor/spine-unity/Editor/ImporterPresets/PMATexturePreset.preset
fixPrefabOverrideViaMeshFilter: 0
removePrefabPreviewMeshes: 0
blendModeMaterialMultiply: {fileID: 0}
blendModeMaterialScreen: {fileID: 0}
blendModeMaterialAdditive: {fileID: 0}
atlasTxtImportWarning: 1
textureImporterWarning: 1
componentMaterialWarning: 1
skeletonDataAssetNoFileError: 1
autoReloadSceneSkeletons: 1
handleScale: 1
mecanimEventIncludeFolderName: 1
timelineDefaultMixDuration: 0
timelineUseBlendDuration: 1

View File

@ -78,6 +78,7 @@ namespace BFEditor
psi.RedirectStandardOutput = true; //由调用程序获取输出信息
psi.RedirectStandardError = true; //重定向标准错误输出
psi.CreateNoWindow = true; //不显示程序窗口
psi.StandardOutputEncoding = System.Text.Encoding.UTF8; // 核心指定UTF-8解码
p.StartInfo = psi;
p.Start();

View File

@ -23,7 +23,8 @@ namespace AudienceNetwork
public partial class AdManager : BF.MonoSingleton<AdManager>
{
private const string Tag = "AdManager:";
private const string Key = "9uHgeBwag3NXva9MC23ToO3q11Ve59bF1uwg4qGltdGmCQ7OSByFZ_3b1ZF7krMlkHQo5gXzIokVDsvg1rwbr-";
// private const string Key = "9uHgeBwag3NXva9MC23ToO3q11Ve59bF1uwg4qGltdGmCQ7OSByFZ_3b1ZF7krMlkHQo5gXzIokVDsvg1rwbr-";
private const string Key = "9uHgeBwag3NXva9MC23ToO3q11Ve59bF1uwg4qGltdGmCQ7OSByFZ_3b1ZF7krMlkHQo5gXzIokVDsvg1rwbr-11";
string bannerAdUnitId = "YOUR_BANNER_AD_UNIT_ID"; // Retrieve the ID from your account
string adInterstitialUnitId = "YOUR_AD_UNIT_ID";
string adRewardUnitId = "e54f27e345da90df";

View File

@ -9,9 +9,9 @@ namespace BF
{
public class BFThirdReportSDKManager : MonoBehaviour
{
private ThinkingAnalyticsSdk TASdk = new ThinkingAnalyticsSdk();
private AppsFlyerSdk AFSdk = new AppsFlyerSdk();
private bool isInitAFAdRevenue = false;
// private ThinkingAnalyticsSdk TASdk = new ThinkingAnalyticsSdk();
// private AppsFlyerSdk AFSdk = new AppsFlyerSdk();
// private bool isInitAFAdRevenue = false;
void Start()
{
@ -21,147 +21,147 @@ namespace BF
public void Init()
{
BFLog.Log("TASdk.Init");
TASdk.Init();
AFSdk.Init();
// TASdk.Init();
// AFSdk.Init();
}
// 设置账户id
public void SetThinkingAnalyticsAccountId(string id)
{
TASdk.SetAccountId(id);
AFSdk.SetTaAccountId(id);
// TASdk.SetAccountId(id);
// AFSdk.SetTaAccountId(id);
}
public void InitAppsFlyerAdRevenue()
{
if (isInitAFAdRevenue)
{
return;
}
isInitAFAdRevenue = true;
AppsFlyerAdRevenue.start();
// if (isInitAFAdRevenue)
// {
// return;
// }
// isInitAFAdRevenue = true;
// AppsFlyerAdRevenue.start();
}
// 清除账户id
public void ClearThinkingAnalyticsAccountId()
{
TASdk.ClearAccountId();
// TASdk.ClearAccountId();
}
// 数数科技上报
// lua端使用
public void PostThinkingAnalyticsEvent(string eventName, string data = "")
{
if (string.IsNullOrEmpty(data))
{
TASdk.Track(eventName, null);
}
else
{
var properties = JsonConvert.DeserializeObject<Dictionary<string, object>>(data);
TASdk.Track(eventName, properties);
}
// if (string.IsNullOrEmpty(data))
// {
// TASdk.Track(eventName, null);
// }
// else
// {
// var properties = JsonConvert.DeserializeObject<Dictionary<string, object>>(data);
// TASdk.Track(eventName, properties);
// }
}
// 数数科技上报
// c#端使用,只上报事件名
public void PostThinkingAnalyticsEventName(string eventName)
{
TASdk.Track(eventName, null);
// TASdk.Track(eventName, null);
}
// 数数科技上报
// c#端使用,上报事件名和参数
public void PostThinkingAnalyticsEventProperties(string eventName, Dictionary<string, object> properties)
{
TASdk.Track(eventName, properties);
// TASdk.Track(eventName, properties);
}
public void PostAppsflyerEvent(string eventName, string data = "")
{
if (string.IsNullOrEmpty(data))
{
AFSdk.SendEvent(eventName, null);
}
else
{
var properties = JsonConvert.DeserializeObject<Dictionary<string, string>>(data);
AFSdk.SendEvent(eventName, properties);
}
// if (string.IsNullOrEmpty(data))
// {
// AFSdk.SendEvent(eventName, null);
// }
// else
// {
// var properties = JsonConvert.DeserializeObject<Dictionary<string, string>>(data);
// AFSdk.SendEvent(eventName, properties);
// }
}
public void PostFireBaseEvent(string eventName, string data = "")
{
if (string.IsNullOrEmpty(data))
{
return;
}
else
{
BFMain.Instance.SDKMgr.BFNativeSDKMgr.LogEvent(eventName, data);
}
// if (string.IsNullOrEmpty(data))
// {
// return;
// }
// else
// {
// BFMain.Instance.SDKMgr.BFNativeSDKMgr.LogEvent(eventName, data);
// }
}
// 设置账户id
public void PostAdjustSimpleTrackEvent(string key)
{
AdjustEvent adjustEvent = new AdjustEvent(key);
// BFLog.Log("PostAdjustSimpleTrackEvent");
Adjust.trackEvent(adjustEvent);
// AdjustEvent adjustEvent = new AdjustEvent(key);
// // BFLog.Log("PostAdjustSimpleTrackEvent");
// Adjust.trackEvent(adjustEvent);
}
public void PostAdjustRevenueTrackEvent(string key, double currency, string currencyCode)
{
AdjustEvent adjustEvent = new AdjustEvent(key);
adjustEvent.setRevenue(currency, currencyCode);
// BFLog.Log("PostAdjustRevenueTrackEvent");
Adjust.trackEvent(adjustEvent);
// AdjustEvent adjustEvent = new AdjustEvent(key);
// adjustEvent.setRevenue(currency, currencyCode);
// // BFLog.Log("PostAdjustRevenueTrackEvent");
// Adjust.trackEvent(adjustEvent);
}
public void PostAdjustCallbackTrackEvent(string key, string data = "")
{
var properties = JsonConvert.DeserializeObject<Dictionary<string, string>>(data);
AdjustEvent adjustEvent = new AdjustEvent(key);
foreach (var item in properties)
{
adjustEvent.addCallbackParameter(item.Key, item.Value);
}
// BFLog.Log("PostAdjustCallbackTrackEvent");
Adjust.trackEvent(adjustEvent);
// var properties = JsonConvert.DeserializeObject<Dictionary<string, string>>(data);
// AdjustEvent adjustEvent = new AdjustEvent(key);
// foreach (var item in properties)
// {
// adjustEvent.addCallbackParameter(item.Key, item.Value);
// }
// // BFLog.Log("PostAdjustCallbackTrackEvent");
// Adjust.trackEvent(adjustEvent);
}
public void PostAdjustPartnerTrackEvent(string key, string data = "")
{
var properties = JsonConvert.DeserializeObject<Dictionary<string, string>>(data);
AdjustEvent adjustEvent = new AdjustEvent(key);
foreach (var item in properties)
{
adjustEvent.addPartnerParameter(item.Key, item.Value);
}
// BFLog.Log("PostAdjustPartnerTrackEvent");
Adjust.trackEvent(adjustEvent);
// var properties = JsonConvert.DeserializeObject<Dictionary<string, string>>(data);
// AdjustEvent adjustEvent = new AdjustEvent(key);
// foreach (var item in properties)
// {
// adjustEvent.addPartnerParameter(item.Key, item.Value);
// }
// // BFLog.Log("PostAdjustPartnerTrackEvent");
// Adjust.trackEvent(adjustEvent);
}
public void PostAdjustAdRevenueAppLovinMAX(double revenue, string networkName, string adUnitIdentifier, string placement)
{
var adRevenue = new AdjustAdRevenue(AdjustConfig.AdjustAdRevenueSourceAppLovinMAX);
adRevenue.setRevenue(revenue, "USD");
adRevenue.setAdRevenueNetwork(networkName);
adRevenue.setAdRevenueUnit(adUnitIdentifier);
adRevenue.setAdRevenuePlacement(placement);
Adjust.trackAdRevenue(adRevenue);
// var adRevenue = new AdjustAdRevenue(AdjustConfig.AdjustAdRevenueSourceAppLovinMAX);
// adRevenue.setRevenue(revenue, "USD");
// adRevenue.setAdRevenueNetwork(networkName);
// adRevenue.setAdRevenueUnit(adUnitIdentifier);
// adRevenue.setAdRevenuePlacement(placement);
// Adjust.trackAdRevenue(adRevenue);
}
public void AdjustSetDeviceToken(string token)
{
Adjust.setDeviceToken(token);
// Adjust.setDeviceToken(token);
}
public void LogAppsFlyerAdRevenue(int mediationNetwork, string monetizationNetwork, double eventRevenue, string data)
{
var properties = JsonConvert.DeserializeObject<Dictionary<string, string>>(data);
var mediationNetworkType = (AppsFlyerAdRevenueMediationNetworkType)mediationNetwork;
AppsFlyerAdRevenue.logAdRevenue(monetizationNetwork, mediationNetworkType, eventRevenue, "USD", properties);
// var properties = JsonConvert.DeserializeObject<Dictionary<string, string>>(data);
// var mediationNetworkType = (AppsFlyerAdRevenueMediationNetworkType)mediationNetwork;
// AppsFlyerAdRevenue.logAdRevenue(monetizationNetwork, mediationNetworkType, eventRevenue, "USD", properties);
}
}
}

View File

@ -62,7 +62,7 @@ namespace BF
public BFPaySDKManager BFPaySDKMgr { get; private set; }
public IAPManager IosPaySDKMgr { get; private set; }
// public BFAdmobSDKManager BFAdmobSDKMgr { get; private set; }
public BFIronSourceSDKManager BFIronSourceSDKMgr { get; private set; }
// public BFIronSourceSDKManager BFIronSourceSDKMgr { get; private set; }
public BFNativeSDKManager BFNativeSDKMgr { get; private set; }
public BFThirdReportSDKManager BFThirdReportSDKMgr { get; private set; }
@ -91,12 +91,12 @@ namespace BF
BFPaySDKMgr = sdkGo.AddComponent<BFPaySDKManager>();
// 广告
// BFAdmobSDKMgr = sdkGo.AddComponent<BFAdmobSDKManager>();
BFIronSourceSDKMgr = sdkGo.AddComponent<BFIronSourceSDKManager>();
// 三方上报
// BFIronSourceSDKMgr = sdkGo.AddComponent<BFIronSourceSDKManager>();
// // 三方上报
BFThirdReportSDKMgr = sdkGo.AddComponent<BFThirdReportSDKManager>();
// native交互管理
BFNativeSDKMgr = sdkGo.AddComponent<BFNativeSDKManager>();
IosPaySDKMgr = IAPManager.Instance;
// IosPaySDKMgr = IAPManager.Instance;
GameObject.DontDestroyOnLoad(sdkGo);
}

View File

@ -0,0 +1,53 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
namespace BF
{
public class BattleControlBg : MonoBehaviour
{
public float speed = 0.0f;
public float endX = 0.0f;
public float resetX = 0.0f;
public int type = 0;
public bool canMove = true;
public void SetPositionByTime(float time)
{
var transformRect = GetComponent<RectTransform>();
transformRect.anchoredPosition = new Vector2(transformRect.anchoredPosition.x + speed * time, transformRect.anchoredPosition.y);
}
void FixedUpdate()
{
if (!canMove) return;
var transformRect = GetComponent<RectTransform>();
if (transformRect.anchoredPosition.x <= endX)
{
transformRect.anchoredPosition = new Vector2(resetX, transformRect.anchoredPosition.y);
}
// if (type == 1)
// {
// speed = BF.BFMain.Instance.BattleMgr.SceneSpeedC;
// }
// else if (type == 2)
// {
// speed = BF.BFMain.Instance.BattleMgr.SceneSpeedM;
// }
// else if (type == 3)
// {
// speed = BF.BFMain.Instance.BattleMgr.SceneSpeedF;
// }
// else if (type == 4)
// {
// speed = BF.BFMain.Instance.BattleMgr.SceneSpeedCould;
// }
// else if (type == 5)
// {
// speed = BF.BFMain.Instance.BattleMgr.SceneSpeedBg;
// }
// transform.Translate(speed * Time.fixedDeltaTime, 0.0f, 0.0f);
transformRect.anchoredPosition = new Vector2(transformRect.anchoredPosition.x + speed * Time.fixedDeltaTime, transformRect.anchoredPosition.y);
}
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 1025633752bc248dc9665067e756f919
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -64,12 +64,12 @@ namespace BF
public partial class BFPlatform
{
const String LoginCenterURL = "https://entrance.bigfoot-studio.link";
const String LoginCenterURL = "https://entrance.wdd817.link";
static Dictionary<string, string> BFLoginCenterURLDict = new Dictionary<string, string>()
{
// dev
{"com.juzu.b6.dev", "http://game.juzugame.com:3000"},
{"com.juzu.b6.dev.android", "http://game.juzugame.com:3000"},
{"com.juzu.b6.dev", "https://entrance.wdd817.link"},
{"com.juzu.b6.dev.android", "http://8.137.93.107:3000"},
{"com.juzu.b6.dev.ios", "http://game.juzugame.com:3000"},
// release
@ -77,7 +77,7 @@ namespace BF
{"com.juzu.b6.release.ios", "http://game.juzugame.com:3000"},
// gp
{"com.combo.heroes.puzzle.rpg", "https://entrance.bigfoot-studio.link"},
{"com.combo.heroes.puzzle.rpg", "http://8.137.93.107:3000"},
};
//combine url解析的数据

View File

@ -37,6 +37,20 @@ namespace BF
public const bool SKIP_VERSION = false;
#endif
#if BF_APP_DEV
public const bool BF_APP_DEV = true;
public const bool BF_APP_TEST = false;
public const bool BF_APP_PUBLISH = false;
#elif BF_APP_TEST
public const bool BF_APP_DEV = false;
public const bool BF_APP_TEST = true;
public const bool BF_APP_PUBLISH = false;
#else
public const bool BF_APP_DEV = false;
public const bool BF_APP_TEST = false;
public const bool BF_APP_PUBLISH = true;
#endif
public static char[] C_FREE_CHAR = new char[16] {
(char)('g' ^ (0x29 - 0)),
(char)('w' ^ (0x29 - 1)),

View File

@ -3,7 +3,7 @@ guid: de1fb4dac677a6d45ae2ad12a49091c0
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 11
serializedVersion: 10
mipmaps:
mipMapMode: 0
enableMipMap: 0
@ -23,7 +23,6 @@ TextureImporter:
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
@ -32,12 +31,12 @@ TextureImporter:
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
filterMode: -1
aniso: -1
mipBias: -100
wrapU: 1
wrapV: 1
wrapW: 0
wrapW: -1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
@ -55,13 +54,9 @@ TextureImporter:
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 1
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform

View File

@ -1,16 +1,16 @@
/******************************************************************************
* Spine Runtimes License Agreement
* Last updated September 24, 2021. Replaces all prior versions.
* Last updated July 28, 2023. Replaces all prior versions.
*
* Copyright (c) 2013-2021, Esoteric Software LLC
* Copyright (c) 2013-2023, Esoteric Software LLC
*
* Integration of the Spine Runtimes into software or otherwise creating
* derivative works of the Spine Runtimes is permitted under the terms and
* conditions of Section 2 of the Spine Editor License Agreement:
* http://esotericsoftware.com/spine-editor-license
*
* Otherwise, it is permitted to integrate the Spine Runtimes into software
* or otherwise create derivative works of the Spine Runtimes (collectively,
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
* otherwise create derivative works of the Spine Runtimes (collectively,
* "Products"), provided that each user of the Products must obtain their own
* Spine Editor license and redistribution of the Products in any form must
* include this license and copyright notice.
@ -23,8 +23,8 @@
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*****************************************************************************/
using Spine;
@ -141,13 +141,13 @@ namespace Spine.Unity.Examples {
if (trackEntry != null) {
if (control.useCustomMixDuration)
trackEntry.MixDuration = control.mixDuration;
trackEntry.SetMixDuration(control.mixDuration, 0f); // use SetMixDuration(mixDuration, delay) to update delay correctly
if (useOverrideAttachmentThreshold)
trackEntry.AttachmentThreshold = attachmentThreshold;
trackEntry.MixAttachmentThreshold = attachmentThreshold;
if (useOverrideDrawOrderThreshold)
trackEntry.DrawOrderThreshold = drawOrderThreshold;
trackEntry.MixDrawOrderThreshold = drawOrderThreshold;
}
// Don't parse more than one animation per track.

View File

@ -13,7 +13,7 @@ OcclusionCullingSettings:
--- !u!104 &2
RenderSettings:
m_ObjectHideFlags: 0
serializedVersion: 8
serializedVersion: 10
m_Fog: 0
m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
m_FogMode: 3
@ -39,37 +39,33 @@ RenderSettings:
m_CustomReflection: {fileID: 0}
m_Sun: {fileID: 0}
m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1}
m_UseRadianceAmbientProbe: 0
--- !u!157 &3
LightmapSettings:
m_ObjectHideFlags: 0
serializedVersion: 11
m_GIWorkflowMode: 1
serializedVersion: 12
m_GISettings:
serializedVersion: 2
m_BounceScale: 1
m_IndirectOutputScale: 1
m_AlbedoBoost: 1
m_TemporalCoherenceThreshold: 1
m_EnvironmentLightingMode: 0
m_EnableBakedLightmaps: 0
m_EnableRealtimeLightmaps: 0
m_LightmapEditorSettings:
serializedVersion: 9
serializedVersion: 12
m_Resolution: 2
m_BakeResolution: 40
m_TextureWidth: 1024
m_TextureHeight: 1024
m_AtlasSize: 1024
m_AO: 0
m_AOMaxDistance: 1
m_CompAOExponent: 1
m_CompAOExponentDirect: 0
m_ExtractAmbientOcclusion: 0
m_Padding: 2
m_LightmapParameters: {fileID: 0}
m_LightmapsBakeMode: 1
m_TextureCompression: 1
m_FinalGather: 0
m_FinalGatherFiltering: 1
m_FinalGatherRayCount: 256
m_ReflectionCompression: 2
m_MixedBakeMode: 2
m_BakeBackend: 0
@ -77,23 +73,34 @@ LightmapSettings:
m_PVRDirectSampleCount: 32
m_PVRSampleCount: 500
m_PVRBounces: 2
m_PVRFiltering: 0
m_PVRFilteringMode: 1
m_PVREnvironmentSampleCount: 500
m_PVREnvironmentReferencePointCount: 2048
m_PVRFilteringMode: 2
m_PVRDenoiserTypeDirect: 0
m_PVRDenoiserTypeIndirect: 0
m_PVRDenoiserTypeAO: 0
m_PVRFilterTypeDirect: 0
m_PVRFilterTypeIndirect: 0
m_PVRFilterTypeAO: 0
m_PVREnvironmentMIS: 0
m_PVRCulling: 1
m_PVRFilteringGaussRadiusDirect: 1
m_PVRFilteringGaussRadiusIndirect: 5
m_PVRFilteringGaussRadiusAO: 2
m_PVRFilteringAtrousColorSigma: 1
m_PVRFilteringAtrousNormalSigma: 1
m_PVRFilteringAtrousPositionSigma: 1
m_PVRFilteringAtrousPositionSigmaDirect: 0.5
m_PVRFilteringAtrousPositionSigmaIndirect: 2
m_PVRFilteringAtrousPositionSigmaAO: 1
m_ExportTrainingData: 0
m_TrainingDataDestination: TrainingData
m_LightProbeSampleCountMultiplier: 4
m_LightingDataAsset: {fileID: 0}
m_UseShadowmask: 1
m_LightingSettings: {fileID: 1506007501}
--- !u!196 &4
NavMeshSettings:
serializedVersion: 2
m_ObjectHideFlags: 0
m_BuildSettings:
serializedVersion: 2
serializedVersion: 3
agentTypeID: 0
agentRadius: 0.5
agentHeight: 2
@ -106,20 +113,25 @@ NavMeshSettings:
cellSize: 0.16666667
manualTileSize: 0
tileSize: 256
accuratePlacement: 0
buildHeightMesh: 0
maxJobWorkers: 0
preserveTilesOutsideBounds: 0
debug:
m_Flags: 0
m_NavMeshData: {fileID: 0}
--- !u!1 &92207858
GameObject:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
serializedVersion: 5
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 92207862}
- component: {fileID: 92207861}
- component: {fileID: 92207860}
m_Layer: 5
m_Name: 3 Canvas - Spawn SkeletonGraphic Sample
m_Name: 2 Canvas - Spawn SkeletonGraphic Sample
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
@ -128,12 +140,13 @@ GameObject:
--- !u!114 &92207860
MonoBehaviour:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 92207858}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 1980459831, guid: f70555f144d8491a825f0804e09c671c, type: 3}
m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3}
m_Name:
m_EditorClassIdentifier:
m_UiScaleMode: 1
@ -146,11 +159,13 @@ MonoBehaviour:
m_FallbackScreenDPI: 96
m_DefaultSpriteDPI: 96
m_DynamicPixelsPerUnit: 1
m_PresetInfoIsWorld: 0
--- !u!223 &92207861
Canvas:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 92207858}
m_Enabled: 1
serializedVersion: 3
@ -162,35 +177,122 @@ Canvas:
m_OverrideSorting: 0
m_OverridePixelPerfect: 0
m_SortingBucketNormalizedSize: 0
m_VertexColorAlwaysGammaSpace: 0
m_AdditionalShaderChannelsFlag: 0
m_UpdateRectTransformForStandalone: 0
m_SortingLayerID: 0
m_SortingOrder: 0
m_TargetDisplay: 0
--- !u!224 &92207862
RectTransform:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 92207858}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0, y: 0, z: 0}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 1691562007}
m_Father: {fileID: 0}
m_RootOrder: 3
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0, y: 0}
--- !u!1 &191860306
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 191860307}
- component: {fileID: 191860309}
- component: {fileID: 191860308}
m_Layer: 0
m_Name: Canvas
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &191860307
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 191860306}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0, y: 0, z: 0}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 1200587070}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0, y: 0}
--- !u!114 &191860308
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 191860306}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3}
m_Name:
m_EditorClassIdentifier:
m_UiScaleMode: 1
m_ReferencePixelsPerUnit: 100
m_ScaleFactor: 1
m_ReferenceResolution: {x: 1920, y: 1080}
m_ScreenMatchMode: 0
m_MatchWidthOrHeight: 0
m_PhysicalUnit: 3
m_FallbackScreenDPI: 96
m_DefaultSpriteDPI: 96
m_DynamicPixelsPerUnit: 1
m_PresetInfoIsWorld: 0
--- !u!223 &191860309
Canvas:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 191860306}
m_Enabled: 1
serializedVersion: 3
m_RenderMode: 0
m_Camera: {fileID: 0}
m_PlaneDistance: 100
m_PixelPerfect: 0
m_ReceivesEvents: 1
m_OverrideSorting: 0
m_OverridePixelPerfect: 0
m_SortingBucketNormalizedSize: 0
m_VertexColorAlwaysGammaSpace: 0
m_AdditionalShaderChannelsFlag: 0
m_UpdateRectTransformForStandalone: 0
m_SortingLayerID: 0
m_SortingOrder: 0
m_TargetDisplay: 0
--- !u!1 &433620963
GameObject:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
serializedVersion: 5
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 433620968}
- component: {fileID: 433620967}
@ -206,27 +308,44 @@ GameObject:
--- !u!81 &433620964
AudioListener:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 433620963}
m_Enabled: 1
--- !u!124 &433620965
Behaviour:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 433620963}
m_Enabled: 1
--- !u!20 &433620967
Camera:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 433620963}
m_Enabled: 1
serializedVersion: 2
m_ClearFlags: 1
m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
m_projectionMatrixMode: 1
m_GateFitMode: 2
m_FOVAxisMode: 0
m_Iso: 200
m_ShutterSpeed: 0.005
m_Aperture: 16
m_FocusDistance: 10
m_FocalLength: 50
m_BladeCount: 5
m_Curvature: {x: 2, y: 11}
m_BarrelClipping: 0.25
m_Anamorphism: 0
m_SensorSize: {x: 36, y: 24}
m_LensShift: {x: 0, y: 0}
m_NormalizedViewPortRect:
serializedVersion: 2
x: 0
@ -248,35 +367,38 @@ Camera:
m_TargetEye: 3
m_HDR: 1
m_AllowMSAA: 1
m_AllowDynamicResolution: 0
m_ForceIntoRT: 0
m_OcclusionCulling: 1
m_StereoConvergence: 10
m_StereoSeparation: 0.022
m_StereoMirrorMode: 0
--- !u!4 &433620968
Transform:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 433620963}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: -10}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &651278528
GameObject:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
serializedVersion: 5
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 651278530}
- component: {fileID: 651278529}
m_Layer: 0
m_Name: 2 RuntimeLoadFromExports
m_Name: 3 RuntimeLoadFromExports
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
@ -285,8 +407,9 @@ GameObject:
--- !u!114 &651278529
MonoBehaviour:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 651278528}
m_Enabled: 1
m_EditorHideFlags: 0
@ -297,27 +420,251 @@ MonoBehaviour:
atlasText: {fileID: 4900000, guid: 5c0a5c36970a46e4d8378760ab4a4cfc, type: 3}
textures:
- {fileID: 2800000, guid: 49bb65eefe08e424bbf7a38bc98ec638, type: 3}
materialPropertySource: {fileID: 2100000, guid: 1455e88fdb81ccc45bdeaedd657bad4d,
type: 2}
materialPropertySource: {fileID: 2100000, guid: 1455e88fdb81ccc45bdeaedd657bad4d, type: 2}
delay: 0
skinName:
animationName:
blendModeMaterials: 0
applyAdditiveMaterial: 0
blendModeTemplateMaterials:
additiveTemplate: {fileID: 0}
multiplyTemplate: {fileID: 0}
screenTemplate: {fileID: 0}
graphicBlendModeMaterials:
additiveTemplate: {fileID: 0}
multiplyTemplate: {fileID: 0}
screenTemplate: {fileID: 0}
skeletonGraphicMaterial: {fileID: 2100000, guid: b66cf7a186d13054989b33a5c90044e4, type: 2}
--- !u!4 &651278530
Transform:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 651278528}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 1025308469}
m_Father: {fileID: 0}
m_RootOrder: 2
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &1025308468
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1025308469}
- component: {fileID: 1025308472}
- component: {fileID: 1025308471}
m_Layer: 0
m_Name: Canvas
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1025308469
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1025308468}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0, y: 0, z: 0}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 651278530}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0, y: 0}
--- !u!114 &1025308471
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1025308468}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3}
m_Name:
m_EditorClassIdentifier:
m_UiScaleMode: 1
m_ReferencePixelsPerUnit: 100
m_ScaleFactor: 1
m_ReferenceResolution: {x: 1920, y: 1080}
m_ScreenMatchMode: 0
m_MatchWidthOrHeight: 0
m_PhysicalUnit: 3
m_FallbackScreenDPI: 96
m_DefaultSpriteDPI: 96
m_DynamicPixelsPerUnit: 1
m_PresetInfoIsWorld: 0
--- !u!223 &1025308472
Canvas:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1025308468}
m_Enabled: 1
serializedVersion: 3
m_RenderMode: 0
m_Camera: {fileID: 0}
m_PlaneDistance: 100
m_PixelPerfect: 0
m_ReceivesEvents: 1
m_OverrideSorting: 0
m_OverridePixelPerfect: 0
m_SortingBucketNormalizedSize: 0
m_VertexColorAlwaysGammaSpace: 0
m_AdditionalShaderChannelsFlag: 0
m_UpdateRectTransformForStandalone: 0
m_SortingLayerID: 0
m_SortingOrder: 0
m_TargetDisplay: 0
--- !u!1 &1200587068
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1200587070}
- component: {fileID: 1200587069}
m_Layer: 0
m_Name: 4 Runtime BlendModes from Exports
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &1200587069
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1200587068}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: bb0837af7345d504db63d0c662fd12dc, type: 3}
m_Name:
m_EditorClassIdentifier:
skeletonJson: {fileID: 4900000, guid: 1a6f51aad0fef5a40aeedfeec5c0b8b2, type: 3}
atlasText: {fileID: 4900000, guid: 188756a89517d7649a67fb53606220f5, type: 3}
textures:
- {fileID: 2800000, guid: dc1b9f9665c8aa74799404a1d2038e3d, type: 3}
materialPropertySource: {fileID: 2100000, guid: 1455e88fdb81ccc45bdeaedd657bad4d, type: 2}
delay: 0
skinName:
animationName:
blendModeMaterials: 1
applyAdditiveMaterial: 0
blendModeTemplateMaterials:
additiveTemplate: {fileID: 2100000, guid: 4deba332d47209e4780b3c5fcf0e3745, type: 2}
multiplyTemplate: {fileID: 2100000, guid: 53bf0ab317d032d418cf1252d68f51df, type: 2}
screenTemplate: {fileID: 2100000, guid: 73f0f46d3177c614baf0fa48d646a9be, type: 2}
graphicBlendModeMaterials:
additiveTemplate: {fileID: 2100000, guid: 2e8245019faeb8c43b75f9ca3ac8ee34, type: 2}
multiplyTemplate: {fileID: 2100000, guid: e74a1f8978a7da348a721508d0d58834, type: 2}
screenTemplate: {fileID: 2100000, guid: bab24c479f34eec45be6ea8595891569, type: 2}
skeletonGraphicMaterial: {fileID: 2100000, guid: b66cf7a186d13054989b33a5c90044e4, type: 2}
--- !u!4 &1200587070
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1200587068}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 191860307}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!850595691 &1506007501
LightingSettings:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Settings.lighting
serializedVersion: 8
m_EnableBakedLightmaps: 0
m_EnableRealtimeLightmaps: 0
m_RealtimeEnvironmentLighting: 1
m_BounceScale: 1
m_AlbedoBoost: 1
m_IndirectOutputScale: 1
m_UsingShadowmask: 1
m_BakeBackend: 1
m_LightmapMaxSize: 1024
m_LightmapSizeFixed: 0
m_UseMipmapLimits: 1
m_BakeResolution: 40
m_Padding: 2
m_LightmapCompression: 3
m_AO: 0
m_AOMaxDistance: 1
m_CompAOExponent: 1
m_CompAOExponentDirect: 0
m_ExtractAO: 0
m_MixedBakeMode: 2
m_LightmapsBakeMode: 1
m_FilterMode: 1
m_LightmapParameters: {fileID: 15204, guid: 0000000000000000f000000000000000, type: 0}
m_ExportTrainingData: 0
m_TrainingDataDestination: TrainingData
m_RealtimeResolution: 2
m_ForceWhiteAlbedo: 0
m_ForceUpdates: 0
m_PVRCulling: 1
m_PVRSampling: 1
m_PVRDirectSampleCount: 32
m_PVRSampleCount: 512
m_PVREnvironmentSampleCount: 512
m_PVREnvironmentReferencePointCount: 2048
m_LightProbeSampleCountMultiplier: 4
m_PVRBounces: 2
m_PVRMinBounces: 2
m_PVREnvironmentImportanceSampling: 0
m_PVRFilteringMode: 2
m_PVRDenoiserTypeDirect: 0
m_PVRDenoiserTypeIndirect: 0
m_PVRDenoiserTypeAO: 0
m_PVRFilterTypeDirect: 0
m_PVRFilterTypeIndirect: 0
m_PVRFilterTypeAO: 0
m_PVRFilteringGaussRadiusDirect: 1
m_PVRFilteringGaussRadiusIndirect: 5
m_PVRFilteringGaussRadiusAO: 2
m_PVRFilteringAtrousPositionSigmaDirect: 0.5
m_PVRFilteringAtrousPositionSigmaIndirect: 2
m_PVRFilteringAtrousPositionSigmaAO: 1
m_RespectSceneVisibilityWhenBakingGI: 0
--- !u!1 &1691562006
GameObject:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
serializedVersion: 5
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1691562007}
- component: {fileID: 1691562008}
@ -331,15 +678,16 @@ GameObject:
--- !u!224 &1691562007
RectTransform:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1691562006}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 92207862}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
@ -349,8 +697,9 @@ RectTransform:
--- !u!114 &1691562008
MonoBehaviour:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1691562006}
m_Enabled: 1
m_EditorHideFlags: 0
@ -360,14 +709,14 @@ MonoBehaviour:
skeletonDataAsset: {fileID: 11400000, guid: a467507a4ffb1d542a558739b2fede77, type: 2}
startingAnimation: run
startingSkin: base
skeletonGraphicMaterial: {fileID: 2100000, guid: 1455e88fdb81ccc45bdeaedd657bad4d,
type: 2}
skeletonGraphicMaterial: {fileID: 2100000, guid: b66cf7a186d13054989b33a5c90044e4, type: 2}
--- !u!1 &1807176298
GameObject:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
serializedVersion: 5
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1807176300}
- component: {fileID: 1807176299}
@ -381,8 +730,9 @@ GameObject:
--- !u!114 &1807176299
MonoBehaviour:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1807176298}
m_Enabled: 1
m_EditorHideFlags: 0
@ -395,13 +745,93 @@ MonoBehaviour:
--- !u!4 &1807176300
Transform:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1807176298}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &1924218899
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1924218902}
- component: {fileID: 1924218901}
- component: {fileID: 1924218900}
m_Layer: 0
m_Name: EventSystem
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &1924218900
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1924218899}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3}
m_Name:
m_EditorClassIdentifier:
m_SendPointerHoverToParent: 1
m_HorizontalAxis: Horizontal
m_VerticalAxis: Vertical
m_SubmitButton: Submit
m_CancelButton: Cancel
m_InputActionsPerSecond: 10
m_RepeatDelay: 0.5
m_ForceModuleActive: 0
--- !u!114 &1924218901
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1924218899}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3}
m_Name:
m_EditorClassIdentifier:
m_FirstSelected: {fileID: 0}
m_sendNavigationEvents: 1
m_DragThreshold: 10
--- !u!4 &1924218902
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1924218899}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1660057539 &9223372036854775807
SceneRoots:
m_ObjectHideFlags: 0
m_Roots:
- {fileID: 433620968}
- {fileID: 1807176300}
- {fileID: 92207862}
- {fileID: 651278530}
- {fileID: 1200587070}
- {fileID: 1924218902}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: e08ce2e2ca315ea4a8e8d3a90681a14c
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -151,6 +151,7 @@ RectTransform:
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 592567554}
m_RootOrder: 1
@ -256,6 +257,9 @@ MonoBehaviour:
materialsInsideMask: []
materialsOutsideMask: []
disableRenderingOnOverride: 1
physicsPositionInheritanceFactor: {x: 1, y: 1}
physicsRotationInheritanceFactor: 1
physicsMovementRelativeTo: {fileID: 0}
updateTiming: 1
unscaledTime: 0
_animationName: run
@ -272,6 +276,7 @@ MeshRenderer:
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
@ -320,6 +325,7 @@ Transform:
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: -7.83, y: 0, z: 5.66}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 3
@ -352,6 +358,7 @@ RectTransform:
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 592567554}
m_RootOrder: 2
@ -434,6 +441,7 @@ RectTransform:
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0, y: 0, z: 0}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 1911967440}
- {fileID: 71621967}
@ -489,6 +497,7 @@ Canvas:
m_OverridePixelPerfect: 0
m_SortingBucketNormalizedSize: 0
m_AdditionalShaderChannelsFlag: 0
m_UpdateRectTransformForStandalone: 0
m_SortingLayerID: 0
m_SortingOrder: 0
m_TargetDisplay: 0
@ -518,6 +527,7 @@ RectTransform:
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 1911967440}
m_RootOrder: 0
@ -554,6 +564,7 @@ Transform:
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: -3.7153435, y: -0.0017910004, z: 5.9292965}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 2
@ -583,6 +594,7 @@ GameObject:
m_Component:
- component: {fileID: 1369381601}
- component: {fileID: 1369381600}
- component: {fileID: 1369381602}
m_Layer: 0
m_Name: Directional Light
m_TagString: Untagged
@ -662,10 +674,31 @@ Transform:
m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261}
m_LocalPosition: {x: 0, y: 3, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0}
--- !u!114 &1369381602
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1369381599}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 474bcb49853aa07438625e644c072ee6, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Version: 1
m_UsePipelineSettings: 1
m_AdditionalLightsShadowResolutionTier: 2
m_LightLayerMask: 1
m_CustomShadowLayers: 0
m_ShadowLayerMask: 1
m_LightCookieSize: {x: 1, y: 1}
m_LightCookieOffset: {x: 0, y: 0}
--- !u!1 &1407691187
GameObject:
m_ObjectHideFlags: 0
@ -745,6 +778,7 @@ Transform:
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 4.8, z: -10}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 0
@ -811,6 +845,7 @@ Transform:
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 5
@ -843,6 +878,7 @@ RectTransform:
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 592567554}
m_RootOrder: 3
@ -930,6 +966,7 @@ RectTransform:
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 592567554}
m_RootOrder: 4
@ -1019,9 +1056,10 @@ MonoBehaviour:
color: {r: 1, g: 1, b: 1, a: 1}
maxRenderTextureSize: 1024
quad: {fileID: 0}
quadMaterial: {fileID: 2100000, guid: 4c507f887c6274a44a603d96e0eabf2a, type: 2}
renderTexture: {fileID: 0}
targetCamera: {fileID: 0}
quadMaterial: {fileID: 2100000, guid: 4c507f887c6274a44a603d96e0eabf2a, type: 2}
shaderPasses: 00000000
--- !u!114 &1786065615
MonoBehaviour:
m_ObjectHideFlags: 0
@ -1057,6 +1095,9 @@ MonoBehaviour:
materialsInsideMask: []
materialsOutsideMask: []
disableRenderingOnOverride: 1
physicsPositionInheritanceFactor: {x: 1, y: 1}
physicsRotationInheritanceFactor: 1
physicsMovementRelativeTo: {fileID: 0}
updateTiming: 1
unscaledTime: 0
_animationName: run
@ -1073,6 +1114,7 @@ MeshRenderer:
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
@ -1121,6 +1163,7 @@ Transform:
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 2.38, y: 0, z: 5.66}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 4
@ -1164,6 +1207,7 @@ Transform:
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: -4.7074776, y: 0.042612553, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 592567554}
m_Father: {fileID: 0}
@ -1199,6 +1243,7 @@ RectTransform:
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0.3, y: 0.3, z: 0.3}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 1089682727}
m_Father: {fileID: 592567554}
@ -1233,6 +1278,7 @@ MonoBehaviour:
additiveMaterial: {fileID: 2100000, guid: 2e8245019faeb8c43b75f9ca3ac8ee34, type: 2}
multiplyMaterial: {fileID: 2100000, guid: e74a1f8978a7da348a721508d0d58834, type: 2}
screenMaterial: {fileID: 2100000, guid: bab24c479f34eec45be6ea8595891569, type: 2}
m_SkeletonColor: {r: 1, g: 1, b: 1, a: 1}
initialSkinName: default
initialFlipX: 0
initialFlipY: 0
@ -1240,6 +1286,14 @@ MonoBehaviour:
startingLoop: 1
timeScale: 1
freeze: 0
layoutScaleMode: 0
referenceSize: {x: 2145.5999, y: 1302.059}
referencePivot: {x: 0.63858336, y: 0.010301443}
referencePivotOffset: {x: 1370.1444, y: 13.413086}
referenceScale: 1
rectTransformSize: {x: 2145.5999, y: 1302.059}
rectTransformPivot: {x: 0, y: 0}
editReferenceRect: 0
updateWhenInvisible: 3
allowMultipleCanvasRenderers: 0
canvasRenderers: []
@ -1247,16 +1301,20 @@ MonoBehaviour:
enableSeparatorSlots: 0
separatorParts: []
updateSeparatorPartLocation: 1
updateSeparatorPartScale: 0
disableMeshAssignmentOnOverride: 1
physicsPositionInheritanceFactor: {x: 1, y: 1}
physicsRotationInheritanceFactor: 1
physicsMovementRelativeTo: {fileID: 0}
meshGenerator:
settings:
useClipping: 1
zSpacing: 0
pmaVertexColors: 1
tintBlack: 0
canvasGroupTintBlack: 0
calculateTangents: 0
canvasGroupCompatible: 0
pmaVertexColors: 1
addNormals: 0
calculateTangents: 0
immutableTriangles: 0
updateTiming: 1
unscaledTime: 0
@ -1296,8 +1354,10 @@ MonoBehaviour:
color: {r: 1, g: 1, b: 1, a: 1}
maxRenderTextureSize: 1024
quad: {fileID: 0}
quadMaterial: {fileID: 2100000, guid: afeb0ae2ea2cda94796515bf8d1b3cb1, type: 2}
renderTexture: {fileID: 0}
targetCamera: {fileID: 0}
shaderPasses: 00000000
customRenderRect: {fileID: 1089682727}
meshRendererMaterialForTexture:
- texture: {fileID: 2800000, guid: 4ea2c33e839afb34c98f66e892b3b2d2, type: 3}

View File

@ -1,16 +1,16 @@
/******************************************************************************
* Spine Runtimes License Agreement
* Last updated September 24, 2021. Replaces all prior versions.
* Last updated July 28, 2023. Replaces all prior versions.
*
* Copyright (c) 2013-2021, Esoteric Software LLC
* Copyright (c) 2013-2023, Esoteric Software LLC
*
* Integration of the Spine Runtimes into software or otherwise creating
* derivative works of the Spine Runtimes is permitted under the terms and
* conditions of Section 2 of the Spine Editor License Agreement:
* http://esotericsoftware.com/spine-editor-license
*
* Otherwise, it is permitted to integrate the Spine Runtimes into software
* or otherwise create derivative works of the Spine Runtimes (collectively,
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
* otherwise create derivative works of the Spine Runtimes (collectively,
* "Products"), provided that each user of the Products must obtain their own
* Spine Editor license and redistribution of the Products in any form must
* include this license and copyright notice.
@ -23,8 +23,8 @@
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*****************************************************************************/
using UnityEngine;

View File

@ -1,16 +1,16 @@
/******************************************************************************
* Spine Runtimes License Agreement
* Last updated September 24, 2021. Replaces all prior versions.
* Last updated July 28, 2023. Replaces all prior versions.
*
* Copyright (c) 2013-2021, Esoteric Software LLC
* Copyright (c) 2013-2023, Esoteric Software LLC
*
* Integration of the Spine Runtimes into software or otherwise creating
* derivative works of the Spine Runtimes is permitted under the terms and
* conditions of Section 2 of the Spine Editor License Agreement:
* http://esotericsoftware.com/spine-editor-license
*
* Otherwise, it is permitted to integrate the Spine Runtimes into software
* or otherwise create derivative works of the Spine Runtimes (collectively,
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
* otherwise create derivative works of the Spine Runtimes (collectively,
* "Products"), provided that each user of the Products must obtain their own
* Spine Editor license and redistribution of the Products in any form must
* include this license and copyright notice.
@ -23,8 +23,8 @@
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*****************************************************************************/
using System.Collections;

View File

@ -1,16 +1,16 @@
/******************************************************************************
* Spine Runtimes License Agreement
* Last updated September 24, 2021. Replaces all prior versions.
* Last updated July 28, 2023. Replaces all prior versions.
*
* Copyright (c) 2013-2021, Esoteric Software LLC
* Copyright (c) 2013-2023, Esoteric Software LLC
*
* Integration of the Spine Runtimes into software or otherwise creating
* derivative works of the Spine Runtimes is permitted under the terms and
* conditions of Section 2 of the Spine Editor License Agreement:
* http://esotericsoftware.com/spine-editor-license
*
* Otherwise, it is permitted to integrate the Spine Runtimes into software
* or otherwise create derivative works of the Spine Runtimes (collectively,
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
* otherwise create derivative works of the Spine Runtimes (collectively,
* "Products"), provided that each user of the Products must obtain their own
* Spine Editor license and redistribution of the Products in any form must
* include this license and copyright notice.
@ -23,8 +23,8 @@
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*****************************************************************************/
// Contributed by: Mitch Thompson

View File

@ -1,16 +1,16 @@
/******************************************************************************
* Spine Runtimes License Agreement
* Last updated September 24, 2021. Replaces all prior versions.
* Last updated July 28, 2023. Replaces all prior versions.
*
* Copyright (c) 2013-2021, Esoteric Software LLC
* Copyright (c) 2013-2023, Esoteric Software LLC
*
* Integration of the Spine Runtimes into software or otherwise creating
* derivative works of the Spine Runtimes is permitted under the terms and
* conditions of Section 2 of the Spine Editor License Agreement:
* http://esotericsoftware.com/spine-editor-license
*
* Otherwise, it is permitted to integrate the Spine Runtimes into software
* or otherwise create derivative works of the Spine Runtimes (collectively,
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
* otherwise create derivative works of the Spine Runtimes (collectively,
* "Products"), provided that each user of the Products must obtain their own
* Spine Editor license and redistribution of the Products in any form must
* include this license and copyright notice.
@ -23,8 +23,8 @@
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*****************************************************************************/
using Spine.Unity;

View File

@ -1,16 +1,16 @@
/******************************************************************************
* Spine Runtimes License Agreement
* Last updated September 24, 2021. Replaces all prior versions.
* Last updated July 28, 2023. Replaces all prior versions.
*
* Copyright (c) 2013-2021, Esoteric Software LLC
* Copyright (c) 2013-2023, Esoteric Software LLC
*
* Integration of the Spine Runtimes into software or otherwise creating
* derivative works of the Spine Runtimes is permitted under the terms and
* conditions of Section 2 of the Spine Editor License Agreement:
* http://esotericsoftware.com/spine-editor-license
*
* Otherwise, it is permitted to integrate the Spine Runtimes into software
* or otherwise create derivative works of the Spine Runtimes (collectively,
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
* otherwise create derivative works of the Spine Runtimes (collectively,
* "Products"), provided that each user of the Products must obtain their own
* Spine Editor license and redistribution of the Products in any form must
* include this license and copyright notice.
@ -23,8 +23,8 @@
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*****************************************************************************/
// Contributed by: Mitch Thompson

View File

@ -1,16 +1,16 @@
/******************************************************************************
* Spine Runtimes License Agreement
* Last updated September 24, 2021. Replaces all prior versions.
* Last updated July 28, 2023. Replaces all prior versions.
*
* Copyright (c) 2013-2021, Esoteric Software LLC
* Copyright (c) 2013-2023, Esoteric Software LLC
*
* Integration of the Spine Runtimes into software or otherwise creating
* derivative works of the Spine Runtimes is permitted under the terms and
* conditions of Section 2 of the Spine Editor License Agreement:
* http://esotericsoftware.com/spine-editor-license
*
* Otherwise, it is permitted to integrate the Spine Runtimes into software
* or otherwise create derivative works of the Spine Runtimes (collectively,
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
* otherwise create derivative works of the Spine Runtimes (collectively,
* "Products"), provided that each user of the Products must obtain their own
* Spine Editor license and redistribution of the Products in any form must
* include this license and copyright notice.
@ -23,8 +23,8 @@
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*****************************************************************************/
using Spine.Unity;

View File

@ -1,16 +1,16 @@
/******************************************************************************
* Spine Runtimes License Agreement
* Last updated September 24, 2021. Replaces all prior versions.
* Last updated July 28, 2023. Replaces all prior versions.
*
* Copyright (c) 2013-2021, Esoteric Software LLC
* Copyright (c) 2013-2023, Esoteric Software LLC
*
* Integration of the Spine Runtimes into software or otherwise creating
* derivative works of the Spine Runtimes is permitted under the terms and
* conditions of Section 2 of the Spine Editor License Agreement:
* http://esotericsoftware.com/spine-editor-license
*
* Otherwise, it is permitted to integrate the Spine Runtimes into software
* or otherwise create derivative works of the Spine Runtimes (collectively,
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
* otherwise create derivative works of the Spine Runtimes (collectively,
* "Products"), provided that each user of the Products must obtain their own
* Spine Editor license and redistribution of the Products in any form must
* include this license and copyright notice.
@ -23,8 +23,8 @@
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*****************************************************************************/
using Spine.Unity;

View File

@ -1,16 +1,16 @@
/******************************************************************************
* Spine Runtimes License Agreement
* Last updated September 24, 2021. Replaces all prior versions.
* Last updated July 28, 2023. Replaces all prior versions.
*
* Copyright (c) 2013-2021, Esoteric Software LLC
* Copyright (c) 2013-2023, Esoteric Software LLC
*
* Integration of the Spine Runtimes into software or otherwise creating
* derivative works of the Spine Runtimes is permitted under the terms and
* conditions of Section 2 of the Spine Editor License Agreement:
* http://esotericsoftware.com/spine-editor-license
*
* Otherwise, it is permitted to integrate the Spine Runtimes into software
* or otherwise create derivative works of the Spine Runtimes (collectively,
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
* otherwise create derivative works of the Spine Runtimes (collectively,
* "Products"), provided that each user of the Products must obtain their own
* Spine Editor license and redistribution of the Products in any form must
* include this license and copyright notice.
@ -23,8 +23,8 @@
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*****************************************************************************/
using Spine.Unity;

View File

@ -1,16 +1,16 @@
/******************************************************************************
* Spine Runtimes License Agreement
* Last updated September 24, 2021. Replaces all prior versions.
* Last updated July 28, 2023. Replaces all prior versions.
*
* Copyright (c) 2013-2021, Esoteric Software LLC
* Copyright (c) 2013-2023, Esoteric Software LLC
*
* Integration of the Spine Runtimes into software or otherwise creating
* derivative works of the Spine Runtimes is permitted under the terms and
* conditions of Section 2 of the Spine Editor License Agreement:
* http://esotericsoftware.com/spine-editor-license
*
* Otherwise, it is permitted to integrate the Spine Runtimes into software
* or otherwise create derivative works of the Spine Runtimes (collectively,
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
* otherwise create derivative works of the Spine Runtimes (collectively,
* "Products"), provided that each user of the Products must obtain their own
* Spine Editor license and redistribution of the Products in any form must
* include this license and copyright notice.
@ -23,8 +23,8 @@
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*****************************************************************************/
using System.Collections;

View File

@ -1,16 +1,16 @@
/******************************************************************************
* Spine Runtimes License Agreement
* Last updated September 24, 2021. Replaces all prior versions.
* Last updated July 28, 2023. Replaces all prior versions.
*
* Copyright (c) 2013-2021, Esoteric Software LLC
* Copyright (c) 2013-2023, Esoteric Software LLC
*
* Integration of the Spine Runtimes into software or otherwise creating
* derivative works of the Spine Runtimes is permitted under the terms and
* conditions of Section 2 of the Spine Editor License Agreement:
* http://esotericsoftware.com/spine-editor-license
*
* Otherwise, it is permitted to integrate the Spine Runtimes into software
* or otherwise create derivative works of the Spine Runtimes (collectively,
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
* otherwise create derivative works of the Spine Runtimes (collectively,
* "Products"), provided that each user of the Products must obtain their own
* Spine Editor license and redistribution of the Products in any form must
* include this license and copyright notice.
@ -23,8 +23,8 @@
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*****************************************************************************/
using System.Collections;

View File

@ -1,16 +1,16 @@
/******************************************************************************
* Spine Runtimes License Agreement
* Last updated September 24, 2021. Replaces all prior versions.
* Last updated July 28, 2023. Replaces all prior versions.
*
* Copyright (c) 2013-2021, Esoteric Software LLC
* Copyright (c) 2013-2023, Esoteric Software LLC
*
* Integration of the Spine Runtimes into software or otherwise creating
* derivative works of the Spine Runtimes is permitted under the terms and
* conditions of Section 2 of the Spine Editor License Agreement:
* http://esotericsoftware.com/spine-editor-license
*
* Otherwise, it is permitted to integrate the Spine Runtimes into software
* or otherwise create derivative works of the Spine Runtimes (collectively,
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
* otherwise create derivative works of the Spine Runtimes (collectively,
* "Products"), provided that each user of the Products must obtain their own
* Spine Editor license and redistribution of the Products in any form must
* include this license and copyright notice.
@ -23,8 +23,8 @@
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*****************************************************************************/
using Spine.Unity;
@ -124,14 +124,14 @@ namespace Spine.Unity.Examples {
public void PlayShoot () {
// Play the shoot animation on track 1.
TrackEntry shootTrack = skeletonAnimation.AnimationState.SetAnimation(1, shoot, false);
shootTrack.AttachmentThreshold = 1f;
shootTrack.MixDuration = 0f;
shootTrack.MixAttachmentThreshold = 1f;
shootTrack.SetMixDuration(0f, 0f);
skeletonAnimation.state.AddEmptyAnimation(1, 0.5f, 0.1f);
// Play the aim animation on track 2 to aim at the mouse target.
TrackEntry aimTrack = skeletonAnimation.AnimationState.SetAnimation(2, aim, false);
aimTrack.AttachmentThreshold = 1f;
aimTrack.MixDuration = 0f;
aimTrack.MixAttachmentThreshold = 1f;
aimTrack.SetMixDuration(0f, 0f);
skeletonAnimation.state.AddEmptyAnimation(2, 0.5f, 0.1f);
gunSource.pitch = GetRandomPitch(gunsoundPitchOffset);
@ -143,8 +143,8 @@ namespace Spine.Unity.Examples {
public void StartPlayingAim () {
// Play the aim animation on track 2 to aim at the mouse target.
TrackEntry aimTrack = skeletonAnimation.AnimationState.SetAnimation(2, aim, true);
aimTrack.AttachmentThreshold = 1f;
aimTrack.MixDuration = 0f;
aimTrack.MixAttachmentThreshold = 1f;
aimTrack.SetMixDuration(0f, 0f); // use SetMixDuration(mixDuration, delay) to update delay correctly
}
public void StopPlayingAim () {

View File

@ -0,0 +1,167 @@
/******************************************************************************
* Spine Runtimes License Agreement
* Last updated July 28, 2023. Replaces all prior versions.
*
* Copyright (c) 2013-2023, Esoteric Software LLC
*
* Integration of the Spine Runtimes into software or otherwise creating
* derivative works of the Spine Runtimes is permitted under the terms and
* conditions of Section 2 of the Spine Editor License Agreement:
* http://esotericsoftware.com/spine-editor-license
*
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
* otherwise create derivative works of the Spine Runtimes (collectively,
* "Products"), provided that each user of the Products must obtain their own
* Spine Editor license and redistribution of the Products in any form must
* include this license and copyright notice.
*
* THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC "AS IS" AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*****************************************************************************/
using Spine.Unity;
using System.Collections;
using UnityEngine;
namespace Spine.Unity.Examples {
public class SpineboyBeginnerViewGraphic : MonoBehaviour {
#region Inspector
[Header("Components")]
public SpineboyBeginnerModel model;
public SkeletonGraphic skeletonGraphic;
public AnimationReferenceAsset run, idle, aim, shoot, jump;
public EventDataReferenceAsset footstepEvent;
[Header("Audio")]
public float footstepPitchOffset = 0.2f;
public float gunsoundPitchOffset = 0.13f;
public AudioSource footstepSource, gunSource, jumpSource;
[Header("Effects")]
public ParticleSystem gunParticles;
#endregion
SpineBeginnerBodyState previousViewState;
void Start () {
if (skeletonGraphic == null) return;
model.ShootEvent += PlayShoot;
model.StartAimEvent += StartPlayingAim;
model.StopAimEvent += StopPlayingAim;
skeletonGraphic.AnimationState.Event += HandleEvent;
}
void HandleEvent (Spine.TrackEntry trackEntry, Spine.Event e) {
if (e.Data == footstepEvent.EventData)
PlayFootstepSound();
}
void Update () {
if (skeletonGraphic == null) return;
if (model == null) return;
if ((skeletonGraphic.Skeleton.ScaleX < 0) != model.facingLeft) { // Detect changes in model.facingLeft
Turn(model.facingLeft);
}
// Detect changes in model.state
SpineBeginnerBodyState currentModelState = model.state;
if (previousViewState != currentModelState) {
PlayNewStableAnimation();
}
previousViewState = currentModelState;
}
void PlayNewStableAnimation () {
SpineBeginnerBodyState newModelState = model.state;
Animation nextAnimation;
// Add conditionals to not interrupt transient animations.
if (previousViewState == SpineBeginnerBodyState.Jumping && newModelState != SpineBeginnerBodyState.Jumping) {
PlayFootstepSound();
}
if (newModelState == SpineBeginnerBodyState.Jumping) {
jumpSource.Play();
nextAnimation = jump;
} else {
if (newModelState == SpineBeginnerBodyState.Running) {
nextAnimation = run;
} else {
nextAnimation = idle;
}
}
skeletonGraphic.AnimationState.SetAnimation(0, nextAnimation, true);
}
void PlayFootstepSound () {
footstepSource.Play();
footstepSource.pitch = GetRandomPitch(footstepPitchOffset);
}
[ContextMenu("Check Tracks")]
void CheckTracks () {
AnimationState state = skeletonGraphic.AnimationState;
Debug.Log(state.GetCurrent(0));
Debug.Log(state.GetCurrent(1));
}
#region Transient Actions
public void PlayShoot () {
// Play the shoot animation on track 1.
TrackEntry shootTrack = skeletonGraphic.AnimationState.SetAnimation(1, shoot, false);
shootTrack.MixAttachmentThreshold = 1f;
shootTrack.SetMixDuration(0f, 0f);
skeletonGraphic.AnimationState.AddEmptyAnimation(1, 0.5f, 0.1f);
// Play the aim animation on track 2 to aim at the mouse target.
TrackEntry aimTrack = skeletonGraphic.AnimationState.SetAnimation(2, aim, false);
aimTrack.MixAttachmentThreshold = 1f;
aimTrack.SetMixDuration(0f, 0f);
skeletonGraphic.AnimationState.AddEmptyAnimation(2, 0.5f, 0.1f);
gunSource.pitch = GetRandomPitch(gunsoundPitchOffset);
gunSource.Play();
//gunParticles.randomSeed = (uint)Random.Range(0, 100);
gunParticles.Play();
}
public void StartPlayingAim () {
// Play the aim animation on track 2 to aim at the mouse target.
TrackEntry aimTrack = skeletonGraphic.AnimationState.SetAnimation(2, aim, true);
aimTrack.MixAttachmentThreshold = 1f;
aimTrack.SetMixDuration(0f, 0f); // use SetMixDuration(mixDuration, delay) to update delay correctly
}
public void StopPlayingAim () {
skeletonGraphic.AnimationState.AddEmptyAnimation(2, 0.5f, 0.1f);
}
public void Turn (bool facingLeft) {
skeletonGraphic.Skeleton.ScaleX = facingLeft ? -1f : 1f;
// Maybe play a transient turning animation too, then call ChangeStableAnimation.
}
#endregion
#region Utility
public float GetRandomPitch (float maxPitchOffset) {
return 1f + Random.Range(-maxPitchOffset, maxPitchOffset);
}
#endregion
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 795971ea6ab1f214eac09ad8814226e6
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,16 +1,16 @@
/******************************************************************************
* Spine Runtimes License Agreement
* Last updated September 24, 2021. Replaces all prior versions.
* Last updated July 28, 2023. Replaces all prior versions.
*
* Copyright (c) 2013-2021, Esoteric Software LLC
* Copyright (c) 2013-2023, Esoteric Software LLC
*
* Integration of the Spine Runtimes into software or otherwise creating
* derivative works of the Spine Runtimes is permitted under the terms and
* conditions of Section 2 of the Spine Editor License Agreement:
* http://esotericsoftware.com/spine-editor-license
*
* Otherwise, it is permitted to integrate the Spine Runtimes into software
* or otherwise create derivative works of the Spine Runtimes (collectively,
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
* otherwise create derivative works of the Spine Runtimes (collectively,
* "Products"), provided that each user of the Products must obtain their own
* Spine Editor license and redistribution of the Products in any form must
* include this license and copyright notice.
@ -23,8 +23,8 @@
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*****************************************************************************/
using UnityEngine;

View File

@ -0,0 +1,64 @@
/******************************************************************************
* Spine Runtimes License Agreement
* Last updated July 28, 2023. Replaces all prior versions.
*
* Copyright (c) 2013-2023, Esoteric Software LLC
*
* Integration of the Spine Runtimes into software or otherwise creating
* derivative works of the Spine Runtimes is permitted under the terms and
* conditions of Section 2 of the Spine Editor License Agreement:
* http://esotericsoftware.com/spine-editor-license
*
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
* otherwise create derivative works of the Spine Runtimes (collectively,
* "Products"), provided that each user of the Products must obtain their own
* Spine Editor license and redistribution of the Products in any form must
* include this license and copyright notice.
*
* THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC "AS IS" AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*****************************************************************************/
using UnityEngine;
namespace Spine.Unity.Examples {
public class SpineboyTargetControllerGraphic : MonoBehaviour {
public SkeletonGraphic skeletonGraphic;
[SpineBone(dataField: "skeletonGraphic")]
public string boneName;
public Camera cam;
public Canvas canvas;
Bone bone;
void OnValidate () {
if (skeletonGraphic == null) skeletonGraphic = GetComponent<SkeletonGraphic>();
}
void Start () {
bone = skeletonGraphic.Skeleton.FindBone(boneName);
}
void Update () {
Vector3 mousePosition = Input.mousePosition;
Vector2 localRectPosition;
RectTransformUtility.ScreenPointToLocalPointInRectangle(
skeletonGraphic.rectTransform, mousePosition, null, out localRectPosition);
Vector3 skeletonSpacePoint = localRectPosition / skeletonGraphic.MeshScale;
skeletonSpacePoint.x *= skeletonGraphic.Skeleton.ScaleX;
skeletonSpacePoint.y *= skeletonGraphic.Skeleton.ScaleY;
bone.SetLocalPosition(skeletonSpacePoint);
}
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: e58811512f2bea64988af3798e27f1d8
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,16 +1,16 @@
/******************************************************************************
* Spine Runtimes License Agreement
* Last updated September 24, 2021. Replaces all prior versions.
* Last updated July 28, 2023. Replaces all prior versions.
*
* Copyright (c) 2013-2021, Esoteric Software LLC
* Copyright (c) 2013-2023, Esoteric Software LLC
*
* Integration of the Spine Runtimes into software or otherwise creating
* derivative works of the Spine Runtimes is permitted under the terms and
* conditions of Section 2 of the Spine Editor License Agreement:
* http://esotericsoftware.com/spine-editor-license
*
* Otherwise, it is permitted to integrate the Spine Runtimes into software
* or otherwise create derivative works of the Spine Runtimes (collectively,
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
* otherwise create derivative works of the Spine Runtimes (collectively,
* "Products"), provided that each user of the Products must obtain their own
* Spine Editor license and redistribution of the Products in any form must
* include this license and copyright notice.
@ -23,8 +23,8 @@
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*****************************************************************************/
using System.Collections;

View File

@ -1,16 +1,16 @@
/******************************************************************************
* Spine Runtimes License Agreement
* Last updated September 24, 2021. Replaces all prior versions.
* Last updated July 28, 2023. Replaces all prior versions.
*
* Copyright (c) 2013-2021, Esoteric Software LLC
* Copyright (c) 2013-2023, Esoteric Software LLC
*
* Integration of the Spine Runtimes into software or otherwise creating
* derivative works of the Spine Runtimes is permitted under the terms and
* conditions of Section 2 of the Spine Editor License Agreement:
* http://esotericsoftware.com/spine-editor-license
*
* Otherwise, it is permitted to integrate the Spine Runtimes into software
* or otherwise create derivative works of the Spine Runtimes (collectively,
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
* otherwise create derivative works of the Spine Runtimes (collectively,
* "Products"), provided that each user of the Products must obtain their own
* Spine Editor license and redistribution of the Products in any form must
* include this license and copyright notice.
@ -23,8 +23,8 @@
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*****************************************************************************/
using Spine;

View File

@ -1,16 +1,16 @@
/******************************************************************************
* Spine Runtimes License Agreement
* Last updated September 24, 2021. Replaces all prior versions.
* Last updated July 28, 2023. Replaces all prior versions.
*
* Copyright (c) 2013-2021, Esoteric Software LLC
* Copyright (c) 2013-2023, Esoteric Software LLC
*
* Integration of the Spine Runtimes into software or otherwise creating
* derivative works of the Spine Runtimes is permitted under the terms and
* conditions of Section 2 of the Spine Editor License Agreement:
* http://esotericsoftware.com/spine-editor-license
*
* Otherwise, it is permitted to integrate the Spine Runtimes into software
* or otherwise create derivative works of the Spine Runtimes (collectively,
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
* otherwise create derivative works of the Spine Runtimes (collectively,
* "Products"), provided that each user of the Products must obtain their own
* Spine Editor license and redistribution of the Products in any form must
* include this license and copyright notice.
@ -23,8 +23,8 @@
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*****************************************************************************/
using System.Collections;

View File

@ -1,16 +1,16 @@
/******************************************************************************
* Spine Runtimes License Agreement
* Last updated September 24, 2021. Replaces all prior versions.
* Last updated July 28, 2023. Replaces all prior versions.
*
* Copyright (c) 2013-2021, Esoteric Software LLC
* Copyright (c) 2013-2023, Esoteric Software LLC
*
* Integration of the Spine Runtimes into software or otherwise creating
* derivative works of the Spine Runtimes is permitted under the terms and
* conditions of Section 2 of the Spine Editor License Agreement:
* http://esotericsoftware.com/spine-editor-license
*
* Otherwise, it is permitted to integrate the Spine Runtimes into software
* or otherwise create derivative works of the Spine Runtimes (collectively,
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
* otherwise create derivative works of the Spine Runtimes (collectively,
* "Products"), provided that each user of the Products must obtain their own
* Spine Editor license and redistribution of the Products in any form must
* include this license and copyright notice.
@ -23,8 +23,8 @@
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*****************************************************************************/
using UnityEngine;

View File

@ -1,16 +1,16 @@
/******************************************************************************
* Spine Runtimes License Agreement
* Last updated September 24, 2021. Replaces all prior versions.
* Last updated July 28, 2023. Replaces all prior versions.
*
* Copyright (c) 2013-2021, Esoteric Software LLC
* Copyright (c) 2013-2023, Esoteric Software LLC
*
* Integration of the Spine Runtimes into software or otherwise creating
* derivative works of the Spine Runtimes is permitted under the terms and
* conditions of Section 2 of the Spine Editor License Agreement:
* http://esotericsoftware.com/spine-editor-license
*
* Otherwise, it is permitted to integrate the Spine Runtimes into software
* or otherwise create derivative works of the Spine Runtimes (collectively,
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
* otherwise create derivative works of the Spine Runtimes (collectively,
* "Products"), provided that each user of the Products must obtain their own
* Spine Editor license and redistribution of the Products in any form must
* include this license and copyright notice.
@ -23,8 +23,8 @@
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*****************************************************************************/
using System.Collections;

View File

@ -1,16 +1,16 @@
/******************************************************************************
* Spine Runtimes License Agreement
* Last updated September 24, 2021. Replaces all prior versions.
* Last updated July 28, 2023. Replaces all prior versions.
*
* Copyright (c) 2013-2021, Esoteric Software LLC
* Copyright (c) 2013-2023, Esoteric Software LLC
*
* Integration of the Spine Runtimes into software or otherwise creating
* derivative works of the Spine Runtimes is permitted under the terms and
* conditions of Section 2 of the Spine Editor License Agreement:
* http://esotericsoftware.com/spine-editor-license
*
* Otherwise, it is permitted to integrate the Spine Runtimes into software
* or otherwise create derivative works of the Spine Runtimes (collectively,
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
* otherwise create derivative works of the Spine Runtimes (collectively,
* "Products"), provided that each user of the Products must obtain their own
* Spine Editor license and redistribution of the Products in any form must
* include this license and copyright notice.
@ -23,8 +23,8 @@
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*****************************************************************************/
using System.Collections;

View File

@ -1,16 +1,16 @@
/******************************************************************************
* Spine Runtimes License Agreement
* Last updated September 24, 2021. Replaces all prior versions.
* Last updated July 28, 2023. Replaces all prior versions.
*
* Copyright (c) 2013-2021, Esoteric Software LLC
* Copyright (c) 2013-2023, Esoteric Software LLC
*
* Integration of the Spine Runtimes into software or otherwise creating
* derivative works of the Spine Runtimes is permitted under the terms and
* conditions of Section 2 of the Spine Editor License Agreement:
* http://esotericsoftware.com/spine-editor-license
*
* Otherwise, it is permitted to integrate the Spine Runtimes into software
* or otherwise create derivative works of the Spine Runtimes (collectively,
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
* otherwise create derivative works of the Spine Runtimes (collectively,
* "Products"), provided that each user of the Products must obtain their own
* Spine Editor license and redistribution of the Products in any form must
* include this license and copyright notice.
@ -23,8 +23,8 @@
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*****************************************************************************/
using System.Collections;

View File

@ -1,16 +1,16 @@
/******************************************************************************
* Spine Runtimes License Agreement
* Last updated September 24, 2021. Replaces all prior versions.
* Last updated July 28, 2023. Replaces all prior versions.
*
* Copyright (c) 2013-2021, Esoteric Software LLC
* Copyright (c) 2013-2023, Esoteric Software LLC
*
* Integration of the Spine Runtimes into software or otherwise creating
* derivative works of the Spine Runtimes is permitted under the terms and
* conditions of Section 2 of the Spine Editor License Agreement:
* http://esotericsoftware.com/spine-editor-license
*
* Otherwise, it is permitted to integrate the Spine Runtimes into software
* or otherwise create derivative works of the Spine Runtimes (collectively,
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
* otherwise create derivative works of the Spine Runtimes (collectively,
* "Products"), provided that each user of the Products must obtain their own
* Spine Editor license and redistribution of the Products in any form must
* include this license and copyright notice.
@ -23,8 +23,8 @@
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*****************************************************************************/
using System.Collections;

View File

@ -1,16 +1,16 @@
/******************************************************************************
* Spine Runtimes License Agreement
* Last updated September 24, 2021. Replaces all prior versions.
* Last updated July 28, 2023. Replaces all prior versions.
*
* Copyright (c) 2013-2021, Esoteric Software LLC
* Copyright (c) 2013-2023, Esoteric Software LLC
*
* Integration of the Spine Runtimes into software or otherwise creating
* derivative works of the Spine Runtimes is permitted under the terms and
* conditions of Section 2 of the Spine Editor License Agreement:
* http://esotericsoftware.com/spine-editor-license
*
* Otherwise, it is permitted to integrate the Spine Runtimes into software
* or otherwise create derivative works of the Spine Runtimes (collectively,
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
* otherwise create derivative works of the Spine Runtimes (collectively,
* "Products"), provided that each user of the Products must obtain their own
* Spine Editor license and redistribution of the Products in any form must
* include this license and copyright notice.
@ -23,8 +23,8 @@
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*****************************************************************************/
using System.Collections;

View File

@ -1,16 +1,16 @@
/******************************************************************************
* Spine Runtimes License Agreement
* Last updated September 24, 2021. Replaces all prior versions.
* Last updated July 28, 2023. Replaces all prior versions.
*
* Copyright (c) 2013-2021, Esoteric Software LLC
* Copyright (c) 2013-2023, Esoteric Software LLC
*
* Integration of the Spine Runtimes into software or otherwise creating
* derivative works of the Spine Runtimes is permitted under the terms and
* conditions of Section 2 of the Spine Editor License Agreement:
* http://esotericsoftware.com/spine-editor-license
*
* Otherwise, it is permitted to integrate the Spine Runtimes into software
* or otherwise create derivative works of the Spine Runtimes (collectively,
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
* otherwise create derivative works of the Spine Runtimes (collectively,
* "Products"), provided that each user of the Products must obtain their own
* Spine Editor license and redistribution of the Products in any form must
* include this license and copyright notice.
@ -23,8 +23,8 @@
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*****************************************************************************/
using System.Collections.Generic;

View File

@ -1,16 +1,16 @@
/******************************************************************************
* Spine Runtimes License Agreement
* Last updated September 24, 2021. Replaces all prior versions.
* Last updated July 28, 2023. Replaces all prior versions.
*
* Copyright (c) 2013-2021, Esoteric Software LLC
* Copyright (c) 2013-2023, Esoteric Software LLC
*
* Integration of the Spine Runtimes into software or otherwise creating
* derivative works of the Spine Runtimes is permitted under the terms and
* conditions of Section 2 of the Spine Editor License Agreement:
* http://esotericsoftware.com/spine-editor-license
*
* Otherwise, it is permitted to integrate the Spine Runtimes into software
* or otherwise create derivative works of the Spine Runtimes (collectively,
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
* otherwise create derivative works of the Spine Runtimes (collectively,
* "Products"), provided that each user of the Products must obtain their own
* Spine Editor license and redistribution of the Products in any form must
* include this license and copyright notice.
@ -23,8 +23,8 @@
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*****************************************************************************/
using Spine;

View File

@ -1,16 +1,16 @@
/******************************************************************************
* Spine Runtimes License Agreement
* Last updated September 24, 2021. Replaces all prior versions.
* Last updated July 28, 2023. Replaces all prior versions.
*
* Copyright (c) 2013-2021, Esoteric Software LLC
* Copyright (c) 2013-2023, Esoteric Software LLC
*
* Integration of the Spine Runtimes into software or otherwise creating
* derivative works of the Spine Runtimes is permitted under the terms and
* conditions of Section 2 of the Spine Editor License Agreement:
* http://esotericsoftware.com/spine-editor-license
*
* Otherwise, it is permitted to integrate the Spine Runtimes into software
* or otherwise create derivative works of the Spine Runtimes (collectively,
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
* otherwise create derivative works of the Spine Runtimes (collectively,
* "Products"), provided that each user of the Products must obtain their own
* Spine Editor license and redistribution of the Products in any form must
* include this license and copyright notice.
@ -23,8 +23,8 @@
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*****************************************************************************/
using System.Collections;

View File

@ -1,16 +1,16 @@
/******************************************************************************
* Spine Runtimes License Agreement
* Last updated September 24, 2021. Replaces all prior versions.
* Last updated July 28, 2023. Replaces all prior versions.
*
* Copyright (c) 2013-2021, Esoteric Software LLC
* Copyright (c) 2013-2023, Esoteric Software LLC
*
* Integration of the Spine Runtimes into software or otherwise creating
* derivative works of the Spine Runtimes is permitted under the terms and
* conditions of Section 2 of the Spine Editor License Agreement:
* http://esotericsoftware.com/spine-editor-license
*
* Otherwise, it is permitted to integrate the Spine Runtimes into software
* or otherwise create derivative works of the Spine Runtimes (collectively,
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
* otherwise create derivative works of the Spine Runtimes (collectively,
* "Products"), provided that each user of the Products must obtain their own
* Spine Editor license and redistribution of the Products in any form must
* include this license and copyright notice.
@ -23,8 +23,8 @@
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*****************************************************************************/
using System.Collections;

View File

@ -1,16 +1,16 @@
/******************************************************************************
* Spine Runtimes License Agreement
* Last updated September 24, 2021. Replaces all prior versions.
* Last updated July 28, 2023. Replaces all prior versions.
*
* Copyright (c) 2013-2021, Esoteric Software LLC
* Copyright (c) 2013-2023, Esoteric Software LLC
*
* Integration of the Spine Runtimes into software or otherwise creating
* derivative works of the Spine Runtimes is permitted under the terms and
* conditions of Section 2 of the Spine Editor License Agreement:
* http://esotericsoftware.com/spine-editor-license
*
* Otherwise, it is permitted to integrate the Spine Runtimes into software
* or otherwise create derivative works of the Spine Runtimes (collectively,
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
* otherwise create derivative works of the Spine Runtimes (collectively,
* "Products"), provided that each user of the Products must obtain their own
* Spine Editor license and redistribution of the Products in any form must
* include this license and copyright notice.
@ -23,8 +23,8 @@
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*****************************************************************************/
using Spine.Unity.AttachmentTools;

View File

@ -1,16 +1,16 @@
/******************************************************************************
* Spine Runtimes License Agreement
* Last updated September 24, 2021. Replaces all prior versions.
* Last updated July 28, 2023. Replaces all prior versions.
*
* Copyright (c) 2013-2021, Esoteric Software LLC
* Copyright (c) 2013-2023, Esoteric Software LLC
*
* Integration of the Spine Runtimes into software or otherwise creating
* derivative works of the Spine Runtimes is permitted under the terms and
* conditions of Section 2 of the Spine Editor License Agreement:
* http://esotericsoftware.com/spine-editor-license
*
* Otherwise, it is permitted to integrate the Spine Runtimes into software
* or otherwise create derivative works of the Spine Runtimes (collectively,
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
* otherwise create derivative works of the Spine Runtimes (collectively,
* "Products"), provided that each user of the Products must obtain their own
* Spine Editor license and redistribution of the Products in any form must
* include this license and copyright notice.
@ -23,8 +23,8 @@
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*****************************************************************************/
using Spine.Unity.AttachmentTools;

View File

@ -1,16 +1,16 @@
/******************************************************************************
* Spine Runtimes License Agreement
* Last updated September 24, 2021. Replaces all prior versions.
* Last updated July 28, 2023. Replaces all prior versions.
*
* Copyright (c) 2013-2021, Esoteric Software LLC
* Copyright (c) 2013-2023, Esoteric Software LLC
*
* Integration of the Spine Runtimes into software or otherwise creating
* derivative works of the Spine Runtimes is permitted under the terms and
* conditions of Section 2 of the Spine Editor License Agreement:
* http://esotericsoftware.com/spine-editor-license
*
* Otherwise, it is permitted to integrate the Spine Runtimes into software
* or otherwise create derivative works of the Spine Runtimes (collectively,
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
* otherwise create derivative works of the Spine Runtimes (collectively,
* "Products"), provided that each user of the Products must obtain their own
* Spine Editor license and redistribution of the Products in any form must
* include this license and copyright notice.
@ -23,8 +23,8 @@
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*****************************************************************************/
using Spine.Unity;

View File

@ -1,16 +1,16 @@
/******************************************************************************
* Spine Runtimes License Agreement
* Last updated September 24, 2021. Replaces all prior versions.
* Last updated July 28, 2023. Replaces all prior versions.
*
* Copyright (c) 2013-2021, Esoteric Software LLC
* Copyright (c) 2013-2023, Esoteric Software LLC
*
* Integration of the Spine Runtimes into software or otherwise creating
* derivative works of the Spine Runtimes is permitted under the terms and
* conditions of Section 2 of the Spine Editor License Agreement:
* http://esotericsoftware.com/spine-editor-license
*
* Otherwise, it is permitted to integrate the Spine Runtimes into software
* or otherwise create derivative works of the Spine Runtimes (collectively,
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
* otherwise create derivative works of the Spine Runtimes (collectively,
* "Products"), provided that each user of the Products must obtain their own
* Spine Editor license and redistribution of the Products in any form must
* include this license and copyright notice.
@ -23,8 +23,8 @@
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*****************************************************************************/
using Spine.Unity.AttachmentTools;

View File

@ -1,16 +1,16 @@
/******************************************************************************
* Spine Runtimes License Agreement
* Last updated September 24, 2021. Replaces all prior versions.
* Last updated July 28, 2023. Replaces all prior versions.
*
* Copyright (c) 2013-2021, Esoteric Software LLC
* Copyright (c) 2013-2023, Esoteric Software LLC
*
* Integration of the Spine Runtimes into software or otherwise creating
* derivative works of the Spine Runtimes is permitted under the terms and
* conditions of Section 2 of the Spine Editor License Agreement:
* http://esotericsoftware.com/spine-editor-license
*
* Otherwise, it is permitted to integrate the Spine Runtimes into software
* or otherwise create derivative works of the Spine Runtimes (collectively,
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
* otherwise create derivative works of the Spine Runtimes (collectively,
* "Products"), provided that each user of the Products must obtain their own
* Spine Editor license and redistribution of the Products in any form must
* include this license and copyright notice.
@ -23,8 +23,8 @@
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*****************************************************************************/
using Spine.Unity.AttachmentTools;

View File

@ -1,16 +1,16 @@
/******************************************************************************
* Spine Runtimes License Agreement
* Last updated September 24, 2021. Replaces all prior versions.
* Last updated July 28, 2023. Replaces all prior versions.
*
* Copyright (c) 2013-2021, Esoteric Software LLC
* Copyright (c) 2013-2023, Esoteric Software LLC
*
* Integration of the Spine Runtimes into software or otherwise creating
* derivative works of the Spine Runtimes is permitted under the terms and
* conditions of Section 2 of the Spine Editor License Agreement:
* http://esotericsoftware.com/spine-editor-license
*
* Otherwise, it is permitted to integrate the Spine Runtimes into software
* or otherwise create derivative works of the Spine Runtimes (collectively,
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
* otherwise create derivative works of the Spine Runtimes (collectively,
* "Products"), provided that each user of the Products must obtain their own
* Spine Editor license and redistribution of the Products in any form must
* include this license and copyright notice.
@ -23,8 +23,8 @@
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*****************************************************************************/
using Spine.Unity.AttachmentTools;

View File

@ -1,16 +1,16 @@
/******************************************************************************
* Spine Runtimes License Agreement
* Last updated September 24, 2021. Replaces all prior versions.
* Last updated July 28, 2023. Replaces all prior versions.
*
* Copyright (c) 2013-2021, Esoteric Software LLC
* Copyright (c) 2013-2023, Esoteric Software LLC
*
* Integration of the Spine Runtimes into software or otherwise creating
* derivative works of the Spine Runtimes is permitted under the terms and
* conditions of Section 2 of the Spine Editor License Agreement:
* http://esotericsoftware.com/spine-editor-license
*
* Otherwise, it is permitted to integrate the Spine Runtimes into software
* or otherwise create derivative works of the Spine Runtimes (collectively,
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
* otherwise create derivative works of the Spine Runtimes (collectively,
* "Products"), provided that each user of the Products must obtain their own
* Spine Editor license and redistribution of the Products in any form must
* include this license and copyright notice.
@ -23,8 +23,8 @@
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*****************************************************************************/
using Spine.Unity;

View File

@ -1,16 +1,16 @@
/******************************************************************************
* Spine Runtimes License Agreement
* Last updated September 24, 2021. Replaces all prior versions.
* Last updated July 28, 2023. Replaces all prior versions.
*
* Copyright (c) 2013-2021, Esoteric Software LLC
* Copyright (c) 2013-2023, Esoteric Software LLC
*
* Integration of the Spine Runtimes into software or otherwise creating
* derivative works of the Spine Runtimes is permitted under the terms and
* conditions of Section 2 of the Spine Editor License Agreement:
* http://esotericsoftware.com/spine-editor-license
*
* Otherwise, it is permitted to integrate the Spine Runtimes into software
* or otherwise create derivative works of the Spine Runtimes (collectively,
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
* otherwise create derivative works of the Spine Runtimes (collectively,
* "Products"), provided that each user of the Products must obtain their own
* Spine Editor license and redistribution of the Products in any form must
* include this license and copyright notice.
@ -23,8 +23,8 @@
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*****************************************************************************/
using System.Collections;

View File

@ -1,16 +1,16 @@
/******************************************************************************
* Spine Runtimes License Agreement
* Last updated September 24, 2021. Replaces all prior versions.
* Last updated July 28, 2023. Replaces all prior versions.
*
* Copyright (c) 2013-2022, Esoteric Software LLC
* Copyright (c) 2013-2023, Esoteric Software LLC
*
* Integration of the Spine Runtimes into software or otherwise creating
* derivative works of the Spine Runtimes is permitted under the terms and
* conditions of Section 2 of the Spine Editor License Agreement:
* http://esotericsoftware.com/spine-editor-license
*
* Otherwise, it is permitted to integrate the Spine Runtimes into software
* or otherwise create derivative works of the Spine Runtimes (collectively,
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
* otherwise create derivative works of the Spine Runtimes (collectively,
* "Products"), provided that each user of the Products must obtain their own
* Spine Editor license and redistribution of the Products in any form must
* include this license and copyright notice.
@ -23,8 +23,8 @@
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*****************************************************************************/
#if UNITY_2017_2_OR_NEWER

View File

@ -1,16 +1,16 @@
/******************************************************************************
* Spine Runtimes License Agreement
* Last updated September 24, 2021. Replaces all prior versions.
* Last updated July 28, 2023. Replaces all prior versions.
*
* Copyright (c) 2013-2021, Esoteric Software LLC
* Copyright (c) 2013-2023, Esoteric Software LLC
*
* Integration of the Spine Runtimes into software or otherwise creating
* derivative works of the Spine Runtimes is permitted under the terms and
* conditions of Section 2 of the Spine Editor License Agreement:
* http://esotericsoftware.com/spine-editor-license
*
* Otherwise, it is permitted to integrate the Spine Runtimes into software
* or otherwise create derivative works of the Spine Runtimes (collectively,
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
* otherwise create derivative works of the Spine Runtimes (collectively,
* "Products"), provided that each user of the Products must obtain their own
* Spine Editor license and redistribution of the Products in any form must
* include this license and copyright notice.
@ -23,8 +23,8 @@
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*****************************************************************************/
using UnityEngine;

View File

@ -1,16 +1,16 @@
/******************************************************************************
* Spine Runtimes License Agreement
* Last updated September 24, 2021. Replaces all prior versions.
* Last updated July 28, 2023. Replaces all prior versions.
*
* Copyright (c) 2013-2021, Esoteric Software LLC
* Copyright (c) 2013-2023, Esoteric Software LLC
*
* Integration of the Spine Runtimes into software or otherwise creating
* derivative works of the Spine Runtimes is permitted under the terms and
* conditions of Section 2 of the Spine Editor License Agreement:
* http://esotericsoftware.com/spine-editor-license
*
* Otherwise, it is permitted to integrate the Spine Runtimes into software
* or otherwise create derivative works of the Spine Runtimes (collectively,
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
* otherwise create derivative works of the Spine Runtimes (collectively,
* "Products"), provided that each user of the Products must obtain their own
* Spine Editor license and redistribution of the Products in any form must
* include this license and copyright notice.
@ -23,8 +23,8 @@
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*****************************************************************************/
using System.Collections;
@ -46,14 +46,27 @@ namespace Spine.Unity.Examples {
SpineAtlasAsset runtimeAtlasAsset;
SkeletonDataAsset runtimeSkeletonDataAsset;
SkeletonAnimation runtimeSkeletonAnimation;
SkeletonGraphic runtimeSkeletonGraphic;
public bool blendModeMaterials = false;
public bool applyAdditiveMaterial = false;
public BlendModeMaterials.TemplateMaterials blendModeTemplateMaterials;
public BlendModeMaterials.TemplateMaterials graphicBlendModeMaterials;
public Material skeletonGraphicMaterial;
void CreateRuntimeAssetsAndGameObject () {
// 1. Create the AtlasAsset (needs atlas text asset and textures, and materials/shader);
// 2. Create SkeletonDataAsset (needs json or binary asset file, and an AtlasAsset)
// 3. Create SkeletonAnimation (needs a valid SkeletonDataAsset)
// 2.1 Optional: Setup blend mode materials at SkeletonDataAsset. Only required if the skeleton
// uses blend modes which require blend mode materials.
// 3.a Create SkeletonAnimation (needs a valid SkeletonDataAsset)
// 3.b Create SkeletonGraphic (needs a valid SkeletonDataAsset)
runtimeAtlasAsset = SpineAtlasAsset.CreateRuntimeInstance(atlasText, textures, materialPropertySource, true);
runtimeAtlasAsset = SpineAtlasAsset.CreateRuntimeInstance(atlasText, textures, materialPropertySource, true, null, true);
runtimeSkeletonDataAsset = SkeletonDataAsset.CreateRuntimeInstance(skeletonJson, runtimeAtlasAsset, true);
if (blendModeMaterials)
runtimeSkeletonDataAsset.SetupRuntimeBlendModeMaterials(
applyAdditiveMaterial, blendModeTemplateMaterials);
}
IEnumerator Start () {
@ -62,7 +75,15 @@ namespace Spine.Unity.Examples {
runtimeSkeletonDataAsset.GetSkeletonData(false); // preload
yield return new WaitForSeconds(delay);
}
InstantiateSkeletonAnimation();
InstantiateSkeletonGraphic();
}
void InstantiateSkeletonAnimation () {
runtimeSkeletonAnimation = SkeletonAnimation.NewSkeletonAnimationGameObject(runtimeSkeletonDataAsset);
runtimeSkeletonAnimation.transform.parent = transform;
runtimeSkeletonAnimation.name = "SkeletonAnimation Instance";
// additional initialization
runtimeSkeletonAnimation.Initialize(false);
@ -72,6 +93,28 @@ namespace Spine.Unity.Examples {
if (animationName != "")
runtimeSkeletonAnimation.AnimationState.SetAnimation(0, animationName, true);
}
void InstantiateSkeletonGraphic () {
Canvas canvas = this.GetComponentInChildren<Canvas>();
Transform parent = canvas.transform;
runtimeSkeletonGraphic = SkeletonGraphic.NewSkeletonGraphicGameObject(runtimeSkeletonDataAsset, parent, skeletonGraphicMaterial);
runtimeSkeletonGraphic.name = "SkeletonGraphic Instance";
if (blendModeMaterials) {
runtimeSkeletonGraphic.allowMultipleCanvasRenderers = true;
runtimeSkeletonGraphic.additiveMaterial = graphicBlendModeMaterials.additiveTemplate;
runtimeSkeletonGraphic.multiplyMaterial = graphicBlendModeMaterials.multiplyTemplate;
runtimeSkeletonGraphic.screenMaterial = graphicBlendModeMaterials.screenTemplate;
}
// additional initialization
runtimeSkeletonGraphic.Initialize(false);
if (skinName != "")
runtimeSkeletonGraphic.Skeleton.SetSkin(skinName);
runtimeSkeletonGraphic.Skeleton.SetSlotsToSetupPose();
if (animationName != "")
runtimeSkeletonGraphic.AnimationState.SetAnimation(0, animationName, true);
}
}
}

View File

@ -1,16 +1,16 @@
/******************************************************************************
* Spine Runtimes License Agreement
* Last updated September 24, 2021. Replaces all prior versions.
* Last updated July 28, 2023. Replaces all prior versions.
*
* Copyright (c) 2013-2021, Esoteric Software LLC
* Copyright (c) 2013-2023, Esoteric Software LLC
*
* Integration of the Spine Runtimes into software or otherwise creating
* derivative works of the Spine Runtimes is permitted under the terms and
* conditions of Section 2 of the Spine Editor License Agreement:
* http://esotericsoftware.com/spine-editor-license
*
* Otherwise, it is permitted to integrate the Spine Runtimes into software
* or otherwise create derivative works of the Spine Runtimes (collectively,
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
* otherwise create derivative works of the Spine Runtimes (collectively,
* "Products"), provided that each user of the Products must obtain their own
* Spine Editor license and redistribution of the Products in any form must
* include this license and copyright notice.
@ -23,8 +23,8 @@
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*****************************************************************************/
using Spine;

View File

@ -1,16 +1,16 @@
/******************************************************************************
* Spine Runtimes License Agreement
* Last updated September 24, 2021. Replaces all prior versions.
* Last updated July 28, 2023. Replaces all prior versions.
*
* Copyright (c) 2013-2021, Esoteric Software LLC
* Copyright (c) 2013-2023, Esoteric Software LLC
*
* Integration of the Spine Runtimes into software or otherwise creating
* derivative works of the Spine Runtimes is permitted under the terms and
* conditions of Section 2 of the Spine Editor License Agreement:
* http://esotericsoftware.com/spine-editor-license
*
* Otherwise, it is permitted to integrate the Spine Runtimes into software
* or otherwise create derivative works of the Spine Runtimes (collectively,
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
* otherwise create derivative works of the Spine Runtimes (collectively,
* "Products"), provided that each user of the Products must obtain their own
* Spine Editor license and redistribution of the Products in any form must
* include this license and copyright notice.
@ -23,8 +23,8 @@
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*****************************************************************************/
using Spine.Unity.AttachmentTools;

View File

@ -1,16 +1,16 @@
/******************************************************************************
* Spine Runtimes License Agreement
* Last updated September 24, 2021. Replaces all prior versions.
* Last updated July 28, 2023. Replaces all prior versions.
*
* Copyright (c) 2013-2021, Esoteric Software LLC
* Copyright (c) 2013-2023, Esoteric Software LLC
*
* Integration of the Spine Runtimes into software or otherwise creating
* derivative works of the Spine Runtimes is permitted under the terms and
* conditions of Section 2 of the Spine Editor License Agreement:
* http://esotericsoftware.com/spine-editor-license
*
* Otherwise, it is permitted to integrate the Spine Runtimes into software
* or otherwise create derivative works of the Spine Runtimes (collectively,
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
* otherwise create derivative works of the Spine Runtimes (collectively,
* "Products"), provided that each user of the Products must obtain their own
* Spine Editor license and redistribution of the Products in any form must
* include this license and copyright notice.
@ -23,8 +23,8 @@
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*****************************************************************************/
// Contributed by: Mitch Thompson

View File

@ -1,16 +1,16 @@
/******************************************************************************
* Spine Runtimes License Agreement
* Last updated September 24, 2021. Replaces all prior versions.
* Last updated July 28, 2023. Replaces all prior versions.
*
* Copyright (c) 2013-2021, Esoteric Software LLC
* Copyright (c) 2013-2023, Esoteric Software LLC
*
* Integration of the Spine Runtimes into software or otherwise creating
* derivative works of the Spine Runtimes is permitted under the terms and
* conditions of Section 2 of the Spine Editor License Agreement:
* http://esotericsoftware.com/spine-editor-license
*
* Otherwise, it is permitted to integrate the Spine Runtimes into software
* or otherwise create derivative works of the Spine Runtimes (collectively,
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
* otherwise create derivative works of the Spine Runtimes (collectively,
* "Products"), provided that each user of the Products must obtain their own
* Spine Editor license and redistribution of the Products in any form must
* include this license and copyright notice.
@ -23,8 +23,8 @@
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*****************************************************************************/
// Contributed by: Mitch Thompson

View File

@ -1,16 +1,16 @@
/******************************************************************************
* Spine Runtimes License Agreement
* Last updated September 24, 2021. Replaces all prior versions.
* Last updated July 28, 2023. Replaces all prior versions.
*
* Copyright (c) 2013-2021, Esoteric Software LLC
* Copyright (c) 2013-2023, Esoteric Software LLC
*
* Integration of the Spine Runtimes into software or otherwise creating
* derivative works of the Spine Runtimes is permitted under the terms and
* conditions of Section 2 of the Spine Editor License Agreement:
* http://esotericsoftware.com/spine-editor-license
*
* Otherwise, it is permitted to integrate the Spine Runtimes into software
* or otherwise create derivative works of the Spine Runtimes (collectively,
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
* otherwise create derivative works of the Spine Runtimes (collectively,
* "Products"), provided that each user of the Products must obtain their own
* Spine Editor license and redistribution of the Products in any form must
* include this license and copyright notice.
@ -23,8 +23,8 @@
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*****************************************************************************/
using Spine;

View File

@ -1,16 +1,16 @@
/******************************************************************************
* Spine Runtimes License Agreement
* Last updated September 24, 2021. Replaces all prior versions.
* Last updated July 28, 2023. Replaces all prior versions.
*
* Copyright (c) 2013-2021, Esoteric Software LLC
* Copyright (c) 2013-2023, Esoteric Software LLC
*
* Integration of the Spine Runtimes into software or otherwise creating
* derivative works of the Spine Runtimes is permitted under the terms and
* conditions of Section 2 of the Spine Editor License Agreement:
* http://esotericsoftware.com/spine-editor-license
*
* Otherwise, it is permitted to integrate the Spine Runtimes into software
* or otherwise create derivative works of the Spine Runtimes (collectively,
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
* otherwise create derivative works of the Spine Runtimes (collectively,
* "Products"), provided that each user of the Products must obtain their own
* Spine Editor license and redistribution of the Products in any form must
* include this license and copyright notice.
@ -23,8 +23,8 @@
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*****************************************************************************/
// Original Contribution by: Mitch Thompson

View File

@ -1,16 +1,16 @@
/******************************************************************************
* Spine Runtimes License Agreement
* Last updated September 24, 2021. Replaces all prior versions.
* Last updated July 28, 2023. Replaces all prior versions.
*
* Copyright (c) 2013-2021, Esoteric Software LLC
* Copyright (c) 2013-2023, Esoteric Software LLC
*
* Integration of the Spine Runtimes into software or otherwise creating
* derivative works of the Spine Runtimes is permitted under the terms and
* conditions of Section 2 of the Spine Editor License Agreement:
* http://esotericsoftware.com/spine-editor-license
*
* Otherwise, it is permitted to integrate the Spine Runtimes into software
* or otherwise create derivative works of the Spine Runtimes (collectively,
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
* otherwise create derivative works of the Spine Runtimes (collectively,
* "Products"), provided that each user of the Products must obtain their own
* Spine Editor license and redistribution of the Products in any form must
* include this license and copyright notice.
@ -23,8 +23,8 @@
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*****************************************************************************/
using Spine.Unity;

View File

@ -0,0 +1,268 @@
/******************************************************************************
* Spine Runtimes License Agreement
* Last updated July 28, 2023. Replaces all prior versions.
*
* Copyright (c) 2013-2023, Esoteric Software LLC
*
* Integration of the Spine Runtimes into software or otherwise creating
* derivative works of the Spine Runtimes is permitted under the terms and
* conditions of Section 2 of the Spine Editor License Agreement:
* http://esotericsoftware.com/spine-editor-license
*
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
* otherwise create derivative works of the Spine Runtimes (collectively,
* "Products"), provided that each user of the Products must obtain their own
* Spine Editor license and redistribution of the Products in any form must
* include this license and copyright notice.
*
* THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC "AS IS" AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*****************************************************************************/
#if UNITY_2018_3 || UNITY_2019 || UNITY_2018_3_OR_NEWER
#define NEW_PREFAB_SYSTEM
#endif
#if UNITY_2019_3_OR_NEWER
#define SET_VERTICES_HAS_LENGTH_PARAMETER
#endif
using System.Collections.Generic;
using System.Linq;
using UnityEngine;
namespace Spine.Unity.Examples {
#if NEW_PREFAB_SYSTEM
[ExecuteAlways]
#else
[ExecuteInEditMode]
#endif
public class RenderCombinedMesh : MonoBehaviour {
public SkeletonRenderer skeletonRenderer;
public SkeletonRenderSeparator renderSeparator;
public MeshRenderer[] referenceRenderers;
bool updateViaSkeletonCallback = false;
MeshFilter[] referenceMeshFilters;
MeshRenderer ownRenderer;
MeshFilter ownMeshFilter;
protected DoubleBuffered<Mesh> doubleBufferedMesh;
protected ExposedList<Vector3> positionBuffer;
protected ExposedList<Color32> colorBuffer;
protected ExposedList<Vector2> uvBuffer;
protected ExposedList<int> indexBuffer;
#if UNITY_EDITOR
private void Reset () {
if (skeletonRenderer == null)
skeletonRenderer = this.GetComponentInParent<SkeletonRenderer>();
GatherRenderers();
Awake();
if (referenceRenderers.Length > 0)
ownRenderer.sharedMaterial = referenceRenderers[0].sharedMaterial;
LateUpdate();
}
#endif
protected void GatherRenderers () {
referenceRenderers = this.GetComponentsInChildren<MeshRenderer>();
if (referenceRenderers.Length == 0 ||
(referenceRenderers.Length == 1 && referenceRenderers[0].gameObject == this.gameObject)) {
Transform parent = this.transform.parent;
if (parent)
referenceRenderers = parent.GetComponentsInChildren<MeshRenderer>();
}
referenceRenderers = referenceRenderers.Where(
(val, idx) => val.gameObject != this.gameObject && val.enabled).ToArray();
}
void Awake () {
if (skeletonRenderer == null)
skeletonRenderer = this.GetComponentInParent<SkeletonRenderer>();
if (referenceRenderers == null || referenceRenderers.Length == 0) {
GatherRenderers();
}
if (renderSeparator == null) {
if (skeletonRenderer)
renderSeparator = skeletonRenderer.GetComponent<SkeletonRenderSeparator>();
else
renderSeparator = this.GetComponentInParent<SkeletonRenderSeparator>();
}
int count = referenceRenderers.Length;
referenceMeshFilters = new MeshFilter[count];
for (int i = 0; i < count; ++i) {
referenceMeshFilters[i] = referenceRenderers[i].GetComponent<MeshFilter>();
}
ownRenderer = this.GetComponent<MeshRenderer>();
if (ownRenderer == null)
ownRenderer = this.gameObject.AddComponent<MeshRenderer>();
ownMeshFilter = this.GetComponent<MeshFilter>();
if (ownMeshFilter == null)
ownMeshFilter = this.gameObject.AddComponent<MeshFilter>();
}
void OnEnable () {
#if UNITY_EDITOR
if (Application.isPlaying)
Awake();
#endif
if (skeletonRenderer) {
skeletonRenderer.OnMeshAndMaterialsUpdated -= UpdateOnCallback;
skeletonRenderer.OnMeshAndMaterialsUpdated += UpdateOnCallback;
updateViaSkeletonCallback = true;
}
if (renderSeparator) {
renderSeparator.OnMeshAndMaterialsUpdated -= UpdateOnCallback;
renderSeparator.OnMeshAndMaterialsUpdated += UpdateOnCallback;
updateViaSkeletonCallback = true;
}
}
void OnDisable () {
if (skeletonRenderer)
skeletonRenderer.OnMeshAndMaterialsUpdated -= UpdateOnCallback;
if (renderSeparator)
renderSeparator.OnMeshAndMaterialsUpdated -= UpdateOnCallback;
}
void OnDestroy () {
for (int i = 0; i < 2; ++i) {
Mesh mesh = doubleBufferedMesh.GetNext();
#if UNITY_EDITOR
if (Application.isEditor && !Application.isPlaying)
UnityEngine.Object.DestroyImmediate(mesh);
else
UnityEngine.Object.Destroy(mesh);
#else
UnityEngine.Object.Destroy(mesh);
#endif
}
}
void LateUpdate () {
#if UNITY_EDITOR
if (!Application.isPlaying) {
UpdateMesh();
return;
}
#endif
if (updateViaSkeletonCallback)
return;
UpdateMesh();
}
void UpdateOnCallback (SkeletonRenderer r) {
UpdateMesh();
}
protected void EnsureBufferSizes (int combinedVertexCount, int combinedIndexCount) {
if (positionBuffer == null) {
positionBuffer = new ExposedList<Vector3>(combinedVertexCount);
uvBuffer = new ExposedList<Vector2>(combinedVertexCount);
colorBuffer = new ExposedList<Color32>(combinedVertexCount);
indexBuffer = new ExposedList<int>(combinedIndexCount);
}
if (positionBuffer.Count != combinedVertexCount) {
positionBuffer.Resize(combinedVertexCount);
uvBuffer.Resize(combinedVertexCount);
colorBuffer.Resize(combinedVertexCount);
}
if (indexBuffer.Count != combinedIndexCount) {
indexBuffer.Resize(combinedIndexCount);
}
}
void InitMesh () {
if (doubleBufferedMesh == null) {
doubleBufferedMesh = new DoubleBuffered<Mesh>();
for (int i = 0; i < 2; ++i) {
Mesh combinedMesh = doubleBufferedMesh.GetNext();
combinedMesh.MarkDynamic();
combinedMesh.name = "RenderCombinedMesh" + i;
combinedMesh.subMeshCount = 1;
}
}
}
void UpdateMesh () {
InitMesh();
int combinedVertexCount = 0;
int combinedIndexCount = 0;
GetCombinedMeshInfo(ref combinedVertexCount, ref combinedIndexCount);
EnsureBufferSizes(combinedVertexCount, combinedIndexCount);
int combinedV = 0;
int combinedI = 0;
for (int r = 0, rendererCount = referenceMeshFilters.Length; r < rendererCount; ++r) {
MeshFilter meshFilter = referenceMeshFilters[r];
Mesh mesh = meshFilter.sharedMesh;
if (mesh == null) continue;
int vertexCount = mesh.vertexCount;
Vector3[] positions = mesh.vertices;
Vector2[] uvs = mesh.uv;
Color32[] colors = mesh.colors32;
System.Array.Copy(positions, 0, this.positionBuffer.Items, combinedV, vertexCount);
System.Array.Copy(uvs, 0, this.uvBuffer.Items, combinedV, vertexCount);
System.Array.Copy(colors, 0, this.colorBuffer.Items, combinedV, vertexCount);
for (int s = 0, submeshCount = mesh.subMeshCount; s < submeshCount; ++s) {
int submeshIndexCount = (int)mesh.GetIndexCount(s);
int[] submeshIndices = mesh.GetIndices(s);
int[] dstIndices = this.indexBuffer.Items;
for (int i = 0; i < submeshIndexCount; ++i)
dstIndices[i + combinedI] = submeshIndices[i] + combinedV;
combinedI += submeshIndexCount;
}
combinedV += vertexCount;
}
Mesh combinedMesh = doubleBufferedMesh.GetNext();
combinedMesh.Clear();
#if SET_VERTICES_HAS_LENGTH_PARAMETER
combinedMesh.SetVertices(this.positionBuffer.Items, 0, this.positionBuffer.Count);
combinedMesh.SetUVs(0, this.uvBuffer.Items, 0, this.uvBuffer.Count);
combinedMesh.SetColors(this.colorBuffer.Items, 0, this.colorBuffer.Count);
combinedMesh.SetTriangles(this.indexBuffer.Items, 0, this.indexBuffer.Count, 0);
#else
// Note: excess already contains zero positions and indices after ExposedList.Resize().
combinedMesh.vertices = this.positionBuffer.Items;
combinedMesh.uv = this.uvBuffer.Items;
combinedMesh.colors32 = this.colorBuffer.Items;
combinedMesh.triangles = this.indexBuffer.Items;
#endif
ownMeshFilter.sharedMesh = combinedMesh;
}
void GetCombinedMeshInfo (ref int vertexCount, ref int indexCount) {
for (int r = 0, rendererCount = referenceMeshFilters.Length; r < rendererCount; ++r) {
MeshFilter meshFilter = referenceMeshFilters[r];
Mesh mesh = meshFilter.sharedMesh;
if (mesh == null) continue;
vertexCount += mesh.vertexCount;
for (int s = 0, submeshCount = mesh.subMeshCount; s < submeshCount; ++s) {
indexCount += (int)mesh.GetIndexCount(s);
}
}
}
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 05709c69e8e14304b9781652ad05daef
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,16 +1,16 @@
/******************************************************************************
* Spine Runtimes License Agreement
* Last updated September 24, 2021. Replaces all prior versions.
* Last updated July 28, 2023. Replaces all prior versions.
*
* Copyright (c) 2013-2021, Esoteric Software LLC
* Copyright (c) 2013-2023, Esoteric Software LLC
*
* Integration of the Spine Runtimes into software or otherwise creating
* derivative works of the Spine Runtimes is permitted under the terms and
* conditions of Section 2 of the Spine Editor License Agreement:
* http://esotericsoftware.com/spine-editor-license
*
* Otherwise, it is permitted to integrate the Spine Runtimes into software
* or otherwise create derivative works of the Spine Runtimes (collectively,
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
* otherwise create derivative works of the Spine Runtimes (collectively,
* "Products"), provided that each user of the Products must obtain their own
* Spine Editor license and redistribution of the Products in any form must
* include this license and copyright notice.
@ -23,14 +23,18 @@
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*****************************************************************************/
#if UNITY_2018_3 || UNITY_2019 || UNITY_2018_3_OR_NEWER
#define NEW_PREFAB_SYSTEM
#endif
#if UNITY_2018_2_OR_NEWER
#define HAS_GET_SHARED_MATERIALS
#endif
using System.Collections.Generic;
using UnityEngine;
@ -59,20 +63,28 @@ namespace Spine.Unity.Examples {
private Dictionary<Material, Material> replacementMaterialDict = new Dictionary<Material, Material>();
private Material[] sharedMaterials = new Material[0];
#if HAS_GET_SHARED_MATERIALS
private List<Material> parentMaterials = new List<Material>();
#endif
#if UNITY_EDITOR
private void Reset () {
if (referenceRenderer == null) {
if (this.transform.parent)
referenceRenderer = this.transform.parent.GetComponentInParent<MeshRenderer>();
if (!referenceRenderer)
return;
if (referenceRenderer == null) return;
}
#if HAS_GET_SHARED_MATERIALS
referenceRenderer.GetSharedMaterials(parentMaterials);
int parentMaterialsCount = parentMaterials.Count;
#else
Material[] parentMaterials = referenceRenderer.sharedMaterials;
if (replacementMaterials.Length != parentMaterials.Length) {
replacementMaterials = new MaterialReplacement[parentMaterials.Length];
int parentMaterialsCount = parentMaterials.Length;
#endif
if (replacementMaterials.Length != parentMaterialsCount) {
replacementMaterials = new MaterialReplacement[parentMaterialsCount];
}
for (int i = 0; i < parentMaterials.Length; ++i) {
for (int i = 0; i < parentMaterialsCount; ++i) {
replacementMaterials[i].originalMaterial = parentMaterials[i];
replacementMaterials[i].replacementMaterial = parentMaterials[i];
}
@ -82,9 +94,15 @@ namespace Spine.Unity.Examples {
#endif
void Awake () {
ownRenderer = this.GetComponent<MeshRenderer>();
ownMeshFilter = this.GetComponent<MeshFilter>();
if (referenceRenderer == null) {
if (this.transform.parent != null)
referenceRenderer = this.transform.parent.GetComponentInParent<MeshRenderer>();
if (referenceRenderer == null) return;
}
referenceMeshFilter = referenceRenderer.GetComponent<MeshFilter>();
// subscribe to OnMeshAndMaterialsUpdated
SkeletonAnimation skeletonRenderer = referenceRenderer.GetComponent<SkeletonAnimation>();
@ -93,18 +111,20 @@ namespace Spine.Unity.Examples {
skeletonRenderer.OnMeshAndMaterialsUpdated += UpdateOnCallback;
updateViaSkeletonCallback = true;
}
referenceMeshFilter = referenceRenderer.GetComponent<MeshFilter>();
ownRenderer = this.GetComponent<MeshRenderer>();
ownMeshFilter = this.GetComponent<MeshFilter>();
InitializeDict();
}
#if UNITY_EDITOR
private void Update () {
if (!Application.isPlaying) {
InitializeDict();
// handle disabled scene reload
private void OnEnable () {
if (Application.isPlaying)
Awake();
}
private void Update () {
if (!Application.isPlaying)
InitializeDict();
}
#endif
@ -126,13 +146,23 @@ namespace Spine.Unity.Examples {
}
void UpdateMaterials () {
#if UNITY_EDITOR
if (!referenceRenderer) return;
if (!referenceMeshFilter) Reset();
#endif
ownMeshFilter.sharedMesh = referenceMeshFilter.sharedMesh;
#if HAS_GET_SHARED_MATERIALS
referenceRenderer.GetSharedMaterials(parentMaterials);
int parentMaterialsCount = parentMaterials.Count;
#else
Material[] parentMaterials = referenceRenderer.sharedMaterials;
if (sharedMaterials.Length != parentMaterials.Length) {
sharedMaterials = new Material[parentMaterials.Length];
int parentMaterialsCount = parentMaterials.Length;
#endif
if (sharedMaterials.Length != parentMaterialsCount) {
sharedMaterials = new Material[parentMaterialsCount];
}
for (int i = 0; i < parentMaterials.Length; ++i) {
for (int i = 0; i < parentMaterialsCount; ++i) {
Material parentMaterial = parentMaterials[i];
if (replacementMaterialDict.ContainsKey(parentMaterial)) {
sharedMaterials[i] = replacementMaterialDict[parentMaterial];
@ -142,6 +172,7 @@ namespace Spine.Unity.Examples {
}
void InitializeDict () {
replacementMaterialDict.Clear();
for (int i = 0; i < replacementMaterials.Length; ++i) {
MaterialReplacement entry = replacementMaterials[i];
replacementMaterialDict[entry.originalMaterial] = entry.replacementMaterial;

View File

@ -0,0 +1,224 @@
/******************************************************************************
* Spine Runtimes License Agreement
* Last updated July 28, 2023. Replaces all prior versions.
*
* Copyright (c) 2013-2025, Esoteric Software LLC
*
* Integration of the Spine Runtimes into software or otherwise creating
* derivative works of the Spine Runtimes is permitted under the terms and
* conditions of Section 2 of the Spine Editor License Agreement:
* http://esotericsoftware.com/spine-editor-license
*
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
* otherwise create derivative works of the Spine Runtimes (collectively,
* "Products"), provided that each user of the Products must obtain their own
* Spine Editor license and redistribution of the Products in any form must
* include this license and copyright notice.
*
* THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC "AS IS" AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*****************************************************************************/
#if UNITY_2018_3 || UNITY_2019 || UNITY_2018_3_OR_NEWER
#define NEW_PREFAB_SYSTEM
#endif
#if UNITY_2018_2_OR_NEWER
#define HAS_CULL_TRANSPARENT_MESH
#endif
using System;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
namespace Spine.Unity.Examples {
using MaterialReplacement = RenderExistingMesh.MaterialReplacement;
#if NEW_PREFAB_SYSTEM
[ExecuteAlways]
#else
[ExecuteInEditMode]
#endif
public class RenderExistingMeshGraphic : MonoBehaviour {
public SkeletonGraphic referenceSkeletonGraphic;
public Material replacementMaterial;
public MaterialReplacement[] replacementMaterials = new MaterialReplacement[0];
SkeletonSubmeshGraphic ownGraphic;
public List<SkeletonSubmeshGraphic> ownSubmeshGraphics;
#if UNITY_EDITOR
private void Reset () {
Awake();
LateUpdate();
}
#endif
void Awake () {
// subscribe to OnMeshAndMaterialsUpdated
if (referenceSkeletonGraphic) {
referenceSkeletonGraphic.OnMeshAndMaterialsUpdated -= UpdateOnCallback;
referenceSkeletonGraphic.OnMeshAndMaterialsUpdated += UpdateOnCallback;
}
ownGraphic = this.GetComponent<SkeletonSubmeshGraphic>();
if (referenceSkeletonGraphic) {
if (referenceSkeletonGraphic.allowMultipleCanvasRenderers)
EnsureCanvasRendererCount(referenceSkeletonGraphic.canvasRenderers.Count);
else
SetupSubmeshGraphic();
}
}
protected void OnDisable () {
if (referenceSkeletonGraphic) {
referenceSkeletonGraphic.OnMeshAndMaterialsUpdated -= UpdateOnCallback;
}
}
protected void OnEnable () {
#if UNITY_EDITOR
// handle disabled scene reload
if (Application.isPlaying) {
Awake();
return;
}
#endif
if (referenceSkeletonGraphic) {
referenceSkeletonGraphic.OnMeshAndMaterialsUpdated -= UpdateOnCallback;
referenceSkeletonGraphic.OnMeshAndMaterialsUpdated += UpdateOnCallback;
}
}
void SetupSubmeshGraphic () {
if (ownGraphic == null)
ownGraphic = this.gameObject.AddComponent<SkeletonSubmeshGraphic>();
ownGraphic.maskable = referenceSkeletonGraphic.maskable;
#if HAS_CULL_TRANSPARENT_MESH
ownGraphic.canvasRenderer.cullTransparentMesh = referenceSkeletonGraphic.canvasRenderer.cullTransparentMesh;
#endif
ownGraphic.canvasRenderer.SetMaterial(replacementMaterial, referenceSkeletonGraphic.mainTexture);
}
protected void EnsureCanvasRendererCount (int targetCount) {
if (ownSubmeshGraphics == null)
ownSubmeshGraphics = new List<SkeletonSubmeshGraphic>();
#if HAS_CULL_TRANSPARENT_MESH
bool cullTransparentMesh = referenceSkeletonGraphic.canvasRenderer.cullTransparentMesh;
#endif
Vector2 pivot = referenceSkeletonGraphic.rectTransform.pivot;
int currentCount = ownSubmeshGraphics.Count;
for (int i = currentCount; i < targetCount; ++i) {
GameObject go = new GameObject(string.Format("Renderer{0}", i), typeof(RectTransform));
go.transform.SetParent(this.transform, false);
go.transform.localPosition = Vector3.zero;
CanvasRenderer canvasRenderer = go.AddComponent<CanvasRenderer>();
#if HAS_CULL_TRANSPARENT_MESH
canvasRenderer.cullTransparentMesh = cullTransparentMesh;
#endif
SkeletonSubmeshGraphic submeshGraphic = go.AddComponent<SkeletonSubmeshGraphic>();
ownSubmeshGraphics.Add(submeshGraphic);
submeshGraphic.maskable = referenceSkeletonGraphic.maskable;
submeshGraphic.raycastTarget = false;
submeshGraphic.rectTransform.pivot = pivot;
submeshGraphic.rectTransform.anchorMin = Vector2.zero;
submeshGraphic.rectTransform.anchorMax = Vector2.one;
submeshGraphic.rectTransform.sizeDelta = Vector2.zero;
}
}
protected void UpdateCanvasRenderers () {
Mesh[] referenceMeshes = referenceSkeletonGraphic.MeshesMultipleCanvasRenderers.Items;
Material[] referenceMaterials = referenceSkeletonGraphic.MaterialsMultipleCanvasRenderers.Items;
Texture[] referenceTextures = referenceSkeletonGraphic.TexturesMultipleCanvasRenderers.Items;
int end = Math.Min(ownSubmeshGraphics.Count, referenceSkeletonGraphic.TexturesMultipleCanvasRenderers.Count);
for (int i = 0; i < end; i++) {
SkeletonSubmeshGraphic submeshGraphic = ownSubmeshGraphics[i];
CanvasRenderer reference = referenceSkeletonGraphic.canvasRenderers[i];
if (reference.gameObject.activeInHierarchy) {
Material usedMaterial = replacementMaterial != null ?
replacementMaterial : GetReplacementMaterialFor(referenceMaterials[i]);
if (usedMaterial == null)
usedMaterial = referenceMaterials[i];
usedMaterial = referenceSkeletonGraphic.GetModifiedMaterial(usedMaterial);
submeshGraphic.canvasRenderer.SetMaterial(usedMaterial, referenceTextures[i]);
submeshGraphic.canvasRenderer.SetMesh(referenceMeshes[i]);
submeshGraphic.gameObject.SetActive(true);
} else {
submeshGraphic.canvasRenderer.Clear();
submeshGraphic.gameObject.SetActive(false);
}
}
}
protected void DisableCanvasRenderers () {
for (int i = 0; i < ownSubmeshGraphics.Count; i++) {
SkeletonSubmeshGraphic submeshGraphic = ownSubmeshGraphics[i];
submeshGraphic.canvasRenderer.Clear();
submeshGraphic.gameObject.SetActive(false);
}
}
protected Material GetReplacementMaterialFor (Material originalMaterial) {
for (int i = 0; i < replacementMaterials.Length; ++i) {
MaterialReplacement entry = replacementMaterials[i];
if (entry.originalMaterial != null && entry.originalMaterial.shader == originalMaterial.shader)
return entry.replacementMaterial;
}
return null;
}
#if UNITY_EDITOR
void LateUpdate () {
if (!Application.isPlaying) {
UpdateMesh();
}
}
#endif
void UpdateOnCallback (SkeletonGraphic g) {
UpdateMesh();
}
void UpdateMesh () {
if (!referenceSkeletonGraphic) return;
if (referenceSkeletonGraphic.allowMultipleCanvasRenderers) {
EnsureCanvasRendererCount(referenceSkeletonGraphic.canvasRenderers.Count);
UpdateCanvasRenderers();
if (ownGraphic)
ownGraphic.canvasRenderer.Clear();
} else {
if (ownGraphic == null)
ownGraphic = this.gameObject.AddComponent<SkeletonSubmeshGraphic>();
DisableCanvasRenderers();
Material referenceMaterial = referenceSkeletonGraphic.materialForRendering;
Material usedMaterial = replacementMaterial != null ? replacementMaterial : GetReplacementMaterialFor(referenceMaterial);
if (usedMaterial == null)
usedMaterial = referenceMaterial;
usedMaterial = referenceSkeletonGraphic.GetModifiedMaterial(usedMaterial);
ownGraphic.canvasRenderer.SetMaterial(usedMaterial, referenceSkeletonGraphic.mainTexture);
Mesh mesh = referenceSkeletonGraphic.GetLastMesh();
ownGraphic.canvasRenderer.SetMesh(mesh);
}
}
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: ff6ce4ce6b9336a479c6bf5af81fa80a
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,16 +1,16 @@
/******************************************************************************
* Spine Runtimes License Agreement
* Last updated September 24, 2021. Replaces all prior versions.
* Last updated July 28, 2023. Replaces all prior versions.
*
* Copyright (c) 2013-2021, Esoteric Software LLC
* Copyright (c) 2013-2023, Esoteric Software LLC
*
* Integration of the Spine Runtimes into software or otherwise creating
* derivative works of the Spine Runtimes is permitted under the terms and
* conditions of Section 2 of the Spine Editor License Agreement:
* http://esotericsoftware.com/spine-editor-license
*
* Otherwise, it is permitted to integrate the Spine Runtimes into software
* or otherwise create derivative works of the Spine Runtimes (collectively,
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
* otherwise create derivative works of the Spine Runtimes (collectively,
* "Products"), provided that each user of the Products must obtain their own
* Spine Editor license and redistribution of the Products in any form must
* include this license and copyright notice.
@ -23,8 +23,8 @@
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*****************************************************************************/
using Spine.Unity;

View File

@ -1,16 +1,16 @@
/******************************************************************************
* Spine Runtimes License Agreement
* Last updated September 24, 2021. Replaces all prior versions.
* Last updated July 28, 2023. Replaces all prior versions.
*
* Copyright (c) 2013-2021, Esoteric Software LLC
* Copyright (c) 2013-2023, Esoteric Software LLC
*
* Integration of the Spine Runtimes into software or otherwise creating
* derivative works of the Spine Runtimes is permitted under the terms and
* conditions of Section 2 of the Spine Editor License Agreement:
* http://esotericsoftware.com/spine-editor-license
*
* Otherwise, it is permitted to integrate the Spine Runtimes into software
* or otherwise create derivative works of the Spine Runtimes (collectively,
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
* otherwise create derivative works of the Spine Runtimes (collectively,
* "Products"), provided that each user of the Products must obtain their own
* Spine Editor license and redistribution of the Products in any form must
* include this license and copyright notice.
@ -23,8 +23,8 @@
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*****************************************************************************/
using System.Collections;

View File

@ -1,16 +1,16 @@
/******************************************************************************
* Spine Runtimes License Agreement
* Last updated September 24, 2021. Replaces all prior versions.
* Last updated July 28, 2023. Replaces all prior versions.
*
* Copyright (c) 2013-2021, Esoteric Software LLC
* Copyright (c) 2013-2023, Esoteric Software LLC
*
* Integration of the Spine Runtimes into software or otherwise creating
* derivative works of the Spine Runtimes is permitted under the terms and
* conditions of Section 2 of the Spine Editor License Agreement:
* http://esotericsoftware.com/spine-editor-license
*
* Otherwise, it is permitted to integrate the Spine Runtimes into software
* or otherwise create derivative works of the Spine Runtimes (collectively,
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
* otherwise create derivative works of the Spine Runtimes (collectively,
* "Products"), provided that each user of the Products must obtain their own
* Spine Editor license and redistribution of the Products in any form must
* include this license and copyright notice.
@ -23,8 +23,8 @@
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*****************************************************************************/
using System.Collections;
@ -98,7 +98,11 @@ public class TwoByTwoTransformEffectExampleEditor : UnityEditor.Editor {
Color originalColor = UnityEditor.Handles.color;
UnityEditor.Handles.color = color;
UnityEditor.Handles.DrawLine(transform.position, transform.TransformPoint(v));
#if UNITY_2022_1_OR_NEWER
v = transform.InverseTransformPoint(UnityEditor.Handles.FreeMoveHandle(transform.TransformPoint(v), 0.3f, Vector3.zero, UnityEditor.Handles.CubeHandleCap));
#else
v = transform.InverseTransformPoint(UnityEditor.Handles.FreeMoveHandle(transform.TransformPoint(v), Quaternion.identity, 0.3f, Vector3.zero, UnityEditor.Handles.CubeHandleCap));
#endif
UnityEditor.Handles.color = originalColor;
}
}

View File

@ -1,16 +1,16 @@
/******************************************************************************
* Spine Runtimes License Agreement
* Last updated September 24, 2021. Replaces all prior versions.
* Last updated July 28, 2023. Replaces all prior versions.
*
* Copyright (c) 2013-2021, Esoteric Software LLC
* Copyright (c) 2013-2023, Esoteric Software LLC
*
* Integration of the Spine Runtimes into software or otherwise creating
* derivative works of the Spine Runtimes is permitted under the terms and
* conditions of Section 2 of the Spine Editor License Agreement:
* http://esotericsoftware.com/spine-editor-license
*
* Otherwise, it is permitted to integrate the Spine Runtimes into software
* or otherwise create derivative works of the Spine Runtimes (collectively,
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
* otherwise create derivative works of the Spine Runtimes (collectively,
* "Products"), provided that each user of the Products must obtain their own
* Spine Editor license and redistribution of the Products in any form must
* include this license and copyright notice.
@ -23,8 +23,8 @@
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*****************************************************************************/
using UnityEngine;

View File

@ -1,16 +1,16 @@
/******************************************************************************
* Spine Runtimes License Agreement
* Last updated September 24, 2021. Replaces all prior versions.
* Last updated July 28, 2023. Replaces all prior versions.
*
* Copyright (c) 2013-2021, Esoteric Software LLC
* Copyright (c) 2013-2023, Esoteric Software LLC
*
* Integration of the Spine Runtimes into software or otherwise creating
* derivative works of the Spine Runtimes is permitted under the terms and
* conditions of Section 2 of the Spine Editor License Agreement:
* http://esotericsoftware.com/spine-editor-license
*
* Otherwise, it is permitted to integrate the Spine Runtimes into software
* or otherwise create derivative works of the Spine Runtimes (collectively,
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
* otherwise create derivative works of the Spine Runtimes (collectively,
* "Products"), provided that each user of the Products must obtain their own
* Spine Editor license and redistribution of the Products in any form must
* include this license and copyright notice.
@ -23,8 +23,8 @@
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*****************************************************************************/
using UnityEngine;

View File

@ -1,16 +1,16 @@
/******************************************************************************
* Spine Runtimes License Agreement
* Last updated September 24, 2021. Replaces all prior versions.
* Last updated July 28, 2023. Replaces all prior versions.
*
* Copyright (c) 2013-2021, Esoteric Software LLC
* Copyright (c) 2013-2023, Esoteric Software LLC
*
* Integration of the Spine Runtimes into software or otherwise creating
* derivative works of the Spine Runtimes is permitted under the terms and
* conditions of Section 2 of the Spine Editor License Agreement:
* http://esotericsoftware.com/spine-editor-license
*
* Otherwise, it is permitted to integrate the Spine Runtimes into software
* or otherwise create derivative works of the Spine Runtimes (collectively,
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
* otherwise create derivative works of the Spine Runtimes (collectively,
* "Products"), provided that each user of the Products must obtain their own
* Spine Editor license and redistribution of the Products in any form must
* include this license and copyright notice.
@ -23,8 +23,8 @@
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*****************************************************************************/
using Spine;

View File

@ -1,16 +1,16 @@
/******************************************************************************
* Spine Runtimes License Agreement
* Last updated September 24, 2021. Replaces all prior versions.
* Last updated July 28, 2023. Replaces all prior versions.
*
* Copyright (c) 2013-2021, Esoteric Software LLC
* Copyright (c) 2013-2023, Esoteric Software LLC
*
* Integration of the Spine Runtimes into software or otherwise creating
* derivative works of the Spine Runtimes is permitted under the terms and
* conditions of Section 2 of the Spine Editor License Agreement:
* http://esotericsoftware.com/spine-editor-license
*
* Otherwise, it is permitted to integrate the Spine Runtimes into software
* or otherwise create derivative works of the Spine Runtimes (collectively,
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
* otherwise create derivative works of the Spine Runtimes (collectively,
* "Products"), provided that each user of the Products must obtain their own
* Spine Editor license and redistribution of the Products in any form must
* include this license and copyright notice.
@ -23,8 +23,8 @@
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*****************************************************************************/
using Spine;

View File

@ -1,16 +1,16 @@
/******************************************************************************
* Spine Runtimes License Agreement
* Last updated September 24, 2021. Replaces all prior versions.
* Last updated July 28, 2023. Replaces all prior versions.
*
* Copyright (c) 2013-2021, Esoteric Software LLC
* Copyright (c) 2013-2023, Esoteric Software LLC
*
* Integration of the Spine Runtimes into software or otherwise creating
* derivative works of the Spine Runtimes is permitted under the terms and
* conditions of Section 2 of the Spine Editor License Agreement:
* http://esotericsoftware.com/spine-editor-license
*
* Otherwise, it is permitted to integrate the Spine Runtimes into software
* or otherwise create derivative works of the Spine Runtimes (collectively,
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
* otherwise create derivative works of the Spine Runtimes (collectively,
* "Products"), provided that each user of the Products must obtain their own
* Spine Editor license and redistribution of the Products in any form must
* include this license and copyright notice.
@ -23,8 +23,8 @@
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*****************************************************************************/
using System.Collections;

View File

@ -1,16 +1,16 @@
/******************************************************************************
* Spine Runtimes License Agreement
* Last updated September 24, 2021. Replaces all prior versions.
* Last updated July 28, 2023. Replaces all prior versions.
*
* Copyright (c) 2013-2021, Esoteric Software LLC
* Copyright (c) 2013-2023, Esoteric Software LLC
*
* Integration of the Spine Runtimes into software or otherwise creating
* derivative works of the Spine Runtimes is permitted under the terms and
* conditions of Section 2 of the Spine Editor License Agreement:
* http://esotericsoftware.com/spine-editor-license
*
* Otherwise, it is permitted to integrate the Spine Runtimes into software
* or otherwise create derivative works of the Spine Runtimes (collectively,
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
* otherwise create derivative works of the Spine Runtimes (collectively,
* "Products"), provided that each user of the Products must obtain their own
* Spine Editor license and redistribution of the Products in any form must
* include this license and copyright notice.
@ -23,8 +23,8 @@
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*****************************************************************************/
using Spine.Unity;

View File

@ -0,0 +1,106 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 8
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: RenderQuadGraphicMaterial
m_Shader: {fileID: 4800000, guid: fa95b0fb6983c0f40a152e6f9aa82bfb, type: 3}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords:
- _CANVAS_GROUP_COMPATIBLE
m_InvalidKeywords:
- _ALPHAPREMULTIPLY_ON
- _USE8NEIGHBOURHOOD_ON
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailAlbedoMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OcclusionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ParallaxMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- _BumpScale: 1
- _CanvasGroupCompatible: 1
- _ColorMask: 15
- _Cutoff: 0.5
- _DarkColorAlphaAdditive: 0
- _DetailNormalMapScale: 1
- _DstBlend: 10
- _GlossMapScale: 1
- _Glossiness: 0.5
- _GlossyReflections: 1
- _Metallic: 0
- _Mode: 3
- _OcclusionStrength: 1
- _OutlineMipLevel: 0
- _OutlineOpaqueAlpha: 1
- _OutlineReferenceTexWidth: 1024
- _OutlineSmoothness: 1
- _OutlineWidth: 3
- _Parallax: 0.02
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _Stencil: 0
- _StencilComp: 8
- _StencilOp: 0
- _StencilReadMask: 255
- _StencilRef: 1
- _StencilWriteMask: 255
- _StraightAlphaInput: 0
- _ThresholdEnd: 0.25
- _UVSec: 0
- _Use8Neighbourhood: 1
- _UseUIAlphaClip: 0
- _ZWrite: 0
m_Colors:
- _Black: {r: 0, g: 0, b: 0, a: 0}
- _Color: {r: 1, g: 1, b: 1, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
- _OutlineColor: {r: 1, g: 1, b: 0, a: 1}
m_BuildTextureStacks: []

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: afeb0ae2ea2cda94796515bf8d1b3cb1
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 2100000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,16 +1,16 @@
/******************************************************************************
* Spine Runtimes License Agreement
* Last updated September 24, 2021. Replaces all prior versions.
* Last updated July 28, 2023. Replaces all prior versions.
*
* Copyright (c) 2013-2022, Esoteric Software LLC
* Copyright (c) 2013-2023, Esoteric Software LLC
*
* Integration of the Spine Runtimes into software or otherwise creating
* derivative works of the Spine Runtimes is permitted under the terms and
* conditions of Section 2 of the Spine Editor License Agreement:
* http://esotericsoftware.com/spine-editor-license
*
* Otherwise, it is permitted to integrate the Spine Runtimes into software
* or otherwise create derivative works of the Spine Runtimes (collectively,
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
* otherwise create derivative works of the Spine Runtimes (collectively,
* "Products"), provided that each user of the Products must obtain their own
* Spine Editor license and redistribution of the Products in any form must
* include this license and copyright notice.
@ -23,8 +23,8 @@
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*****************************************************************************/
#if UNITY_2017_2_OR_NEWER
@ -40,7 +40,7 @@ namespace Spine.Unity.Examples {
/// <summary>
/// When enabled, this component renders a skeleton to a RenderTexture and
/// then draws this RenderTexture at a UI RawImage quad of the same size.
/// then draws this RenderTexture at a UI SkeletonSubmeshGraphic quad of the same size.
/// This allows changing transparency at a single quad, which produces a more
/// natural fadeout effect.
/// Note: It is recommended to keep this component disabled as much as possible
@ -64,9 +64,22 @@ namespace Spine.Unity.Examples {
protected SkeletonGraphic skeletonGraphic;
public List<TextureMaterialPair> meshRendererMaterialForTexture = new List<TextureMaterialPair>();
protected CanvasRenderer quadCanvasRenderer;
protected RawImage quadRawImage;
protected SkeletonSubmeshGraphic quadMaskableGraphic;
protected readonly Vector3[] worldCorners = new Vector3[4];
public void ResetMeshRendererMaterials () {
meshRendererMaterialForTexture.Clear();
AtlasAssetBase[] atlasAssets = skeletonGraphic.SkeletonDataAsset.atlasAssets;
for (int i = 0; i < atlasAssets.Length; ++i) {
foreach (Material material in atlasAssets[i].Materials) {
if (material.mainTexture != null) {
meshRendererMaterialForTexture.Add(
new TextureMaterialPair(material.mainTexture, material));
}
}
}
}
protected override void Awake () {
base.Awake();
skeletonGraphic = this.GetComponent<SkeletonGraphic>();
@ -79,28 +92,32 @@ namespace Spine.Unity.Examples {
}
void CreateQuadChild () {
quad = new GameObject(this.name + " RenderTexture", typeof(CanvasRenderer), typeof(RawImage));
quad = new GameObject(this.name + " RenderTexture", typeof(CanvasRenderer), typeof(SkeletonSubmeshGraphic));
quad.transform.SetParent(this.transform.parent, false);
quadCanvasRenderer = quad.GetComponent<CanvasRenderer>();
quadRawImage = quad.GetComponent<RawImage>();
quadMaskableGraphic = quad.GetComponent<SkeletonSubmeshGraphic>();
quadMesh = new Mesh();
quadMesh.MarkDynamic();
quadMesh.name = "RenderTexture Quad";
quadMesh.hideFlags = HideFlags.DontSaveInBuild | HideFlags.DontSaveInEditor;
if (quadMaterial == null) {
quadMaterial = new Material(Shader.Find("Spine/SkeletonGraphic"));
quadMaterial.EnableKeyword("_CANVAS_GROUP_COMPATIBLE");
}
}
void Reset () {
skeletonGraphic = this.GetComponent<SkeletonGraphic>();
AtlasAssetBase[] atlasAssets = skeletonGraphic.SkeletonDataAsset.atlasAssets;
for (int i = 0; i < atlasAssets.Length; ++i) {
foreach (Material material in atlasAssets[i].Materials) {
if (material.mainTexture != null) {
meshRendererMaterialForTexture.Add(
new TextureMaterialPair(material.mainTexture, material));
}
}
ResetMeshRendererMaterials();
#if UNITY_EDITOR
string[] assets = UnityEditor.AssetDatabase.FindAssets("t:material RenderQuadGraphicMaterial");
if (assets.Length > 0) {
string materialPath = UnityEditor.AssetDatabase.GUIDToAssetPath(assets[0]);
quadMaterial = UnityEditor.AssetDatabase.LoadAssetAtPath<Material>(materialPath);
}
#endif
}
void OnEnable () {
@ -109,6 +126,7 @@ namespace Spine.Unity.Examples {
skeletonGraphic.AssignMeshOverrideMultipleRenderers += RenderMultipleMeshesToRenderTexture;
skeletonGraphic.disableMeshAssignmentOnOverride = true;
skeletonGraphic.OnMeshAndMaterialsUpdated += RenderOntoQuad;
skeletonGraphic.OnAnimationRebuild += OnRebuild;
List<CanvasRenderer> canvasRenderers = skeletonGraphic.canvasRenderers;
for (int i = 0; i < canvasRenderers.Count; ++i)
canvasRenderers[i].cull = true;
@ -123,6 +141,7 @@ namespace Spine.Unity.Examples {
skeletonGraphic.AssignMeshOverrideMultipleRenderers -= RenderMultipleMeshesToRenderTexture;
skeletonGraphic.disableMeshAssignmentOnOverride = false;
skeletonGraphic.OnMeshAndMaterialsUpdated -= RenderOntoQuad;
skeletonGraphic.OnAnimationRebuild -= OnRebuild;
List<CanvasRenderer> canvasRenderers = skeletonGraphic.canvasRenderers;
for (int i = 0; i < canvasRenderers.Count; ++i)
canvasRenderers[i].cull = false;
@ -143,6 +162,10 @@ namespace Spine.Unity.Examples {
AssignAtQuad();
}
void OnRebuild (ISkeletonAnimation skeletonGraphic) {
ResetMeshRendererMaterials();
}
protected void PrepareForMesh () {
// We need to get the min/max of all four corners, rotation of the skeleton
// in combination with perspective projection otherwise might lead to incorrect
@ -194,8 +217,10 @@ namespace Spine.Unity.Examples {
}
protected void RenderSingleMeshToRenderTexture (Mesh mesh, Material graphicMaterial, Texture texture) {
if (mesh.subMeshCount == 0) return;
Material meshRendererMaterial = MeshRendererMaterialForTexture(texture);
commandBuffer.DrawMesh(mesh, transform.localToWorldMatrix, meshRendererMaterial, 0, -1);
foreach (int shaderPass in shaderPasses)
commandBuffer.DrawMesh(mesh, transform.localToWorldMatrix, meshRendererMaterial, 0, shaderPass);
Graphics.ExecuteCommandBuffer(commandBuffer);
}
@ -203,19 +228,23 @@ namespace Spine.Unity.Examples {
Mesh[] meshes, Material[] graphicMaterials, Texture[] textures) {
for (int i = 0; i < meshCount; ++i) {
Mesh mesh = meshes[i];
if (mesh.subMeshCount == 0) continue;
Material meshRendererMaterial = MeshRendererMaterialForTexture(textures[i]);
commandBuffer.DrawMesh(meshes[i], transform.localToWorldMatrix, meshRendererMaterial, 0, -1);
foreach (int shaderPass in shaderPasses)
commandBuffer.DrawMesh(mesh, transform.localToWorldMatrix, meshRendererMaterial, 0, shaderPass);
}
Graphics.ExecuteCommandBuffer(commandBuffer);
}
protected void SetupQuad () {
quadRawImage.texture = this.renderTexture;
quadRawImage.color = color;
quadCanvasRenderer.SetMaterial(quadMaterial, this.renderTexture);
quadMaskableGraphic.color = color;
quadCanvasRenderer.SetColor(color);
RectTransform srcRectTransform = skeletonGraphic.rectTransform;
RectTransform dstRectTransform = quadRawImage.rectTransform;
RectTransform dstRectTransform = quadMaskableGraphic.rectTransform;
dstRectTransform.anchorMin = srcRectTransform.anchorMin;
dstRectTransform.anchorMax = srcRectTransform.anchorMax;
@ -231,24 +260,30 @@ namespace Spine.Unity.Examples {
commandBuffer.SetRenderTarget(renderTexture);
commandBuffer.ClearRenderTarget(true, true, Color.clear);
Rect canvasRect = skeletonGraphic.canvas.pixelRect;
Vector2 targetViewportSize = new Vector2(
screenSpaceMax.x - screenSpaceMin.x,
screenSpaceMax.y - screenSpaceMin.y);
RenderMode canvasRenderMode = skeletonGraphic.canvas.renderMode;
if (canvasRenderMode == RenderMode.ScreenSpaceOverlay) {
Rect canvasRect = skeletonGraphic.canvas.pixelRect;
canvasRect.x += screenSpaceMin.x;
canvasRect.y += screenSpaceMin.y;
canvasRect.width = targetViewportSize.x;
canvasRect.height = targetViewportSize.y;
Matrix4x4 projectionMatrix = Matrix4x4.Ortho(
canvasRect.x, canvasRect.x + canvasRect.width,
canvasRect.y, canvasRect.y + canvasRect.height,
float.MinValue, float.MaxValue);
RenderMode canvasRenderMode = skeletonGraphic.canvas.renderMode;
if (canvasRenderMode == RenderMode.ScreenSpaceOverlay) {
commandBuffer.SetViewMatrix(Matrix4x4.identity);
commandBuffer.SetProjectionMatrix(projectionMatrix);
} else {
commandBuffer.SetViewMatrix(targetCamera.worldToCameraMatrix);
commandBuffer.SetProjectionMatrix(targetCamera.projectionMatrix);
Matrix4x4 projectionMatrix = CalculateProjectionMatrix(targetCamera,
screenSpaceMin, screenSpaceMax, skeletonGraphic.canvas.pixelRect.size);
commandBuffer.SetProjectionMatrix(projectionMatrix);
}
Vector2 targetCameraViewportSize = targetCamera.pixelRect.size;
Rect viewportRect = new Rect(-screenSpaceMin * downScaleFactor, targetCameraViewportSize * downScaleFactor);
Rect viewportRect = new Rect(Vector2.zero, targetViewportSize * downScaleFactor);
commandBuffer.SetViewport(viewportRect);
}

View File

@ -1,16 +1,16 @@
/******************************************************************************
* Spine Runtimes License Agreement
* Last updated September 24, 2021. Replaces all prior versions.
* Last updated July 28, 2023. Replaces all prior versions.
*
* Copyright (c) 2013-2022, Esoteric Software LLC
* Copyright (c) 2013-2023, Esoteric Software LLC
*
* Integration of the Spine Runtimes into software or otherwise creating
* derivative works of the Spine Runtimes is permitted under the terms and
* conditions of Section 2 of the Spine Editor License Agreement:
* http://esotericsoftware.com/spine-editor-license
*
* Otherwise, it is permitted to integrate the Spine Runtimes into software
* or otherwise create derivative works of the Spine Runtimes (collectively,
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
* otherwise create derivative works of the Spine Runtimes (collectively,
* "Products"), provided that each user of the Products must obtain their own
* Spine Editor license and redistribution of the Products in any form must
* include this license and copyright notice.
@ -23,8 +23,8 @@
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*****************************************************************************/
#if UNITY_2019_3_OR_NEWER
@ -52,7 +52,6 @@ namespace Spine.Unity.Examples {
[RequireComponent(typeof(SkeletonRenderer))]
public class SkeletonRenderTexture : SkeletonRenderTextureBase {
#if HAS_GET_SHARED_MATERIALS
public Material quadMaterial;
protected SkeletonRenderer skeletonRenderer;
protected MeshRenderer meshRenderer;
protected MeshFilter meshFilter;
@ -73,9 +72,21 @@ namespace Spine.Unity.Examples {
CreateQuadChild();
}
#if UNITY_EDITOR
protected void Reset () {
string[] folders = { "Assets", "Packages" };
string[] assets = UnityEditor.AssetDatabase.FindAssets("t:material RenderQuadMaterial", folders);
if (assets.Length > 0) {
string materialPath = UnityEditor.AssetDatabase.GUIDToAssetPath(assets[0]);
quadMaterial = UnityEditor.AssetDatabase.LoadAssetAtPath<Material>(materialPath);
}
}
#endif
void CreateQuadChild () {
quad = new GameObject(this.name + " RenderTexture", typeof(MeshRenderer), typeof(MeshFilter));
quad.transform.SetParent(this.transform.parent, false);
quad.layer = meshRenderer.gameObject.layer;
quadMeshRenderer = quad.GetComponent<MeshRenderer>();
quadMeshFilter = quad.GetComponent<MeshFilter>();
@ -118,6 +129,13 @@ namespace Spine.Unity.Examples {
}
void RenderOntoQuad (SkeletonRenderer skeletonRenderer) {
if (meshFilter == null)
meshFilter = this.GetComponent<MeshFilter>();
Vector3 size = meshFilter.sharedMesh.bounds.size;
if (size.x == 0f || size.y == 0f) {
AssignNullMeshAtQuad();
return;
}
PrepareForMesh();
RenderToRenderTexture();
AssignAtQuad();
@ -164,10 +182,16 @@ namespace Spine.Unity.Examples {
commandBuffer.SetRenderTarget(renderTexture);
commandBuffer.ClearRenderTarget(true, true, Color.clear);
commandBuffer.SetProjectionMatrix(targetCamera.projectionMatrix);
commandBuffer.SetViewMatrix(targetCamera.worldToCameraMatrix);
Vector2 targetCameraViewportSize = targetCamera.pixelRect.size;
Rect viewportRect = new Rect(-screenSpaceMin * downScaleFactor, targetCameraViewportSize * downScaleFactor);
Matrix4x4 projectionMatrix = CalculateProjectionMatrix(targetCamera,
screenSpaceMin, screenSpaceMax, targetCamera.pixelRect.size);
commandBuffer.SetProjectionMatrix(projectionMatrix);
Vector2 targetViewportSize = new Vector2(
screenSpaceMax.x - screenSpaceMin.x,
screenSpaceMax.y - screenSpaceMin.y);
Rect viewportRect = new Rect(Vector2.zero, targetViewportSize * downScaleFactor);
commandBuffer.SetViewport(viewportRect);
}
@ -175,9 +199,11 @@ namespace Spine.Unity.Examples {
meshRenderer.GetPropertyBlock(propertyBlock);
meshRenderer.GetSharedMaterials(materials);
for (int i = 0; i < materials.Count; i++)
for (int i = 0; i < materials.Count; i++) {
foreach (int shaderPass in shaderPasses)
commandBuffer.DrawMesh(meshFilter.sharedMesh, transform.localToWorldMatrix,
materials[i], meshRenderer.subMeshStartIndex + i, -1, propertyBlock);
materials[i], meshRenderer.subMeshStartIndex + i, shaderPass, propertyBlock);
}
Graphics.ExecuteCommandBuffer(commandBuffer);
}
@ -186,6 +212,10 @@ namespace Spine.Unity.Examples {
quadMeshRenderer.sharedMaterial.mainTexture = this.renderTexture;
quadMeshRenderer.sharedMaterial.color = color;
}
protected void AssignNullMeshAtQuad () {
quadMeshFilter.mesh = null;
}
#endif
}
}

View File

@ -1,16 +1,16 @@
/******************************************************************************
* Spine Runtimes License Agreement
* Last updated September 24, 2021. Replaces all prior versions.
* Last updated July 28, 2023. Replaces all prior versions.
*
* Copyright (c) 2013-2022, Esoteric Software LLC
* Copyright (c) 2013-2023, Esoteric Software LLC
*
* Integration of the Spine Runtimes into software or otherwise creating
* derivative works of the Spine Runtimes is permitted under the terms and
* conditions of Section 2 of the Spine Editor License Agreement:
* http://esotericsoftware.com/spine-editor-license
*
* Otherwise, it is permitted to integrate the Spine Runtimes into software
* or otherwise create derivative works of the Spine Runtimes (collectively,
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
* otherwise create derivative works of the Spine Runtimes (collectively,
* "Products"), provided that each user of the Products must obtain their own
* Spine Editor license and redistribution of the Products in any form must
* include this license and copyright notice.
@ -23,8 +23,8 @@
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*****************************************************************************/
#if UNITY_2017_2_OR_NEWER
@ -42,9 +42,14 @@ namespace Spine.Unity.Examples {
public Color color = Color.white;
public int maxRenderTextureSize = 1024;
public GameObject quad;
public Material quadMaterial;
protected Mesh quadMesh;
public RenderTexture renderTexture;
public Camera targetCamera;
[Tooltip("Shader passes to render to the RenderTexture. E.g. set the first element " +
"to -1 to render all shader passes, or set it to 0 to only render the first " +
"shader pass, which may be required when using URP or shadow-casting shaders.")]
public int[] shaderPasses = new int[1] { 0 };
protected CommandBuffer commandBuffer;
protected Vector2Int screenSize;
@ -117,6 +122,45 @@ namespace Spine.Unity.Examples {
}
}
protected Matrix4x4 CalculateProjectionMatrix (Camera targetCamera,
Vector3 screenSpaceMin, Vector3 screenSpaceMax, Vector2 fullSizePixels) {
if (targetCamera.orthographic)
return CalculateOrthoMatrix(targetCamera, screenSpaceMin, screenSpaceMax, fullSizePixels);
else
return CalculatePerspectiveMatrix(targetCamera, screenSpaceMin, screenSpaceMax, fullSizePixels);
}
protected Matrix4x4 CalculateOrthoMatrix (Camera targetCamera,
Vector3 screenSpaceMin, Vector3 screenSpaceMax, Vector2 fullSizePixels) {
Vector2 cameraSize = new Vector2(
targetCamera.orthographicSize * 2.0f * targetCamera.aspect,
targetCamera.orthographicSize * 2.0f);
Vector2 min = new Vector2(screenSpaceMin.x, screenSpaceMin.y) / fullSizePixels;
Vector2 max = new Vector2(screenSpaceMax.x, screenSpaceMax.y) / fullSizePixels;
Vector2 centerOffset = new Vector2(-0.5f, -0.5f);
min = (min + centerOffset) * cameraSize;
max = (max + centerOffset) * cameraSize;
return Matrix4x4.Ortho(min.x, max.x, min.y, max.y, float.MinValue, float.MaxValue);
}
protected Matrix4x4 CalculatePerspectiveMatrix (Camera targetCamera,
Vector3 screenSpaceMin, Vector3 screenSpaceMax, Vector2 fullSizePixels) {
FrustumPlanes frustumPlanes = targetCamera.projectionMatrix.decomposeProjection;
Vector2 planesSize = new Vector2(
frustumPlanes.right - frustumPlanes.left,
frustumPlanes.top - frustumPlanes.bottom);
Vector2 min = new Vector2(screenSpaceMin.x, screenSpaceMin.y) / fullSizePixels * planesSize;
Vector2 max = new Vector2(screenSpaceMax.x, screenSpaceMax.y) / fullSizePixels * planesSize;
frustumPlanes.right = frustumPlanes.left + max.x;
frustumPlanes.top = frustumPlanes.bottom + max.y;
frustumPlanes.left += min.x;
frustumPlanes.bottom += min.y;
return Matrix4x4.Frustum(frustumPlanes);
}
protected void AssignAtQuad () {
Transform quadTransform = quad.transform;
quadTransform.position = this.transform.position;

View File

@ -1,16 +1,16 @@
/******************************************************************************
* Spine Runtimes License Agreement
* Last updated September 24, 2021. Replaces all prior versions.
* Last updated July 28, 2023. Replaces all prior versions.
*
* Copyright (c) 2013-2022, Esoteric Software LLC
* Copyright (c) 2013-2023, Esoteric Software LLC
*
* Integration of the Spine Runtimes into software or otherwise creating
* derivative works of the Spine Runtimes is permitted under the terms and
* conditions of Section 2 of the Spine Editor License Agreement:
* http://esotericsoftware.com/spine-editor-license
*
* Otherwise, it is permitted to integrate the Spine Runtimes into software
* or otherwise create derivative works of the Spine Runtimes (collectively,
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
* otherwise create derivative works of the Spine Runtimes (collectively,
* "Products"), provided that each user of the Products must obtain their own
* Spine Editor license and redistribution of the Products in any form must
* include this license and copyright notice.
@ -23,8 +23,8 @@
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*****************************************************************************/
#if UNITY_2019_3_OR_NEWER

View File

@ -1,16 +1,16 @@
/******************************************************************************
* Spine Runtimes License Agreement
* Last updated September 24, 2021. Replaces all prior versions.
* Last updated July 28, 2023. Replaces all prior versions.
*
* Copyright (c) 2013-2021, Esoteric Software LLC
* Copyright (c) 2013-2023, Esoteric Software LLC
*
* Integration of the Spine Runtimes into software or otherwise creating
* derivative works of the Spine Runtimes is permitted under the terms and
* conditions of Section 2 of the Spine Editor License Agreement:
* http://esotericsoftware.com/spine-editor-license
*
* Otherwise, it is permitted to integrate the Spine Runtimes into software
* or otherwise create derivative works of the Spine Runtimes (collectively,
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
* otherwise create derivative works of the Spine Runtimes (collectively,
* "Products"), provided that each user of the Products must obtain their own
* Spine Editor license and redistribution of the Products in any form must
* include this license and copyright notice.
@ -23,8 +23,8 @@
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*****************************************************************************/
// Contributed by: Mitch Thompson

View File

@ -1,16 +1,16 @@
/******************************************************************************
* Spine Runtimes License Agreement
* Last updated September 24, 2021. Replaces all prior versions.
* Last updated July 28, 2023. Replaces all prior versions.
*
* Copyright (c) 2013-2021, Esoteric Software LLC
* Copyright (c) 2013-2023, Esoteric Software LLC
*
* Integration of the Spine Runtimes into software or otherwise creating
* derivative works of the Spine Runtimes is permitted under the terms and
* conditions of Section 2 of the Spine Editor License Agreement:
* http://esotericsoftware.com/spine-editor-license
*
* Otherwise, it is permitted to integrate the Spine Runtimes into software
* or otherwise create derivative works of the Spine Runtimes (collectively,
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
* otherwise create derivative works of the Spine Runtimes (collectively,
* "Products"), provided that each user of the Products must obtain their own
* Spine Editor license and redistribution of the Products in any form must
* include this license and copyright notice.
@ -23,8 +23,8 @@
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*****************************************************************************/
// Contributed by: Mitch Thompson

View File

@ -1,16 +1,16 @@
/******************************************************************************
* Spine Runtimes License Agreement
* Last updated September 24, 2021. Replaces all prior versions.
* Last updated July 28, 2023. Replaces all prior versions.
*
* Copyright (c) 2013-2021, Esoteric Software LLC
* Copyright (c) 2013-2023, Esoteric Software LLC
*
* Integration of the Spine Runtimes into software or otherwise creating
* derivative works of the Spine Runtimes is permitted under the terms and
* conditions of Section 2 of the Spine Editor License Agreement:
* http://esotericsoftware.com/spine-editor-license
*
* Otherwise, it is permitted to integrate the Spine Runtimes into software
* or otherwise create derivative works of the Spine Runtimes (collectively,
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
* otherwise create derivative works of the Spine Runtimes (collectively,
* "Products"), provided that each user of the Products must obtain their own
* Spine Editor license and redistribution of the Products in any form must
* include this license and copyright notice.
@ -23,8 +23,8 @@
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*****************************************************************************/
// Contributed by: Mitch Thompson
@ -269,7 +269,7 @@ namespace Spine.Unity.Examples {
t.position -= offset;
UpdateSpineSkeleton(null);
skeleton.UpdateWorldTransform();
skeleton.UpdateWorldTransform(Skeleton.Physics.Update);
}
/// <summary>Removes the ragdoll instance and effect from the animated skeleton.</summary>

View File

@ -1,16 +1,16 @@
/******************************************************************************
* Spine Runtimes License Agreement
* Last updated September 24, 2021. Replaces all prior versions.
* Last updated July 28, 2023. Replaces all prior versions.
*
* Copyright (c) 2013-2021, Esoteric Software LLC
* Copyright (c) 2013-2023, Esoteric Software LLC
*
* Integration of the Spine Runtimes into software or otherwise creating
* derivative works of the Spine Runtimes is permitted under the terms and
* conditions of Section 2 of the Spine Editor License Agreement:
* http://esotericsoftware.com/spine-editor-license
*
* Otherwise, it is permitted to integrate the Spine Runtimes into software
* or otherwise create derivative works of the Spine Runtimes (collectively,
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
* otherwise create derivative works of the Spine Runtimes (collectively,
* "Products"), provided that each user of the Products must obtain their own
* Spine Editor license and redistribution of the Products in any form must
* include this license and copyright notice.
@ -23,8 +23,8 @@
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*****************************************************************************/
// Contributed by: Mitch Thompson
@ -281,7 +281,7 @@ namespace Spine.Unity.Examples {
t.position -= offset;
UpdateSpineSkeleton(null);
skeleton.UpdateWorldTransform();
skeleton.UpdateWorldTransform(Skeleton.Physics.Update);
}
/// <summary>Removes the ragdoll instance and effect from the animated skeleton.</summary>

View File

@ -1,16 +1,16 @@
/******************************************************************************
* Spine Runtimes License Agreement
* Last updated September 24, 2021. Replaces all prior versions.
* Last updated July 28, 2023. Replaces all prior versions.
*
* Copyright (c) 2013-2021, Esoteric Software LLC
* Copyright (c) 2013-2023, Esoteric Software LLC
*
* Integration of the Spine Runtimes into software or otherwise creating
* derivative works of the Spine Runtimes is permitted under the terms and
* conditions of Section 2 of the Spine Editor License Agreement:
* http://esotericsoftware.com/spine-editor-license
*
* Otherwise, it is permitted to integrate the Spine Runtimes into software
* or otherwise create derivative works of the Spine Runtimes (collectively,
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
* otherwise create derivative works of the Spine Runtimes (collectively,
* "Products"), provided that each user of the Products must obtain their own
* Spine Editor license and redistribution of the Products in any form must
* include this license and copyright notice.
@ -23,8 +23,8 @@
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*****************************************************************************/
using System.Collections;

View File

@ -1,16 +1,16 @@
/******************************************************************************
* Spine Runtimes License Agreement
* Last updated September 24, 2021. Replaces all prior versions.
* Last updated July 28, 2023. Replaces all prior versions.
*
* Copyright (c) 2013-2021, Esoteric Software LLC
* Copyright (c) 2013-2023, Esoteric Software LLC
*
* Integration of the Spine Runtimes into software or otherwise creating
* derivative works of the Spine Runtimes is permitted under the terms and
* conditions of Section 2 of the Spine Editor License Agreement:
* http://esotericsoftware.com/spine-editor-license
*
* Otherwise, it is permitted to integrate the Spine Runtimes into software
* or otherwise create derivative works of the Spine Runtimes (collectively,
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
* otherwise create derivative works of the Spine Runtimes (collectively,
* "Products"), provided that each user of the Products must obtain their own
* Spine Editor license and redistribution of the Products in any form must
* include this license and copyright notice.
@ -23,8 +23,8 @@
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*****************************************************************************/
#if UNITY_2018_3 || UNITY_2019 || UNITY_2018_3_OR_NEWER

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