Compare commits
1022 Commits
master
...
dev_hero_2
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
14ef8d0dc1 | ||
| 6ccc61ca53 | |||
|
|
cc1aa512cd | ||
|
|
7da8cfde40 | ||
|
|
9f9f934b37 | ||
|
|
34e776341c | ||
|
|
96e2f12c19 | ||
|
|
d3eb50711e | ||
|
|
4d0109e170 | ||
|
|
a95682f7ef | ||
|
|
f5e11bdc96 | ||
|
|
34706e809c | ||
|
|
395ef6b9d1 | ||
|
|
6308e200ae | ||
|
|
40d8fbf1e4 | ||
|
|
760af76761 | ||
|
|
35804958f2 | ||
|
|
d3a42f2d27 | ||
|
|
fa1731af65 | ||
|
|
9a17b669ac | ||
|
|
4d33e204f1 | ||
|
|
0e2ce1cace | ||
|
|
511e5078f4 | ||
|
|
b260addf3c | ||
|
|
359ec4a3cc | ||
|
|
77f9bf34c4 | ||
|
|
0beba55d2f | ||
|
|
fc2b3e00b5 | ||
|
|
5c9d1ed228 | ||
|
|
10dfc3149f | ||
|
|
260cde4715 | ||
|
|
dab89f6728 | ||
|
|
932eaf1f96 | ||
|
|
6589e8ed71 | ||
|
|
44d542d44a | ||
|
|
90e38566e9 | ||
|
|
d1c638462f | ||
|
|
1fda830542 | ||
|
|
5653c7e918 | ||
|
|
5663c1ac38 | ||
|
|
cbc90b9df1 | ||
|
|
cc441308b4 | ||
|
|
d015c8ff14 | ||
|
|
e4837e3f73 | ||
|
|
db84769efd | ||
|
|
8d32bd3c9b | ||
|
|
ac79c3a521 | ||
|
|
e89fe8bcf8 | ||
|
|
51e8b73f51 | ||
|
|
96dbef0a3a | ||
|
|
a2ea591c82 | ||
|
|
071af307ab | ||
|
|
dca1c42a33 | ||
|
|
e435ddc3b4 | ||
|
|
4efa87d9a9 | ||
|
|
6790fc508a | ||
|
|
cb6589ece4 | ||
|
|
0c52d1da0c | ||
|
|
20fa27ac2f | ||
|
|
ce1b168e09 | ||
|
|
15cc99eb34 | ||
|
|
74cad70154 | ||
|
|
73bbe304cc | ||
|
|
0ae3b73863 | ||
|
|
3109e57735 | ||
|
|
54a49eb0ab | ||
|
|
835e70e16d | ||
|
|
047c1a34f3 | ||
|
|
1a9a8f0632 | ||
|
|
22ea8bbea0 | ||
|
|
31a67ecc20 | ||
|
|
64bc1ddc83 | ||
|
|
78b3e35b8f | ||
|
|
c0fac6edf2 | ||
|
|
a4befbd41f | ||
|
|
6565e05d5a | ||
|
|
b9a52ed973 | ||
|
|
76b17ad3e6 | ||
|
|
edcfc2edde | ||
|
|
fde6c87a2b | ||
|
|
71dbedf9da | ||
|
|
31f4399df1 | ||
|
|
af0f7be205 | ||
|
|
bca7dfb3a1 | ||
|
|
7f5194d192 | ||
|
|
068f382c47 | ||
|
|
0b5888e268 | ||
|
|
e84346116b | ||
|
|
9e6146fce1 | ||
|
|
3c445a7572 | ||
|
|
cc6f58cc39 | ||
|
|
2e79493e48 | ||
|
|
82c88440fa | ||
|
|
65a1f43e6b | ||
|
|
99698904cb | ||
|
|
407df4f874 | ||
|
|
21dc13c024 | ||
|
|
43565d918e | ||
|
|
8ce6e84459 | ||
|
|
ac0c17307d | ||
|
|
405b5e5a2d | ||
|
|
02588a83fb | ||
|
|
40045cc7e6 | ||
|
|
0b0efd278c | ||
|
|
19533189dd | ||
|
|
d4839a56d7 | ||
|
|
282b5a9eea | ||
|
|
b913aa2870 | ||
|
|
0d0f55d9e4 | ||
|
|
478db2f30d | ||
|
|
d9d75cca2b | ||
|
|
fac7fa6812 | ||
|
|
0641a93040 | ||
|
|
6a04896a5f | ||
|
|
1841186071 | ||
|
|
9f3cffab69 | ||
|
|
834a29e5e7 | ||
|
|
d7964113c3 | ||
|
|
887eb5a9c0 | ||
|
|
3448608f15 | ||
|
|
bbd66e3e00 | ||
|
|
befedf64ec | ||
|
|
5386c24504 | ||
|
|
d686512f63 | ||
|
|
8adf53316b | ||
|
|
b92e5b89ec | ||
|
|
3ced501994 | ||
|
|
3093ef4090 | ||
|
|
df95c52b96 | ||
|
|
6d73ccff00 | ||
|
|
66232f5e98 | ||
|
|
950316ee4b | ||
|
|
39388fd074 | ||
|
|
51b6713b1e | ||
|
|
47fdba73ae | ||
|
|
03cb55a053 | ||
|
|
9b92dfe59c | ||
|
|
6824f0a4ad | ||
|
|
1de3560cbe | ||
|
|
b30f3c7f8e | ||
|
|
0e69e79e7c | ||
|
|
fbb3b526ba | ||
|
|
28dc4d0547 | ||
|
|
f8cd5af72d | ||
|
|
c0d9bde0e3 | ||
|
|
cbce1e763f | ||
|
|
989528fb19 | ||
|
|
bfb73d847f | ||
|
|
9d793b77d8 | ||
|
|
e16ec04399 | ||
|
|
e47b25c768 | ||
|
|
ed24e15ec9 | ||
|
|
451fd0ce81 | ||
|
|
ed413b1ec4 | ||
|
|
8d091709e0 | ||
|
|
71f7222f0a | ||
|
|
dee9d7cc12 | ||
|
|
cfbf191f67 | ||
|
|
590c1e7488 | ||
|
|
f07dc748bc | ||
|
|
ba50a1f1e0 | ||
|
|
0a117db90e | ||
|
|
735742b767 | ||
|
|
5123b7984e | ||
|
|
f235f33dea | ||
|
|
c6877c6828 | ||
|
|
70c510cbbf | ||
|
|
2c04d8d58f | ||
|
|
54d434e7f5 | ||
|
|
4718cc678c | ||
|
|
90cfba07ec | ||
|
|
ea9e7bed20 | ||
|
|
8e10a42a76 | ||
|
|
89759c494f | ||
|
|
76f1bc51ad | ||
|
|
7346cfbd67 | ||
|
|
5cfff8f347 | ||
|
|
6761b1ba0a | ||
|
|
aef5a9a65e | ||
|
|
4be4b62167 | ||
|
|
4394a1e3e2 | ||
|
|
fe53bb012b | ||
|
|
9686b4b97d | ||
|
|
486b5100ac | ||
|
|
208febb5b3 | ||
|
|
651c281c2f | ||
|
|
940340cef8 | ||
|
|
b74e4e435b | ||
|
|
eb4b1152a0 | ||
|
|
3fb0e3c90a | ||
|
|
4cebc4b154 | ||
|
|
ac12bc45c4 | ||
|
|
7150d872cf | ||
|
|
49cf038bdb | ||
|
|
c1ca37bda5 | ||
|
|
4944275cff | ||
|
|
8511e51c00 | ||
|
|
0d26fd250e | ||
|
|
fa630edd73 | ||
|
|
602c93913c | ||
|
|
bad9f48449 | ||
|
|
35dc7f578d | ||
|
|
14d5d42d08 | ||
|
|
7179ed8418 | ||
|
|
cce578bee9 | ||
|
|
67efcf901b | ||
|
|
48d81e5ba5 | ||
|
|
7787a00ee1 | ||
|
|
699e392036 | ||
|
|
c932ccaba6 | ||
|
|
8109001683 | ||
|
|
5d44b88212 | ||
|
|
993d54f500 | ||
|
|
6493b5c699 | ||
|
|
3dc8c37011 | ||
|
|
db8e86b49d | ||
|
|
d8fb97368a | ||
|
|
2ef607f0ab | ||
|
|
ce6f7a090b | ||
|
|
a2d36fb396 | ||
|
|
aa4f2bba5f | ||
|
|
1e8e9cc8f0 | ||
|
|
f2a2650f38 | ||
|
|
f0d7cabc29 | ||
|
|
cdae7019c7 | ||
|
|
e685c77351 | ||
|
|
95851df2af | ||
|
|
639ceeb387 | ||
|
|
275bca1375 | ||
|
|
9886fc088c | ||
|
|
f1410a4f58 | ||
|
|
7d62cb408e | ||
|
|
97b91ec0d9 | ||
|
|
513ee323df | ||
|
|
6f3d42635e | ||
|
|
265b5474e1 | ||
|
|
b727316a77 | ||
|
|
598f288902 | ||
|
|
31be75d787 | ||
|
|
a6d99ba19b | ||
|
|
5f867a9a84 | ||
|
|
a572fe571d | ||
|
|
d51954e25f | ||
|
|
1e99c284b0 | ||
|
|
46b11ccf9e | ||
|
|
c40bb80cca | ||
|
|
2dc4bdae98 | ||
|
|
418dd48412 | ||
|
|
0e44ceaff7 | ||
|
|
f27864d87e | ||
|
|
7dfed34849 | ||
|
|
5d5fd03238 | ||
|
|
9d1e561916 | ||
|
|
c26a8289be | ||
|
|
fc2bc97405 | ||
|
|
ab66a2dd52 | ||
|
|
6448443c0f | ||
|
|
049a754327 | ||
|
|
5d8bf297e8 | ||
|
|
6b062362f2 | ||
|
|
965b98f0a8 | ||
|
|
2ed2daabf2 | ||
|
|
79d68e8caf | ||
|
|
7ecf780dab | ||
|
|
7116c6a74a | ||
|
|
79c7a15552 | ||
|
|
a91941b139 | ||
|
|
11a4631d28 | ||
|
|
7d761de229 | ||
|
|
c9f22e7671 | ||
|
|
8570d9dd2d | ||
|
|
b53e9b037e | ||
|
|
53bd3da968 | ||
|
|
8f20ac7cb0 | ||
|
|
7a4e927513 | ||
|
|
24901b3966 | ||
|
|
3943be89c5 | ||
|
|
ccd96db341 | ||
|
|
9b7fe04959 | ||
|
|
add4dcaa57 | ||
|
|
17510ca30c | ||
|
|
284aed53e3 | ||
|
|
b18bb603cc | ||
|
|
44531ae9f9 | ||
|
|
66157b5c7d | ||
|
|
c09deb3f35 | ||
|
|
9dae3eb965 | ||
|
|
55449888a4 | ||
|
|
3d534e7523 | ||
|
|
56bbcacc2b | ||
|
|
f4387fca51 | ||
|
|
fe31d8da1b | ||
|
|
4142eabe88 | ||
|
|
bc524cbb10 | ||
|
|
7eb00e61fa | ||
|
|
1aa646ca37 | ||
|
|
6100bcc988 | ||
|
|
d5c3de2bcb | ||
|
|
a3a918ec95 | ||
|
|
8803fe5ee4 | ||
|
|
fc43266090 | ||
|
|
caf7e428b7 | ||
|
|
230d4e21a6 | ||
|
|
bc16ece6d7 | ||
|
|
974db01487 | ||
|
|
6c75f30ffe | ||
|
|
29ded94b59 | ||
|
|
b8b1b86fbb | ||
|
|
455e71bf7a | ||
|
|
ac16f8d0d2 | ||
|
|
120d0079ec | ||
|
|
e5f914814d | ||
|
|
2065c73a5c | ||
|
|
c450235ffd | ||
|
|
a500c79107 | ||
|
|
41af84e469 | ||
|
|
7710ffac6b | ||
|
|
70083216c3 | ||
|
|
fb15192cb0 | ||
|
|
b845ca91b3 | ||
|
|
3427faf4bb | ||
|
|
3ea8d17837 | ||
|
|
0e41adbf6d | ||
|
|
b4d109fbc7 | ||
|
|
bc9bfbac0c | ||
|
|
440c601b7b | ||
|
|
1cda0abb3f | ||
|
|
2c4fe56d6c | ||
|
|
e630c77bb0 | ||
|
|
9f533f4da1 | ||
|
|
328dd55733 | ||
|
|
401b940473 | ||
|
|
2c9685502c | ||
|
|
194e1cb608 | ||
|
|
55296e95da | ||
|
|
1c96c3a82f | ||
|
|
6f4a85dd25 | ||
|
|
2ee6438cfc | ||
|
|
6da425e8c2 | ||
|
|
21b74b519c | ||
|
|
b01520ead7 | ||
|
|
9202d9c83b | ||
|
|
9a25a6dd90 | ||
|
|
10b5e282f7 | ||
|
|
24c73e4b5f | ||
|
|
ec76fd9ad9 | ||
|
|
f841ca153f | ||
|
|
dacb122526 | ||
|
|
454bdf3755 | ||
|
|
85fa456381 | ||
|
|
53d965aebc | ||
|
|
29eddc6688 | ||
|
|
7817465e42 | ||
|
|
a6a7f6b75a | ||
|
|
1387150aa7 | ||
|
|
bce3ff4452 | ||
|
|
ab5b4ce521 | ||
|
|
802e756db3 | ||
|
|
6d5a74b44c | ||
|
|
1f90462c46 | ||
|
|
f75e0fccf6 | ||
|
|
21b55ec9b6 | ||
|
|
e7a00cd1e4 | ||
|
|
1b10f1854f | ||
|
|
3a0e919426 | ||
|
|
c623b9f038 | ||
|
|
d527822974 | ||
|
|
3a3ab128ab | ||
|
|
dfd5a42748 | ||
|
|
077a4d0f14 | ||
|
|
e32c238a90 | ||
|
|
40bb3b0c0f | ||
|
|
5935f650b8 | ||
|
|
80db106cd1 | ||
|
|
c1e793fbe3 | ||
|
|
39878f292c | ||
|
|
7b5d3c5836 | ||
|
|
f8e5991c68 | ||
|
|
190d53f430 | ||
|
|
9708208fd5 | ||
|
|
58bc0cc529 | ||
|
|
961fbf6146 | ||
|
|
2659d9950c | ||
|
|
5bd296efe4 | ||
|
|
35e2a37420 | ||
|
|
f78071e910 | ||
|
|
a3771c610b | ||
|
|
ddb9b12654 | ||
|
|
49e7708675 | ||
|
|
2ac928f6a2 | ||
|
|
8dfc52ced1 | ||
|
|
93065c8a00 | ||
|
|
d9cbbb3337 | ||
|
|
271308d569 | ||
|
|
572ea3e46e | ||
|
|
c01bb6dd49 | ||
|
|
46b4b73cda | ||
|
|
92ff9e6393 | ||
|
|
1a89a7e49a | ||
|
|
743d0f097b | ||
|
|
033bdbf11f | ||
|
|
e0d20294fe | ||
|
|
d6ea584023 | ||
|
|
d161fac759 | ||
|
|
b95a8b1378 | ||
|
|
f04c3f44e9 | ||
|
|
007dbf7d4f | ||
|
|
ddcb2c72f0 | ||
|
|
4fc4b6b23e | ||
|
|
4aa2e6f2a7 | ||
|
|
7b6ede56cc | ||
|
|
614909a19f | ||
|
|
8060568ced | ||
|
|
cd4622580a | ||
|
|
9c290fa178 | ||
|
|
5f4f6087d2 | ||
|
|
9858563402 | ||
|
|
479c5976ec | ||
|
|
603a25ed57 | ||
|
|
6fc419c7ce | ||
|
|
c819d7ce8a | ||
|
|
7b4916851e | ||
|
|
2a6bdfd66e | ||
|
|
23ac799d02 | ||
|
|
e911269404 | ||
|
|
e57618f534 | ||
|
|
d8249cc3ac | ||
|
|
bb804e059a | ||
|
|
778505742a | ||
|
|
c3ce4f0615 | ||
|
|
c1e72278f0 | ||
|
|
a1b4dbb1b4 | ||
|
|
b5981bae15 | ||
|
|
f93e31fb95 | ||
|
|
20d555500d | ||
|
|
58b59379d9 | ||
|
|
dc4c1fc49e | ||
|
|
e10aa91ae9 | ||
|
|
6a5c903e48 | ||
|
|
4369ed4075 | ||
|
|
d906155c9c | ||
|
|
0ac2b10096 | ||
|
|
d2005a212d | ||
|
|
e91c3d797d | ||
|
|
eddc613d25 | ||
|
|
fd05b716a9 | ||
|
|
cdce72b7a2 | ||
|
|
9e5acb67ed | ||
|
|
425ea3ec56 | ||
|
|
e3fc446960 | ||
|
|
38345d5909 | ||
|
|
776b6ae29f | ||
|
|
1c5b577038 | ||
|
|
18296991a2 | ||
|
|
955d7cca3f | ||
|
|
4c7e7aaf78 | ||
|
|
d3e870351b | ||
|
|
cfed0a625f | ||
|
|
6f7a26f595 | ||
|
|
365ae2a618 | ||
|
|
d2ac016e74 | ||
|
|
08d3ed2d7e | ||
|
|
8ae9b1c288 | ||
|
|
87b4c11a9c | ||
|
|
aa3cd49667 | ||
|
|
060dcda776 | ||
|
|
72123ff72e | ||
|
|
ad6cc54cfa | ||
|
|
a7d661556a | ||
|
|
6423f40b58 | ||
|
|
6d5086d5e6 | ||
|
|
be9a8be241 | ||
|
|
aa2648ce08 | ||
|
|
dee92b0594 | ||
|
|
65574eecaa | ||
|
|
db1f0229db | ||
|
|
b527d23e44 | ||
|
|
25d14cf9c2 | ||
|
|
689e1a7ef3 | ||
|
|
7edaf6ccc0 | ||
|
|
9cef0fd55f | ||
|
|
fb6c741cc1 | ||
|
|
a831629459 | ||
|
|
5200466331 | ||
|
|
34518800c4 | ||
|
|
c4b592025d | ||
|
|
2278d90172 | ||
|
|
5ef5298243 | ||
|
|
989d1601eb | ||
|
|
0c1b99ad82 | ||
|
|
026fbcc5c4 | ||
|
|
ac5b0c44fa | ||
|
|
545a879fa3 | ||
|
|
5f1b5b34bd | ||
|
|
e7e0bde881 | ||
|
|
e36dd5e583 | ||
|
|
21b5b2b20a | ||
|
|
2647f6925d | ||
|
|
aa340aae4f | ||
|
|
83f941496d | ||
|
|
3598a27b56 | ||
|
|
691bd7cccb | ||
|
|
e0e35ed993 | ||
|
|
0301b00a7d | ||
|
|
a8fc5ea363 | ||
|
|
08cc62b173 | ||
|
|
1c080a08b2 | ||
|
|
73230eef02 | ||
|
|
00845e9738 | ||
|
|
c06f88f8dc | ||
|
|
fb20918bc6 | ||
|
|
50a42a6219 | ||
|
|
4af4b48bca | ||
|
|
603f289cb9 | ||
|
|
85906420c5 | ||
|
|
447a5364dc | ||
|
|
b65a6adc2d | ||
|
|
5f9e2bf603 | ||
|
|
4a8cd3fb1c | ||
|
|
35e73dfc1a | ||
|
|
3d26181207 | ||
|
|
c8d0e2b3c5 | ||
|
|
5873842dae | ||
|
|
7a4cbe79d8 | ||
|
|
31ae34260e | ||
|
|
63ad8832a9 | ||
|
|
2751a48575 | ||
|
|
f03d3de706 | ||
|
|
18096ad14d | ||
|
|
88cee05344 | ||
|
|
6d52fa22c1 | ||
|
|
6f0d6c4eba | ||
|
|
4de0784535 | ||
|
|
f981f0b664 | ||
|
|
44326ddfa0 | ||
|
|
8d621fabe4 | ||
|
|
ec09ae2a0f | ||
|
|
5f766555a7 | ||
|
|
303fb3fef2 | ||
|
|
f250b2c03f | ||
|
|
ab71cd250c | ||
|
|
06261d6465 | ||
|
|
b492e287e4 | ||
|
|
b1b42d5258 | ||
|
|
dbd220fcfc | ||
|
|
04ecb7b08c | ||
|
|
1fc0cbe7b1 | ||
|
|
974e8d2337 | ||
|
|
03cf4e1843 | ||
|
|
d65af7f268 | ||
|
|
dbdaff5f3c | ||
|
|
2483e8bdd4 | ||
|
|
049d79f8dc | ||
|
|
dcc9d416c5 | ||
|
|
b9b7cc1c74 | ||
|
|
ceb9317d64 | ||
|
|
2089171f80 | ||
|
|
7adbf9e3c4 | ||
|
|
f4f0111fa9 | ||
|
|
72ba48e7d1 | ||
|
|
562be8071c | ||
|
|
15f7e7eaf0 | ||
|
|
f11022dc96 | ||
|
|
9627e10463 | ||
|
|
13e846a688 | ||
|
|
af88eb3db9 | ||
|
|
8fb94acaa6 | ||
|
|
797d32155c | ||
|
|
51a75c0906 | ||
|
|
eaee735bff | ||
|
|
5ab0b5f1ab | ||
|
|
991d7f52bb | ||
|
|
defa53883f | ||
|
|
ee14aded6a | ||
|
|
558cfdf2d8 | ||
|
|
9ae7ab2790 | ||
|
|
78af86e37e | ||
|
|
986d295fbe | ||
|
|
bb92d5a24e | ||
|
|
42a58102c4 | ||
|
|
7bec44980b | ||
|
|
64351e1f6b | ||
|
|
9ebcf06b5a | ||
|
|
6262219db6 | ||
|
|
40a48df785 | ||
|
|
c10d5817a0 | ||
|
|
a6dbfc3fa9 | ||
|
|
9ddc8a6c1b | ||
|
|
646cb07192 | ||
|
|
beb9547565 | ||
|
|
f2717b72e9 | ||
|
|
e8842259b6 | ||
|
|
311c587ddd | ||
|
|
6b828c55c0 | ||
|
|
ca872ddab7 | ||
|
|
80edb5a22f | ||
|
|
8f06da008b | ||
|
|
b146f13e91 | ||
|
|
7db1817bf3 | ||
|
|
6bf327ccb7 | ||
|
|
71f4564255 | ||
|
|
3a6e7f9a7c | ||
|
|
fcb5091001 | ||
|
|
aac1a5d5ad | ||
|
|
d3c630ec8e | ||
|
|
fb70f96ed3 | ||
|
|
7a4a8b8f8c | ||
|
|
be828e96cf | ||
|
|
77fc58e672 | ||
|
|
104a6d1bf5 | ||
|
|
748d55bab5 | ||
|
|
dd09e4228b | ||
|
|
8515c13f92 | ||
|
|
efc5900332 | ||
|
|
9a880a3cce | ||
|
|
22d3603f19 | ||
|
|
448becfe4b | ||
|
|
c01ed07ef7 | ||
|
|
3d3d774273 | ||
|
|
5c7be3141e | ||
|
|
8a50d3a5a1 | ||
|
|
a525866905 | ||
|
|
b2a21397d8 | ||
|
|
d05efd7327 | ||
|
|
45835b8706 | ||
|
|
2ccda92192 | ||
|
|
110bc8ba88 | ||
|
|
e9244a90d1 | ||
|
|
a25afdb9dd | ||
|
|
4bfc954ae4 | ||
|
|
953112ed88 | ||
|
|
43a4a54ea6 | ||
|
|
4fd0f4a6d0 | ||
|
|
418d5780bf | ||
|
|
2df5ba26fd | ||
|
|
98cc05b3cc | ||
|
|
65e9cee902 | ||
|
|
008fc9eddf | ||
|
|
49f697de6e | ||
|
|
ef470b60db | ||
|
|
079c1b21f6 | ||
|
|
6488cf581a | ||
|
|
10e8dbb255 | ||
|
|
cd70a96e95 | ||
|
|
7a4275a1c9 | ||
|
|
f154548f34 | ||
|
|
4cf4604a70 | ||
|
|
fc9122f77f | ||
|
|
d193c93fd0 | ||
|
|
0e339930f0 | ||
|
|
4fbafb72c8 | ||
|
|
8cb98ac1c9 | ||
|
|
07e5f3b31f | ||
|
|
d46cea8ec3 | ||
|
|
287f858230 | ||
|
|
fa1198dd00 | ||
|
|
e9244b18c4 | ||
|
|
bbcb866671 | ||
|
|
7998dee76a | ||
|
|
028fc1d88a | ||
|
|
2301851088 | ||
|
|
513dd9b5fc | ||
|
|
db721dbb53 | ||
|
|
d99175f807 | ||
|
|
ab5df0906d | ||
|
|
dbe73675a8 | ||
|
|
4b6d350215 | ||
|
|
67ffcb9c1b | ||
|
|
3fb8fa1c0e | ||
|
|
458e466262 | ||
|
|
3522b65858 | ||
|
|
5ed50c0ede | ||
|
|
1f1356d913 | ||
|
|
5087a05afa | ||
|
|
a01bf53f0a | ||
|
|
c36dec1a7b | ||
|
|
84dca0cd71 | ||
|
|
12211838ce | ||
|
|
eadaf188dd | ||
|
|
7989086ebe | ||
|
|
515bd7e066 | ||
|
|
862a3f0177 | ||
|
|
db6852ca01 | ||
|
|
a0dfd94a24 | ||
|
|
65ae28e715 | ||
|
|
e64cabe516 | ||
|
|
caee46ed04 | ||
|
|
c367168605 | ||
|
|
d76f57d2ec | ||
|
|
0edf4d4b74 | ||
|
|
be2057beb3 | ||
|
|
dca5ec2391 | ||
|
|
8abaf2d846 | ||
|
|
74caaa5a88 | ||
|
|
f9d0b87676 | ||
|
|
12c52903aa | ||
|
|
8fdadba962 | ||
|
|
d392473c6e | ||
|
|
c9bb11ed29 | ||
|
|
b70249c249 | ||
|
|
504e40eb38 | ||
|
|
945a1ce922 | ||
|
|
e4fe7b0726 | ||
|
|
a9c7c04316 | ||
|
|
29317b4ea4 | ||
|
|
e07da910b5 | ||
|
|
06addac953 | ||
|
|
d70dec2f19 | ||
|
|
310e5f4c79 | ||
|
|
9185bd21ce | ||
|
|
adaca35ac5 | ||
|
|
fe9c082c38 | ||
|
|
4477a52fab | ||
|
|
403001b3ab | ||
|
|
41be97bb08 | ||
|
|
1de8644056 | ||
|
|
5d9f65f6d0 | ||
|
|
1a31862d94 | ||
|
|
a4fdfb1dde | ||
|
|
3c915c8d73 | ||
|
|
e041781019 | ||
|
|
6c1aa4263b | ||
|
|
d9e7c928f6 | ||
|
|
b59fd66886 | ||
|
|
6ad37f7cc0 | ||
|
|
1dfc90943f | ||
|
|
d30e9e502f | ||
|
|
1b06feed2c | ||
|
|
d57ef8ace6 | ||
|
|
c737e2cd89 | ||
|
|
a5d135a78a | ||
|
|
f764b389d5 | ||
|
|
e360bb7662 | ||
|
|
2daa1d6006 | ||
|
|
6f86255585 | ||
|
|
3d7c916058 | ||
|
|
f5a3400308 | ||
|
|
2242ca17dd | ||
|
|
df8aef2f45 | ||
|
|
5684447b6a | ||
|
|
aba89f58fc | ||
|
|
fabe2a6b3d | ||
|
|
b7e9c5c3d7 | ||
|
|
584489c613 | ||
|
|
b506620e47 | ||
|
|
b9bd81f802 | ||
|
|
ecd5958b55 | ||
|
|
5fbf156762 | ||
|
|
07adc9afd3 | ||
|
|
52e9a63ab3 | ||
|
|
8c228bfc90 | ||
|
|
d8386149e7 | ||
|
|
925a6cb8eb | ||
|
|
9bfbada234 | ||
|
|
457b3b23a8 | ||
|
|
c301840cb2 | ||
|
|
edfbd9ec35 | ||
|
|
679ae0de42 | ||
|
|
1f414ccc84 | ||
|
|
9dd813c593 | ||
|
|
c79625c019 | ||
|
|
25ca47f63b | ||
|
|
14c28c83bf | ||
|
|
9a4dd35b5b | ||
|
|
6794741f34 | ||
|
|
67d82fdb65 | ||
|
|
ac6a61b6af | ||
|
|
4a7df9f57f | ||
|
|
42d074f1cb | ||
|
|
c74953aabc | ||
|
|
5654eb7445 | ||
|
|
f1f3c2ba6b | ||
|
|
d601930533 | ||
|
|
673739b538 | ||
|
|
f3708369a7 | ||
|
|
40ae361190 | ||
|
|
b2a31dc888 | ||
|
|
e2df1b56e0 | ||
|
|
be813055c8 | ||
|
|
cf8b1aa7a8 | ||
|
|
cb9acdb86b | ||
|
|
46044a175b | ||
|
|
7d0ea33c71 | ||
|
|
8d852e11c3 | ||
|
|
6194090eb3 | ||
|
|
c838e603e6 | ||
|
|
03e7a5368e | ||
|
|
a666ac3417 | ||
|
|
3a26dc2dd2 | ||
|
|
294bf0121b | ||
|
|
ce94619813 | ||
|
|
e61171acc8 | ||
|
|
698cf0922f | ||
|
|
840672e242 | ||
|
|
8f629e1ac0 | ||
|
|
f1cc76dc42 | ||
|
|
d63306b9a4 | ||
|
|
83de30c45e | ||
|
|
f0019edefb | ||
|
|
f0a3b22724 | ||
|
|
b863a8e3f4 | ||
|
|
f57f7e5225 | ||
|
|
3ed6ac716d | ||
|
|
0d574dfec7 | ||
|
|
a83f98212b | ||
|
|
f910e5898d | ||
|
|
19fdca577f | ||
|
|
fe750e0645 | ||
|
|
30e75cf876 | ||
|
|
a234e231e7 | ||
|
|
e88575790b | ||
|
|
4a945ae37d | ||
|
|
01a7063020 | ||
|
|
1468aebe4d | ||
|
|
22a6577076 | ||
|
|
9621200f95 | ||
|
|
1aff7876ec | ||
|
|
a4ea1fabaa | ||
|
|
27b796556c | ||
|
|
05efb66d3b | ||
|
|
881c683953 | ||
|
|
54cdfc3e47 | ||
|
|
1b23618a5d | ||
|
|
48b6c358ef | ||
|
|
d9ddc699c9 | ||
|
|
a0cf7ed49d | ||
|
|
8913c7fc88 | ||
|
|
13126cb4b2 | ||
|
|
2c8a5f70e5 | ||
|
|
d385b8c795 | ||
|
|
7cd4088ecd | ||
|
|
313e3f6bdf | ||
|
|
4acd0f9bcb | ||
|
|
6fa1b63954 | ||
|
|
5b3a108204 | ||
|
|
56a472e971 | ||
|
|
7080ca79f7 | ||
|
|
dd1063d61e | ||
|
|
d8ca62d0c8 | ||
|
|
46488baee7 | ||
|
|
f011b093d6 | ||
|
|
eb10c29940 | ||
|
|
6ef7de12af | ||
|
|
67da3359ac | ||
|
|
c79e3498bc | ||
|
|
b507498f30 | ||
|
|
e763a97390 | ||
|
|
5682c2aace | ||
|
|
26b7f4d109 | ||
|
|
d351d4549f | ||
|
|
4ce72abeb5 | ||
|
|
a351869a40 | ||
|
|
568915467c | ||
|
|
c2d8f2f894 | ||
|
|
e1593159f8 | ||
|
|
fcfcbfd9ae | ||
|
|
d398da007f | ||
|
|
284cdfbe53 | ||
|
|
a509b5b119 | ||
|
|
7456741201 | ||
|
|
62e22bc2e8 | ||
|
|
cdc40c57ad | ||
|
|
f8a2738052 | ||
|
|
79e55d3646 | ||
|
|
e1b1bafd78 | ||
|
|
5810bba3d8 | ||
|
|
7bb1df9f35 | ||
|
|
f0bb21c710 | ||
|
|
f7b00effe8 | ||
|
|
a0c49f6a6e | ||
|
|
e4aadf984d | ||
|
|
a335e07912 | ||
|
|
2080d5d643 | ||
|
|
b50725a99c | ||
|
|
6d7ddf4a25 | ||
|
|
f12dad8c7f | ||
|
|
3c60d66567 | ||
|
|
2b95659045 | ||
|
|
2018520302 | ||
|
|
d0fa3731bb | ||
|
|
7db28b8e49 | ||
|
|
bec8324c7b | ||
|
|
cdb2e850fb | ||
|
|
3f12d50201 | ||
|
|
4fb30c128d | ||
|
|
b2cd80a254 | ||
|
|
f3b8eec0cd | ||
|
|
3510a6bef5 | ||
|
|
94227802b4 | ||
|
|
c17c28f4fe | ||
|
|
97ba55700d | ||
|
|
080cb76743 | ||
|
|
b921faab86 | ||
|
|
7515a0ef1b | ||
|
|
61e7e50afd | ||
|
|
86f8891173 | ||
|
|
4429fb0e24 | ||
|
|
776d33f119 | ||
|
|
a8e400309d | ||
|
|
6cfa99a2fd | ||
|
|
ff7526810b | ||
|
|
bff03d9595 | ||
|
|
e1abcbf979 | ||
|
|
d7db1af006 | ||
|
|
ccf4d4cf3e | ||
|
|
ac48012ed0 | ||
|
|
c47f373913 | ||
|
|
6fbcf645cb | ||
|
|
b4c27e47f0 | ||
|
|
a4c4632f98 | ||
|
|
fd3cac4e2e | ||
|
|
424c407aba | ||
|
|
604b634b80 | ||
|
|
c7b30dcf87 | ||
|
|
0845703721 | ||
|
|
10693e85b3 | ||
|
|
d06e38ae36 | ||
|
|
bbcbdabe27 | ||
|
|
194eef9612 | ||
|
|
d92df2510a | ||
|
|
d66db62d4b | ||
|
|
d128fb5203 | ||
|
|
d5bdd59e65 | ||
|
|
3a47091fa5 | ||
|
|
d988308e79 | ||
|
|
4bd8a963ce | ||
|
|
d8fe750a63 | ||
|
|
8611677a5d | ||
|
|
f199aa4642 | ||
|
|
bab3c5b294 | ||
|
|
1d826dca2d | ||
|
|
5d042832ad | ||
|
|
c8ef9aa7e7 | ||
|
|
3e707f40a6 | ||
|
|
d1c1de9e75 | ||
|
|
f526f0fcfb | ||
|
|
e6eca956a3 | ||
|
|
0970248aaa | ||
|
|
5291201c37 | ||
|
|
27296bd4ed | ||
|
|
75da39d626 | ||
|
|
7106d1b991 | ||
|
|
69701634df | ||
|
|
b457d91a2d | ||
|
|
0223007bc4 | ||
|
|
4bf6afa963 | ||
|
|
01569a9965 | ||
|
|
5ee0c9c5f1 | ||
|
|
9cedb170d6 | ||
|
|
08434ef5b5 | ||
|
|
513acf7dc9 | ||
|
|
9034e6a452 | ||
|
|
5b143a061f | ||
|
|
dd355826d3 | ||
|
|
c530cf25b9 | ||
|
|
99cccbbb75 | ||
|
|
0510e5c71b | ||
|
|
71edfe09ca | ||
|
|
35e3a95e79 | ||
| 1dde46fb3a | |||
| 47d3a203d8 | |||
|
|
7f796f480c | ||
|
|
c3d9830278 | ||
|
|
1b031303fc | ||
| d5ec878c3f | |||
|
|
68da2a7313 | ||
|
|
674e9c8679 | ||
|
|
0b45dbebb8 | ||
| 94377eed13 | |||
|
|
37dc0e4dad | ||
|
|
7a0501f3ce | ||
| 95533b39a2 | |||
|
|
3aeae3c273 | ||
| 6e6fc18cd8 | |||
| e90fdc5796 | |||
|
|
b9e1915f98 | ||
|
|
d080d9b23e | ||
|
|
d82329610d | ||
|
|
2b15221013 | ||
|
|
dc0eee51b9 | ||
|
|
a77df017d7 | ||
|
|
472cefe2ca | ||
|
|
4cb91d9c95 | ||
| 8c70edf172 | |||
| 57119c41da | |||
| b7014b03ee | |||
|
|
14a895bfc0 | ||
|
|
e346e7146e | ||
|
|
7718bc4ab0 | ||
|
|
4106b91afd | ||
|
|
5f87e1e817 | ||
| 000e3803dc | |||
|
|
25f8d5badb | ||
| 0ec8c05429 | |||
| 9472a28e5c | |||
|
|
1a2510264e | ||
|
|
c145034f84 | ||
| da58ff6466 | |||
| 71467e216d | |||
|
|
97fd207faf | ||
|
|
9916b78bb6 | ||
| f7ba919c6a | |||
| 2393149460 | |||
|
|
1e5d69bed5 | ||
|
|
2639862d95 | ||
| 5328524eed | |||
| c1c8ae1a91 | |||
|
|
00b2a50ddb | ||
| 1ade69bebe | |||
| 6f4a9e0238 | |||
| ff733e9981 | |||
| 1d30bb96a2 | |||
|
|
aa81a18d2c | ||
|
|
5f101e936a | ||
|
|
21d6651d1b | ||
|
|
b1ea12e70d | ||
|
|
a447c7470a | ||
|
|
43222b0299 | ||
|
|
54843c5417 | ||
|
|
d33daf1652 | ||
|
|
2dd336e3bc | ||
|
|
986b121df4 |
1
.gitignore
vendored
1
.gitignore
vendored
@ -54,3 +54,4 @@ Assets/Editor/FYUtils
|
|||||||
|
|
||||||
Assets/Editor/FYUtils.meta
|
Assets/Editor/FYUtils.meta
|
||||||
fbg.log
|
fbg.log
|
||||||
|
.vsconfig
|
||||||
@ -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]
|
[Serializable]
|
||||||
public class BuildInfo
|
public class BuildInfo
|
||||||
{
|
{
|
||||||
public string bundleName; // 包名
|
public string bundleName; // 包名
|
||||||
public string version; // 版本号
|
public string version; // 版本号
|
||||||
public string mode; // 渠道名_debug 或 渠道名_release
|
public string mode; // 内网测试包,外网测试包,外网正式包
|
||||||
public int version_code = 1; // 各自渠道的version_code
|
public int versionCode = 1; // 各自渠道的version code
|
||||||
public List<BulidGitInfo> git_info; // 打包的git信息
|
public List<BulidGitInfo> git_info; // 打包的git信息
|
||||||
|
public bool exportProject = false; // 是否只导出工程
|
||||||
|
public bool onlyAssetBundle = false; // 是否只打ab包
|
||||||
|
|
||||||
[NonSerialized]
|
[NonSerialized]
|
||||||
public bool skipVersion = false; // 是否跳过版本校验
|
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()
|
public bool IsPublish()
|
||||||
{
|
{
|
||||||
return !IsDevChannel() && !IsLanRelease();
|
return mode == BuildMode.PUBLISH;
|
||||||
}
|
|
||||||
|
|
||||||
public bool IsIOSPlatform()
|
|
||||||
{
|
|
||||||
return bundleName.Contains("ios");
|
|
||||||
}
|
|
||||||
|
|
||||||
public bool IsAndroidPlatform()
|
|
||||||
{
|
|
||||||
return !IsIOSPlatform();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public string GetBundleName()
|
public string GetBundleName()
|
||||||
|
|||||||
@ -48,6 +48,12 @@ namespace BFEditor.Build
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 只打ab包
|
||||||
|
if (buildInfo.onlyAssetBundle)
|
||||||
|
{
|
||||||
|
AssetDatabase.Refresh();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
// 删除不进包的多语言
|
// 删除不进包的多语言
|
||||||
// if (!DeleteOverLanguageAb(buildInfo))
|
// if (!DeleteOverLanguageAb(buildInfo))
|
||||||
// {
|
// {
|
||||||
@ -73,19 +79,10 @@ namespace BFEditor.Build
|
|||||||
watch.Start();
|
watch.Start();
|
||||||
|
|
||||||
var result = false;
|
var result = false;
|
||||||
|
if (BuildAndroidUtils.BuildAndroidPlayer(buildInfo))
|
||||||
if (buildInfo.IsAndroidPlatform() && BuildAndroidUtils.BuildAndroidPlayer(buildInfo))
|
|
||||||
{
|
{
|
||||||
result = true;
|
result = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if UNITY_EDITOR_OSX
|
|
||||||
if (buildInfo.IsIOSPlatform() && BuildIOSUtils.BuildIOSPlayer(buildInfo))
|
|
||||||
{
|
|
||||||
result = true;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
if (result)
|
if (result)
|
||||||
{
|
{
|
||||||
watch.Stop();
|
watch.Stop();
|
||||||
@ -140,8 +137,7 @@ namespace BFEditor.Build
|
|||||||
var watch = new System.Diagnostics.Stopwatch();
|
var watch = new System.Diagnostics.Stopwatch();
|
||||||
watch.Start();
|
watch.Start();
|
||||||
|
|
||||||
// var buildTarget = buildInfo.IsIOSPlatform() ? BuildTarget.iOS : BuildTarget.Android;
|
var isRelease = true;
|
||||||
var isRelease = buildInfo.IsReleaseChannel();
|
|
||||||
Debug.Log("[bfinfo]开始打包资源, bundleName : " + buildInfo.bundleName + " version : " + buildInfo.version + " mode : " + buildInfo.mode);
|
Debug.Log("[bfinfo]开始打包资源, bundleName : " + buildInfo.bundleName + " version : " + buildInfo.version + " mode : " + buildInfo.mode);
|
||||||
|
|
||||||
// // 检查平台
|
// // 检查平台
|
||||||
@ -197,7 +193,7 @@ namespace BFEditor.Build
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 本地缓存ab
|
// 本地缓存ab
|
||||||
if (buildInfo.IsReleaseChannel())
|
if (buildInfo.IsPublish())
|
||||||
{
|
{
|
||||||
Debug.Log("[bfinfo]正在缓存assetbundles...");
|
Debug.Log("[bfinfo]正在缓存assetbundles...");
|
||||||
BFEditorUtils.CopyDirWithIgnore(outputPath, Path.Combine(AssetBundleCachePath, buildInfo.version), new List<string> { ".meta" });
|
BFEditorUtils.CopyDirWithIgnore(outputPath, Path.Combine(AssetBundleCachePath, buildInfo.version), new List<string> { ".meta" });
|
||||||
|
|||||||
@ -6,20 +6,19 @@ namespace BFEditor.Build
|
|||||||
public enum BFPlatformOptions
|
public enum BFPlatformOptions
|
||||||
{
|
{
|
||||||
AndroidDev = 1,
|
AndroidDev = 1,
|
||||||
IOSDev,
|
AndroidTest,
|
||||||
AndroidRelease,
|
|
||||||
AndroidGP,
|
AndroidGP,
|
||||||
|
AndroidGPRU
|
||||||
}
|
}
|
||||||
|
|
||||||
public class BuildProjectWindow : EditorWindow
|
public class BuildProjectWindow : EditorWindow
|
||||||
{
|
{
|
||||||
private static int versionCode = 18;
|
private static int VersionCode = 4;
|
||||||
private static string versionName = "1.6.5";
|
private static string VersionName = "1.2.10";
|
||||||
|
private static int VersionCodeRU = 12;
|
||||||
|
private static string VersionNameRU = "0.4.9";
|
||||||
BFPlatformOptions platform = BFPlatformOptions.AndroidDev;
|
BFPlatformOptions platform = BFPlatformOptions.AndroidDev;
|
||||||
const string ANDROID_DEV_PACKAGE_NAME = "com.juzu.b6.dev.android";
|
const string ANDROID_GP_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";
|
|
||||||
|
|
||||||
public BuildProjectWindow()
|
public BuildProjectWindow()
|
||||||
{
|
{
|
||||||
@ -30,53 +29,93 @@ namespace BFEditor.Build
|
|||||||
|
|
||||||
void OnGUI()
|
void OnGUI()
|
||||||
{
|
{
|
||||||
GUILayout.BeginVertical("box");
|
|
||||||
|
|
||||||
EditorGUILayout.LabelField("选择渠道");
|
|
||||||
platform = (BFPlatformOptions)EditorGUILayout.EnumPopup("", platform);
|
|
||||||
EditorGUILayout.Space();
|
|
||||||
|
|
||||||
EditorGUILayout.LabelField("版本: " + versionName);
|
|
||||||
EditorGUILayout.Space();
|
|
||||||
|
|
||||||
string packageName;
|
string packageName;
|
||||||
string mode;
|
string mode;
|
||||||
|
string versionName = VersionName;
|
||||||
|
int versionCode = VersionCode;
|
||||||
bool skipVersion = false;
|
bool skipVersion = false;
|
||||||
|
string appType;
|
||||||
if (platform == BFPlatformOptions.AndroidDev)
|
if (platform == BFPlatformOptions.AndroidDev)
|
||||||
{
|
{
|
||||||
packageName = ANDROID_DEV_PACKAGE_NAME;
|
packageName = ANDROID_GP_PACKAGE_NAME;
|
||||||
skipVersion = true;
|
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;
|
packageName = ANDROID_GP_PACKAGE_NAME;
|
||||||
mode = "release_release";
|
mode = BuildMode.TEST;
|
||||||
|
versionName = "0.1.0";
|
||||||
|
versionCode = 1;
|
||||||
|
appType = "外网测试包";
|
||||||
}
|
}
|
||||||
else if(platform == BFPlatformOptions.AndroidGP)
|
else if(platform == BFPlatformOptions.AndroidGP)
|
||||||
{
|
{
|
||||||
packageName = ANDROID_GP_PACKAGE_NAME;
|
packageName = ANDROID_GP_PACKAGE_NAME;
|
||||||
mode = "publish_release";
|
mode = BuildMode.PUBLISH;
|
||||||
|
appType = "外网正式包";
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
packageName = IOS_PACKAGE_NAME;
|
packageName = ANDROID_GP_PACKAGE_NAME;
|
||||||
mode = "dev_debug";
|
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("包名: " + packageName);
|
||||||
EditorGUILayout.LabelField("mode: " + mode);
|
EditorGUILayout.Space();
|
||||||
|
EditorGUILayout.LabelField(appType);
|
||||||
|
EditorGUILayout.Space();
|
||||||
EditorGUILayout.Space();
|
EditorGUILayout.Space();
|
||||||
|
|
||||||
EditorGUILayout.Space();
|
|
||||||
|
|
||||||
if (GUILayout.Button("一键打包"))
|
|
||||||
{
|
|
||||||
var buildInfo = new BuildInfo();
|
var buildInfo = new BuildInfo();
|
||||||
buildInfo.version = versionName;
|
buildInfo.version = versionName;
|
||||||
buildInfo.version_code = versionCode;
|
buildInfo.versionCode = versionCode;
|
||||||
buildInfo.mode = mode;
|
buildInfo.mode = mode;
|
||||||
buildInfo.bundleName = packageName;
|
buildInfo.bundleName = packageName;
|
||||||
buildInfo.skipVersion = skipVersion;
|
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);
|
BuildProjectTools.BuildBFPlayer(buildInfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -77,25 +77,12 @@ namespace BFEditor.Build
|
|||||||
Directory.CreateDirectory(outputPath);
|
Directory.CreateDirectory(outputPath);
|
||||||
}
|
}
|
||||||
|
|
||||||
AssetBundleManifest manifest;
|
AssetBundleManifest manifest = BuildPipeline.BuildAssetBundles(outputPath, options |
|
||||||
if (release)
|
|
||||||
{
|
|
||||||
manifest = BuildPipeline.BuildAssetBundles(outputPath, options |
|
|
||||||
BuildAssetBundleOptions.StrictMode |
|
BuildAssetBundleOptions.StrictMode |
|
||||||
BuildAssetBundleOptions.DisableLoadAssetByFileName |
|
BuildAssetBundleOptions.DisableLoadAssetByFileName |
|
||||||
BuildAssetBundleOptions.DisableLoadAssetByFileNameWithExtension |
|
BuildAssetBundleOptions.DisableLoadAssetByFileNameWithExtension |
|
||||||
BuildAssetBundleOptions.DeterministicAssetBundle,
|
BuildAssetBundleOptions.DeterministicAssetBundle,
|
||||||
target);
|
target);
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
manifest = BuildPipeline.BuildAssetBundles(outputPath, options |
|
|
||||||
BuildAssetBundleOptions.StrictMode |
|
|
||||||
BuildAssetBundleOptions.DisableLoadAssetByFileName |
|
|
||||||
BuildAssetBundleOptions.DisableLoadAssetByFileNameWithExtension |
|
|
||||||
BuildAssetBundleOptions.DeterministicAssetBundle,
|
|
||||||
target);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (manifest == null)
|
if (manifest == null)
|
||||||
{
|
{
|
||||||
@ -365,12 +352,12 @@ namespace BFEditor.Build
|
|||||||
SetProtoABName(Path.Combine(Application.dataPath, "proto"), index++ / total);
|
SetProtoABName(Path.Combine(Application.dataPath, "proto"), index++ / total);
|
||||||
SetSpineABName(Path.Combine(Application.dataPath, "arts", "spines"), index++ / total);
|
SetSpineABName(Path.Combine(Application.dataPath, "arts", "spines"), index++ / total);
|
||||||
SetFirstABName(Path.Combine(Application.dataPath, "first"), 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);
|
SetVideoABName(Path.Combine(Application.dataPath, "arts", "video"), index++ / total);
|
||||||
// SetLanguageResABName(Resource.ResourceProcessConfig.LANGUAGE_PATH, 19f / total);
|
// SetLanguageResABName(Resource.ResourceProcessConfig.LANGUAGE_PATH, index++ / total);
|
||||||
// SetBakedatasABName(Path.Combine(Application.dataPath, "arts", "bakedatas"), 21f / total);
|
// SetBakedatasABName(Path.Combine(Application.dataPath, "arts", "bakedatas"), index++ / total);
|
||||||
// SetLightProbesABName(Path.Combine(Application.dataPath, "arts", "lightprobes"), 22f / total);
|
// SetLightProbesABName(Path.Combine(Application.dataPath, "arts", "lightprobes"), index++ / total);
|
||||||
// SetReflectionsABName(Path.Combine(Application.dataPath, "arts", "reflections"), 23f / total);
|
// SetReflectionsABName(Path.Combine(Application.dataPath, "arts", "reflections"), index++ / total);
|
||||||
|
|
||||||
EditorUtility.ClearProgressBar();
|
EditorUtility.ClearProgressBar();
|
||||||
AssetDatabase.SaveAssets();
|
AssetDatabase.SaveAssets();
|
||||||
@ -572,11 +559,11 @@ namespace BFEditor.Build
|
|||||||
{
|
{
|
||||||
EditorUtility.DisplayProgressBar("提示", "正在设置spine ABName", progress);
|
EditorUtility.DisplayProgressBar("提示", "正在设置spine ABName", progress);
|
||||||
|
|
||||||
var dirInfo = new DirectoryInfo(dirPath);
|
string[] dirList = { "ui" , "characters" };
|
||||||
var dirs = dirInfo.GetDirectories();
|
for (var i = 0; i < dirList.Length; ++i)
|
||||||
for (var i = 0; i < dirs.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]));
|
var dirInfo = new DirectoryInfo(Path.Combine(dirPath, dirList[i]));
|
||||||
SetABNameBySubDir(dirInfo);
|
SetABNameBySubDir(dirInfo);
|
||||||
}
|
}
|
||||||
|
var dirInfo2 = new DirectoryInfo(Path.Combine(dirPath, "ui", "activity"));
|
||||||
|
if (dirInfo2.Exists)
|
||||||
|
{
|
||||||
|
SetABNameBySubDir(dirInfo2);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void SetBackgroundABName(string dirPath)
|
static void SetBackgroundABName(string dirPath)
|
||||||
|
|||||||
@ -3,9 +3,9 @@ using UnityEditor;
|
|||||||
using System.IO;
|
using System.IO;
|
||||||
using UnityEditor.Build.Reporting;
|
using UnityEditor.Build.Reporting;
|
||||||
using System.Text.RegularExpressions;
|
using System.Text.RegularExpressions;
|
||||||
using System.Collections.Generic;
|
|
||||||
using System;
|
using System;
|
||||||
using System.Threading;
|
using System.Threading;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
|
||||||
namespace BFEditor.Build
|
namespace BFEditor.Build
|
||||||
{
|
{
|
||||||
@ -24,13 +24,13 @@ namespace BFEditor.Build
|
|||||||
static string BuglyPath = Application.dataPath + "/../Bugly";
|
static string BuglyPath = Application.dataPath + "/../Bugly";
|
||||||
static string BuglySOPath = Application.dataPath + "/../Bugly/so";
|
static string BuglySOPath = Application.dataPath + "/../Bugly/so";
|
||||||
static string GradleExcuteProjectPath = Application.dataPath + "/../BFVersions/android/ub-release";
|
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 GoogleAsProjectPath = Application.dataPath + "/../BFVersions/android/dz_google_apk";
|
||||||
static string GoogleCommonProjectPath = Application.dataPath + "/../BFVersions/android/google_common";
|
static string GoogleCommonProjectPath = Application.dataPath + "/../BFVersions/android/google_common";
|
||||||
static string GPAsProjectPath = Application.dataPath + "/../BFVersions/android/ub-gp"; // gp删档测试渠道
|
static string RuStoreProjectPath = Application.dataPath + "/../BFVersions/android/ru_store";
|
||||||
static string GPOfficialAsProjectPath = Application.dataPath + "/../BFVersions/android/ub-google"; // gp正式渠道
|
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 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 SignShellPath = Application.dataPath + "/../BFFiles/androidkey";
|
||||||
static string GpAlginShellPath = Application.dataPath + "/../BFFiles/androidkey";
|
static string GpAlginShellPath = Application.dataPath + "/../BFFiles/androidkey";
|
||||||
static HashSet<string> AABInPackageFileHashSet = new HashSet<string>()
|
static HashSet<string> AABInPackageFileHashSet = new HashSet<string>()
|
||||||
@ -77,10 +77,19 @@ namespace BFEditor.Build
|
|||||||
var bpOptions = GetBuildOptions(buildInfo);
|
var bpOptions = GetBuildOptions(buildInfo);
|
||||||
var report = BuildPipeline.BuildPlayer(bpOptions);
|
var report = BuildPipeline.BuildPlayer(bpOptions);
|
||||||
|
|
||||||
// 打包成功
|
// 导出工程成功
|
||||||
if (report.summary.result == BuildResult.Succeeded)
|
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
|
else
|
||||||
{
|
{
|
||||||
@ -98,7 +107,7 @@ namespace BFEditor.Build
|
|||||||
PlayerSettings.bundleVersion = buildInfo.version;
|
PlayerSettings.bundleVersion = buildInfo.version;
|
||||||
|
|
||||||
// 设置VersionCode
|
// 设置VersionCode
|
||||||
PlayerSettings.Android.bundleVersionCode = buildInfo.version_code;
|
PlayerSettings.Android.bundleVersionCode = buildInfo.versionCode;
|
||||||
|
|
||||||
// 设置竖屏
|
// 设置竖屏
|
||||||
PlayerSettings.defaultInterfaceOrientation = UIOrientation.Portrait;
|
PlayerSettings.defaultInterfaceOrientation = UIOrientation.Portrait;
|
||||||
@ -118,22 +127,25 @@ namespace BFEditor.Build
|
|||||||
|
|
||||||
// 设置包名
|
// 设置包名
|
||||||
PlayerSettings.SetApplicationIdentifier(BuildTargetGroup.Android, buildInfo.bundleName);
|
PlayerSettings.SetApplicationIdentifier(BuildTargetGroup.Android, buildInfo.bundleName);
|
||||||
Debug.Log("[bfinfo]设置包名:" + buildInfo.bundleName);
|
|
||||||
|
|
||||||
// 跳过版本控制
|
// 跳过版本控制
|
||||||
var symbols = ANDROID_DEFINE_SYMBOLS;
|
var symbols = ANDROID_DEFINE_SYMBOLS;
|
||||||
if (buildInfo.skipVersion)
|
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);
|
PlayerSettings.SetScriptingDefineSymbolsForGroup(BuildTargetGroup.Android, symbols);
|
||||||
Debug.Log("[bfinfo]设置defineSymbols: " + symbols);
|
Debug.Log("[bfinfo]设置defineSymbols: " + symbols);
|
||||||
|
|
||||||
// 是否是dev
|
|
||||||
var development = buildInfo.IsDevChannel() ? true : false;
|
|
||||||
EditorUserBuildSettings.development = development;
|
|
||||||
|
|
||||||
// 商品名称
|
// 商品名称
|
||||||
// 应用名
|
// 应用名
|
||||||
if (buildInfo.IsPublish())
|
if (buildInfo.IsPublish())
|
||||||
@ -142,17 +154,15 @@ namespace BFEditor.Build
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
PlayerSettings.productName = development ? "b6-dev" : "b6-release";
|
PlayerSettings.productName = "b6-dev";
|
||||||
}
|
}
|
||||||
// BuildType设置dev/release
|
EditorUserBuildSettings.development = false;
|
||||||
EditorUserBuildSettings.androidBuildType = development ? AndroidBuildType.Debug : AndroidBuildType.Release;
|
EditorUserBuildSettings.androidBuildType = AndroidBuildType.Release;
|
||||||
|
|
||||||
// 是否导出as工程
|
// 是否导出as工程
|
||||||
// EditorUserBuildSettings.exportAsGoogleAndroidProject = development ? false : true;
|
|
||||||
EditorUserBuildSettings.exportAsGoogleAndroidProject = true;
|
EditorUserBuildSettings.exportAsGoogleAndroidProject = true;
|
||||||
|
|
||||||
// dev使用Mono release使用IL2CPP
|
var scriptImp = ScriptingImplementation.IL2CPP;
|
||||||
var scriptImp = development ? ScriptingImplementation.Mono2x : ScriptingImplementation.IL2CPP;
|
|
||||||
PlayerSettings.SetScriptingBackend(BuildTargetGroup.Android, scriptImp);
|
PlayerSettings.SetScriptingBackend(BuildTargetGroup.Android, scriptImp);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -164,29 +174,9 @@ namespace BFEditor.Build
|
|||||||
var bpOptions = new BuildPlayerOptions();
|
var bpOptions = new BuildPlayerOptions();
|
||||||
bpOptions.scenes = AssetBundleUtils.GetBuildScenes();
|
bpOptions.scenes = AssetBundleUtils.GetBuildScenes();
|
||||||
bpOptions.target = BuildTarget.Android;
|
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);
|
bpOptions.locationPathName = GetASProjectPathName(buildInfo);
|
||||||
|
|
||||||
BuildOptions options;
|
BuildOptions options = BuildOptions.None;
|
||||||
if (buildInfo.IsReleaseChannel())
|
|
||||||
{
|
|
||||||
options = BuildOptions.None;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
options = BuildOptions.Development;
|
|
||||||
}
|
|
||||||
|
|
||||||
bpOptions.options = options;
|
bpOptions.options = options;
|
||||||
return bpOptions;
|
return bpOptions;
|
||||||
}
|
}
|
||||||
@ -200,7 +190,7 @@ namespace BFEditor.Build
|
|||||||
|
|
||||||
static string GetASProjectPathName(BuildInfo buildInfo)
|
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))
|
if (Directory.Exists(dir))
|
||||||
{
|
{
|
||||||
Directory.Delete(dir, true);
|
Directory.Delete(dir, true);
|
||||||
@ -208,32 +198,53 @@ namespace BFEditor.Build
|
|||||||
return dir;
|
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);
|
Debug.LogError("[bferror] 找不到环境变量JAVE_HOME");
|
||||||
FixGradleVersion(buildInfo.version_code, buildInfo.version);
|
return false;
|
||||||
}
|
}
|
||||||
|
var gradleFilePath = Path.Combine(PublishAsProjectPath, "gradle.properties");
|
||||||
if (buildInfo.IsLanRelease())
|
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...");
|
Debug.Log("[bfinfo]正在buildApk...");
|
||||||
var success = true;
|
var success = true;
|
||||||
var args = "";
|
var args = "assembleRelease";
|
||||||
if (buildInfo.IsReleaseChannel())
|
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;
|
||||||
}
|
}
|
||||||
|
#if UNITY_EDITOR_OSX
|
||||||
BFEditorUtils.RunCommond(GRADLE_PATH, args, GradleExcuteProjectPath,
|
var gradleCommondPath = Path.Combine(gradleHomePath, "gradle");
|
||||||
|
#else
|
||||||
|
var gradleCommondPath = Path.Combine(gradleHomePath, "gradle.bat");
|
||||||
|
#endif
|
||||||
|
BFEditorUtils.RunCommond(gradleCommondPath, args, PublishAsProjectPath,
|
||||||
(msg) =>
|
(msg) =>
|
||||||
{
|
{
|
||||||
},
|
},
|
||||||
@ -245,80 +256,35 @@ namespace BFEditor.Build
|
|||||||
Debug.LogError("[bferror] " + errorMsg);
|
Debug.LogError("[bferror] " + errorMsg);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
if (buildInfo.IsGPChannel())
|
|
||||||
{
|
|
||||||
// 尝试制作并上传bugly符号表 开新Thread不影响打包流程
|
|
||||||
if (success)
|
|
||||||
{
|
|
||||||
CopySOAndUploadBuglySymbol(buildInfo.bundleName, buildInfo.version);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return success;
|
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>
|
/// <summary>
|
||||||
/// 合并dev工程
|
/// 合并工程
|
||||||
/// </summary>
|
/// </summary>
|
||||||
static void MergeProject(BuildInfo buildInfo, String asProjectPath)
|
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 javaPath = Path.Combine(dir, "unityLibrary/src/main/java");
|
||||||
var manifestPath = Path.Combine(dir, "unityLibrary/src/main/AndroidManifest.xml");
|
var manifestPath = Path.Combine(dir, "unityLibrary/src/main/AndroidManifest.xml");
|
||||||
|
|
||||||
|
// 老版本unity需要替换这个,2021之后的新版本不需要
|
||||||
// 获取到unity打出的build-id
|
// 获取到unity打出的build-id
|
||||||
var reader = new StreamReader(new FileStream(manifestPath, FileMode.Open));
|
// var reader = new StreamReader(new FileStream(manifestPath, FileMode.Open));
|
||||||
string buildIdLine;
|
// string buildIdLine;
|
||||||
while ((buildIdLine = reader.ReadLine()) != null)
|
// while ((buildIdLine = reader.ReadLine()) != null)
|
||||||
{
|
// {
|
||||||
if (buildIdLine.Contains("unity.build-id"))
|
// if (buildIdLine.Contains("unity.build-id"))
|
||||||
{
|
// {
|
||||||
Debug.Log("[bfinfo]修正build-id: " + buildIdLine);
|
// Debug.Log("[bfinfo]修正build-id: " + buildIdLine);
|
||||||
break;
|
// break;
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
reader.Close();
|
// reader.Close();
|
||||||
reader.Dispose();
|
// reader.Dispose();
|
||||||
|
|
||||||
if (Directory.Exists(javaPath))
|
if (Directory.Exists(javaPath))
|
||||||
{
|
{
|
||||||
@ -326,6 +292,33 @@ namespace BFEditor.Build
|
|||||||
di.Delete(true);
|
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);
|
BFEditorUtils.CopyDir(GoogleCommonProjectPath, dir);
|
||||||
// 获取到google_common复制过去的build.gradle和AndroidManifest
|
// 获取到google_common复制过去的build.gradle和AndroidManifest
|
||||||
var buildGradlePath = Path.Combine(dir, "launcher/build.gradle");
|
var buildGradlePath = Path.Combine(dir, "launcher/build.gradle");
|
||||||
@ -341,57 +334,21 @@ namespace BFEditor.Build
|
|||||||
File.WriteAllText(androidManifestPath, text);
|
File.WriteAllText(androidManifestPath, text);
|
||||||
|
|
||||||
BFEditorUtils.CopyDir(asProjectPath, dir);
|
BFEditorUtils.CopyDir(asProjectPath, dir);
|
||||||
|
// 还有dz_google_apk下的AndroidManifest
|
||||||
text = File.ReadAllText(manifestPath);
|
androidManifestPath = Path.Combine(dir, "unityLibrary/src/main/AndroidManifest.xml");
|
||||||
regex = new Regex("REPLACE_BUILD_ID");
|
text = File.ReadAllText(androidManifestPath);
|
||||||
text = regex.Replace(text, buildIdLine);
|
regex = new Regex("REPLACE_APPLICATION_ID");
|
||||||
File.WriteAllText(manifestPath, text);
|
text = regex.Replace(text, buildInfo.bundleName);
|
||||||
}
|
File.WriteAllText(androidManifestPath, text);
|
||||||
|
// }
|
||||||
/// <summary>
|
// 统一替换google-services文件
|
||||||
/// 合并gp工程
|
var gsPath = Path.Combine(GoogleServicesProjectPath, Path.Combine(buildInfo.bundleName, "google-services.json"));
|
||||||
/// </summary>
|
if (File.Exists(gsPath))
|
||||||
static void MergeGPToReleaseProject(BuildInfo buildInfo)
|
|
||||||
{
|
{
|
||||||
Debug.Log("[bfinfo]正在整合gp渠道sdk...");
|
var destFilePath = Path.Combine(dir, "launcher/google-services.json");
|
||||||
|
File.Copy(gsPath, destFilePath, true);
|
||||||
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;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
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>
|
/// <summary>
|
||||||
/// fix versionCode versionName
|
/// fix versionCode versionName
|
||||||
|
|||||||
@ -1,348 +1,348 @@
|
|||||||
#if UNITY_EDITOR_OSX
|
// #if UNITY_EDITOR_OSX
|
||||||
using UnityEngine;
|
// using UnityEngine;
|
||||||
using UnityEditor;
|
// using UnityEditor;
|
||||||
using UnityEditor.Build.Reporting;
|
// using UnityEditor.Build.Reporting;
|
||||||
using UnityEditor.iOS.Xcode;
|
// using UnityEditor.iOS.Xcode;
|
||||||
using System.IO;
|
// using System.IO;
|
||||||
#endif
|
// #endif
|
||||||
|
|
||||||
namespace BFEditor.Build
|
// namespace BFEditor.Build
|
||||||
{
|
// {
|
||||||
public static class BuildIOSUtils
|
// public static class BuildIOSUtils
|
||||||
{
|
// {
|
||||||
#if UNITY_EDITOR_OSX
|
// #if UNITY_EDITOR_OSX
|
||||||
const string IOS_DEFINE_SYMBOLS = "THREAD_SAFE;USE_AB";
|
// const string IOS_DEFINE_SYMBOLS = "THREAD_SAFE;USE_AB";
|
||||||
const string DEV_XCODE_LOCAL_PATH = "BFVersions/ios/dev";
|
// const string DEV_XCODE_LOCAL_PATH = "BFVersions/ios/dev";
|
||||||
const string RELEASE_XCODE_LOCAL_PATH = "BFVersions/ios/release";
|
// const string RELEASE_XCODE_LOCAL_PATH = "BFVersions/ios/release";
|
||||||
|
|
||||||
static string devXCodePath = Application.dataPath + "/../" + DEV_XCODE_LOCAL_PATH;
|
// static string devXCodePath = Application.dataPath + "/../" + DEV_XCODE_LOCAL_PATH;
|
||||||
static string releaseXCodePath = Application.dataPath + "/../" + RELEASE_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 devOptionsPListPath = Application.dataPath + "/../" + "BFVersions/ios/exports/dev/ExportOptions.plist";
|
||||||
static string releaseOptionsPListPath = Application.dataPath + "/../" + "BFVersions/ios/exports/release/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 publishOptionsPListPath = Application.dataPath + "/../" + "BFVersions/ios/exports/dis/ExportOptions.plist";
|
||||||
|
|
||||||
public static bool BuildIOSPlayer(BuildInfo buildInfo)
|
// public static bool BuildIOSPlayer(BuildInfo buildInfo)
|
||||||
{
|
// {
|
||||||
var buildTarget = BuildTarget.iOS;
|
// var buildTarget = BuildTarget.iOS;
|
||||||
|
|
||||||
// 检查平台
|
// // 检查平台
|
||||||
if (EditorUserBuildSettings.activeBuildTarget != buildTarget)
|
// if (EditorUserBuildSettings.activeBuildTarget != buildTarget)
|
||||||
{
|
// {
|
||||||
Debug.LogError("[bferror]当前没有在对应平台");
|
// Debug.LogError("[bferror]当前没有在对应平台");
|
||||||
return false;
|
// return false;
|
||||||
}
|
// }
|
||||||
|
|
||||||
// 重新生成XLua
|
// // 重新生成XLua
|
||||||
CompileScriptsUtils.RegenerateXLuaCode(true);
|
// CompileScriptsUtils.RegenerateXLuaCode(true);
|
||||||
|
|
||||||
// 打包设置
|
// // 打包设置
|
||||||
BuildSettings(buildInfo);
|
// BuildSettings(buildInfo);
|
||||||
|
|
||||||
// 开始打包
|
// // 开始打包
|
||||||
var bpOptions = GetBuildOptions(buildInfo);
|
// var bpOptions = GetBuildOptions(buildInfo);
|
||||||
var report = BuildPipeline.BuildPlayer(bpOptions);
|
// var report = BuildPipeline.BuildPlayer(bpOptions);
|
||||||
if (report.summary.result == BuildResult.Succeeded)
|
// if (report.summary.result == BuildResult.Succeeded)
|
||||||
{
|
// {
|
||||||
return BuildIpaFromXCode(buildInfo);
|
// return BuildIpaFromXCode(buildInfo);
|
||||||
}
|
// }
|
||||||
else
|
// else
|
||||||
{
|
// {
|
||||||
Debug.LogError("[bferror]unity打包xcode失败");
|
// Debug.LogError("[bferror]unity打包xcode失败");
|
||||||
return false;
|
// return false;
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
|
||||||
/// <summary>
|
// /// <summary>
|
||||||
/// 打包设置
|
// /// 打包设置
|
||||||
/// </summary>
|
// /// </summary>
|
||||||
static void BuildSettings(BuildInfo buildInfo)
|
// static void BuildSettings(BuildInfo buildInfo)
|
||||||
{
|
// {
|
||||||
// 设置bundleVersion
|
// // 设置bundleVersion
|
||||||
PlayerSettings.bundleVersion = buildInfo.version;
|
// PlayerSettings.bundleVersion = buildInfo.version;
|
||||||
|
|
||||||
// 设置buildNumber
|
// // 设置buildNumber
|
||||||
PlayerSettings.iOS.buildNumber = buildInfo.version_code.ToString();
|
// PlayerSettings.iOS.buildNumber = buildInfo.versionCode.ToString();
|
||||||
|
|
||||||
// 设置竖屏
|
// // 设置竖屏
|
||||||
PlayerSettings.defaultInterfaceOrientation = UIOrientation.Portrait;
|
// PlayerSettings.defaultInterfaceOrientation = UIOrientation.Portrait;
|
||||||
PlayerSettings.allowedAutorotateToPortrait = false;
|
// PlayerSettings.allowedAutorotateToPortrait = false;
|
||||||
PlayerSettings.allowedAutorotateToPortraitUpsideDown = false;
|
// PlayerSettings.allowedAutorotateToPortraitUpsideDown = false;
|
||||||
PlayerSettings.allowedAutorotateToLandscapeLeft = false;
|
// PlayerSettings.allowedAutorotateToLandscapeLeft = false;
|
||||||
PlayerSettings.allowedAutorotateToLandscapeRight = false;
|
// PlayerSettings.allowedAutorotateToLandscapeRight = false;
|
||||||
|
|
||||||
// 允许Xcode根据appleDeveloperTeamID自动签署应用程序
|
// // 允许Xcode根据appleDeveloperTeamID自动签署应用程序
|
||||||
PlayerSettings.iOS.appleEnableAutomaticSigning = !buildInfo.IsPublish();
|
// PlayerSettings.iOS.appleEnableAutomaticSigning = !buildInfo.IsPublish();
|
||||||
|
|
||||||
// 使用手动签名时iOS资源调配配置文件的类型,自动
|
// // 使用手动签名时iOS资源调配配置文件的类型,自动
|
||||||
PlayerSettings.iOS.iOSManualProvisioningProfileType = buildInfo.IsPublish() ? ProvisioningProfileType.Distribution : ProvisioningProfileType.Automatic;
|
// PlayerSettings.iOS.iOSManualProvisioningProfileType = buildInfo.IsPublish() ? ProvisioningProfileType.Distribution : ProvisioningProfileType.Automatic;
|
||||||
|
|
||||||
// 关闭启动动画
|
// // 关闭启动动画
|
||||||
PlayerSettings.SplashScreen.show = false;
|
// PlayerSettings.SplashScreen.show = false;
|
||||||
|
|
||||||
// 设置包名
|
// // 设置包名
|
||||||
PlayerSettings.SetApplicationIdentifier(BuildTargetGroup.iOS, buildInfo.bundleName);
|
// PlayerSettings.SetApplicationIdentifier(BuildTargetGroup.iOS, buildInfo.bundleName);
|
||||||
Debug.Log("[bfinfo]设置包名:" + buildInfo.bundleName);
|
// Debug.Log("[bfinfo]设置包名:" + buildInfo.bundleName);
|
||||||
|
|
||||||
// 是否跳过版本控制
|
// // 是否跳过版本控制
|
||||||
var symbols = IOS_DEFINE_SYMBOLS;
|
// var symbols = IOS_DEFINE_SYMBOLS;
|
||||||
if (buildInfo.skipVersion)
|
// if (buildInfo.skipVersion)
|
||||||
{
|
// {
|
||||||
symbols = symbols + ";SKIP_VERSION;";
|
// symbols = symbols + ";SKIP_VERSION;";
|
||||||
}
|
// }
|
||||||
|
|
||||||
|
|
||||||
PlayerSettings.SetScriptingDefineSymbolsForGroup(BuildTargetGroup.iOS, symbols);
|
// PlayerSettings.SetScriptingDefineSymbolsForGroup(BuildTargetGroup.iOS, symbols);
|
||||||
Debug.Log("[bfinfo]设置defineSymbols: " + symbols);
|
// Debug.Log("[bfinfo]设置defineSymbols: " + symbols);
|
||||||
|
|
||||||
// 是否是dev
|
// // 是否是dev
|
||||||
var development = buildInfo.IsDevChannel();
|
// var development = buildInfo.IsDevChannel();
|
||||||
EditorUserBuildSettings.development = development;
|
// EditorUserBuildSettings.development = development;
|
||||||
|
|
||||||
// 商品名称
|
// // 商品名称
|
||||||
if (buildInfo.IsPublish())
|
// if (buildInfo.IsPublish())
|
||||||
{
|
// {
|
||||||
PlayerSettings.productName = "Heroic Expedition";
|
// PlayerSettings.productName = "Heroic Expedition";
|
||||||
}
|
// }
|
||||||
else
|
// else
|
||||||
{
|
// {
|
||||||
PlayerSettings.productName = development ? "b6-dev" : "b6-release";
|
// PlayerSettings.productName = development ? "b6-dev" : "b6-release";
|
||||||
}
|
// }
|
||||||
|
|
||||||
// BuildType设置dev/release
|
// // BuildType设置dev/release
|
||||||
EditorUserBuildSettings.iOSBuildConfigType = development ? iOSBuildType.Debug : iOSBuildType.Release;
|
// EditorUserBuildSettings.iOSXcodeBuildConfig = development ? XcodeBuildConfig.Debug : XcodeBuildConfig.Release;
|
||||||
|
|
||||||
// 使用IL2CPP
|
// // 使用IL2CPP
|
||||||
var scriptImp = ScriptingImplementation.IL2CPP;
|
// var scriptImp = ScriptingImplementation.IL2CPP;
|
||||||
PlayerSettings.SetScriptingBackend(BuildTargetGroup.iOS, scriptImp);
|
// PlayerSettings.SetScriptingBackend(BuildTargetGroup.iOS, scriptImp);
|
||||||
|
|
||||||
// 目标平台架构,目前支持ARM64
|
// // 目标平台架构,目前支持ARM64
|
||||||
PlayerSettings.SetArchitecture(BuildTargetGroup.iOS, 1);
|
// PlayerSettings.SetArchitecture(BuildTargetGroup.iOS, 1);
|
||||||
}
|
// }
|
||||||
|
|
||||||
/// <summary>
|
// /// <summary>
|
||||||
/// 获取打包参数
|
// /// 获取打包参数
|
||||||
/// </summary>
|
// /// </summary>
|
||||||
static BuildPlayerOptions GetBuildOptions(BuildInfo buildInfo)
|
// static BuildPlayerOptions GetBuildOptions(BuildInfo buildInfo)
|
||||||
{
|
// {
|
||||||
var bpOptions = new BuildPlayerOptions();
|
// var bpOptions = new BuildPlayerOptions();
|
||||||
bpOptions.scenes = AssetBundleUtils.GetBuildScenes();
|
// bpOptions.scenes = AssetBundleUtils.GetBuildScenes();
|
||||||
bpOptions.target = BuildTarget.iOS;
|
// bpOptions.target = BuildTarget.iOS;
|
||||||
|
|
||||||
var path = buildInfo.IsReleaseChannel() ? RELEASE_XCODE_LOCAL_PATH : DEV_XCODE_LOCAL_PATH;
|
// var path = buildInfo.IsReleaseChannel() ? RELEASE_XCODE_LOCAL_PATH : DEV_XCODE_LOCAL_PATH;
|
||||||
bpOptions.locationPathName = path;
|
// bpOptions.locationPathName = path;
|
||||||
Debug.Log("[bfinfo]xcode path : " + path);
|
// Debug.Log("[bfinfo]xcode path : " + path);
|
||||||
var absolutePath = buildInfo.IsReleaseChannel() ? releaseXCodePath : devXCodePath;
|
// var absolutePath = buildInfo.IsReleaseChannel() ? releaseXCodePath : devXCodePath;
|
||||||
if (Directory.Exists(absolutePath))
|
// if (Directory.Exists(absolutePath))
|
||||||
{
|
// {
|
||||||
Directory.Delete(absolutePath, true);
|
// Directory.Delete(absolutePath, true);
|
||||||
}
|
// }
|
||||||
|
|
||||||
if (!buildInfo.IsPublish())
|
// if (!buildInfo.IsPublish())
|
||||||
{
|
// {
|
||||||
var options = BuildOptions.Development | BuildOptions.ConnectWithProfiler | BuildOptions.AllowDebugging;
|
// var options = BuildOptions.Development | BuildOptions.ConnectWithProfiler | BuildOptions.AllowDebugging;
|
||||||
bpOptions.options = options;
|
// bpOptions.options = options;
|
||||||
}
|
// }
|
||||||
return bpOptions;
|
// return bpOptions;
|
||||||
}
|
// }
|
||||||
|
|
||||||
/// <summary>
|
// /// <summary>
|
||||||
/// 打包ipa
|
// /// 打包ipa
|
||||||
/// </summary>
|
// /// </summary>
|
||||||
static bool BuildIpaFromXCode(BuildInfo buildInfo)
|
// static bool BuildIpaFromXCode(BuildInfo buildInfo)
|
||||||
{
|
// {
|
||||||
// 修改XCode设置
|
// // 修改XCode设置
|
||||||
FixXCodeProject(buildInfo);
|
// FixXCodeProject(buildInfo);
|
||||||
|
|
||||||
// 权限
|
// // 权限
|
||||||
UnlockKeyChain();
|
// UnlockKeyChain();
|
||||||
|
|
||||||
// archive
|
// // archive
|
||||||
if (!Archive(buildInfo))
|
// if (!Archive(buildInfo))
|
||||||
{
|
// {
|
||||||
return false;
|
// return false;
|
||||||
}
|
// }
|
||||||
|
|
||||||
// 导出ipa
|
// // 导出ipa
|
||||||
if (!ExportIpa(buildInfo))
|
// if (!ExportIpa(buildInfo))
|
||||||
{
|
// {
|
||||||
return false;
|
// return false;
|
||||||
}
|
// }
|
||||||
|
|
||||||
return true;
|
// return true;
|
||||||
}
|
// }
|
||||||
|
|
||||||
/// <summary>
|
// /// <summary>
|
||||||
/// xCode工程设置
|
// /// xCode工程设置
|
||||||
/// </summary>
|
// /// </summary>
|
||||||
static void FixXCodeProject(BuildInfo buildInfo)
|
// static void FixXCodeProject(BuildInfo buildInfo)
|
||||||
{
|
// {
|
||||||
var isDev = buildInfo.IsDevChannel();
|
// var isDev = buildInfo.IsDevChannel();
|
||||||
var xCodeProjectPath = isDev ? devXCodePath : releaseXCodePath;
|
// var xCodeProjectPath = isDev ? devXCodePath : releaseXCodePath;
|
||||||
|
|
||||||
var path = xCodeProjectPath + "/Unity-iPhone.xcodeproj/project.pbxproj";
|
// var path = xCodeProjectPath + "/Unity-iPhone.xcodeproj/project.pbxproj";
|
||||||
var pbxProject = new PBXProject();
|
// var pbxProject = new PBXProject();
|
||||||
pbxProject.ReadFromFile(path);
|
// pbxProject.ReadFromFile(path);
|
||||||
var targetGuid = pbxProject.TargetGuidByName("Unity-iPhone");
|
// var targetGuid = pbxProject.TargetGuidByName("Unity-iPhone");
|
||||||
pbxProject.AddBuildProperty(targetGuid, "OTHER_LDFLAGS", "-ObjC");
|
// pbxProject.AddBuildProperty(targetGuid, "OTHER_LDFLAGS", "-ObjC");
|
||||||
pbxProject.SetBuildProperty(targetGuid, "ENABLE_BITCODE", "NO");
|
// pbxProject.SetBuildProperty(targetGuid, "ENABLE_BITCODE", "NO");
|
||||||
pbxProject.SetBuildProperty(targetGuid, "ENABLE_BITCODE", "NO");
|
// pbxProject.SetBuildProperty(targetGuid, "ENABLE_BITCODE", "NO");
|
||||||
pbxProject.SetBuildProperty(targetGuid, "DEVELOPMENT_TEAM", "49QQW8856Q");
|
// pbxProject.SetBuildProperty(targetGuid, "DEVELOPMENT_TEAM", "49QQW8856Q");
|
||||||
if (buildInfo.IsPublish())
|
// if (buildInfo.IsPublish())
|
||||||
{
|
// {
|
||||||
pbxProject.SetBuildProperty(targetGuid, "PROVISIONING_PROFILE_SPECIFIER", "ub_appstore_dis");
|
// pbxProject.SetBuildProperty(targetGuid, "PROVISIONING_PROFILE_SPECIFIER", "ub_appstore_dis");
|
||||||
}
|
// }
|
||||||
|
|
||||||
// 添加系统库
|
// // 添加系统库
|
||||||
AddSystemLibReferenceToProject(pbxProject, targetGuid, "libsqlite3.tbd");
|
// AddSystemLibReferenceToProject(pbxProject, targetGuid, "libsqlite3.tbd");
|
||||||
AddSystemLibReferenceToProject(pbxProject, targetGuid, "libz.1.tbd");
|
// AddSystemLibReferenceToProject(pbxProject, targetGuid, "libz.1.tbd");
|
||||||
AddSystemLibReferenceToProject(pbxProject, targetGuid, "libiconv.2.tbd");
|
// AddSystemLibReferenceToProject(pbxProject, targetGuid, "libiconv.2.tbd");
|
||||||
AddSystemLibReferenceToProject(pbxProject, targetGuid, "libresolv.9.tbd");
|
// AddSystemLibReferenceToProject(pbxProject, targetGuid, "libresolv.9.tbd");
|
||||||
|
|
||||||
var pListPath = Path.Combine(xCodeProjectPath, "Info.plist");
|
// var pListPath = Path.Combine(xCodeProjectPath, "Info.plist");
|
||||||
var pList = new PlistDocument();
|
// var pList = new PlistDocument();
|
||||||
pList.ReadFromFile(pListPath);
|
// pList.ReadFromFile(pListPath);
|
||||||
|
|
||||||
// 版本号
|
// // 版本号
|
||||||
var vKey = "CFBundleShortVersionString";
|
// var vKey = "CFBundleShortVersionString";
|
||||||
var vValue = new PlistElementString(buildInfo.version);
|
// var vValue = new PlistElementString(buildInfo.version);
|
||||||
var pListRoot = pList.root;
|
// var pListRoot = pList.root;
|
||||||
var rootDict = pListRoot.values;
|
// var rootDict = pListRoot.values;
|
||||||
if (!rootDict.ContainsKey(vKey))
|
// if (!rootDict.ContainsKey(vKey))
|
||||||
{
|
// {
|
||||||
rootDict.Add(vKey, vValue);
|
// rootDict.Add(vKey, vValue);
|
||||||
}
|
// }
|
||||||
else
|
// else
|
||||||
{
|
// {
|
||||||
rootDict[vKey] = vValue;
|
// rootDict[vKey] = vValue;
|
||||||
}
|
// }
|
||||||
|
|
||||||
// VersionCode
|
// // VersionCode
|
||||||
var vCodeKey = "CFBundleVersion";
|
// var vCodeKey = "CFBundleVersion";
|
||||||
var vCodeValue = new PlistElementString(buildInfo.version_code.ToString());
|
// var vCodeValue = new PlistElementString(buildInfo.versionCode.ToString());
|
||||||
if (!rootDict.ContainsKey(vCodeKey))
|
// if (!rootDict.ContainsKey(vCodeKey))
|
||||||
{
|
// {
|
||||||
rootDict.Add(vCodeKey, vCodeValue);
|
// rootDict.Add(vCodeKey, vCodeValue);
|
||||||
}
|
// }
|
||||||
else
|
// else
|
||||||
{
|
// {
|
||||||
rootDict[vCodeKey] = vCodeValue;
|
// rootDict[vCodeKey] = vCodeValue;
|
||||||
}
|
// }
|
||||||
|
|
||||||
// 数美SDK会使用位置,必须加入这个说明
|
// // 数美SDK会使用位置,必须加入这个说明
|
||||||
var localtionKey = "NSLocationWhenInUseUsageDescription";
|
// var localtionKey = "NSLocationWhenInUseUsageDescription";
|
||||||
var localtionValue = new PlistElementString("We use your location to give you a better localization.");
|
// var localtionValue = new PlistElementString("We use your location to give you a better localization.");
|
||||||
if (!rootDict.ContainsKey(localtionKey))
|
// if (!rootDict.ContainsKey(localtionKey))
|
||||||
{
|
// {
|
||||||
rootDict.Add(localtionKey, localtionValue);
|
// rootDict.Add(localtionKey, localtionValue);
|
||||||
}
|
// }
|
||||||
else
|
// else
|
||||||
{
|
// {
|
||||||
rootDict[localtionKey] = localtionValue;
|
// rootDict[localtionKey] = localtionValue;
|
||||||
}
|
// }
|
||||||
|
|
||||||
// 提审提示缺少出口合规证明,这里直接设置为false即可
|
// // 提审提示缺少出口合规证明,这里直接设置为false即可
|
||||||
var encryptionKey = "ITSAppUsesNonExemptEncryption";
|
// var encryptionKey = "ITSAppUsesNonExemptEncryption";
|
||||||
var encryptionValue = new PlistElementBoolean(false);
|
// var encryptionValue = new PlistElementBoolean(false);
|
||||||
if (!rootDict.ContainsKey(encryptionKey))
|
// if (!rootDict.ContainsKey(encryptionKey))
|
||||||
{
|
// {
|
||||||
rootDict.Add(encryptionKey, encryptionValue);
|
// rootDict.Add(encryptionKey, encryptionValue);
|
||||||
}
|
// }
|
||||||
else
|
// else
|
||||||
{
|
// {
|
||||||
rootDict[encryptionKey] = encryptionValue;
|
// rootDict[encryptionKey] = encryptionValue;
|
||||||
}
|
// }
|
||||||
|
|
||||||
pList.WriteToFile(pListPath);
|
// pList.WriteToFile(pListPath);
|
||||||
pbxProject.WriteToFile(path);
|
// pbxProject.WriteToFile(path);
|
||||||
}
|
// }
|
||||||
|
|
||||||
//添加系统lib方法
|
// //添加系统lib方法
|
||||||
static void AddSystemLibReferenceToProject(PBXProject pbxProject, string targetGuid, string lib)
|
// static void AddSystemLibReferenceToProject(PBXProject pbxProject, string targetGuid, string lib)
|
||||||
{
|
// {
|
||||||
var fileGuid = pbxProject.AddFile("usr/lib/" + lib, "Frameworks/" + lib, PBXSourceTree.Sdk);
|
// var fileGuid = pbxProject.AddFile("usr/lib/" + lib, "Frameworks/" + lib, PBXSourceTree.Sdk);
|
||||||
pbxProject.AddFileToBuild(targetGuid, fileGuid);
|
// pbxProject.AddFileToBuild(targetGuid, fileGuid);
|
||||||
}
|
// }
|
||||||
|
|
||||||
/// <summary>
|
// /// <summary>
|
||||||
/// Archive
|
// /// Archive
|
||||||
/// </summary>
|
// /// </summary>
|
||||||
static bool Archive(BuildInfo buildInfo)
|
// static bool Archive(BuildInfo buildInfo)
|
||||||
{
|
// {
|
||||||
Debug.Log("[bfinfo]正在archive...");
|
// Debug.Log("[bfinfo]正在archive...");
|
||||||
var result = true;
|
// var result = true;
|
||||||
var xCodeProjectPath = buildInfo.IsDevChannel() ? devXCodePath : releaseXCodePath;
|
// var xCodeProjectPath = buildInfo.IsDevChannel() ? devXCodePath : releaseXCodePath;
|
||||||
var archivePath = xCodeProjectPath + "/build/archive/Unity-iPhone.xcarchive";
|
// var archivePath = xCodeProjectPath + "/build/archive/Unity-iPhone.xcarchive";
|
||||||
var args = string.Format("archive -scheme Unity-iPhone -configuration Release -archivePath {0}", archivePath);
|
// var args = string.Format("archive -scheme Unity-iPhone -configuration Release -archivePath {0}", archivePath);
|
||||||
BFEditorUtils.RunCommond("xcodebuild", args, xCodeProjectPath,
|
// BFEditorUtils.RunCommond("xcodebuild", args, xCodeProjectPath,
|
||||||
(info) =>
|
// (info) =>
|
||||||
{
|
// {
|
||||||
Debug.Log(info);
|
// Debug.Log(info);
|
||||||
},
|
// },
|
||||||
(error) =>
|
// (error) =>
|
||||||
{
|
// {
|
||||||
if (error.Contains("ARCHIVE FAILED")) // 失败标志
|
// if (error.Contains("ARCHIVE FAILED")) // 失败标志
|
||||||
{
|
// {
|
||||||
result = false;
|
// result = false;
|
||||||
}
|
// }
|
||||||
Debug.LogError("[bferror] " + error);
|
// Debug.LogError("[bferror] " + error);
|
||||||
}
|
// }
|
||||||
);
|
// );
|
||||||
|
|
||||||
return result;
|
// return result;
|
||||||
}
|
// }
|
||||||
|
|
||||||
/// <summary>
|
// /// <summary>
|
||||||
/// 导出ipa
|
// /// 导出ipa
|
||||||
/// </summary>
|
// /// </summary>
|
||||||
static bool ExportIpa(BuildInfo buildInfo)
|
// static bool ExportIpa(BuildInfo buildInfo)
|
||||||
{
|
// {
|
||||||
Debug.Log("[bfinfo]正在导出ipa...");
|
// Debug.Log("[bfinfo]正在导出ipa...");
|
||||||
var result = false;
|
// var result = false;
|
||||||
var xCodeProjectPath = buildInfo.IsDevChannel() ? devXCodePath : releaseXCodePath;
|
// var xCodeProjectPath = buildInfo.IsDevChannel() ? devXCodePath : releaseXCodePath;
|
||||||
string exportPListPath;
|
// string exportPListPath;
|
||||||
if (buildInfo.IsPublish())
|
// if (buildInfo.IsPublish())
|
||||||
{
|
// {
|
||||||
exportPListPath = publishOptionsPListPath;
|
// exportPListPath = publishOptionsPListPath;
|
||||||
}
|
// }
|
||||||
else
|
// else
|
||||||
{
|
// {
|
||||||
exportPListPath = buildInfo.IsDevChannel() ? devOptionsPListPath : releaseOptionsPListPath;
|
// exportPListPath = buildInfo.IsDevChannel() ? devOptionsPListPath : releaseOptionsPListPath;
|
||||||
}
|
// }
|
||||||
var ipaPath = xCodeProjectPath + "/build/ipa";
|
// var ipaPath = xCodeProjectPath + "/build/ipa";
|
||||||
var archivePath = xCodeProjectPath + "/build/archive/Unity-iPhone.xcarchive";
|
// var archivePath = xCodeProjectPath + "/build/archive/Unity-iPhone.xcarchive";
|
||||||
var args = string.Format("-exportArchive -archivePath {0} -exportPath {1} -exportOptionsPlist {2} -allowProvisioningUpdates", archivePath, ipaPath, exportPListPath);
|
// var args = string.Format("-exportArchive -archivePath {0} -exportPath {1} -exportOptionsPlist {2} -allowProvisioningUpdates", archivePath, ipaPath, exportPListPath);
|
||||||
BFEditorUtils.RunCommond("xcodebuild", args, null,
|
// BFEditorUtils.RunCommond("xcodebuild", args, null,
|
||||||
(info) =>
|
// (info) =>
|
||||||
{
|
// {
|
||||||
if(info.Contains("EXPORT SUCCEEDED"))
|
// if(info.Contains("EXPORT SUCCEEDED"))
|
||||||
{
|
// {
|
||||||
result = true;
|
// result = true;
|
||||||
}
|
// }
|
||||||
},
|
// },
|
||||||
(error) =>
|
// (error) =>
|
||||||
{
|
// {
|
||||||
}
|
// }
|
||||||
);
|
// );
|
||||||
|
|
||||||
return result;
|
// return result;
|
||||||
}
|
// }
|
||||||
|
|
||||||
/// <summary>
|
// /// <summary>
|
||||||
/// 远程打包签名ipa时需要钥匙串权限
|
// /// 远程打包签名ipa时需要钥匙串权限
|
||||||
/// </summary>
|
// /// </summary>
|
||||||
static void UnlockKeyChain()
|
// static void UnlockKeyChain()
|
||||||
{
|
// {
|
||||||
BFEditorUtils.RunCommond("security", "-v unlock-keychain -p '123456' /Users/aoddabao/Library/Keychains/login.keychain-db", null,
|
// BFEditorUtils.RunCommond("security", "-v unlock-keychain -p '123456' /Users/aoddabao/Library/Keychains/login.keychain-db", null,
|
||||||
(msg) =>
|
// (msg) =>
|
||||||
{
|
// {
|
||||||
Debug.Log(msg);
|
// Debug.Log(msg);
|
||||||
},
|
// },
|
||||||
(msg) =>
|
// (msg) =>
|
||||||
{
|
// {
|
||||||
Debug.LogError(msg);
|
// Debug.LogError(msg);
|
||||||
}
|
// }
|
||||||
);
|
// );
|
||||||
}
|
// }
|
||||||
#endif
|
// #endif
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
|||||||
@ -85,6 +85,9 @@ namespace BFEditor
|
|||||||
{
|
{
|
||||||
//加载lua配置测试
|
//加载lua配置测试
|
||||||
LuaEnv env = new LuaEnv();
|
LuaEnv env = new LuaEnv();
|
||||||
|
env.DoString(@"
|
||||||
|
print('当前 Lua 版本: ' .. _VERSION) -- 输出 Lua 5.1
|
||||||
|
");
|
||||||
env.AddLoader((ref string scriptPath) =>
|
env.AddLoader((ref string scriptPath) =>
|
||||||
{
|
{
|
||||||
var text = LoadGameLuaScriptText(scriptPath, isDeveloper);
|
var text = LoadGameLuaScriptText(scriptPath, isDeveloper);
|
||||||
@ -136,58 +139,58 @@ namespace BFEditor
|
|||||||
var configFileInfos = configDirInfo.GetFiles(suffix, SearchOption.TopDirectoryOnly);
|
var configFileInfos = configDirInfo.GetFiles(suffix, SearchOption.TopDirectoryOnly);
|
||||||
|
|
||||||
// 检查棋盘文件格式
|
// 检查棋盘文件格式
|
||||||
checkBoard("chapter_board", env, sb);
|
// checkBoard("chapter_board", env, sb);
|
||||||
checkBoard("chapter_board_bossrush", env, sb);
|
// checkBoard("chapter_board_bossrush", env, sb);
|
||||||
checkBoard("chapter_board_daily_challenge", env, sb);
|
// checkBoard("chapter_board_daily_challenge", env, sb);
|
||||||
checkBoard("chapter_board_dungeon_armor", env, sb);
|
// checkBoard("chapter_board_dungeon_armor", env, sb);
|
||||||
checkBoard("chapter_board_dungeon_equip", env, sb);
|
// checkBoard("chapter_board_dungeon_equip", env, sb);
|
||||||
checkBoard("chapter_board_dungeon_gold", env, sb);
|
// checkBoard("chapter_board_dungeon_gold", env, sb);
|
||||||
checkBoard("chapter_board_dungeon_shards", env, sb);
|
// checkBoard("chapter_board_dungeon_shards", env, sb);
|
||||||
checkBoard("chapter_board_rune", env, sb);
|
// checkBoard("chapter_board_rune", env, sb);
|
||||||
checkBoard("activity_pvp_board", env, sb);
|
// checkBoard("activity_pvp_board", env, sb);
|
||||||
checkBoard("arena_board", env, sb);
|
// checkBoard("arena_board", env, sb);
|
||||||
|
|
||||||
|
|
||||||
// 检查monster
|
// 检查monster
|
||||||
string monsterConfigListLua = "{";
|
// string monsterConfigListLua = "{";
|
||||||
foreach (var file in configFileInfos)
|
// foreach (var file in configFileInfos)
|
||||||
{
|
// {
|
||||||
var fileName = file.Name.ToLower();
|
// var fileName = file.Name.ToLower();
|
||||||
if(fileName.Contains("monster_"))
|
// if(fileName.Contains("monster_"))
|
||||||
{
|
// {
|
||||||
monsterConfigListLua += "'" + fileName.Replace(".lua", "").Replace(".bytes", "") + "',";
|
// monsterConfigListLua += "'" + fileName.Replace(".lua", "").Replace(".bytes", "") + "',";
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
monsterConfigListLua += "}";
|
// monsterConfigListLua += "}";
|
||||||
var luaScriptString = "local ids = {}\n local MONSTER_LIST = " + monsterConfigListLua + "\n";
|
// var luaScriptString = "local ids = {}\n local MONSTER_LIST = " + monsterConfigListLua + "\n";
|
||||||
luaScriptString += @"local str = {}
|
// luaScriptString += @"local str = {}
|
||||||
for i, name in ipairs(MONSTER_LIST) do
|
// for i, name in ipairs(MONSTER_LIST) do
|
||||||
if name ~= 'monster_base' and name ~= 'monster_position' and name ~= 'monster_position_base' then
|
// if name ~= 'monster_base' and name ~= 'monster_position' and name ~= 'monster_position_base' then
|
||||||
local data = require('app/config/' .. name).data
|
// local data = require('app/config/' .. name).data
|
||||||
for k, v in pairs(data) do
|
// for k, v in pairs(data) do
|
||||||
if ids[k] then
|
// if ids[k] then
|
||||||
table.insert(str, name .. '和' .. ids[k] .. '存在相同的mosnter id:' .. k)
|
// table.insert(str, name .. '和' .. ids[k] .. '存在相同的mosnter id:' .. k)
|
||||||
end
|
// end
|
||||||
ids[k] = name
|
// ids[k] = name
|
||||||
end
|
// end
|
||||||
end
|
// end
|
||||||
end
|
// end
|
||||||
if #str > 0 then
|
// if #str > 0 then
|
||||||
return table.concat(str, '\n');
|
// return table.concat(str, '\n');
|
||||||
end
|
// end
|
||||||
return ''";
|
// return ''";
|
||||||
var resultStr = env.DoString(luaScriptString);
|
// var resultStr = env.DoString(luaScriptString);
|
||||||
if (resultStr.Length > 0)
|
// if (resultStr.Length > 0)
|
||||||
{
|
// {
|
||||||
foreach(var strObj in resultStr)
|
// foreach(var strObj in resultStr)
|
||||||
{
|
// {
|
||||||
var str = Convert.ToString(strObj);
|
// var str = Convert.ToString(strObj);
|
||||||
if(!String.IsNullOrEmpty(str))
|
// if(!String.IsNullOrEmpty(str))
|
||||||
{
|
// {
|
||||||
sb.Append(str + "\n");
|
// 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'}
|
// 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'}
|
// local list = {'enemy_id_1', 'enemy_id_2', 'enemy_id_3'}
|
||||||
|
|||||||
@ -2,7 +2,7 @@ using System.Collections;
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
using UnityEditor;
|
using UnityEditor;
|
||||||
using UnityEditor.Experimental.SceneManagement;
|
|
||||||
|
|
||||||
namespace BFEditor.Resource
|
namespace BFEditor.Resource
|
||||||
{
|
{
|
||||||
@ -19,7 +19,7 @@ namespace BFEditor.Resource
|
|||||||
|
|
||||||
void OnEnable()
|
void OnEnable()
|
||||||
{
|
{
|
||||||
PrefabStage currentPrefabStage = PrefabStageUtility.GetCurrentPrefabStage();
|
UnityEditor.SceneManagement.PrefabStage currentPrefabStage = UnityEditor.SceneManagement.PrefabStageUtility.GetCurrentPrefabStage();
|
||||||
Transform tran;
|
Transform tran;
|
||||||
if (currentPrefabStage == null)
|
if (currentPrefabStage == null)
|
||||||
tran = Selection.activeTransform;
|
tran = Selection.activeTransform;
|
||||||
|
|||||||
@ -92,7 +92,7 @@ namespace BFEditor
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
var currentPrefabStage = UnityEditor.Experimental.SceneManagement.PrefabStageUtility.GetCurrentPrefabStage();
|
var currentPrefabStage = UnityEditor.SceneManagement.PrefabStageUtility.GetCurrentPrefabStage();
|
||||||
if (currentPrefabStage != null) //当前处于prefab编辑模式
|
if (currentPrefabStage != null) //当前处于prefab编辑模式
|
||||||
{
|
{
|
||||||
var prefabRoot = currentPrefabStage.prefabContentsRoot;
|
var prefabRoot = currentPrefabStage.prefabContentsRoot;
|
||||||
|
|||||||
@ -55,7 +55,7 @@ public class JenkinsAdapter {
|
|||||||
// 商品名称
|
// 商品名称
|
||||||
PlayerSettings.productName = "Knights Combo";
|
PlayerSettings.productName = "Knights Combo";
|
||||||
// BuildType设置dev/release
|
// BuildType设置dev/release
|
||||||
EditorUserBuildSettings.iOSBuildConfigType = iOSBuildType.Release;
|
EditorUserBuildSettings.iOSXcodeBuildConfig = XcodeBuildConfig.Release;
|
||||||
EditorUserBuildSettings.development = false;
|
EditorUserBuildSettings.development = false;
|
||||||
// 使用IL2CPP
|
// 使用IL2CPP
|
||||||
var scriptImp = ScriptingImplementation.IL2CPP;
|
var scriptImp = ScriptingImplementation.IL2CPP;
|
||||||
|
|||||||
@ -68,8 +68,9 @@ namespace BFEditor
|
|||||||
"TMPro.SortingLayerHelper",
|
"TMPro.SortingLayerHelper",
|
||||||
"UnityEngine.CloudStreaming",
|
"UnityEngine.CloudStreaming",
|
||||||
"BFEditor.EditorBattleRoleAttackOperate",
|
"BFEditor.EditorBattleRoleAttackOperate",
|
||||||
|
"UnityEngine.QualitySettings",
|
||||||
"IronSourceBannerEvents", "IronSourceEvents", "IronSourceInterstitialEvents", "IronSourceRewardedVideoEvents",
|
"IronSourceBannerEvents", "IronSourceEvents", "IronSourceInterstitialEvents", "IronSourceRewardedVideoEvents",
|
||||||
"IronSourceAdQualityManifestTools"
|
"IronSourceAdQualityManifestTools", "TradplusSDK"
|
||||||
};
|
};
|
||||||
|
|
||||||
static bool isExcluded(Type type)
|
static bool isExcluded(Type type)
|
||||||
@ -77,7 +78,7 @@ namespace BFEditor
|
|||||||
var fullName = type.FullName;
|
var fullName = type.FullName;
|
||||||
for (int i = 0; i < exclude.Count; i++)
|
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;
|
return true;
|
||||||
}
|
}
|
||||||
@ -93,13 +94,13 @@ namespace BFEditor
|
|||||||
List<string> namespaces = new List<string>() // 在这里添加名字空间
|
List<string> namespaces = new List<string>() // 在这里添加名字空间
|
||||||
{
|
{
|
||||||
"BF",
|
"BF",
|
||||||
"UnityEngine",
|
// "UnityEngine",
|
||||||
"UnityEngine.UI",
|
// "UnityEngine.UI",
|
||||||
"UnityEngine.U2D",
|
// "UnityEngine.U2D",
|
||||||
"UnityEngine.Rendering.Universal",
|
// "UnityEngine.Rendering.Universal",
|
||||||
"TMPro",
|
// "TMPro",
|
||||||
"DG.Tweening",
|
// "DG.Tweening",
|
||||||
"DG.Tweening.Core",
|
// "DG.Tweening.Core",
|
||||||
};
|
};
|
||||||
var unityTypes = (from assembly in AppDomain.CurrentDomain.GetAssemblies()
|
var unityTypes = (from assembly in AppDomain.CurrentDomain.GetAssemblies()
|
||||||
where !(assembly.ManifestModule is System.Reflection.Emit.ModuleBuilder)
|
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))
|
var customTypes = (from assembly in customAssemblys.Select(s => Assembly.Load(s))
|
||||||
from type in assembly.GetExportedTypes()
|
from type in assembly.GetExportedTypes()
|
||||||
where type.Namespace == null || !type.Namespace.StartsWith("XLua")
|
where type.Namespace == null || !type.Namespace.StartsWith("XLua") && !isExcluded(type)
|
||||||
&& type.BaseType != typeof(MulticastDelegate) && !type.IsInterface && !type.IsEnum && !isExcluded(type)
|
&& type.BaseType != typeof(MulticastDelegate) && !type.IsInterface && !type.IsEnum
|
||||||
select type);
|
select type);
|
||||||
|
|
||||||
var otherTypes = new List<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<TMPro.TMP_FontAsset>),
|
||||||
typeof(System.Collections.Generic.List<UnityEngine.Camera>),
|
typeof(System.Collections.Generic.List<UnityEngine.Camera>),
|
||||||
typeof(System.Collections.Generic.List<System.Collections.Generic.List<string>>),
|
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.Color, UnityEngine.Color, DG.Tweening.Plugins.Options.ColorOptions>),
|
||||||
typeof(DG.Tweening.Core.TweenerCore<UnityEngine.Vector2, UnityEngine.Vector2, DG.Tweening.Plugins.Options.VectorOptions>),
|
typeof(DG.Tweening.Core.TweenerCore<UnityEngine.Vector2, UnityEngine.Vector2, DG.Tweening.Plugins.Options.VectorOptions>),
|
||||||
|
|
||||||
typeof(System.Action<string>),
|
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.FieldOfViewAxis),
|
||||||
|
typeof(UnityEngine.Camera.RenderRequest),
|
||||||
typeof(UnityEngine.Camera.RenderRequestMode),
|
typeof(UnityEngine.Camera.RenderRequestMode),
|
||||||
typeof(UnityEngine.Camera.RenderRequestOutputSpace),
|
typeof(UnityEngine.Camera.RenderRequestOutputSpace),
|
||||||
|
typeof(UnityEngine.Camera.RenderRequest),
|
||||||
|
typeof(UnityEngine.Camera.SceneViewFilterMode),
|
||||||
typeof(UnityEngine.TextCore.FaceInfo),
|
typeof(UnityEngine.TextCore.FaceInfo),
|
||||||
typeof(UnityEngine.Rendering.LightShadowResolution),
|
typeof(UnityEngine.Rendering.LightShadowResolution),
|
||||||
typeof(UnityEngine.RenderTextureFormat),
|
typeof(UnityEngine.RenderTextureFormat),
|
||||||
typeof(UnityEngine.RenderTextureReadWrite),
|
typeof(UnityEngine.RenderTextureReadWrite),
|
||||||
typeof(UnityEngine.RigidbodyConstraints),
|
typeof(UnityEngine.RigidbodyConstraints),
|
||||||
typeof(UnityEngine.TransparencySortMode),
|
typeof(UnityEngine.TransparencySortMode),
|
||||||
|
typeof(UnityEngine.SystemInfo),
|
||||||
typeof(UnityEngine.Object),
|
typeof(UnityEngine.Object),
|
||||||
typeof(UnityEngine.Rect),
|
typeof(UnityEngine.Rect),
|
||||||
typeof(UnityEngine.Vector2),
|
typeof(UnityEngine.Vector2),
|
||||||
@ -263,11 +275,6 @@ namespace BFEditor
|
|||||||
typeof(UnityEngine.Canvas),
|
typeof(UnityEngine.Canvas),
|
||||||
typeof(UnityEngine.CanvasGroup),
|
typeof(UnityEngine.CanvasGroup),
|
||||||
typeof(UnityEngine.CanvasRenderer),
|
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.LineRenderer),
|
||||||
typeof(UnityEngine.Texture2D),
|
typeof(UnityEngine.Texture2D),
|
||||||
typeof(UnityEngine.Texture2D.EXRFlags),
|
typeof(UnityEngine.Texture2D.EXRFlags),
|
||||||
@ -294,7 +301,13 @@ namespace BFEditor
|
|||||||
typeof(UnityEngine.LightProbes),
|
typeof(UnityEngine.LightProbes),
|
||||||
typeof(UnityEngine.ReflectionProbe),
|
typeof(UnityEngine.ReflectionProbe),
|
||||||
typeof(UnityEngine.BatteryStatus),
|
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.CanvasScaler),
|
||||||
typeof(UnityEngine.UI.Dropdown),
|
typeof(UnityEngine.UI.Dropdown),
|
||||||
typeof(UnityEngine.UI.Dropdown.OptionData),
|
typeof(UnityEngine.UI.Dropdown.OptionData),
|
||||||
@ -316,6 +329,7 @@ namespace BFEditor
|
|||||||
typeof(UnityEngine.UI.InputField),
|
typeof(UnityEngine.UI.InputField),
|
||||||
typeof(UnityEngine.UI.InputField.ContentType),
|
typeof(UnityEngine.UI.InputField.ContentType),
|
||||||
typeof(UnityEngine.UI.InputField.InputType),
|
typeof(UnityEngine.UI.InputField.InputType),
|
||||||
|
typeof(UnityEngine.UI.InputField.EndEditEvent),
|
||||||
typeof(UnityEngine.UI.InputField.CharacterValidation),
|
typeof(UnityEngine.UI.InputField.CharacterValidation),
|
||||||
typeof(UnityEngine.UI.InputField.LineType),
|
typeof(UnityEngine.UI.InputField.LineType),
|
||||||
typeof(UnityEngine.UI.InputField.SubmitEvent),
|
typeof(UnityEngine.UI.InputField.SubmitEvent),
|
||||||
@ -347,7 +361,7 @@ namespace BFEditor
|
|||||||
typeof(UnityEngine.UI.GridLayoutGroup.Constraint),
|
typeof(UnityEngine.UI.GridLayoutGroup.Constraint),
|
||||||
typeof(UnityEngine.UI.VerticalLayoutGroup),
|
typeof(UnityEngine.UI.VerticalLayoutGroup),
|
||||||
typeof(UnityEngine.UI.LayoutGroup),
|
typeof(UnityEngine.UI.LayoutGroup),
|
||||||
typeof(UnityEngine.GUIUtility),
|
typeof(UnityEngine.U2D.SpriteAtlas),
|
||||||
|
|
||||||
// spine
|
// spine
|
||||||
typeof(Spine.TrackEntry),
|
typeof(Spine.TrackEntry),
|
||||||
@ -365,12 +379,14 @@ namespace BFEditor
|
|||||||
typeof(Spine.Unity.SkeletonAnimation),
|
typeof(Spine.Unity.SkeletonAnimation),
|
||||||
typeof(Spine.Unity.SkeletonDataAsset),
|
typeof(Spine.Unity.SkeletonDataAsset),
|
||||||
typeof(Spine.Unity.MeshGenerator),
|
typeof(Spine.Unity.MeshGenerator),
|
||||||
|
typeof(Spine.MeshAttachment),
|
||||||
typeof(Spine.Unity.MeshGenerator.Settings),
|
typeof(Spine.Unity.MeshGenerator.Settings),
|
||||||
typeof(Spine.Unity.SkeletonRenderer),
|
typeof(Spine.Unity.SkeletonRenderer),
|
||||||
typeof(Spine.Unity.SkeletonRenderer.SpriteMaskInteractionMaterials),
|
typeof(Spine.Unity.SkeletonRenderer.SpriteMaskInteractionMaterials),
|
||||||
typeof(Spine.Unity.BoneFollower),
|
typeof(Spine.Unity.BoneFollower),
|
||||||
typeof(Spine.Unity.BoneFollowerGraphic),
|
typeof(Spine.Unity.BoneFollowerGraphic),
|
||||||
typeof(Spine.Unity.BoneFollower.AxisOrientation),
|
typeof(Spine.Unity.BoneFollower.AxisOrientation),
|
||||||
|
typeof(Spine.Unity.SkeletonGraphic.LayoutMode),
|
||||||
|
|
||||||
// TextMeshPro
|
// TextMeshPro
|
||||||
typeof(TMPro.TextAlignmentOptions),
|
typeof(TMPro.TextAlignmentOptions),
|
||||||
@ -396,6 +412,14 @@ namespace BFEditor
|
|||||||
typeof(TMP_AnimationCurve),
|
typeof(TMP_AnimationCurve),
|
||||||
typeof(TMP_Curve),
|
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
|
//DOTween
|
||||||
typeof(DG.Tweening.AutoPlay),
|
typeof(DG.Tweening.AutoPlay),
|
||||||
typeof(DG.Tweening.AxisConstraint),
|
typeof(DG.Tweening.AxisConstraint),
|
||||||
@ -408,7 +432,6 @@ namespace BFEditor
|
|||||||
typeof(DG.Tweening.ScrambleMode),
|
typeof(DG.Tweening.ScrambleMode),
|
||||||
typeof(DG.Tweening.TweenType),
|
typeof(DG.Tweening.TweenType),
|
||||||
typeof(DG.Tweening.UpdateType),
|
typeof(DG.Tweening.UpdateType),
|
||||||
|
|
||||||
typeof(DG.Tweening.DOTween),
|
typeof(DG.Tweening.DOTween),
|
||||||
typeof(DG.Tweening.Core.DOTweenComponent),
|
typeof(DG.Tweening.Core.DOTweenComponent),
|
||||||
typeof(DG.Tweening.Core.TweenerCore<UnityEngine.Vector3, UnityEngine.Vector3[], DG.Tweening.Plugins.Options.Vector3ArrayOptions>),
|
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.ShortcutExtensions),
|
||||||
typeof(DG.Tweening.DOTweenModuleUI),
|
typeof(DG.Tweening.DOTweenModuleUI),
|
||||||
|
|
||||||
// 数数
|
// BestHTTP
|
||||||
typeof(ThinkingAnalytics.ThinkingAnalyticsAPI.TATimeZone),
|
|
||||||
typeof(ThinkingAnalytics.ThinkingAnalyticsAPI.TAMode),
|
|
||||||
typeof(ThinkingAnalytics.ThinkingAnalyticsAPI.NetworkType),
|
|
||||||
|
|
||||||
typeof(Http.RequestState),
|
typeof(Http.RequestState),
|
||||||
|
typeof(BestHTTP.HTTPRequest),
|
||||||
typeof(BestHTTP.HTTPResponse),
|
typeof(BestHTTP.HTTPResponse),
|
||||||
|
typeof(BestHTTP.Connections.HTTP2.HTTP2Response),
|
||||||
typeof(BestHTTP.Forms.HTTPUrlEncodedForm),
|
typeof(BestHTTP.Forms.HTTPUrlEncodedForm),
|
||||||
typeof(BestHTTP.Forms.HTTPFormBase),
|
typeof(BestHTTP.Forms.HTTPFormBase),
|
||||||
|
|
||||||
@ -448,13 +469,36 @@ namespace BFEditor
|
|||||||
typeof(UnityEngine.Purchasing.ProductType),
|
typeof(UnityEngine.Purchasing.ProductType),
|
||||||
|
|
||||||
typeof(BF.MonoSingleton<BF.BFMain>),
|
typeof(BF.MonoSingleton<BF.BFMain>),
|
||||||
|
typeof(BF.MonoSingleton<AdManager>),
|
||||||
typeof(BF.BFSlider.FillDirection),
|
typeof(BF.BFSlider.FillDirection),
|
||||||
typeof(BF.ScrollRectBaseOld.MovementType),
|
typeof(BF.ScrollRectBaseOld.MovementType),
|
||||||
typeof(BF.ScrollRectBaseOld.ScrollbarVisibility),
|
typeof(BF.ScrollRectBaseOld.ScrollbarVisibility),
|
||||||
typeof(BF.NetServiceType),
|
typeof(BF.NetServiceType),
|
||||||
typeof(BF.NetIncomingMessageType),
|
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);
|
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", "SetGamepadSpeakerMixLevelDefault", "System.Int32"},
|
||||||
new List<string>(){"UnityEngine.AudioSource", "GamepadSpeakerSupportsOutputType", "UnityEngine.GamepadSpeakerOutputType"},
|
new List<string>(){"UnityEngine.AudioSource", "GamepadSpeakerSupportsOutputType", "UnityEngine.GamepadSpeakerOutputType"},
|
||||||
new List<string>(){"UnityEngine.AudioSource", "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>(){"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>(){"FBWindowsPhysicalGamepadManager", "state"},
|
||||||
new List<string>(){"IronSourceBannerEvents", "onAdLoaded", "System.String"},
|
new List<string>(){"IronSourceBannerEvents", "onAdLoaded", "System.String"},
|
||||||
new List<string>(){"IronSourceBannerEvents", "onAdLoadFailed", "System.String"},
|
new List<string>(){"IronSourceBannerEvents", "onAdLoadFailed", "System.String"},
|
||||||
@ -638,6 +680,18 @@ namespace BFEditor
|
|||||||
new List<string>(){"IronSourceRewardedVideoEvents", "onAdUnavailable"},
|
new List<string>(){"IronSourceRewardedVideoEvents", "onAdUnavailable"},
|
||||||
new List<string>(){"IronSourceRewardedVideoEvents", "onAdLoadFailed", "System.String"},
|
new List<string>(){"IronSourceRewardedVideoEvents", "onAdLoadFailed", "System.String"},
|
||||||
new List<string>(){"IronSourceRewardedVideoEvents", "onAdReady", "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)
|
static bool hasGenericParameter(Type type)
|
||||||
|
|||||||
@ -14,19 +14,26 @@ MonoBehaviour:
|
|||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
defaultScale: 0.01
|
defaultScale: 0.01
|
||||||
defaultMix: 0.2
|
defaultMix: 0.2
|
||||||
defaultShader: BF/Spine/Skeleton
|
defaultShader: Spine/Skeleton
|
||||||
defaultZSpacing: 0
|
defaultZSpacing: 0
|
||||||
defaultInstantiateLoop: 1
|
defaultInstantiateLoop: 1
|
||||||
|
defaultPhysicsPositionInheritance: {x: 1, y: 1}
|
||||||
|
defaultPhysicsRotationInheritance: 1
|
||||||
showHierarchyIcons: 1
|
showHierarchyIcons: 1
|
||||||
|
reloadAfterPlayMode: 1
|
||||||
setTextureImporterSettings: 1
|
setTextureImporterSettings: 1
|
||||||
textureSettingsReference: Assets/ThirdParty/Spine/Editor/spine-unity/Editor/ImporterPresets/PMATexturePreset.preset
|
textureSettingsReference: Assets/ThirdParty/Spine/Editor/spine-unity/Editor/ImporterPresets/PMATexturePreset.preset
|
||||||
|
fixPrefabOverrideViaMeshFilter: 0
|
||||||
|
removePrefabPreviewMeshes: 0
|
||||||
blendModeMaterialMultiply: {fileID: 0}
|
blendModeMaterialMultiply: {fileID: 0}
|
||||||
blendModeMaterialScreen: {fileID: 0}
|
blendModeMaterialScreen: {fileID: 0}
|
||||||
blendModeMaterialAdditive: {fileID: 0}
|
blendModeMaterialAdditive: {fileID: 0}
|
||||||
atlasTxtImportWarning: 1
|
atlasTxtImportWarning: 1
|
||||||
textureImporterWarning: 1
|
textureImporterWarning: 1
|
||||||
componentMaterialWarning: 1
|
componentMaterialWarning: 1
|
||||||
|
skeletonDataAssetNoFileError: 1
|
||||||
autoReloadSceneSkeletons: 1
|
autoReloadSceneSkeletons: 1
|
||||||
handleScale: 1
|
handleScale: 1
|
||||||
mecanimEventIncludeFolderName: 1
|
mecanimEventIncludeFolderName: 1
|
||||||
|
timelineDefaultMixDuration: 0
|
||||||
timelineUseBlendDuration: 1
|
timelineUseBlendDuration: 1
|
||||||
|
|||||||
@ -78,6 +78,7 @@ namespace BFEditor
|
|||||||
psi.RedirectStandardOutput = true; //由调用程序获取输出信息
|
psi.RedirectStandardOutput = true; //由调用程序获取输出信息
|
||||||
psi.RedirectStandardError = true; //重定向标准错误输出
|
psi.RedirectStandardError = true; //重定向标准错误输出
|
||||||
psi.CreateNoWindow = true; //不显示程序窗口
|
psi.CreateNoWindow = true; //不显示程序窗口
|
||||||
|
psi.StandardOutputEncoding = System.Text.Encoding.UTF8; // 核心:指定UTF-8解码
|
||||||
p.StartInfo = psi;
|
p.StartInfo = psi;
|
||||||
p.Start();
|
p.Start();
|
||||||
|
|
||||||
|
|||||||
@ -23,7 +23,8 @@ namespace AudienceNetwork
|
|||||||
public partial class AdManager : BF.MonoSingleton<AdManager>
|
public partial class AdManager : BF.MonoSingleton<AdManager>
|
||||||
{
|
{
|
||||||
private const string Tag = "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 bannerAdUnitId = "YOUR_BANNER_AD_UNIT_ID"; // Retrieve the ID from your account
|
||||||
string adInterstitialUnitId = "YOUR_AD_UNIT_ID";
|
string adInterstitialUnitId = "YOUR_AD_UNIT_ID";
|
||||||
string adRewardUnitId = "e54f27e345da90df";
|
string adRewardUnitId = "e54f27e345da90df";
|
||||||
|
|||||||
@ -9,9 +9,9 @@ namespace BF
|
|||||||
{
|
{
|
||||||
public class BFThirdReportSDKManager : MonoBehaviour
|
public class BFThirdReportSDKManager : MonoBehaviour
|
||||||
{
|
{
|
||||||
private ThinkingAnalyticsSdk TASdk = new ThinkingAnalyticsSdk();
|
// private ThinkingAnalyticsSdk TASdk = new ThinkingAnalyticsSdk();
|
||||||
private AppsFlyerSdk AFSdk = new AppsFlyerSdk();
|
// private AppsFlyerSdk AFSdk = new AppsFlyerSdk();
|
||||||
private bool isInitAFAdRevenue = false;
|
// private bool isInitAFAdRevenue = false;
|
||||||
|
|
||||||
void Start()
|
void Start()
|
||||||
{
|
{
|
||||||
@ -21,147 +21,147 @@ namespace BF
|
|||||||
public void Init()
|
public void Init()
|
||||||
{
|
{
|
||||||
BFLog.Log("TASdk.Init");
|
BFLog.Log("TASdk.Init");
|
||||||
TASdk.Init();
|
// TASdk.Init();
|
||||||
AFSdk.Init();
|
// AFSdk.Init();
|
||||||
}
|
}
|
||||||
|
|
||||||
// 设置账户id
|
// 设置账户id
|
||||||
public void SetThinkingAnalyticsAccountId(string id)
|
public void SetThinkingAnalyticsAccountId(string id)
|
||||||
{
|
{
|
||||||
TASdk.SetAccountId(id);
|
// TASdk.SetAccountId(id);
|
||||||
AFSdk.SetTaAccountId(id);
|
// AFSdk.SetTaAccountId(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void InitAppsFlyerAdRevenue()
|
public void InitAppsFlyerAdRevenue()
|
||||||
{
|
{
|
||||||
if (isInitAFAdRevenue)
|
// if (isInitAFAdRevenue)
|
||||||
{
|
// {
|
||||||
return;
|
// return;
|
||||||
}
|
// }
|
||||||
isInitAFAdRevenue = true;
|
// isInitAFAdRevenue = true;
|
||||||
AppsFlyerAdRevenue.start();
|
// AppsFlyerAdRevenue.start();
|
||||||
}
|
}
|
||||||
|
|
||||||
// 清除账户id
|
// 清除账户id
|
||||||
public void ClearThinkingAnalyticsAccountId()
|
public void ClearThinkingAnalyticsAccountId()
|
||||||
{
|
{
|
||||||
TASdk.ClearAccountId();
|
// TASdk.ClearAccountId();
|
||||||
}
|
}
|
||||||
|
|
||||||
// 数数科技上报
|
// 数数科技上报
|
||||||
// lua端使用
|
// lua端使用
|
||||||
public void PostThinkingAnalyticsEvent(string eventName, string data = "")
|
public void PostThinkingAnalyticsEvent(string eventName, string data = "")
|
||||||
{
|
{
|
||||||
if (string.IsNullOrEmpty(data))
|
// if (string.IsNullOrEmpty(data))
|
||||||
{
|
// {
|
||||||
TASdk.Track(eventName, null);
|
// TASdk.Track(eventName, null);
|
||||||
}
|
// }
|
||||||
else
|
// else
|
||||||
{
|
// {
|
||||||
var properties = JsonConvert.DeserializeObject<Dictionary<string, object>>(data);
|
// var properties = JsonConvert.DeserializeObject<Dictionary<string, object>>(data);
|
||||||
TASdk.Track(eventName, properties);
|
// TASdk.Track(eventName, properties);
|
||||||
}
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
// 数数科技上报
|
// 数数科技上报
|
||||||
// c#端使用,只上报事件名
|
// c#端使用,只上报事件名
|
||||||
public void PostThinkingAnalyticsEventName(string eventName)
|
public void PostThinkingAnalyticsEventName(string eventName)
|
||||||
{
|
{
|
||||||
TASdk.Track(eventName, null);
|
// TASdk.Track(eventName, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 数数科技上报
|
// 数数科技上报
|
||||||
// c#端使用,上报事件名和参数
|
// c#端使用,上报事件名和参数
|
||||||
public void PostThinkingAnalyticsEventProperties(string eventName, Dictionary<string, object> properties)
|
public void PostThinkingAnalyticsEventProperties(string eventName, Dictionary<string, object> properties)
|
||||||
{
|
{
|
||||||
TASdk.Track(eventName, properties);
|
// TASdk.Track(eventName, properties);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void PostAppsflyerEvent(string eventName, string data = "")
|
public void PostAppsflyerEvent(string eventName, string data = "")
|
||||||
{
|
{
|
||||||
if (string.IsNullOrEmpty(data))
|
// if (string.IsNullOrEmpty(data))
|
||||||
{
|
// {
|
||||||
AFSdk.SendEvent(eventName, null);
|
// AFSdk.SendEvent(eventName, null);
|
||||||
}
|
// }
|
||||||
else
|
// else
|
||||||
{
|
// {
|
||||||
var properties = JsonConvert.DeserializeObject<Dictionary<string, string>>(data);
|
// var properties = JsonConvert.DeserializeObject<Dictionary<string, string>>(data);
|
||||||
AFSdk.SendEvent(eventName, properties);
|
// AFSdk.SendEvent(eventName, properties);
|
||||||
}
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
public void PostFireBaseEvent(string eventName, string data = "")
|
public void PostFireBaseEvent(string eventName, string data = "")
|
||||||
{
|
{
|
||||||
if (string.IsNullOrEmpty(data))
|
// if (string.IsNullOrEmpty(data))
|
||||||
{
|
// {
|
||||||
return;
|
// return;
|
||||||
}
|
// }
|
||||||
else
|
// else
|
||||||
{
|
// {
|
||||||
BFMain.Instance.SDKMgr.BFNativeSDKMgr.LogEvent(eventName, data);
|
// BFMain.Instance.SDKMgr.BFNativeSDKMgr.LogEvent(eventName, data);
|
||||||
}
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
// 设置账户id
|
// 设置账户id
|
||||||
public void PostAdjustSimpleTrackEvent(string key)
|
public void PostAdjustSimpleTrackEvent(string key)
|
||||||
{
|
{
|
||||||
AdjustEvent adjustEvent = new AdjustEvent(key);
|
// AdjustEvent adjustEvent = new AdjustEvent(key);
|
||||||
// BFLog.Log("PostAdjustSimpleTrackEvent");
|
// // BFLog.Log("PostAdjustSimpleTrackEvent");
|
||||||
Adjust.trackEvent(adjustEvent);
|
// Adjust.trackEvent(adjustEvent);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void PostAdjustRevenueTrackEvent(string key, double currency, string currencyCode)
|
public void PostAdjustRevenueTrackEvent(string key, double currency, string currencyCode)
|
||||||
{
|
{
|
||||||
AdjustEvent adjustEvent = new AdjustEvent(key);
|
// AdjustEvent adjustEvent = new AdjustEvent(key);
|
||||||
adjustEvent.setRevenue(currency, currencyCode);
|
// adjustEvent.setRevenue(currency, currencyCode);
|
||||||
// BFLog.Log("PostAdjustRevenueTrackEvent");
|
// // BFLog.Log("PostAdjustRevenueTrackEvent");
|
||||||
Adjust.trackEvent(adjustEvent);
|
// Adjust.trackEvent(adjustEvent);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void PostAdjustCallbackTrackEvent(string key, string data = "")
|
public void PostAdjustCallbackTrackEvent(string key, string data = "")
|
||||||
{
|
{
|
||||||
var properties = JsonConvert.DeserializeObject<Dictionary<string, string>>(data);
|
// var properties = JsonConvert.DeserializeObject<Dictionary<string, string>>(data);
|
||||||
AdjustEvent adjustEvent = new AdjustEvent(key);
|
// AdjustEvent adjustEvent = new AdjustEvent(key);
|
||||||
foreach (var item in properties)
|
// foreach (var item in properties)
|
||||||
{
|
// {
|
||||||
adjustEvent.addCallbackParameter(item.Key, item.Value);
|
// adjustEvent.addCallbackParameter(item.Key, item.Value);
|
||||||
}
|
// }
|
||||||
// BFLog.Log("PostAdjustCallbackTrackEvent");
|
// // BFLog.Log("PostAdjustCallbackTrackEvent");
|
||||||
Adjust.trackEvent(adjustEvent);
|
// Adjust.trackEvent(adjustEvent);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void PostAdjustPartnerTrackEvent(string key, string data = "")
|
public void PostAdjustPartnerTrackEvent(string key, string data = "")
|
||||||
{
|
{
|
||||||
var properties = JsonConvert.DeserializeObject<Dictionary<string, string>>(data);
|
// var properties = JsonConvert.DeserializeObject<Dictionary<string, string>>(data);
|
||||||
AdjustEvent adjustEvent = new AdjustEvent(key);
|
// AdjustEvent adjustEvent = new AdjustEvent(key);
|
||||||
foreach (var item in properties)
|
// foreach (var item in properties)
|
||||||
{
|
// {
|
||||||
adjustEvent.addPartnerParameter(item.Key, item.Value);
|
// adjustEvent.addPartnerParameter(item.Key, item.Value);
|
||||||
}
|
// }
|
||||||
// BFLog.Log("PostAdjustPartnerTrackEvent");
|
// // BFLog.Log("PostAdjustPartnerTrackEvent");
|
||||||
Adjust.trackEvent(adjustEvent);
|
// Adjust.trackEvent(adjustEvent);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void PostAdjustAdRevenueAppLovinMAX(double revenue, string networkName, string adUnitIdentifier, string placement)
|
public void PostAdjustAdRevenueAppLovinMAX(double revenue, string networkName, string adUnitIdentifier, string placement)
|
||||||
{
|
{
|
||||||
var adRevenue = new AdjustAdRevenue(AdjustConfig.AdjustAdRevenueSourceAppLovinMAX);
|
// var adRevenue = new AdjustAdRevenue(AdjustConfig.AdjustAdRevenueSourceAppLovinMAX);
|
||||||
adRevenue.setRevenue(revenue, "USD");
|
// adRevenue.setRevenue(revenue, "USD");
|
||||||
adRevenue.setAdRevenueNetwork(networkName);
|
// adRevenue.setAdRevenueNetwork(networkName);
|
||||||
adRevenue.setAdRevenueUnit(adUnitIdentifier);
|
// adRevenue.setAdRevenueUnit(adUnitIdentifier);
|
||||||
adRevenue.setAdRevenuePlacement(placement);
|
// adRevenue.setAdRevenuePlacement(placement);
|
||||||
Adjust.trackAdRevenue(adRevenue);
|
// Adjust.trackAdRevenue(adRevenue);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void AdjustSetDeviceToken(string token)
|
public void AdjustSetDeviceToken(string token)
|
||||||
{
|
{
|
||||||
Adjust.setDeviceToken(token);
|
// Adjust.setDeviceToken(token);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void LogAppsFlyerAdRevenue(int mediationNetwork, string monetizationNetwork, double eventRevenue, string data)
|
public void LogAppsFlyerAdRevenue(int mediationNetwork, string monetizationNetwork, double eventRevenue, string data)
|
||||||
{
|
{
|
||||||
var properties = JsonConvert.DeserializeObject<Dictionary<string, string>>(data);
|
// var properties = JsonConvert.DeserializeObject<Dictionary<string, string>>(data);
|
||||||
var mediationNetworkType = (AppsFlyerAdRevenueMediationNetworkType)mediationNetwork;
|
// var mediationNetworkType = (AppsFlyerAdRevenueMediationNetworkType)mediationNetwork;
|
||||||
AppsFlyerAdRevenue.logAdRevenue(monetizationNetwork, mediationNetworkType, eventRevenue, "USD", properties);
|
// AppsFlyerAdRevenue.logAdRevenue(monetizationNetwork, mediationNetworkType, eventRevenue, "USD", properties);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -62,7 +62,7 @@ namespace BF
|
|||||||
public BFPaySDKManager BFPaySDKMgr { get; private set; }
|
public BFPaySDKManager BFPaySDKMgr { get; private set; }
|
||||||
public IAPManager IosPaySDKMgr { get; private set; }
|
public IAPManager IosPaySDKMgr { get; private set; }
|
||||||
// public BFAdmobSDKManager BFAdmobSDKMgr { 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 BFNativeSDKManager BFNativeSDKMgr { get; private set; }
|
||||||
public BFThirdReportSDKManager BFThirdReportSDKMgr { get; private set; }
|
public BFThirdReportSDKManager BFThirdReportSDKMgr { get; private set; }
|
||||||
|
|
||||||
@ -91,12 +91,12 @@ namespace BF
|
|||||||
BFPaySDKMgr = sdkGo.AddComponent<BFPaySDKManager>();
|
BFPaySDKMgr = sdkGo.AddComponent<BFPaySDKManager>();
|
||||||
// 广告
|
// 广告
|
||||||
// BFAdmobSDKMgr = sdkGo.AddComponent<BFAdmobSDKManager>();
|
// BFAdmobSDKMgr = sdkGo.AddComponent<BFAdmobSDKManager>();
|
||||||
BFIronSourceSDKMgr = sdkGo.AddComponent<BFIronSourceSDKManager>();
|
// BFIronSourceSDKMgr = sdkGo.AddComponent<BFIronSourceSDKManager>();
|
||||||
// 三方上报
|
// // 三方上报
|
||||||
BFThirdReportSDKMgr = sdkGo.AddComponent<BFThirdReportSDKManager>();
|
BFThirdReportSDKMgr = sdkGo.AddComponent<BFThirdReportSDKManager>();
|
||||||
// native交互管理
|
// native交互管理
|
||||||
BFNativeSDKMgr = sdkGo.AddComponent<BFNativeSDKManager>();
|
BFNativeSDKMgr = sdkGo.AddComponent<BFNativeSDKManager>();
|
||||||
IosPaySDKMgr = IAPManager.Instance;
|
// IosPaySDKMgr = IAPManager.Instance;
|
||||||
|
|
||||||
GameObject.DontDestroyOnLoad(sdkGo);
|
GameObject.DontDestroyOnLoad(sdkGo);
|
||||||
}
|
}
|
||||||
|
|||||||
53
Assets/Scripts/Component/Battle/BattleControlBg.cs
Executable file
53
Assets/Scripts/Component/Battle/BattleControlBg.cs
Executable 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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
11
Assets/Scripts/Component/Battle/BattleControlBg.cs.meta
Normal file
11
Assets/Scripts/Component/Battle/BattleControlBg.cs.meta
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 1025633752bc248dc9665067e756f919
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@ -64,12 +64,12 @@ namespace BF
|
|||||||
|
|
||||||
public partial class BFPlatform
|
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>()
|
static Dictionary<string, string> BFLoginCenterURLDict = new Dictionary<string, string>()
|
||||||
{
|
{
|
||||||
// dev
|
// dev
|
||||||
{"com.juzu.b6.dev", "http://game.juzugame.com:3000"},
|
{"com.juzu.b6.dev", "https://entrance.wdd817.link"},
|
||||||
{"com.juzu.b6.dev.android", "http://game.juzugame.com:3000"},
|
{"com.juzu.b6.dev.android", "http://8.137.93.107:3000"},
|
||||||
{"com.juzu.b6.dev.ios", "http://game.juzugame.com:3000"},
|
{"com.juzu.b6.dev.ios", "http://game.juzugame.com:3000"},
|
||||||
|
|
||||||
// release
|
// release
|
||||||
@ -77,7 +77,7 @@ namespace BF
|
|||||||
{"com.juzu.b6.release.ios", "http://game.juzugame.com:3000"},
|
{"com.juzu.b6.release.ios", "http://game.juzugame.com:3000"},
|
||||||
|
|
||||||
// gp
|
// gp
|
||||||
{"com.combo.heroes.puzzle.rpg", "https://entrance.bigfoot-studio.link"},
|
{"com.combo.heroes.puzzle.rpg", "http://8.137.93.107:3000"},
|
||||||
};
|
};
|
||||||
|
|
||||||
//combine url解析的数据
|
//combine url解析的数据
|
||||||
|
|||||||
@ -37,6 +37,20 @@ namespace BF
|
|||||||
public const bool SKIP_VERSION = false;
|
public const bool SKIP_VERSION = false;
|
||||||
#endif
|
#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] {
|
public static char[] C_FREE_CHAR = new char[16] {
|
||||||
(char)('g' ^ (0x29 - 0)),
|
(char)('g' ^ (0x29 - 0)),
|
||||||
(char)('w' ^ (0x29 - 1)),
|
(char)('w' ^ (0x29 - 1)),
|
||||||
|
|||||||
@ -3,7 +3,7 @@ guid: de1fb4dac677a6d45ae2ad12a49091c0
|
|||||||
TextureImporter:
|
TextureImporter:
|
||||||
internalIDToNameTable: []
|
internalIDToNameTable: []
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
serializedVersion: 11
|
serializedVersion: 10
|
||||||
mipmaps:
|
mipmaps:
|
||||||
mipMapMode: 0
|
mipMapMode: 0
|
||||||
enableMipMap: 0
|
enableMipMap: 0
|
||||||
@ -23,7 +23,6 @@ TextureImporter:
|
|||||||
isReadable: 0
|
isReadable: 0
|
||||||
streamingMipmaps: 0
|
streamingMipmaps: 0
|
||||||
streamingMipmapsPriority: 0
|
streamingMipmapsPriority: 0
|
||||||
vTOnly: 0
|
|
||||||
grayScaleToAlpha: 0
|
grayScaleToAlpha: 0
|
||||||
generateCubemap: 6
|
generateCubemap: 6
|
||||||
cubemapConvolution: 0
|
cubemapConvolution: 0
|
||||||
@ -32,12 +31,12 @@ TextureImporter:
|
|||||||
maxTextureSize: 2048
|
maxTextureSize: 2048
|
||||||
textureSettings:
|
textureSettings:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
filterMode: 1
|
filterMode: -1
|
||||||
aniso: 1
|
aniso: -1
|
||||||
mipBias: 0
|
mipBias: -100
|
||||||
wrapU: 1
|
wrapU: 1
|
||||||
wrapV: 1
|
wrapV: 1
|
||||||
wrapW: 0
|
wrapW: -1
|
||||||
nPOTScale: 0
|
nPOTScale: 0
|
||||||
lightmap: 0
|
lightmap: 0
|
||||||
compressionQuality: 50
|
compressionQuality: 50
|
||||||
@ -55,13 +54,9 @@ TextureImporter:
|
|||||||
textureType: 8
|
textureType: 8
|
||||||
textureShape: 1
|
textureShape: 1
|
||||||
singleChannelComponent: 0
|
singleChannelComponent: 0
|
||||||
flipbookRows: 1
|
|
||||||
flipbookColumns: 1
|
|
||||||
maxTextureSizeSet: 0
|
maxTextureSizeSet: 0
|
||||||
compressionQualitySet: 0
|
compressionQualitySet: 0
|
||||||
textureFormatSet: 0
|
textureFormatSet: 0
|
||||||
ignorePngGamma: 0
|
|
||||||
applyGammaDecoding: 1
|
|
||||||
platformSettings:
|
platformSettings:
|
||||||
- serializedVersion: 3
|
- serializedVersion: 3
|
||||||
buildTarget: DefaultTexturePlatform
|
buildTarget: DefaultTexturePlatform
|
||||||
|
|||||||
@ -1,16 +1,16 @@
|
|||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* Spine Runtimes License Agreement
|
* 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
|
* Integration of the Spine Runtimes into software or otherwise creating
|
||||||
* derivative works of the Spine Runtimes is permitted under the terms and
|
* derivative works of the Spine Runtimes is permitted under the terms and
|
||||||
* conditions of Section 2 of the Spine Editor License Agreement:
|
* conditions of Section 2 of the Spine Editor License Agreement:
|
||||||
* http://esotericsoftware.com/spine-editor-license
|
* http://esotericsoftware.com/spine-editor-license
|
||||||
*
|
*
|
||||||
* Otherwise, it is permitted to integrate the Spine Runtimes into software
|
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
|
||||||
* or otherwise create derivative works of the Spine Runtimes (collectively,
|
* otherwise create derivative works of the Spine Runtimes (collectively,
|
||||||
* "Products"), provided that each user of the Products must obtain their own
|
* "Products"), provided that each user of the Products must obtain their own
|
||||||
* Spine Editor license and redistribution of the Products in any form must
|
* Spine Editor license and redistribution of the Products in any form must
|
||||||
* include this license and copyright notice.
|
* include this license and copyright notice.
|
||||||
@ -23,8 +23,8 @@
|
|||||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
||||||
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
||||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
* 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
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
|
||||||
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
using Spine;
|
using Spine;
|
||||||
@ -141,13 +141,13 @@ namespace Spine.Unity.Examples {
|
|||||||
|
|
||||||
if (trackEntry != null) {
|
if (trackEntry != null) {
|
||||||
if (control.useCustomMixDuration)
|
if (control.useCustomMixDuration)
|
||||||
trackEntry.MixDuration = control.mixDuration;
|
trackEntry.SetMixDuration(control.mixDuration, 0f); // use SetMixDuration(mixDuration, delay) to update delay correctly
|
||||||
|
|
||||||
if (useOverrideAttachmentThreshold)
|
if (useOverrideAttachmentThreshold)
|
||||||
trackEntry.AttachmentThreshold = attachmentThreshold;
|
trackEntry.MixAttachmentThreshold = attachmentThreshold;
|
||||||
|
|
||||||
if (useOverrideDrawOrderThreshold)
|
if (useOverrideDrawOrderThreshold)
|
||||||
trackEntry.DrawOrderThreshold = drawOrderThreshold;
|
trackEntry.MixDrawOrderThreshold = drawOrderThreshold;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Don't parse more than one animation per track.
|
// Don't parse more than one animation per track.
|
||||||
|
|||||||
@ -13,7 +13,7 @@ OcclusionCullingSettings:
|
|||||||
--- !u!104 &2
|
--- !u!104 &2
|
||||||
RenderSettings:
|
RenderSettings:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
serializedVersion: 8
|
serializedVersion: 10
|
||||||
m_Fog: 0
|
m_Fog: 0
|
||||||
m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
|
m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
|
||||||
m_FogMode: 3
|
m_FogMode: 3
|
||||||
@ -39,37 +39,33 @@ RenderSettings:
|
|||||||
m_CustomReflection: {fileID: 0}
|
m_CustomReflection: {fileID: 0}
|
||||||
m_Sun: {fileID: 0}
|
m_Sun: {fileID: 0}
|
||||||
m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1}
|
m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1}
|
||||||
|
m_UseRadianceAmbientProbe: 0
|
||||||
--- !u!157 &3
|
--- !u!157 &3
|
||||||
LightmapSettings:
|
LightmapSettings:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
serializedVersion: 11
|
serializedVersion: 12
|
||||||
m_GIWorkflowMode: 1
|
|
||||||
m_GISettings:
|
m_GISettings:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
m_BounceScale: 1
|
m_BounceScale: 1
|
||||||
m_IndirectOutputScale: 1
|
m_IndirectOutputScale: 1
|
||||||
m_AlbedoBoost: 1
|
m_AlbedoBoost: 1
|
||||||
m_TemporalCoherenceThreshold: 1
|
|
||||||
m_EnvironmentLightingMode: 0
|
m_EnvironmentLightingMode: 0
|
||||||
m_EnableBakedLightmaps: 0
|
m_EnableBakedLightmaps: 0
|
||||||
m_EnableRealtimeLightmaps: 0
|
m_EnableRealtimeLightmaps: 0
|
||||||
m_LightmapEditorSettings:
|
m_LightmapEditorSettings:
|
||||||
serializedVersion: 9
|
serializedVersion: 12
|
||||||
m_Resolution: 2
|
m_Resolution: 2
|
||||||
m_BakeResolution: 40
|
m_BakeResolution: 40
|
||||||
m_TextureWidth: 1024
|
m_AtlasSize: 1024
|
||||||
m_TextureHeight: 1024
|
|
||||||
m_AO: 0
|
m_AO: 0
|
||||||
m_AOMaxDistance: 1
|
m_AOMaxDistance: 1
|
||||||
m_CompAOExponent: 1
|
m_CompAOExponent: 1
|
||||||
m_CompAOExponentDirect: 0
|
m_CompAOExponentDirect: 0
|
||||||
|
m_ExtractAmbientOcclusion: 0
|
||||||
m_Padding: 2
|
m_Padding: 2
|
||||||
m_LightmapParameters: {fileID: 0}
|
m_LightmapParameters: {fileID: 0}
|
||||||
m_LightmapsBakeMode: 1
|
m_LightmapsBakeMode: 1
|
||||||
m_TextureCompression: 1
|
m_TextureCompression: 1
|
||||||
m_FinalGather: 0
|
|
||||||
m_FinalGatherFiltering: 1
|
|
||||||
m_FinalGatherRayCount: 256
|
|
||||||
m_ReflectionCompression: 2
|
m_ReflectionCompression: 2
|
||||||
m_MixedBakeMode: 2
|
m_MixedBakeMode: 2
|
||||||
m_BakeBackend: 0
|
m_BakeBackend: 0
|
||||||
@ -77,23 +73,34 @@ LightmapSettings:
|
|||||||
m_PVRDirectSampleCount: 32
|
m_PVRDirectSampleCount: 32
|
||||||
m_PVRSampleCount: 500
|
m_PVRSampleCount: 500
|
||||||
m_PVRBounces: 2
|
m_PVRBounces: 2
|
||||||
m_PVRFiltering: 0
|
m_PVREnvironmentSampleCount: 500
|
||||||
m_PVRFilteringMode: 1
|
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_PVRCulling: 1
|
||||||
m_PVRFilteringGaussRadiusDirect: 1
|
m_PVRFilteringGaussRadiusDirect: 1
|
||||||
m_PVRFilteringGaussRadiusIndirect: 5
|
m_PVRFilteringGaussRadiusIndirect: 5
|
||||||
m_PVRFilteringGaussRadiusAO: 2
|
m_PVRFilteringGaussRadiusAO: 2
|
||||||
m_PVRFilteringAtrousColorSigma: 1
|
m_PVRFilteringAtrousPositionSigmaDirect: 0.5
|
||||||
m_PVRFilteringAtrousNormalSigma: 1
|
m_PVRFilteringAtrousPositionSigmaIndirect: 2
|
||||||
m_PVRFilteringAtrousPositionSigma: 1
|
m_PVRFilteringAtrousPositionSigmaAO: 1
|
||||||
|
m_ExportTrainingData: 0
|
||||||
|
m_TrainingDataDestination: TrainingData
|
||||||
|
m_LightProbeSampleCountMultiplier: 4
|
||||||
m_LightingDataAsset: {fileID: 0}
|
m_LightingDataAsset: {fileID: 0}
|
||||||
m_UseShadowmask: 1
|
m_LightingSettings: {fileID: 1506007501}
|
||||||
--- !u!196 &4
|
--- !u!196 &4
|
||||||
NavMeshSettings:
|
NavMeshSettings:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
m_BuildSettings:
|
m_BuildSettings:
|
||||||
serializedVersion: 2
|
serializedVersion: 3
|
||||||
agentTypeID: 0
|
agentTypeID: 0
|
||||||
agentRadius: 0.5
|
agentRadius: 0.5
|
||||||
agentHeight: 2
|
agentHeight: 2
|
||||||
@ -106,20 +113,25 @@ NavMeshSettings:
|
|||||||
cellSize: 0.16666667
|
cellSize: 0.16666667
|
||||||
manualTileSize: 0
|
manualTileSize: 0
|
||||||
tileSize: 256
|
tileSize: 256
|
||||||
accuratePlacement: 0
|
buildHeightMesh: 0
|
||||||
|
maxJobWorkers: 0
|
||||||
|
preserveTilesOutsideBounds: 0
|
||||||
|
debug:
|
||||||
|
m_Flags: 0
|
||||||
m_NavMeshData: {fileID: 0}
|
m_NavMeshData: {fileID: 0}
|
||||||
--- !u!1 &92207858
|
--- !u!1 &92207858
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
m_PrefabParentObject: {fileID: 0}
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
m_PrefabInternal: {fileID: 0}
|
m_PrefabInstance: {fileID: 0}
|
||||||
serializedVersion: 5
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
m_Component:
|
m_Component:
|
||||||
- component: {fileID: 92207862}
|
- component: {fileID: 92207862}
|
||||||
- component: {fileID: 92207861}
|
- component: {fileID: 92207861}
|
||||||
- component: {fileID: 92207860}
|
- component: {fileID: 92207860}
|
||||||
m_Layer: 5
|
m_Layer: 5
|
||||||
m_Name: 3 Canvas - Spawn SkeletonGraphic Sample
|
m_Name: 2 Canvas - Spawn SkeletonGraphic Sample
|
||||||
m_TagString: Untagged
|
m_TagString: Untagged
|
||||||
m_Icon: {fileID: 0}
|
m_Icon: {fileID: 0}
|
||||||
m_NavMeshLayer: 0
|
m_NavMeshLayer: 0
|
||||||
@ -128,12 +140,13 @@ GameObject:
|
|||||||
--- !u!114 &92207860
|
--- !u!114 &92207860
|
||||||
MonoBehaviour:
|
MonoBehaviour:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
m_PrefabParentObject: {fileID: 0}
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
m_PrefabInternal: {fileID: 0}
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
m_GameObject: {fileID: 92207858}
|
m_GameObject: {fileID: 92207858}
|
||||||
m_Enabled: 1
|
m_Enabled: 1
|
||||||
m_EditorHideFlags: 0
|
m_EditorHideFlags: 0
|
||||||
m_Script: {fileID: 1980459831, guid: f70555f144d8491a825f0804e09c671c, type: 3}
|
m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3}
|
||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
m_UiScaleMode: 1
|
m_UiScaleMode: 1
|
||||||
@ -146,11 +159,13 @@ MonoBehaviour:
|
|||||||
m_FallbackScreenDPI: 96
|
m_FallbackScreenDPI: 96
|
||||||
m_DefaultSpriteDPI: 96
|
m_DefaultSpriteDPI: 96
|
||||||
m_DynamicPixelsPerUnit: 1
|
m_DynamicPixelsPerUnit: 1
|
||||||
|
m_PresetInfoIsWorld: 0
|
||||||
--- !u!223 &92207861
|
--- !u!223 &92207861
|
||||||
Canvas:
|
Canvas:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
m_PrefabParentObject: {fileID: 0}
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
m_PrefabInternal: {fileID: 0}
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
m_GameObject: {fileID: 92207858}
|
m_GameObject: {fileID: 92207858}
|
||||||
m_Enabled: 1
|
m_Enabled: 1
|
||||||
serializedVersion: 3
|
serializedVersion: 3
|
||||||
@ -162,35 +177,122 @@ Canvas:
|
|||||||
m_OverrideSorting: 0
|
m_OverrideSorting: 0
|
||||||
m_OverridePixelPerfect: 0
|
m_OverridePixelPerfect: 0
|
||||||
m_SortingBucketNormalizedSize: 0
|
m_SortingBucketNormalizedSize: 0
|
||||||
|
m_VertexColorAlwaysGammaSpace: 0
|
||||||
m_AdditionalShaderChannelsFlag: 0
|
m_AdditionalShaderChannelsFlag: 0
|
||||||
|
m_UpdateRectTransformForStandalone: 0
|
||||||
m_SortingLayerID: 0
|
m_SortingLayerID: 0
|
||||||
m_SortingOrder: 0
|
m_SortingOrder: 0
|
||||||
m_TargetDisplay: 0
|
m_TargetDisplay: 0
|
||||||
--- !u!224 &92207862
|
--- !u!224 &92207862
|
||||||
RectTransform:
|
RectTransform:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
m_PrefabParentObject: {fileID: 0}
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
m_PrefabInternal: {fileID: 0}
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
m_GameObject: {fileID: 92207858}
|
m_GameObject: {fileID: 92207858}
|
||||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
m_LocalScale: {x: 0, y: 0, z: 0}
|
m_LocalScale: {x: 0, y: 0, z: 0}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children:
|
m_Children:
|
||||||
- {fileID: 1691562007}
|
- {fileID: 1691562007}
|
||||||
m_Father: {fileID: 0}
|
m_Father: {fileID: 0}
|
||||||
m_RootOrder: 3
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 0}
|
m_AnchorMin: {x: 0, y: 0}
|
||||||
m_AnchorMax: {x: 0, y: 0}
|
m_AnchorMax: {x: 0, y: 0}
|
||||||
m_AnchoredPosition: {x: 0, y: 0}
|
m_AnchoredPosition: {x: 0, y: 0}
|
||||||
m_SizeDelta: {x: 0, y: 0}
|
m_SizeDelta: {x: 0, y: 0}
|
||||||
m_Pivot: {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
|
--- !u!1 &433620963
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
m_PrefabParentObject: {fileID: 0}
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
m_PrefabInternal: {fileID: 0}
|
m_PrefabInstance: {fileID: 0}
|
||||||
serializedVersion: 5
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
m_Component:
|
m_Component:
|
||||||
- component: {fileID: 433620968}
|
- component: {fileID: 433620968}
|
||||||
- component: {fileID: 433620967}
|
- component: {fileID: 433620967}
|
||||||
@ -206,27 +308,44 @@ GameObject:
|
|||||||
--- !u!81 &433620964
|
--- !u!81 &433620964
|
||||||
AudioListener:
|
AudioListener:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
m_PrefabParentObject: {fileID: 0}
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
m_PrefabInternal: {fileID: 0}
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
m_GameObject: {fileID: 433620963}
|
m_GameObject: {fileID: 433620963}
|
||||||
m_Enabled: 1
|
m_Enabled: 1
|
||||||
--- !u!124 &433620965
|
--- !u!124 &433620965
|
||||||
Behaviour:
|
Behaviour:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
m_PrefabParentObject: {fileID: 0}
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
m_PrefabInternal: {fileID: 0}
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
m_GameObject: {fileID: 433620963}
|
m_GameObject: {fileID: 433620963}
|
||||||
m_Enabled: 1
|
m_Enabled: 1
|
||||||
--- !u!20 &433620967
|
--- !u!20 &433620967
|
||||||
Camera:
|
Camera:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
m_PrefabParentObject: {fileID: 0}
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
m_PrefabInternal: {fileID: 0}
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
m_GameObject: {fileID: 433620963}
|
m_GameObject: {fileID: 433620963}
|
||||||
m_Enabled: 1
|
m_Enabled: 1
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
m_ClearFlags: 1
|
m_ClearFlags: 1
|
||||||
m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
|
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:
|
m_NormalizedViewPortRect:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
x: 0
|
x: 0
|
||||||
@ -248,35 +367,38 @@ Camera:
|
|||||||
m_TargetEye: 3
|
m_TargetEye: 3
|
||||||
m_HDR: 1
|
m_HDR: 1
|
||||||
m_AllowMSAA: 1
|
m_AllowMSAA: 1
|
||||||
|
m_AllowDynamicResolution: 0
|
||||||
m_ForceIntoRT: 0
|
m_ForceIntoRT: 0
|
||||||
m_OcclusionCulling: 1
|
m_OcclusionCulling: 1
|
||||||
m_StereoConvergence: 10
|
m_StereoConvergence: 10
|
||||||
m_StereoSeparation: 0.022
|
m_StereoSeparation: 0.022
|
||||||
m_StereoMirrorMode: 0
|
|
||||||
--- !u!4 &433620968
|
--- !u!4 &433620968
|
||||||
Transform:
|
Transform:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
m_PrefabParentObject: {fileID: 0}
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
m_PrefabInternal: {fileID: 0}
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
m_GameObject: {fileID: 433620963}
|
m_GameObject: {fileID: 433620963}
|
||||||
|
serializedVersion: 2
|
||||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
m_LocalPosition: {x: 0, y: 0, z: -10}
|
m_LocalPosition: {x: 0, y: 0, z: -10}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 0}
|
m_Father: {fileID: 0}
|
||||||
m_RootOrder: 0
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
--- !u!1 &651278528
|
--- !u!1 &651278528
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
m_PrefabParentObject: {fileID: 0}
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
m_PrefabInternal: {fileID: 0}
|
m_PrefabInstance: {fileID: 0}
|
||||||
serializedVersion: 5
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
m_Component:
|
m_Component:
|
||||||
- component: {fileID: 651278530}
|
- component: {fileID: 651278530}
|
||||||
- component: {fileID: 651278529}
|
- component: {fileID: 651278529}
|
||||||
m_Layer: 0
|
m_Layer: 0
|
||||||
m_Name: 2 RuntimeLoadFromExports
|
m_Name: 3 RuntimeLoadFromExports
|
||||||
m_TagString: Untagged
|
m_TagString: Untagged
|
||||||
m_Icon: {fileID: 0}
|
m_Icon: {fileID: 0}
|
||||||
m_NavMeshLayer: 0
|
m_NavMeshLayer: 0
|
||||||
@ -285,8 +407,9 @@ GameObject:
|
|||||||
--- !u!114 &651278529
|
--- !u!114 &651278529
|
||||||
MonoBehaviour:
|
MonoBehaviour:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
m_PrefabParentObject: {fileID: 0}
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
m_PrefabInternal: {fileID: 0}
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
m_GameObject: {fileID: 651278528}
|
m_GameObject: {fileID: 651278528}
|
||||||
m_Enabled: 1
|
m_Enabled: 1
|
||||||
m_EditorHideFlags: 0
|
m_EditorHideFlags: 0
|
||||||
@ -297,27 +420,251 @@ MonoBehaviour:
|
|||||||
atlasText: {fileID: 4900000, guid: 5c0a5c36970a46e4d8378760ab4a4cfc, type: 3}
|
atlasText: {fileID: 4900000, guid: 5c0a5c36970a46e4d8378760ab4a4cfc, type: 3}
|
||||||
textures:
|
textures:
|
||||||
- {fileID: 2800000, guid: 49bb65eefe08e424bbf7a38bc98ec638, type: 3}
|
- {fileID: 2800000, guid: 49bb65eefe08e424bbf7a38bc98ec638, type: 3}
|
||||||
materialPropertySource: {fileID: 2100000, guid: 1455e88fdb81ccc45bdeaedd657bad4d,
|
materialPropertySource: {fileID: 2100000, guid: 1455e88fdb81ccc45bdeaedd657bad4d, type: 2}
|
||||||
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
|
--- !u!4 &651278530
|
||||||
Transform:
|
Transform:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
m_PrefabParentObject: {fileID: 0}
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
m_PrefabInternal: {fileID: 0}
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
m_GameObject: {fileID: 651278528}
|
m_GameObject: {fileID: 651278528}
|
||||||
|
serializedVersion: 2
|
||||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
m_Children: []
|
m_ConstrainProportionsScale: 0
|
||||||
|
m_Children:
|
||||||
|
- {fileID: 1025308469}
|
||||||
m_Father: {fileID: 0}
|
m_Father: {fileID: 0}
|
||||||
m_RootOrder: 2
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
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
|
--- !u!1 &1691562006
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
m_PrefabParentObject: {fileID: 0}
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
m_PrefabInternal: {fileID: 0}
|
m_PrefabInstance: {fileID: 0}
|
||||||
serializedVersion: 5
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
m_Component:
|
m_Component:
|
||||||
- component: {fileID: 1691562007}
|
- component: {fileID: 1691562007}
|
||||||
- component: {fileID: 1691562008}
|
- component: {fileID: 1691562008}
|
||||||
@ -331,15 +678,16 @@ GameObject:
|
|||||||
--- !u!224 &1691562007
|
--- !u!224 &1691562007
|
||||||
RectTransform:
|
RectTransform:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
m_PrefabParentObject: {fileID: 0}
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
m_PrefabInternal: {fileID: 0}
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
m_GameObject: {fileID: 1691562006}
|
m_GameObject: {fileID: 1691562006}
|
||||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 92207862}
|
m_Father: {fileID: 92207862}
|
||||||
m_RootOrder: 0
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||||
@ -349,8 +697,9 @@ RectTransform:
|
|||||||
--- !u!114 &1691562008
|
--- !u!114 &1691562008
|
||||||
MonoBehaviour:
|
MonoBehaviour:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
m_PrefabParentObject: {fileID: 0}
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
m_PrefabInternal: {fileID: 0}
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
m_GameObject: {fileID: 1691562006}
|
m_GameObject: {fileID: 1691562006}
|
||||||
m_Enabled: 1
|
m_Enabled: 1
|
||||||
m_EditorHideFlags: 0
|
m_EditorHideFlags: 0
|
||||||
@ -360,14 +709,14 @@ MonoBehaviour:
|
|||||||
skeletonDataAsset: {fileID: 11400000, guid: a467507a4ffb1d542a558739b2fede77, type: 2}
|
skeletonDataAsset: {fileID: 11400000, guid: a467507a4ffb1d542a558739b2fede77, type: 2}
|
||||||
startingAnimation: run
|
startingAnimation: run
|
||||||
startingSkin: base
|
startingSkin: base
|
||||||
skeletonGraphicMaterial: {fileID: 2100000, guid: 1455e88fdb81ccc45bdeaedd657bad4d,
|
skeletonGraphicMaterial: {fileID: 2100000, guid: b66cf7a186d13054989b33a5c90044e4, type: 2}
|
||||||
type: 2}
|
|
||||||
--- !u!1 &1807176298
|
--- !u!1 &1807176298
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
m_PrefabParentObject: {fileID: 0}
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
m_PrefabInternal: {fileID: 0}
|
m_PrefabInstance: {fileID: 0}
|
||||||
serializedVersion: 5
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
m_Component:
|
m_Component:
|
||||||
- component: {fileID: 1807176300}
|
- component: {fileID: 1807176300}
|
||||||
- component: {fileID: 1807176299}
|
- component: {fileID: 1807176299}
|
||||||
@ -381,8 +730,9 @@ GameObject:
|
|||||||
--- !u!114 &1807176299
|
--- !u!114 &1807176299
|
||||||
MonoBehaviour:
|
MonoBehaviour:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
m_PrefabParentObject: {fileID: 0}
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
m_PrefabInternal: {fileID: 0}
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
m_GameObject: {fileID: 1807176298}
|
m_GameObject: {fileID: 1807176298}
|
||||||
m_Enabled: 1
|
m_Enabled: 1
|
||||||
m_EditorHideFlags: 0
|
m_EditorHideFlags: 0
|
||||||
@ -395,13 +745,93 @@ MonoBehaviour:
|
|||||||
--- !u!4 &1807176300
|
--- !u!4 &1807176300
|
||||||
Transform:
|
Transform:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
m_PrefabParentObject: {fileID: 0}
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
m_PrefabInternal: {fileID: 0}
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
m_GameObject: {fileID: 1807176298}
|
m_GameObject: {fileID: 1807176298}
|
||||||
|
serializedVersion: 2
|
||||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 0}
|
m_Father: {fileID: 0}
|
||||||
m_RootOrder: 1
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
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}
|
||||||
|
|||||||
15770
Assets/ThirdParty/Spine Examples/Other Examples/Physics Constraints.unity
vendored
Normal file
15770
Assets/ThirdParty/Spine Examples/Other Examples/Physics Constraints.unity
vendored
Normal file
File diff suppressed because it is too large
Load Diff
7
Assets/ThirdParty/Spine Examples/Other Examples/Physics Constraints.unity.meta
vendored
Normal file
7
Assets/ThirdParty/Spine Examples/Other Examples/Physics Constraints.unity.meta
vendored
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: e08ce2e2ca315ea4a8e8d3a90681a14c
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@ -151,6 +151,7 @@ RectTransform:
|
|||||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 592567554}
|
m_Father: {fileID: 592567554}
|
||||||
m_RootOrder: 1
|
m_RootOrder: 1
|
||||||
@ -256,6 +257,9 @@ MonoBehaviour:
|
|||||||
materialsInsideMask: []
|
materialsInsideMask: []
|
||||||
materialsOutsideMask: []
|
materialsOutsideMask: []
|
||||||
disableRenderingOnOverride: 1
|
disableRenderingOnOverride: 1
|
||||||
|
physicsPositionInheritanceFactor: {x: 1, y: 1}
|
||||||
|
physicsRotationInheritanceFactor: 1
|
||||||
|
physicsMovementRelativeTo: {fileID: 0}
|
||||||
updateTiming: 1
|
updateTiming: 1
|
||||||
unscaledTime: 0
|
unscaledTime: 0
|
||||||
_animationName: run
|
_animationName: run
|
||||||
@ -272,6 +276,7 @@ MeshRenderer:
|
|||||||
m_CastShadows: 1
|
m_CastShadows: 1
|
||||||
m_ReceiveShadows: 1
|
m_ReceiveShadows: 1
|
||||||
m_DynamicOccludee: 1
|
m_DynamicOccludee: 1
|
||||||
|
m_StaticShadowCaster: 0
|
||||||
m_MotionVectors: 1
|
m_MotionVectors: 1
|
||||||
m_LightProbeUsage: 1
|
m_LightProbeUsage: 1
|
||||||
m_ReflectionProbeUsage: 1
|
m_ReflectionProbeUsage: 1
|
||||||
@ -320,6 +325,7 @@ Transform:
|
|||||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
m_LocalPosition: {x: -7.83, y: 0, z: 5.66}
|
m_LocalPosition: {x: -7.83, y: 0, z: 5.66}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 0}
|
m_Father: {fileID: 0}
|
||||||
m_RootOrder: 3
|
m_RootOrder: 3
|
||||||
@ -352,6 +358,7 @@ RectTransform:
|
|||||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 592567554}
|
m_Father: {fileID: 592567554}
|
||||||
m_RootOrder: 2
|
m_RootOrder: 2
|
||||||
@ -434,6 +441,7 @@ RectTransform:
|
|||||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
m_LocalScale: {x: 0, y: 0, z: 0}
|
m_LocalScale: {x: 0, y: 0, z: 0}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children:
|
m_Children:
|
||||||
- {fileID: 1911967440}
|
- {fileID: 1911967440}
|
||||||
- {fileID: 71621967}
|
- {fileID: 71621967}
|
||||||
@ -489,6 +497,7 @@ Canvas:
|
|||||||
m_OverridePixelPerfect: 0
|
m_OverridePixelPerfect: 0
|
||||||
m_SortingBucketNormalizedSize: 0
|
m_SortingBucketNormalizedSize: 0
|
||||||
m_AdditionalShaderChannelsFlag: 0
|
m_AdditionalShaderChannelsFlag: 0
|
||||||
|
m_UpdateRectTransformForStandalone: 0
|
||||||
m_SortingLayerID: 0
|
m_SortingLayerID: 0
|
||||||
m_SortingOrder: 0
|
m_SortingOrder: 0
|
||||||
m_TargetDisplay: 0
|
m_TargetDisplay: 0
|
||||||
@ -518,6 +527,7 @@ RectTransform:
|
|||||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 1911967440}
|
m_Father: {fileID: 1911967440}
|
||||||
m_RootOrder: 0
|
m_RootOrder: 0
|
||||||
@ -554,6 +564,7 @@ Transform:
|
|||||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
m_LocalPosition: {x: -3.7153435, y: -0.0017910004, z: 5.9292965}
|
m_LocalPosition: {x: -3.7153435, y: -0.0017910004, z: 5.9292965}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 0}
|
m_Father: {fileID: 0}
|
||||||
m_RootOrder: 2
|
m_RootOrder: 2
|
||||||
@ -583,6 +594,7 @@ GameObject:
|
|||||||
m_Component:
|
m_Component:
|
||||||
- component: {fileID: 1369381601}
|
- component: {fileID: 1369381601}
|
||||||
- component: {fileID: 1369381600}
|
- component: {fileID: 1369381600}
|
||||||
|
- component: {fileID: 1369381602}
|
||||||
m_Layer: 0
|
m_Layer: 0
|
||||||
m_Name: Directional Light
|
m_Name: Directional Light
|
||||||
m_TagString: Untagged
|
m_TagString: Untagged
|
||||||
@ -662,10 +674,31 @@ Transform:
|
|||||||
m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261}
|
m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261}
|
||||||
m_LocalPosition: {x: 0, y: 3, z: 0}
|
m_LocalPosition: {x: 0, y: 3, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 0}
|
m_Father: {fileID: 0}
|
||||||
m_RootOrder: 1
|
m_RootOrder: 1
|
||||||
m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0}
|
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
|
--- !u!1 &1407691187
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@ -745,6 +778,7 @@ Transform:
|
|||||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
m_LocalPosition: {x: 0, y: 4.8, z: -10}
|
m_LocalPosition: {x: 0, y: 4.8, z: -10}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 0}
|
m_Father: {fileID: 0}
|
||||||
m_RootOrder: 0
|
m_RootOrder: 0
|
||||||
@ -811,6 +845,7 @@ Transform:
|
|||||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 0}
|
m_Father: {fileID: 0}
|
||||||
m_RootOrder: 5
|
m_RootOrder: 5
|
||||||
@ -843,6 +878,7 @@ RectTransform:
|
|||||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 592567554}
|
m_Father: {fileID: 592567554}
|
||||||
m_RootOrder: 3
|
m_RootOrder: 3
|
||||||
@ -930,6 +966,7 @@ RectTransform:
|
|||||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 592567554}
|
m_Father: {fileID: 592567554}
|
||||||
m_RootOrder: 4
|
m_RootOrder: 4
|
||||||
@ -1019,9 +1056,10 @@ MonoBehaviour:
|
|||||||
color: {r: 1, g: 1, b: 1, a: 1}
|
color: {r: 1, g: 1, b: 1, a: 1}
|
||||||
maxRenderTextureSize: 1024
|
maxRenderTextureSize: 1024
|
||||||
quad: {fileID: 0}
|
quad: {fileID: 0}
|
||||||
|
quadMaterial: {fileID: 2100000, guid: 4c507f887c6274a44a603d96e0eabf2a, type: 2}
|
||||||
renderTexture: {fileID: 0}
|
renderTexture: {fileID: 0}
|
||||||
targetCamera: {fileID: 0}
|
targetCamera: {fileID: 0}
|
||||||
quadMaterial: {fileID: 2100000, guid: 4c507f887c6274a44a603d96e0eabf2a, type: 2}
|
shaderPasses: 00000000
|
||||||
--- !u!114 &1786065615
|
--- !u!114 &1786065615
|
||||||
MonoBehaviour:
|
MonoBehaviour:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@ -1057,6 +1095,9 @@ MonoBehaviour:
|
|||||||
materialsInsideMask: []
|
materialsInsideMask: []
|
||||||
materialsOutsideMask: []
|
materialsOutsideMask: []
|
||||||
disableRenderingOnOverride: 1
|
disableRenderingOnOverride: 1
|
||||||
|
physicsPositionInheritanceFactor: {x: 1, y: 1}
|
||||||
|
physicsRotationInheritanceFactor: 1
|
||||||
|
physicsMovementRelativeTo: {fileID: 0}
|
||||||
updateTiming: 1
|
updateTiming: 1
|
||||||
unscaledTime: 0
|
unscaledTime: 0
|
||||||
_animationName: run
|
_animationName: run
|
||||||
@ -1073,6 +1114,7 @@ MeshRenderer:
|
|||||||
m_CastShadows: 1
|
m_CastShadows: 1
|
||||||
m_ReceiveShadows: 1
|
m_ReceiveShadows: 1
|
||||||
m_DynamicOccludee: 1
|
m_DynamicOccludee: 1
|
||||||
|
m_StaticShadowCaster: 0
|
||||||
m_MotionVectors: 1
|
m_MotionVectors: 1
|
||||||
m_LightProbeUsage: 1
|
m_LightProbeUsage: 1
|
||||||
m_ReflectionProbeUsage: 1
|
m_ReflectionProbeUsage: 1
|
||||||
@ -1121,6 +1163,7 @@ Transform:
|
|||||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
m_LocalPosition: {x: 2.38, y: 0, z: 5.66}
|
m_LocalPosition: {x: 2.38, y: 0, z: 5.66}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 0}
|
m_Father: {fileID: 0}
|
||||||
m_RootOrder: 4
|
m_RootOrder: 4
|
||||||
@ -1164,6 +1207,7 @@ Transform:
|
|||||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
m_LocalPosition: {x: -4.7074776, y: 0.042612553, z: 0}
|
m_LocalPosition: {x: -4.7074776, y: 0.042612553, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children:
|
m_Children:
|
||||||
- {fileID: 592567554}
|
- {fileID: 592567554}
|
||||||
m_Father: {fileID: 0}
|
m_Father: {fileID: 0}
|
||||||
@ -1199,6 +1243,7 @@ RectTransform:
|
|||||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
m_LocalScale: {x: 0.3, y: 0.3, z: 0.3}
|
m_LocalScale: {x: 0.3, y: 0.3, z: 0.3}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children:
|
m_Children:
|
||||||
- {fileID: 1089682727}
|
- {fileID: 1089682727}
|
||||||
m_Father: {fileID: 592567554}
|
m_Father: {fileID: 592567554}
|
||||||
@ -1233,6 +1278,7 @@ MonoBehaviour:
|
|||||||
additiveMaterial: {fileID: 2100000, guid: 2e8245019faeb8c43b75f9ca3ac8ee34, type: 2}
|
additiveMaterial: {fileID: 2100000, guid: 2e8245019faeb8c43b75f9ca3ac8ee34, type: 2}
|
||||||
multiplyMaterial: {fileID: 2100000, guid: e74a1f8978a7da348a721508d0d58834, type: 2}
|
multiplyMaterial: {fileID: 2100000, guid: e74a1f8978a7da348a721508d0d58834, type: 2}
|
||||||
screenMaterial: {fileID: 2100000, guid: bab24c479f34eec45be6ea8595891569, type: 2}
|
screenMaterial: {fileID: 2100000, guid: bab24c479f34eec45be6ea8595891569, type: 2}
|
||||||
|
m_SkeletonColor: {r: 1, g: 1, b: 1, a: 1}
|
||||||
initialSkinName: default
|
initialSkinName: default
|
||||||
initialFlipX: 0
|
initialFlipX: 0
|
||||||
initialFlipY: 0
|
initialFlipY: 0
|
||||||
@ -1240,6 +1286,14 @@ MonoBehaviour:
|
|||||||
startingLoop: 1
|
startingLoop: 1
|
||||||
timeScale: 1
|
timeScale: 1
|
||||||
freeze: 0
|
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
|
updateWhenInvisible: 3
|
||||||
allowMultipleCanvasRenderers: 0
|
allowMultipleCanvasRenderers: 0
|
||||||
canvasRenderers: []
|
canvasRenderers: []
|
||||||
@ -1247,16 +1301,20 @@ MonoBehaviour:
|
|||||||
enableSeparatorSlots: 0
|
enableSeparatorSlots: 0
|
||||||
separatorParts: []
|
separatorParts: []
|
||||||
updateSeparatorPartLocation: 1
|
updateSeparatorPartLocation: 1
|
||||||
|
updateSeparatorPartScale: 0
|
||||||
disableMeshAssignmentOnOverride: 1
|
disableMeshAssignmentOnOverride: 1
|
||||||
|
physicsPositionInheritanceFactor: {x: 1, y: 1}
|
||||||
|
physicsRotationInheritanceFactor: 1
|
||||||
|
physicsMovementRelativeTo: {fileID: 0}
|
||||||
meshGenerator:
|
meshGenerator:
|
||||||
settings:
|
settings:
|
||||||
useClipping: 1
|
useClipping: 1
|
||||||
zSpacing: 0
|
zSpacing: 0
|
||||||
pmaVertexColors: 1
|
|
||||||
tintBlack: 0
|
tintBlack: 0
|
||||||
canvasGroupTintBlack: 0
|
canvasGroupCompatible: 0
|
||||||
calculateTangents: 0
|
pmaVertexColors: 1
|
||||||
addNormals: 0
|
addNormals: 0
|
||||||
|
calculateTangents: 0
|
||||||
immutableTriangles: 0
|
immutableTriangles: 0
|
||||||
updateTiming: 1
|
updateTiming: 1
|
||||||
unscaledTime: 0
|
unscaledTime: 0
|
||||||
@ -1296,8 +1354,10 @@ MonoBehaviour:
|
|||||||
color: {r: 1, g: 1, b: 1, a: 1}
|
color: {r: 1, g: 1, b: 1, a: 1}
|
||||||
maxRenderTextureSize: 1024
|
maxRenderTextureSize: 1024
|
||||||
quad: {fileID: 0}
|
quad: {fileID: 0}
|
||||||
|
quadMaterial: {fileID: 2100000, guid: afeb0ae2ea2cda94796515bf8d1b3cb1, type: 2}
|
||||||
renderTexture: {fileID: 0}
|
renderTexture: {fileID: 0}
|
||||||
targetCamera: {fileID: 0}
|
targetCamera: {fileID: 0}
|
||||||
|
shaderPasses: 00000000
|
||||||
customRenderRect: {fileID: 1089682727}
|
customRenderRect: {fileID: 1089682727}
|
||||||
meshRendererMaterialForTexture:
|
meshRendererMaterialForTexture:
|
||||||
- texture: {fileID: 2800000, guid: 4ea2c33e839afb34c98f66e892b3b2d2, type: 3}
|
- texture: {fileID: 2800000, guid: 4ea2c33e839afb34c98f66e892b3b2d2, type: 3}
|
||||||
|
|||||||
@ -1,16 +1,16 @@
|
|||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* Spine Runtimes License Agreement
|
* 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
|
* Integration of the Spine Runtimes into software or otherwise creating
|
||||||
* derivative works of the Spine Runtimes is permitted under the terms and
|
* derivative works of the Spine Runtimes is permitted under the terms and
|
||||||
* conditions of Section 2 of the Spine Editor License Agreement:
|
* conditions of Section 2 of the Spine Editor License Agreement:
|
||||||
* http://esotericsoftware.com/spine-editor-license
|
* http://esotericsoftware.com/spine-editor-license
|
||||||
*
|
*
|
||||||
* Otherwise, it is permitted to integrate the Spine Runtimes into software
|
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
|
||||||
* or otherwise create derivative works of the Spine Runtimes (collectively,
|
* otherwise create derivative works of the Spine Runtimes (collectively,
|
||||||
* "Products"), provided that each user of the Products must obtain their own
|
* "Products"), provided that each user of the Products must obtain their own
|
||||||
* Spine Editor license and redistribution of the Products in any form must
|
* Spine Editor license and redistribution of the Products in any form must
|
||||||
* include this license and copyright notice.
|
* include this license and copyright notice.
|
||||||
@ -23,8 +23,8 @@
|
|||||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
||||||
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
||||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
* 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
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
|
||||||
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
|
|||||||
@ -1,16 +1,16 @@
|
|||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* Spine Runtimes License Agreement
|
* 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
|
* Integration of the Spine Runtimes into software or otherwise creating
|
||||||
* derivative works of the Spine Runtimes is permitted under the terms and
|
* derivative works of the Spine Runtimes is permitted under the terms and
|
||||||
* conditions of Section 2 of the Spine Editor License Agreement:
|
* conditions of Section 2 of the Spine Editor License Agreement:
|
||||||
* http://esotericsoftware.com/spine-editor-license
|
* http://esotericsoftware.com/spine-editor-license
|
||||||
*
|
*
|
||||||
* Otherwise, it is permitted to integrate the Spine Runtimes into software
|
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
|
||||||
* or otherwise create derivative works of the Spine Runtimes (collectively,
|
* otherwise create derivative works of the Spine Runtimes (collectively,
|
||||||
* "Products"), provided that each user of the Products must obtain their own
|
* "Products"), provided that each user of the Products must obtain their own
|
||||||
* Spine Editor license and redistribution of the Products in any form must
|
* Spine Editor license and redistribution of the Products in any form must
|
||||||
* include this license and copyright notice.
|
* include this license and copyright notice.
|
||||||
@ -23,8 +23,8 @@
|
|||||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
||||||
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
||||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
* 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
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
|
||||||
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
using System.Collections;
|
using System.Collections;
|
||||||
|
|||||||
@ -1,16 +1,16 @@
|
|||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* Spine Runtimes License Agreement
|
* 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
|
* Integration of the Spine Runtimes into software or otherwise creating
|
||||||
* derivative works of the Spine Runtimes is permitted under the terms and
|
* derivative works of the Spine Runtimes is permitted under the terms and
|
||||||
* conditions of Section 2 of the Spine Editor License Agreement:
|
* conditions of Section 2 of the Spine Editor License Agreement:
|
||||||
* http://esotericsoftware.com/spine-editor-license
|
* http://esotericsoftware.com/spine-editor-license
|
||||||
*
|
*
|
||||||
* Otherwise, it is permitted to integrate the Spine Runtimes into software
|
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
|
||||||
* or otherwise create derivative works of the Spine Runtimes (collectively,
|
* otherwise create derivative works of the Spine Runtimes (collectively,
|
||||||
* "Products"), provided that each user of the Products must obtain their own
|
* "Products"), provided that each user of the Products must obtain their own
|
||||||
* Spine Editor license and redistribution of the Products in any form must
|
* Spine Editor license and redistribution of the Products in any form must
|
||||||
* include this license and copyright notice.
|
* include this license and copyright notice.
|
||||||
@ -23,8 +23,8 @@
|
|||||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
||||||
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
||||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
* 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
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
|
||||||
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
// Contributed by: Mitch Thompson
|
// Contributed by: Mitch Thompson
|
||||||
|
|||||||
@ -1,16 +1,16 @@
|
|||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* Spine Runtimes License Agreement
|
* 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
|
* Integration of the Spine Runtimes into software or otherwise creating
|
||||||
* derivative works of the Spine Runtimes is permitted under the terms and
|
* derivative works of the Spine Runtimes is permitted under the terms and
|
||||||
* conditions of Section 2 of the Spine Editor License Agreement:
|
* conditions of Section 2 of the Spine Editor License Agreement:
|
||||||
* http://esotericsoftware.com/spine-editor-license
|
* http://esotericsoftware.com/spine-editor-license
|
||||||
*
|
*
|
||||||
* Otherwise, it is permitted to integrate the Spine Runtimes into software
|
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
|
||||||
* or otherwise create derivative works of the Spine Runtimes (collectively,
|
* otherwise create derivative works of the Spine Runtimes (collectively,
|
||||||
* "Products"), provided that each user of the Products must obtain their own
|
* "Products"), provided that each user of the Products must obtain their own
|
||||||
* Spine Editor license and redistribution of the Products in any form must
|
* Spine Editor license and redistribution of the Products in any form must
|
||||||
* include this license and copyright notice.
|
* include this license and copyright notice.
|
||||||
@ -23,8 +23,8 @@
|
|||||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
||||||
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
||||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
* 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
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
|
||||||
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
using Spine.Unity;
|
using Spine.Unity;
|
||||||
|
|||||||
@ -1,16 +1,16 @@
|
|||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* Spine Runtimes License Agreement
|
* 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
|
* Integration of the Spine Runtimes into software or otherwise creating
|
||||||
* derivative works of the Spine Runtimes is permitted under the terms and
|
* derivative works of the Spine Runtimes is permitted under the terms and
|
||||||
* conditions of Section 2 of the Spine Editor License Agreement:
|
* conditions of Section 2 of the Spine Editor License Agreement:
|
||||||
* http://esotericsoftware.com/spine-editor-license
|
* http://esotericsoftware.com/spine-editor-license
|
||||||
*
|
*
|
||||||
* Otherwise, it is permitted to integrate the Spine Runtimes into software
|
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
|
||||||
* or otherwise create derivative works of the Spine Runtimes (collectively,
|
* otherwise create derivative works of the Spine Runtimes (collectively,
|
||||||
* "Products"), provided that each user of the Products must obtain their own
|
* "Products"), provided that each user of the Products must obtain their own
|
||||||
* Spine Editor license and redistribution of the Products in any form must
|
* Spine Editor license and redistribution of the Products in any form must
|
||||||
* include this license and copyright notice.
|
* include this license and copyright notice.
|
||||||
@ -23,8 +23,8 @@
|
|||||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
||||||
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
||||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
* 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
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
|
||||||
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
// Contributed by: Mitch Thompson
|
// Contributed by: Mitch Thompson
|
||||||
|
|||||||
@ -1,16 +1,16 @@
|
|||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* Spine Runtimes License Agreement
|
* 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
|
* Integration of the Spine Runtimes into software or otherwise creating
|
||||||
* derivative works of the Spine Runtimes is permitted under the terms and
|
* derivative works of the Spine Runtimes is permitted under the terms and
|
||||||
* conditions of Section 2 of the Spine Editor License Agreement:
|
* conditions of Section 2 of the Spine Editor License Agreement:
|
||||||
* http://esotericsoftware.com/spine-editor-license
|
* http://esotericsoftware.com/spine-editor-license
|
||||||
*
|
*
|
||||||
* Otherwise, it is permitted to integrate the Spine Runtimes into software
|
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
|
||||||
* or otherwise create derivative works of the Spine Runtimes (collectively,
|
* otherwise create derivative works of the Spine Runtimes (collectively,
|
||||||
* "Products"), provided that each user of the Products must obtain their own
|
* "Products"), provided that each user of the Products must obtain their own
|
||||||
* Spine Editor license and redistribution of the Products in any form must
|
* Spine Editor license and redistribution of the Products in any form must
|
||||||
* include this license and copyright notice.
|
* include this license and copyright notice.
|
||||||
@ -23,8 +23,8 @@
|
|||||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
||||||
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
||||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
* 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
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
|
||||||
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
using Spine.Unity;
|
using Spine.Unity;
|
||||||
|
|||||||
@ -1,16 +1,16 @@
|
|||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* Spine Runtimes License Agreement
|
* 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
|
* Integration of the Spine Runtimes into software or otherwise creating
|
||||||
* derivative works of the Spine Runtimes is permitted under the terms and
|
* derivative works of the Spine Runtimes is permitted under the terms and
|
||||||
* conditions of Section 2 of the Spine Editor License Agreement:
|
* conditions of Section 2 of the Spine Editor License Agreement:
|
||||||
* http://esotericsoftware.com/spine-editor-license
|
* http://esotericsoftware.com/spine-editor-license
|
||||||
*
|
*
|
||||||
* Otherwise, it is permitted to integrate the Spine Runtimes into software
|
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
|
||||||
* or otherwise create derivative works of the Spine Runtimes (collectively,
|
* otherwise create derivative works of the Spine Runtimes (collectively,
|
||||||
* "Products"), provided that each user of the Products must obtain their own
|
* "Products"), provided that each user of the Products must obtain their own
|
||||||
* Spine Editor license and redistribution of the Products in any form must
|
* Spine Editor license and redistribution of the Products in any form must
|
||||||
* include this license and copyright notice.
|
* include this license and copyright notice.
|
||||||
@ -23,8 +23,8 @@
|
|||||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
||||||
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
||||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
* 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
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
|
||||||
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
using Spine.Unity;
|
using Spine.Unity;
|
||||||
|
|||||||
@ -1,16 +1,16 @@
|
|||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* Spine Runtimes License Agreement
|
* 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
|
* Integration of the Spine Runtimes into software or otherwise creating
|
||||||
* derivative works of the Spine Runtimes is permitted under the terms and
|
* derivative works of the Spine Runtimes is permitted under the terms and
|
||||||
* conditions of Section 2 of the Spine Editor License Agreement:
|
* conditions of Section 2 of the Spine Editor License Agreement:
|
||||||
* http://esotericsoftware.com/spine-editor-license
|
* http://esotericsoftware.com/spine-editor-license
|
||||||
*
|
*
|
||||||
* Otherwise, it is permitted to integrate the Spine Runtimes into software
|
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
|
||||||
* or otherwise create derivative works of the Spine Runtimes (collectively,
|
* otherwise create derivative works of the Spine Runtimes (collectively,
|
||||||
* "Products"), provided that each user of the Products must obtain their own
|
* "Products"), provided that each user of the Products must obtain their own
|
||||||
* Spine Editor license and redistribution of the Products in any form must
|
* Spine Editor license and redistribution of the Products in any form must
|
||||||
* include this license and copyright notice.
|
* include this license and copyright notice.
|
||||||
@ -23,8 +23,8 @@
|
|||||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
||||||
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
||||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
* 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
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
|
||||||
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
using Spine.Unity;
|
using Spine.Unity;
|
||||||
|
|||||||
@ -1,16 +1,16 @@
|
|||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* Spine Runtimes License Agreement
|
* 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
|
* Integration of the Spine Runtimes into software or otherwise creating
|
||||||
* derivative works of the Spine Runtimes is permitted under the terms and
|
* derivative works of the Spine Runtimes is permitted under the terms and
|
||||||
* conditions of Section 2 of the Spine Editor License Agreement:
|
* conditions of Section 2 of the Spine Editor License Agreement:
|
||||||
* http://esotericsoftware.com/spine-editor-license
|
* http://esotericsoftware.com/spine-editor-license
|
||||||
*
|
*
|
||||||
* Otherwise, it is permitted to integrate the Spine Runtimes into software
|
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
|
||||||
* or otherwise create derivative works of the Spine Runtimes (collectively,
|
* otherwise create derivative works of the Spine Runtimes (collectively,
|
||||||
* "Products"), provided that each user of the Products must obtain their own
|
* "Products"), provided that each user of the Products must obtain their own
|
||||||
* Spine Editor license and redistribution of the Products in any form must
|
* Spine Editor license and redistribution of the Products in any form must
|
||||||
* include this license and copyright notice.
|
* include this license and copyright notice.
|
||||||
@ -23,8 +23,8 @@
|
|||||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
||||||
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
||||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
* 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
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
|
||||||
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
using System.Collections;
|
using System.Collections;
|
||||||
|
|||||||
@ -1,16 +1,16 @@
|
|||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* Spine Runtimes License Agreement
|
* 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
|
* Integration of the Spine Runtimes into software or otherwise creating
|
||||||
* derivative works of the Spine Runtimes is permitted under the terms and
|
* derivative works of the Spine Runtimes is permitted under the terms and
|
||||||
* conditions of Section 2 of the Spine Editor License Agreement:
|
* conditions of Section 2 of the Spine Editor License Agreement:
|
||||||
* http://esotericsoftware.com/spine-editor-license
|
* http://esotericsoftware.com/spine-editor-license
|
||||||
*
|
*
|
||||||
* Otherwise, it is permitted to integrate the Spine Runtimes into software
|
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
|
||||||
* or otherwise create derivative works of the Spine Runtimes (collectively,
|
* otherwise create derivative works of the Spine Runtimes (collectively,
|
||||||
* "Products"), provided that each user of the Products must obtain their own
|
* "Products"), provided that each user of the Products must obtain their own
|
||||||
* Spine Editor license and redistribution of the Products in any form must
|
* Spine Editor license and redistribution of the Products in any form must
|
||||||
* include this license and copyright notice.
|
* include this license and copyright notice.
|
||||||
@ -23,8 +23,8 @@
|
|||||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
||||||
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
||||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
* 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
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
|
||||||
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
using System.Collections;
|
using System.Collections;
|
||||||
|
|||||||
@ -1,16 +1,16 @@
|
|||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* Spine Runtimes License Agreement
|
* 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
|
* Integration of the Spine Runtimes into software or otherwise creating
|
||||||
* derivative works of the Spine Runtimes is permitted under the terms and
|
* derivative works of the Spine Runtimes is permitted under the terms and
|
||||||
* conditions of Section 2 of the Spine Editor License Agreement:
|
* conditions of Section 2 of the Spine Editor License Agreement:
|
||||||
* http://esotericsoftware.com/spine-editor-license
|
* http://esotericsoftware.com/spine-editor-license
|
||||||
*
|
*
|
||||||
* Otherwise, it is permitted to integrate the Spine Runtimes into software
|
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
|
||||||
* or otherwise create derivative works of the Spine Runtimes (collectively,
|
* otherwise create derivative works of the Spine Runtimes (collectively,
|
||||||
* "Products"), provided that each user of the Products must obtain their own
|
* "Products"), provided that each user of the Products must obtain their own
|
||||||
* Spine Editor license and redistribution of the Products in any form must
|
* Spine Editor license and redistribution of the Products in any form must
|
||||||
* include this license and copyright notice.
|
* include this license and copyright notice.
|
||||||
@ -23,8 +23,8 @@
|
|||||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
||||||
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
||||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
* 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
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
|
||||||
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
using Spine.Unity;
|
using Spine.Unity;
|
||||||
@ -124,14 +124,14 @@ namespace Spine.Unity.Examples {
|
|||||||
public void PlayShoot () {
|
public void PlayShoot () {
|
||||||
// Play the shoot animation on track 1.
|
// Play the shoot animation on track 1.
|
||||||
TrackEntry shootTrack = skeletonAnimation.AnimationState.SetAnimation(1, shoot, false);
|
TrackEntry shootTrack = skeletonAnimation.AnimationState.SetAnimation(1, shoot, false);
|
||||||
shootTrack.AttachmentThreshold = 1f;
|
shootTrack.MixAttachmentThreshold = 1f;
|
||||||
shootTrack.MixDuration = 0f;
|
shootTrack.SetMixDuration(0f, 0f);
|
||||||
skeletonAnimation.state.AddEmptyAnimation(1, 0.5f, 0.1f);
|
skeletonAnimation.state.AddEmptyAnimation(1, 0.5f, 0.1f);
|
||||||
|
|
||||||
// Play the aim animation on track 2 to aim at the mouse target.
|
// Play the aim animation on track 2 to aim at the mouse target.
|
||||||
TrackEntry aimTrack = skeletonAnimation.AnimationState.SetAnimation(2, aim, false);
|
TrackEntry aimTrack = skeletonAnimation.AnimationState.SetAnimation(2, aim, false);
|
||||||
aimTrack.AttachmentThreshold = 1f;
|
aimTrack.MixAttachmentThreshold = 1f;
|
||||||
aimTrack.MixDuration = 0f;
|
aimTrack.SetMixDuration(0f, 0f);
|
||||||
skeletonAnimation.state.AddEmptyAnimation(2, 0.5f, 0.1f);
|
skeletonAnimation.state.AddEmptyAnimation(2, 0.5f, 0.1f);
|
||||||
|
|
||||||
gunSource.pitch = GetRandomPitch(gunsoundPitchOffset);
|
gunSource.pitch = GetRandomPitch(gunsoundPitchOffset);
|
||||||
@ -143,8 +143,8 @@ namespace Spine.Unity.Examples {
|
|||||||
public void StartPlayingAim () {
|
public void StartPlayingAim () {
|
||||||
// Play the aim animation on track 2 to aim at the mouse target.
|
// Play the aim animation on track 2 to aim at the mouse target.
|
||||||
TrackEntry aimTrack = skeletonAnimation.AnimationState.SetAnimation(2, aim, true);
|
TrackEntry aimTrack = skeletonAnimation.AnimationState.SetAnimation(2, aim, true);
|
||||||
aimTrack.AttachmentThreshold = 1f;
|
aimTrack.MixAttachmentThreshold = 1f;
|
||||||
aimTrack.MixDuration = 0f;
|
aimTrack.SetMixDuration(0f, 0f); // use SetMixDuration(mixDuration, delay) to update delay correctly
|
||||||
}
|
}
|
||||||
|
|
||||||
public void StopPlayingAim () {
|
public void StopPlayingAim () {
|
||||||
|
|||||||
167
Assets/ThirdParty/Spine Examples/Scripts/Getting Started Scripts/SpineboyBeginnerViewGraphic.cs
vendored
Normal file
167
Assets/ThirdParty/Spine Examples/Scripts/Getting Started Scripts/SpineboyBeginnerViewGraphic.cs
vendored
Normal 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
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,11 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 795971ea6ab1f214eac09ad8814226e6
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@ -1,16 +1,16 @@
|
|||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* Spine Runtimes License Agreement
|
* 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
|
* Integration of the Spine Runtimes into software or otherwise creating
|
||||||
* derivative works of the Spine Runtimes is permitted under the terms and
|
* derivative works of the Spine Runtimes is permitted under the terms and
|
||||||
* conditions of Section 2 of the Spine Editor License Agreement:
|
* conditions of Section 2 of the Spine Editor License Agreement:
|
||||||
* http://esotericsoftware.com/spine-editor-license
|
* http://esotericsoftware.com/spine-editor-license
|
||||||
*
|
*
|
||||||
* Otherwise, it is permitted to integrate the Spine Runtimes into software
|
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
|
||||||
* or otherwise create derivative works of the Spine Runtimes (collectively,
|
* otherwise create derivative works of the Spine Runtimes (collectively,
|
||||||
* "Products"), provided that each user of the Products must obtain their own
|
* "Products"), provided that each user of the Products must obtain their own
|
||||||
* Spine Editor license and redistribution of the Products in any form must
|
* Spine Editor license and redistribution of the Products in any form must
|
||||||
* include this license and copyright notice.
|
* include this license and copyright notice.
|
||||||
@ -23,8 +23,8 @@
|
|||||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
||||||
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
||||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
* 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
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
|
||||||
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
|
|||||||
@ -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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,11 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: e58811512f2bea64988af3798e27f1d8
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@ -1,16 +1,16 @@
|
|||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* Spine Runtimes License Agreement
|
* 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
|
* Integration of the Spine Runtimes into software or otherwise creating
|
||||||
* derivative works of the Spine Runtimes is permitted under the terms and
|
* derivative works of the Spine Runtimes is permitted under the terms and
|
||||||
* conditions of Section 2 of the Spine Editor License Agreement:
|
* conditions of Section 2 of the Spine Editor License Agreement:
|
||||||
* http://esotericsoftware.com/spine-editor-license
|
* http://esotericsoftware.com/spine-editor-license
|
||||||
*
|
*
|
||||||
* Otherwise, it is permitted to integrate the Spine Runtimes into software
|
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
|
||||||
* or otherwise create derivative works of the Spine Runtimes (collectively,
|
* otherwise create derivative works of the Spine Runtimes (collectively,
|
||||||
* "Products"), provided that each user of the Products must obtain their own
|
* "Products"), provided that each user of the Products must obtain their own
|
||||||
* Spine Editor license and redistribution of the Products in any form must
|
* Spine Editor license and redistribution of the Products in any form must
|
||||||
* include this license and copyright notice.
|
* include this license and copyright notice.
|
||||||
@ -23,8 +23,8 @@
|
|||||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
||||||
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
||||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
* 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
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
|
||||||
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
using System.Collections;
|
using System.Collections;
|
||||||
|
|||||||
@ -1,16 +1,16 @@
|
|||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* Spine Runtimes License Agreement
|
* 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
|
* Integration of the Spine Runtimes into software or otherwise creating
|
||||||
* derivative works of the Spine Runtimes is permitted under the terms and
|
* derivative works of the Spine Runtimes is permitted under the terms and
|
||||||
* conditions of Section 2 of the Spine Editor License Agreement:
|
* conditions of Section 2 of the Spine Editor License Agreement:
|
||||||
* http://esotericsoftware.com/spine-editor-license
|
* http://esotericsoftware.com/spine-editor-license
|
||||||
*
|
*
|
||||||
* Otherwise, it is permitted to integrate the Spine Runtimes into software
|
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
|
||||||
* or otherwise create derivative works of the Spine Runtimes (collectively,
|
* otherwise create derivative works of the Spine Runtimes (collectively,
|
||||||
* "Products"), provided that each user of the Products must obtain their own
|
* "Products"), provided that each user of the Products must obtain their own
|
||||||
* Spine Editor license and redistribution of the Products in any form must
|
* Spine Editor license and redistribution of the Products in any form must
|
||||||
* include this license and copyright notice.
|
* include this license and copyright notice.
|
||||||
@ -23,8 +23,8 @@
|
|||||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
||||||
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
||||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
* 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
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
|
||||||
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
using Spine;
|
using Spine;
|
||||||
|
|||||||
@ -1,16 +1,16 @@
|
|||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* Spine Runtimes License Agreement
|
* 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
|
* Integration of the Spine Runtimes into software or otherwise creating
|
||||||
* derivative works of the Spine Runtimes is permitted under the terms and
|
* derivative works of the Spine Runtimes is permitted under the terms and
|
||||||
* conditions of Section 2 of the Spine Editor License Agreement:
|
* conditions of Section 2 of the Spine Editor License Agreement:
|
||||||
* http://esotericsoftware.com/spine-editor-license
|
* http://esotericsoftware.com/spine-editor-license
|
||||||
*
|
*
|
||||||
* Otherwise, it is permitted to integrate the Spine Runtimes into software
|
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
|
||||||
* or otherwise create derivative works of the Spine Runtimes (collectively,
|
* otherwise create derivative works of the Spine Runtimes (collectively,
|
||||||
* "Products"), provided that each user of the Products must obtain their own
|
* "Products"), provided that each user of the Products must obtain their own
|
||||||
* Spine Editor license and redistribution of the Products in any form must
|
* Spine Editor license and redistribution of the Products in any form must
|
||||||
* include this license and copyright notice.
|
* include this license and copyright notice.
|
||||||
@ -23,8 +23,8 @@
|
|||||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
||||||
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
||||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
* 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
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
|
||||||
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
using System.Collections;
|
using System.Collections;
|
||||||
|
|||||||
@ -1,16 +1,16 @@
|
|||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* Spine Runtimes License Agreement
|
* 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
|
* Integration of the Spine Runtimes into software or otherwise creating
|
||||||
* derivative works of the Spine Runtimes is permitted under the terms and
|
* derivative works of the Spine Runtimes is permitted under the terms and
|
||||||
* conditions of Section 2 of the Spine Editor License Agreement:
|
* conditions of Section 2 of the Spine Editor License Agreement:
|
||||||
* http://esotericsoftware.com/spine-editor-license
|
* http://esotericsoftware.com/spine-editor-license
|
||||||
*
|
*
|
||||||
* Otherwise, it is permitted to integrate the Spine Runtimes into software
|
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
|
||||||
* or otherwise create derivative works of the Spine Runtimes (collectively,
|
* otherwise create derivative works of the Spine Runtimes (collectively,
|
||||||
* "Products"), provided that each user of the Products must obtain their own
|
* "Products"), provided that each user of the Products must obtain their own
|
||||||
* Spine Editor license and redistribution of the Products in any form must
|
* Spine Editor license and redistribution of the Products in any form must
|
||||||
* include this license and copyright notice.
|
* include this license and copyright notice.
|
||||||
@ -23,8 +23,8 @@
|
|||||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
||||||
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
||||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
* 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
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
|
||||||
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
|
|||||||
@ -1,16 +1,16 @@
|
|||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* Spine Runtimes License Agreement
|
* 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
|
* Integration of the Spine Runtimes into software or otherwise creating
|
||||||
* derivative works of the Spine Runtimes is permitted under the terms and
|
* derivative works of the Spine Runtimes is permitted under the terms and
|
||||||
* conditions of Section 2 of the Spine Editor License Agreement:
|
* conditions of Section 2 of the Spine Editor License Agreement:
|
||||||
* http://esotericsoftware.com/spine-editor-license
|
* http://esotericsoftware.com/spine-editor-license
|
||||||
*
|
*
|
||||||
* Otherwise, it is permitted to integrate the Spine Runtimes into software
|
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
|
||||||
* or otherwise create derivative works of the Spine Runtimes (collectively,
|
* otherwise create derivative works of the Spine Runtimes (collectively,
|
||||||
* "Products"), provided that each user of the Products must obtain their own
|
* "Products"), provided that each user of the Products must obtain their own
|
||||||
* Spine Editor license and redistribution of the Products in any form must
|
* Spine Editor license and redistribution of the Products in any form must
|
||||||
* include this license and copyright notice.
|
* include this license and copyright notice.
|
||||||
@ -23,8 +23,8 @@
|
|||||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
||||||
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
||||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
* 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
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
|
||||||
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
using System.Collections;
|
using System.Collections;
|
||||||
|
|||||||
@ -1,16 +1,16 @@
|
|||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* Spine Runtimes License Agreement
|
* 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
|
* Integration of the Spine Runtimes into software or otherwise creating
|
||||||
* derivative works of the Spine Runtimes is permitted under the terms and
|
* derivative works of the Spine Runtimes is permitted under the terms and
|
||||||
* conditions of Section 2 of the Spine Editor License Agreement:
|
* conditions of Section 2 of the Spine Editor License Agreement:
|
||||||
* http://esotericsoftware.com/spine-editor-license
|
* http://esotericsoftware.com/spine-editor-license
|
||||||
*
|
*
|
||||||
* Otherwise, it is permitted to integrate the Spine Runtimes into software
|
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
|
||||||
* or otherwise create derivative works of the Spine Runtimes (collectively,
|
* otherwise create derivative works of the Spine Runtimes (collectively,
|
||||||
* "Products"), provided that each user of the Products must obtain their own
|
* "Products"), provided that each user of the Products must obtain their own
|
||||||
* Spine Editor license and redistribution of the Products in any form must
|
* Spine Editor license and redistribution of the Products in any form must
|
||||||
* include this license and copyright notice.
|
* include this license and copyright notice.
|
||||||
@ -23,8 +23,8 @@
|
|||||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
||||||
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
||||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
* 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
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
|
||||||
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
using System.Collections;
|
using System.Collections;
|
||||||
|
|||||||
@ -1,16 +1,16 @@
|
|||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* Spine Runtimes License Agreement
|
* 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
|
* Integration of the Spine Runtimes into software or otherwise creating
|
||||||
* derivative works of the Spine Runtimes is permitted under the terms and
|
* derivative works of the Spine Runtimes is permitted under the terms and
|
||||||
* conditions of Section 2 of the Spine Editor License Agreement:
|
* conditions of Section 2 of the Spine Editor License Agreement:
|
||||||
* http://esotericsoftware.com/spine-editor-license
|
* http://esotericsoftware.com/spine-editor-license
|
||||||
*
|
*
|
||||||
* Otherwise, it is permitted to integrate the Spine Runtimes into software
|
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
|
||||||
* or otherwise create derivative works of the Spine Runtimes (collectively,
|
* otherwise create derivative works of the Spine Runtimes (collectively,
|
||||||
* "Products"), provided that each user of the Products must obtain their own
|
* "Products"), provided that each user of the Products must obtain their own
|
||||||
* Spine Editor license and redistribution of the Products in any form must
|
* Spine Editor license and redistribution of the Products in any form must
|
||||||
* include this license and copyright notice.
|
* include this license and copyright notice.
|
||||||
@ -23,8 +23,8 @@
|
|||||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
||||||
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
||||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
* 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
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
|
||||||
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
using System.Collections;
|
using System.Collections;
|
||||||
|
|||||||
@ -1,16 +1,16 @@
|
|||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* Spine Runtimes License Agreement
|
* 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
|
* Integration of the Spine Runtimes into software or otherwise creating
|
||||||
* derivative works of the Spine Runtimes is permitted under the terms and
|
* derivative works of the Spine Runtimes is permitted under the terms and
|
||||||
* conditions of Section 2 of the Spine Editor License Agreement:
|
* conditions of Section 2 of the Spine Editor License Agreement:
|
||||||
* http://esotericsoftware.com/spine-editor-license
|
* http://esotericsoftware.com/spine-editor-license
|
||||||
*
|
*
|
||||||
* Otherwise, it is permitted to integrate the Spine Runtimes into software
|
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
|
||||||
* or otherwise create derivative works of the Spine Runtimes (collectively,
|
* otherwise create derivative works of the Spine Runtimes (collectively,
|
||||||
* "Products"), provided that each user of the Products must obtain their own
|
* "Products"), provided that each user of the Products must obtain their own
|
||||||
* Spine Editor license and redistribution of the Products in any form must
|
* Spine Editor license and redistribution of the Products in any form must
|
||||||
* include this license and copyright notice.
|
* include this license and copyright notice.
|
||||||
@ -23,8 +23,8 @@
|
|||||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
||||||
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
||||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
* 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
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
|
||||||
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
using System.Collections;
|
using System.Collections;
|
||||||
|
|||||||
@ -1,16 +1,16 @@
|
|||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* Spine Runtimes License Agreement
|
* 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
|
* Integration of the Spine Runtimes into software or otherwise creating
|
||||||
* derivative works of the Spine Runtimes is permitted under the terms and
|
* derivative works of the Spine Runtimes is permitted under the terms and
|
||||||
* conditions of Section 2 of the Spine Editor License Agreement:
|
* conditions of Section 2 of the Spine Editor License Agreement:
|
||||||
* http://esotericsoftware.com/spine-editor-license
|
* http://esotericsoftware.com/spine-editor-license
|
||||||
*
|
*
|
||||||
* Otherwise, it is permitted to integrate the Spine Runtimes into software
|
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
|
||||||
* or otherwise create derivative works of the Spine Runtimes (collectively,
|
* otherwise create derivative works of the Spine Runtimes (collectively,
|
||||||
* "Products"), provided that each user of the Products must obtain their own
|
* "Products"), provided that each user of the Products must obtain their own
|
||||||
* Spine Editor license and redistribution of the Products in any form must
|
* Spine Editor license and redistribution of the Products in any form must
|
||||||
* include this license and copyright notice.
|
* include this license and copyright notice.
|
||||||
@ -23,8 +23,8 @@
|
|||||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
||||||
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
||||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
* 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
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
|
||||||
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
using System.Collections;
|
using System.Collections;
|
||||||
|
|||||||
@ -1,16 +1,16 @@
|
|||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* Spine Runtimes License Agreement
|
* 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
|
* Integration of the Spine Runtimes into software or otherwise creating
|
||||||
* derivative works of the Spine Runtimes is permitted under the terms and
|
* derivative works of the Spine Runtimes is permitted under the terms and
|
||||||
* conditions of Section 2 of the Spine Editor License Agreement:
|
* conditions of Section 2 of the Spine Editor License Agreement:
|
||||||
* http://esotericsoftware.com/spine-editor-license
|
* http://esotericsoftware.com/spine-editor-license
|
||||||
*
|
*
|
||||||
* Otherwise, it is permitted to integrate the Spine Runtimes into software
|
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
|
||||||
* or otherwise create derivative works of the Spine Runtimes (collectively,
|
* otherwise create derivative works of the Spine Runtimes (collectively,
|
||||||
* "Products"), provided that each user of the Products must obtain their own
|
* "Products"), provided that each user of the Products must obtain their own
|
||||||
* Spine Editor license and redistribution of the Products in any form must
|
* Spine Editor license and redistribution of the Products in any form must
|
||||||
* include this license and copyright notice.
|
* include this license and copyright notice.
|
||||||
@ -23,8 +23,8 @@
|
|||||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
||||||
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
||||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
* 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
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
|
||||||
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
|||||||
@ -1,16 +1,16 @@
|
|||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* Spine Runtimes License Agreement
|
* 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
|
* Integration of the Spine Runtimes into software or otherwise creating
|
||||||
* derivative works of the Spine Runtimes is permitted under the terms and
|
* derivative works of the Spine Runtimes is permitted under the terms and
|
||||||
* conditions of Section 2 of the Spine Editor License Agreement:
|
* conditions of Section 2 of the Spine Editor License Agreement:
|
||||||
* http://esotericsoftware.com/spine-editor-license
|
* http://esotericsoftware.com/spine-editor-license
|
||||||
*
|
*
|
||||||
* Otherwise, it is permitted to integrate the Spine Runtimes into software
|
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
|
||||||
* or otherwise create derivative works of the Spine Runtimes (collectively,
|
* otherwise create derivative works of the Spine Runtimes (collectively,
|
||||||
* "Products"), provided that each user of the Products must obtain their own
|
* "Products"), provided that each user of the Products must obtain their own
|
||||||
* Spine Editor license and redistribution of the Products in any form must
|
* Spine Editor license and redistribution of the Products in any form must
|
||||||
* include this license and copyright notice.
|
* include this license and copyright notice.
|
||||||
@ -23,8 +23,8 @@
|
|||||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
||||||
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
||||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
* 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
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
|
||||||
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
using Spine;
|
using Spine;
|
||||||
|
|||||||
@ -1,16 +1,16 @@
|
|||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* Spine Runtimes License Agreement
|
* 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
|
* Integration of the Spine Runtimes into software or otherwise creating
|
||||||
* derivative works of the Spine Runtimes is permitted under the terms and
|
* derivative works of the Spine Runtimes is permitted under the terms and
|
||||||
* conditions of Section 2 of the Spine Editor License Agreement:
|
* conditions of Section 2 of the Spine Editor License Agreement:
|
||||||
* http://esotericsoftware.com/spine-editor-license
|
* http://esotericsoftware.com/spine-editor-license
|
||||||
*
|
*
|
||||||
* Otherwise, it is permitted to integrate the Spine Runtimes into software
|
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
|
||||||
* or otherwise create derivative works of the Spine Runtimes (collectively,
|
* otherwise create derivative works of the Spine Runtimes (collectively,
|
||||||
* "Products"), provided that each user of the Products must obtain their own
|
* "Products"), provided that each user of the Products must obtain their own
|
||||||
* Spine Editor license and redistribution of the Products in any form must
|
* Spine Editor license and redistribution of the Products in any form must
|
||||||
* include this license and copyright notice.
|
* include this license and copyright notice.
|
||||||
@ -23,8 +23,8 @@
|
|||||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
||||||
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
||||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
* 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
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
|
||||||
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
using System.Collections;
|
using System.Collections;
|
||||||
|
|||||||
@ -1,16 +1,16 @@
|
|||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* Spine Runtimes License Agreement
|
* 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
|
* Integration of the Spine Runtimes into software or otherwise creating
|
||||||
* derivative works of the Spine Runtimes is permitted under the terms and
|
* derivative works of the Spine Runtimes is permitted under the terms and
|
||||||
* conditions of Section 2 of the Spine Editor License Agreement:
|
* conditions of Section 2 of the Spine Editor License Agreement:
|
||||||
* http://esotericsoftware.com/spine-editor-license
|
* http://esotericsoftware.com/spine-editor-license
|
||||||
*
|
*
|
||||||
* Otherwise, it is permitted to integrate the Spine Runtimes into software
|
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
|
||||||
* or otherwise create derivative works of the Spine Runtimes (collectively,
|
* otherwise create derivative works of the Spine Runtimes (collectively,
|
||||||
* "Products"), provided that each user of the Products must obtain their own
|
* "Products"), provided that each user of the Products must obtain their own
|
||||||
* Spine Editor license and redistribution of the Products in any form must
|
* Spine Editor license and redistribution of the Products in any form must
|
||||||
* include this license and copyright notice.
|
* include this license and copyright notice.
|
||||||
@ -23,8 +23,8 @@
|
|||||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
||||||
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
||||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
* 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
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
|
||||||
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
using System.Collections;
|
using System.Collections;
|
||||||
|
|||||||
@ -1,16 +1,16 @@
|
|||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* Spine Runtimes License Agreement
|
* 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
|
* Integration of the Spine Runtimes into software or otherwise creating
|
||||||
* derivative works of the Spine Runtimes is permitted under the terms and
|
* derivative works of the Spine Runtimes is permitted under the terms and
|
||||||
* conditions of Section 2 of the Spine Editor License Agreement:
|
* conditions of Section 2 of the Spine Editor License Agreement:
|
||||||
* http://esotericsoftware.com/spine-editor-license
|
* http://esotericsoftware.com/spine-editor-license
|
||||||
*
|
*
|
||||||
* Otherwise, it is permitted to integrate the Spine Runtimes into software
|
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
|
||||||
* or otherwise create derivative works of the Spine Runtimes (collectively,
|
* otherwise create derivative works of the Spine Runtimes (collectively,
|
||||||
* "Products"), provided that each user of the Products must obtain their own
|
* "Products"), provided that each user of the Products must obtain their own
|
||||||
* Spine Editor license and redistribution of the Products in any form must
|
* Spine Editor license and redistribution of the Products in any form must
|
||||||
* include this license and copyright notice.
|
* include this license and copyright notice.
|
||||||
@ -23,8 +23,8 @@
|
|||||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
||||||
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
||||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
* 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
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
|
||||||
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
using Spine.Unity.AttachmentTools;
|
using Spine.Unity.AttachmentTools;
|
||||||
|
|||||||
@ -1,16 +1,16 @@
|
|||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* Spine Runtimes License Agreement
|
* 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
|
* Integration of the Spine Runtimes into software or otherwise creating
|
||||||
* derivative works of the Spine Runtimes is permitted under the terms and
|
* derivative works of the Spine Runtimes is permitted under the terms and
|
||||||
* conditions of Section 2 of the Spine Editor License Agreement:
|
* conditions of Section 2 of the Spine Editor License Agreement:
|
||||||
* http://esotericsoftware.com/spine-editor-license
|
* http://esotericsoftware.com/spine-editor-license
|
||||||
*
|
*
|
||||||
* Otherwise, it is permitted to integrate the Spine Runtimes into software
|
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
|
||||||
* or otherwise create derivative works of the Spine Runtimes (collectively,
|
* otherwise create derivative works of the Spine Runtimes (collectively,
|
||||||
* "Products"), provided that each user of the Products must obtain their own
|
* "Products"), provided that each user of the Products must obtain their own
|
||||||
* Spine Editor license and redistribution of the Products in any form must
|
* Spine Editor license and redistribution of the Products in any form must
|
||||||
* include this license and copyright notice.
|
* include this license and copyright notice.
|
||||||
@ -23,8 +23,8 @@
|
|||||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
||||||
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
||||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
* 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
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
|
||||||
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
using Spine.Unity.AttachmentTools;
|
using Spine.Unity.AttachmentTools;
|
||||||
|
|||||||
@ -1,16 +1,16 @@
|
|||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* Spine Runtimes License Agreement
|
* 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
|
* Integration of the Spine Runtimes into software or otherwise creating
|
||||||
* derivative works of the Spine Runtimes is permitted under the terms and
|
* derivative works of the Spine Runtimes is permitted under the terms and
|
||||||
* conditions of Section 2 of the Spine Editor License Agreement:
|
* conditions of Section 2 of the Spine Editor License Agreement:
|
||||||
* http://esotericsoftware.com/spine-editor-license
|
* http://esotericsoftware.com/spine-editor-license
|
||||||
*
|
*
|
||||||
* Otherwise, it is permitted to integrate the Spine Runtimes into software
|
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
|
||||||
* or otherwise create derivative works of the Spine Runtimes (collectively,
|
* otherwise create derivative works of the Spine Runtimes (collectively,
|
||||||
* "Products"), provided that each user of the Products must obtain their own
|
* "Products"), provided that each user of the Products must obtain their own
|
||||||
* Spine Editor license and redistribution of the Products in any form must
|
* Spine Editor license and redistribution of the Products in any form must
|
||||||
* include this license and copyright notice.
|
* include this license and copyright notice.
|
||||||
@ -23,8 +23,8 @@
|
|||||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
||||||
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
||||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
* 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
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
|
||||||
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
using Spine.Unity;
|
using Spine.Unity;
|
||||||
|
|||||||
@ -1,16 +1,16 @@
|
|||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* Spine Runtimes License Agreement
|
* 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
|
* Integration of the Spine Runtimes into software or otherwise creating
|
||||||
* derivative works of the Spine Runtimes is permitted under the terms and
|
* derivative works of the Spine Runtimes is permitted under the terms and
|
||||||
* conditions of Section 2 of the Spine Editor License Agreement:
|
* conditions of Section 2 of the Spine Editor License Agreement:
|
||||||
* http://esotericsoftware.com/spine-editor-license
|
* http://esotericsoftware.com/spine-editor-license
|
||||||
*
|
*
|
||||||
* Otherwise, it is permitted to integrate the Spine Runtimes into software
|
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
|
||||||
* or otherwise create derivative works of the Spine Runtimes (collectively,
|
* otherwise create derivative works of the Spine Runtimes (collectively,
|
||||||
* "Products"), provided that each user of the Products must obtain their own
|
* "Products"), provided that each user of the Products must obtain their own
|
||||||
* Spine Editor license and redistribution of the Products in any form must
|
* Spine Editor license and redistribution of the Products in any form must
|
||||||
* include this license and copyright notice.
|
* include this license and copyright notice.
|
||||||
@ -23,8 +23,8 @@
|
|||||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
||||||
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
||||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
* 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
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
|
||||||
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
using Spine.Unity.AttachmentTools;
|
using Spine.Unity.AttachmentTools;
|
||||||
|
|||||||
@ -1,16 +1,16 @@
|
|||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* Spine Runtimes License Agreement
|
* 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
|
* Integration of the Spine Runtimes into software or otherwise creating
|
||||||
* derivative works of the Spine Runtimes is permitted under the terms and
|
* derivative works of the Spine Runtimes is permitted under the terms and
|
||||||
* conditions of Section 2 of the Spine Editor License Agreement:
|
* conditions of Section 2 of the Spine Editor License Agreement:
|
||||||
* http://esotericsoftware.com/spine-editor-license
|
* http://esotericsoftware.com/spine-editor-license
|
||||||
*
|
*
|
||||||
* Otherwise, it is permitted to integrate the Spine Runtimes into software
|
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
|
||||||
* or otherwise create derivative works of the Spine Runtimes (collectively,
|
* otherwise create derivative works of the Spine Runtimes (collectively,
|
||||||
* "Products"), provided that each user of the Products must obtain their own
|
* "Products"), provided that each user of the Products must obtain their own
|
||||||
* Spine Editor license and redistribution of the Products in any form must
|
* Spine Editor license and redistribution of the Products in any form must
|
||||||
* include this license and copyright notice.
|
* include this license and copyright notice.
|
||||||
@ -23,8 +23,8 @@
|
|||||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
||||||
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
||||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
* 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
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
|
||||||
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
using Spine.Unity.AttachmentTools;
|
using Spine.Unity.AttachmentTools;
|
||||||
|
|||||||
@ -1,16 +1,16 @@
|
|||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* Spine Runtimes License Agreement
|
* 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
|
* Integration of the Spine Runtimes into software or otherwise creating
|
||||||
* derivative works of the Spine Runtimes is permitted under the terms and
|
* derivative works of the Spine Runtimes is permitted under the terms and
|
||||||
* conditions of Section 2 of the Spine Editor License Agreement:
|
* conditions of Section 2 of the Spine Editor License Agreement:
|
||||||
* http://esotericsoftware.com/spine-editor-license
|
* http://esotericsoftware.com/spine-editor-license
|
||||||
*
|
*
|
||||||
* Otherwise, it is permitted to integrate the Spine Runtimes into software
|
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
|
||||||
* or otherwise create derivative works of the Spine Runtimes (collectively,
|
* otherwise create derivative works of the Spine Runtimes (collectively,
|
||||||
* "Products"), provided that each user of the Products must obtain their own
|
* "Products"), provided that each user of the Products must obtain their own
|
||||||
* Spine Editor license and redistribution of the Products in any form must
|
* Spine Editor license and redistribution of the Products in any form must
|
||||||
* include this license and copyright notice.
|
* include this license and copyright notice.
|
||||||
@ -23,8 +23,8 @@
|
|||||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
||||||
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
||||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
* 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
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
|
||||||
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
using Spine.Unity.AttachmentTools;
|
using Spine.Unity.AttachmentTools;
|
||||||
|
|||||||
@ -1,16 +1,16 @@
|
|||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* Spine Runtimes License Agreement
|
* 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
|
* Integration of the Spine Runtimes into software or otherwise creating
|
||||||
* derivative works of the Spine Runtimes is permitted under the terms and
|
* derivative works of the Spine Runtimes is permitted under the terms and
|
||||||
* conditions of Section 2 of the Spine Editor License Agreement:
|
* conditions of Section 2 of the Spine Editor License Agreement:
|
||||||
* http://esotericsoftware.com/spine-editor-license
|
* http://esotericsoftware.com/spine-editor-license
|
||||||
*
|
*
|
||||||
* Otherwise, it is permitted to integrate the Spine Runtimes into software
|
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
|
||||||
* or otherwise create derivative works of the Spine Runtimes (collectively,
|
* otherwise create derivative works of the Spine Runtimes (collectively,
|
||||||
* "Products"), provided that each user of the Products must obtain their own
|
* "Products"), provided that each user of the Products must obtain their own
|
||||||
* Spine Editor license and redistribution of the Products in any form must
|
* Spine Editor license and redistribution of the Products in any form must
|
||||||
* include this license and copyright notice.
|
* include this license and copyright notice.
|
||||||
@ -23,8 +23,8 @@
|
|||||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
||||||
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
||||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
* 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
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
|
||||||
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
using Spine.Unity;
|
using Spine.Unity;
|
||||||
|
|||||||
@ -1,16 +1,16 @@
|
|||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* Spine Runtimes License Agreement
|
* 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
|
* Integration of the Spine Runtimes into software or otherwise creating
|
||||||
* derivative works of the Spine Runtimes is permitted under the terms and
|
* derivative works of the Spine Runtimes is permitted under the terms and
|
||||||
* conditions of Section 2 of the Spine Editor License Agreement:
|
* conditions of Section 2 of the Spine Editor License Agreement:
|
||||||
* http://esotericsoftware.com/spine-editor-license
|
* http://esotericsoftware.com/spine-editor-license
|
||||||
*
|
*
|
||||||
* Otherwise, it is permitted to integrate the Spine Runtimes into software
|
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
|
||||||
* or otherwise create derivative works of the Spine Runtimes (collectively,
|
* otherwise create derivative works of the Spine Runtimes (collectively,
|
||||||
* "Products"), provided that each user of the Products must obtain their own
|
* "Products"), provided that each user of the Products must obtain their own
|
||||||
* Spine Editor license and redistribution of the Products in any form must
|
* Spine Editor license and redistribution of the Products in any form must
|
||||||
* include this license and copyright notice.
|
* include this license and copyright notice.
|
||||||
@ -23,8 +23,8 @@
|
|||||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
||||||
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
||||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
* 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
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
|
||||||
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
using System.Collections;
|
using System.Collections;
|
||||||
|
|||||||
@ -1,16 +1,16 @@
|
|||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* Spine Runtimes License Agreement
|
* 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
|
* Integration of the Spine Runtimes into software or otherwise creating
|
||||||
* derivative works of the Spine Runtimes is permitted under the terms and
|
* derivative works of the Spine Runtimes is permitted under the terms and
|
||||||
* conditions of Section 2 of the Spine Editor License Agreement:
|
* conditions of Section 2 of the Spine Editor License Agreement:
|
||||||
* http://esotericsoftware.com/spine-editor-license
|
* http://esotericsoftware.com/spine-editor-license
|
||||||
*
|
*
|
||||||
* Otherwise, it is permitted to integrate the Spine Runtimes into software
|
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
|
||||||
* or otherwise create derivative works of the Spine Runtimes (collectively,
|
* otherwise create derivative works of the Spine Runtimes (collectively,
|
||||||
* "Products"), provided that each user of the Products must obtain their own
|
* "Products"), provided that each user of the Products must obtain their own
|
||||||
* Spine Editor license and redistribution of the Products in any form must
|
* Spine Editor license and redistribution of the Products in any form must
|
||||||
* include this license and copyright notice.
|
* include this license and copyright notice.
|
||||||
@ -23,8 +23,8 @@
|
|||||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
||||||
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
||||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
* 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
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
|
||||||
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
#if UNITY_2017_2_OR_NEWER
|
#if UNITY_2017_2_OR_NEWER
|
||||||
|
|||||||
@ -1,16 +1,16 @@
|
|||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* Spine Runtimes License Agreement
|
* 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
|
* Integration of the Spine Runtimes into software or otherwise creating
|
||||||
* derivative works of the Spine Runtimes is permitted under the terms and
|
* derivative works of the Spine Runtimes is permitted under the terms and
|
||||||
* conditions of Section 2 of the Spine Editor License Agreement:
|
* conditions of Section 2 of the Spine Editor License Agreement:
|
||||||
* http://esotericsoftware.com/spine-editor-license
|
* http://esotericsoftware.com/spine-editor-license
|
||||||
*
|
*
|
||||||
* Otherwise, it is permitted to integrate the Spine Runtimes into software
|
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
|
||||||
* or otherwise create derivative works of the Spine Runtimes (collectively,
|
* otherwise create derivative works of the Spine Runtimes (collectively,
|
||||||
* "Products"), provided that each user of the Products must obtain their own
|
* "Products"), provided that each user of the Products must obtain their own
|
||||||
* Spine Editor license and redistribution of the Products in any form must
|
* Spine Editor license and redistribution of the Products in any form must
|
||||||
* include this license and copyright notice.
|
* include this license and copyright notice.
|
||||||
@ -23,8 +23,8 @@
|
|||||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
||||||
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
||||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
* 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
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
|
||||||
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
|
|||||||
@ -1,16 +1,16 @@
|
|||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* Spine Runtimes License Agreement
|
* 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
|
* Integration of the Spine Runtimes into software or otherwise creating
|
||||||
* derivative works of the Spine Runtimes is permitted under the terms and
|
* derivative works of the Spine Runtimes is permitted under the terms and
|
||||||
* conditions of Section 2 of the Spine Editor License Agreement:
|
* conditions of Section 2 of the Spine Editor License Agreement:
|
||||||
* http://esotericsoftware.com/spine-editor-license
|
* http://esotericsoftware.com/spine-editor-license
|
||||||
*
|
*
|
||||||
* Otherwise, it is permitted to integrate the Spine Runtimes into software
|
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
|
||||||
* or otherwise create derivative works of the Spine Runtimes (collectively,
|
* otherwise create derivative works of the Spine Runtimes (collectively,
|
||||||
* "Products"), provided that each user of the Products must obtain their own
|
* "Products"), provided that each user of the Products must obtain their own
|
||||||
* Spine Editor license and redistribution of the Products in any form must
|
* Spine Editor license and redistribution of the Products in any form must
|
||||||
* include this license and copyright notice.
|
* include this license and copyright notice.
|
||||||
@ -23,8 +23,8 @@
|
|||||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
||||||
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
||||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
* 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
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
|
||||||
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
using System.Collections;
|
using System.Collections;
|
||||||
@ -46,14 +46,27 @@ namespace Spine.Unity.Examples {
|
|||||||
SpineAtlasAsset runtimeAtlasAsset;
|
SpineAtlasAsset runtimeAtlasAsset;
|
||||||
SkeletonDataAsset runtimeSkeletonDataAsset;
|
SkeletonDataAsset runtimeSkeletonDataAsset;
|
||||||
SkeletonAnimation runtimeSkeletonAnimation;
|
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 () {
|
void CreateRuntimeAssetsAndGameObject () {
|
||||||
// 1. Create the AtlasAsset (needs atlas text asset and textures, and materials/shader);
|
// 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)
|
// 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);
|
runtimeSkeletonDataAsset = SkeletonDataAsset.CreateRuntimeInstance(skeletonJson, runtimeAtlasAsset, true);
|
||||||
|
if (blendModeMaterials)
|
||||||
|
runtimeSkeletonDataAsset.SetupRuntimeBlendModeMaterials(
|
||||||
|
applyAdditiveMaterial, blendModeTemplateMaterials);
|
||||||
}
|
}
|
||||||
|
|
||||||
IEnumerator Start () {
|
IEnumerator Start () {
|
||||||
@ -62,7 +75,15 @@ namespace Spine.Unity.Examples {
|
|||||||
runtimeSkeletonDataAsset.GetSkeletonData(false); // preload
|
runtimeSkeletonDataAsset.GetSkeletonData(false); // preload
|
||||||
yield return new WaitForSeconds(delay);
|
yield return new WaitForSeconds(delay);
|
||||||
}
|
}
|
||||||
|
InstantiateSkeletonAnimation();
|
||||||
|
|
||||||
|
InstantiateSkeletonGraphic();
|
||||||
|
}
|
||||||
|
|
||||||
|
void InstantiateSkeletonAnimation () {
|
||||||
runtimeSkeletonAnimation = SkeletonAnimation.NewSkeletonAnimationGameObject(runtimeSkeletonDataAsset);
|
runtimeSkeletonAnimation = SkeletonAnimation.NewSkeletonAnimationGameObject(runtimeSkeletonDataAsset);
|
||||||
|
runtimeSkeletonAnimation.transform.parent = transform;
|
||||||
|
runtimeSkeletonAnimation.name = "SkeletonAnimation Instance";
|
||||||
|
|
||||||
// additional initialization
|
// additional initialization
|
||||||
runtimeSkeletonAnimation.Initialize(false);
|
runtimeSkeletonAnimation.Initialize(false);
|
||||||
@ -72,6 +93,28 @@ namespace Spine.Unity.Examples {
|
|||||||
if (animationName != "")
|
if (animationName != "")
|
||||||
runtimeSkeletonAnimation.AnimationState.SetAnimation(0, animationName, true);
|
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);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,16 +1,16 @@
|
|||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* Spine Runtimes License Agreement
|
* 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
|
* Integration of the Spine Runtimes into software or otherwise creating
|
||||||
* derivative works of the Spine Runtimes is permitted under the terms and
|
* derivative works of the Spine Runtimes is permitted under the terms and
|
||||||
* conditions of Section 2 of the Spine Editor License Agreement:
|
* conditions of Section 2 of the Spine Editor License Agreement:
|
||||||
* http://esotericsoftware.com/spine-editor-license
|
* http://esotericsoftware.com/spine-editor-license
|
||||||
*
|
*
|
||||||
* Otherwise, it is permitted to integrate the Spine Runtimes into software
|
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
|
||||||
* or otherwise create derivative works of the Spine Runtimes (collectively,
|
* otherwise create derivative works of the Spine Runtimes (collectively,
|
||||||
* "Products"), provided that each user of the Products must obtain their own
|
* "Products"), provided that each user of the Products must obtain their own
|
||||||
* Spine Editor license and redistribution of the Products in any form must
|
* Spine Editor license and redistribution of the Products in any form must
|
||||||
* include this license and copyright notice.
|
* include this license and copyright notice.
|
||||||
@ -23,8 +23,8 @@
|
|||||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
||||||
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
||||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
* 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
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
|
||||||
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
using Spine;
|
using Spine;
|
||||||
|
|||||||
@ -1,16 +1,16 @@
|
|||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* Spine Runtimes License Agreement
|
* 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
|
* Integration of the Spine Runtimes into software or otherwise creating
|
||||||
* derivative works of the Spine Runtimes is permitted under the terms and
|
* derivative works of the Spine Runtimes is permitted under the terms and
|
||||||
* conditions of Section 2 of the Spine Editor License Agreement:
|
* conditions of Section 2 of the Spine Editor License Agreement:
|
||||||
* http://esotericsoftware.com/spine-editor-license
|
* http://esotericsoftware.com/spine-editor-license
|
||||||
*
|
*
|
||||||
* Otherwise, it is permitted to integrate the Spine Runtimes into software
|
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
|
||||||
* or otherwise create derivative works of the Spine Runtimes (collectively,
|
* otherwise create derivative works of the Spine Runtimes (collectively,
|
||||||
* "Products"), provided that each user of the Products must obtain their own
|
* "Products"), provided that each user of the Products must obtain their own
|
||||||
* Spine Editor license and redistribution of the Products in any form must
|
* Spine Editor license and redistribution of the Products in any form must
|
||||||
* include this license and copyright notice.
|
* include this license and copyright notice.
|
||||||
@ -23,8 +23,8 @@
|
|||||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
||||||
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
||||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
* 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
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
|
||||||
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
using Spine.Unity.AttachmentTools;
|
using Spine.Unity.AttachmentTools;
|
||||||
|
|||||||
@ -1,16 +1,16 @@
|
|||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* Spine Runtimes License Agreement
|
* 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
|
* Integration of the Spine Runtimes into software or otherwise creating
|
||||||
* derivative works of the Spine Runtimes is permitted under the terms and
|
* derivative works of the Spine Runtimes is permitted under the terms and
|
||||||
* conditions of Section 2 of the Spine Editor License Agreement:
|
* conditions of Section 2 of the Spine Editor License Agreement:
|
||||||
* http://esotericsoftware.com/spine-editor-license
|
* http://esotericsoftware.com/spine-editor-license
|
||||||
*
|
*
|
||||||
* Otherwise, it is permitted to integrate the Spine Runtimes into software
|
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
|
||||||
* or otherwise create derivative works of the Spine Runtimes (collectively,
|
* otherwise create derivative works of the Spine Runtimes (collectively,
|
||||||
* "Products"), provided that each user of the Products must obtain their own
|
* "Products"), provided that each user of the Products must obtain their own
|
||||||
* Spine Editor license and redistribution of the Products in any form must
|
* Spine Editor license and redistribution of the Products in any form must
|
||||||
* include this license and copyright notice.
|
* include this license and copyright notice.
|
||||||
@ -23,8 +23,8 @@
|
|||||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
||||||
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
||||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
* 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
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
|
||||||
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
// Contributed by: Mitch Thompson
|
// Contributed by: Mitch Thompson
|
||||||
|
|||||||
@ -1,16 +1,16 @@
|
|||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* Spine Runtimes License Agreement
|
* 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
|
* Integration of the Spine Runtimes into software or otherwise creating
|
||||||
* derivative works of the Spine Runtimes is permitted under the terms and
|
* derivative works of the Spine Runtimes is permitted under the terms and
|
||||||
* conditions of Section 2 of the Spine Editor License Agreement:
|
* conditions of Section 2 of the Spine Editor License Agreement:
|
||||||
* http://esotericsoftware.com/spine-editor-license
|
* http://esotericsoftware.com/spine-editor-license
|
||||||
*
|
*
|
||||||
* Otherwise, it is permitted to integrate the Spine Runtimes into software
|
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
|
||||||
* or otherwise create derivative works of the Spine Runtimes (collectively,
|
* otherwise create derivative works of the Spine Runtimes (collectively,
|
||||||
* "Products"), provided that each user of the Products must obtain their own
|
* "Products"), provided that each user of the Products must obtain their own
|
||||||
* Spine Editor license and redistribution of the Products in any form must
|
* Spine Editor license and redistribution of the Products in any form must
|
||||||
* include this license and copyright notice.
|
* include this license and copyright notice.
|
||||||
@ -23,8 +23,8 @@
|
|||||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
||||||
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
||||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
* 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
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
|
||||||
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
// Contributed by: Mitch Thompson
|
// Contributed by: Mitch Thompson
|
||||||
|
|||||||
@ -1,16 +1,16 @@
|
|||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* Spine Runtimes License Agreement
|
* 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
|
* Integration of the Spine Runtimes into software or otherwise creating
|
||||||
* derivative works of the Spine Runtimes is permitted under the terms and
|
* derivative works of the Spine Runtimes is permitted under the terms and
|
||||||
* conditions of Section 2 of the Spine Editor License Agreement:
|
* conditions of Section 2 of the Spine Editor License Agreement:
|
||||||
* http://esotericsoftware.com/spine-editor-license
|
* http://esotericsoftware.com/spine-editor-license
|
||||||
*
|
*
|
||||||
* Otherwise, it is permitted to integrate the Spine Runtimes into software
|
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
|
||||||
* or otherwise create derivative works of the Spine Runtimes (collectively,
|
* otherwise create derivative works of the Spine Runtimes (collectively,
|
||||||
* "Products"), provided that each user of the Products must obtain their own
|
* "Products"), provided that each user of the Products must obtain their own
|
||||||
* Spine Editor license and redistribution of the Products in any form must
|
* Spine Editor license and redistribution of the Products in any form must
|
||||||
* include this license and copyright notice.
|
* include this license and copyright notice.
|
||||||
@ -23,8 +23,8 @@
|
|||||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
||||||
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
||||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
* 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
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
|
||||||
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
using Spine;
|
using Spine;
|
||||||
|
|||||||
@ -1,16 +1,16 @@
|
|||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* Spine Runtimes License Agreement
|
* 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
|
* Integration of the Spine Runtimes into software or otherwise creating
|
||||||
* derivative works of the Spine Runtimes is permitted under the terms and
|
* derivative works of the Spine Runtimes is permitted under the terms and
|
||||||
* conditions of Section 2 of the Spine Editor License Agreement:
|
* conditions of Section 2 of the Spine Editor License Agreement:
|
||||||
* http://esotericsoftware.com/spine-editor-license
|
* http://esotericsoftware.com/spine-editor-license
|
||||||
*
|
*
|
||||||
* Otherwise, it is permitted to integrate the Spine Runtimes into software
|
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
|
||||||
* or otherwise create derivative works of the Spine Runtimes (collectively,
|
* otherwise create derivative works of the Spine Runtimes (collectively,
|
||||||
* "Products"), provided that each user of the Products must obtain their own
|
* "Products"), provided that each user of the Products must obtain their own
|
||||||
* Spine Editor license and redistribution of the Products in any form must
|
* Spine Editor license and redistribution of the Products in any form must
|
||||||
* include this license and copyright notice.
|
* include this license and copyright notice.
|
||||||
@ -23,8 +23,8 @@
|
|||||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
||||||
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
||||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
* 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
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
|
||||||
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
// Original Contribution by: Mitch Thompson
|
// Original Contribution by: Mitch Thompson
|
||||||
|
|||||||
@ -1,16 +1,16 @@
|
|||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* Spine Runtimes License Agreement
|
* 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
|
* Integration of the Spine Runtimes into software or otherwise creating
|
||||||
* derivative works of the Spine Runtimes is permitted under the terms and
|
* derivative works of the Spine Runtimes is permitted under the terms and
|
||||||
* conditions of Section 2 of the Spine Editor License Agreement:
|
* conditions of Section 2 of the Spine Editor License Agreement:
|
||||||
* http://esotericsoftware.com/spine-editor-license
|
* http://esotericsoftware.com/spine-editor-license
|
||||||
*
|
*
|
||||||
* Otherwise, it is permitted to integrate the Spine Runtimes into software
|
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
|
||||||
* or otherwise create derivative works of the Spine Runtimes (collectively,
|
* otherwise create derivative works of the Spine Runtimes (collectively,
|
||||||
* "Products"), provided that each user of the Products must obtain their own
|
* "Products"), provided that each user of the Products must obtain their own
|
||||||
* Spine Editor license and redistribution of the Products in any form must
|
* Spine Editor license and redistribution of the Products in any form must
|
||||||
* include this license and copyright notice.
|
* include this license and copyright notice.
|
||||||
@ -23,8 +23,8 @@
|
|||||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
||||||
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
||||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
* 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
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
|
||||||
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
using Spine.Unity;
|
using Spine.Unity;
|
||||||
|
|||||||
268
Assets/ThirdParty/Spine Examples/Scripts/Sample Components/RenderCombinedMesh.cs
vendored
Normal file
268
Assets/ThirdParty/Spine Examples/Scripts/Sample Components/RenderCombinedMesh.cs
vendored
Normal 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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
11
Assets/ThirdParty/Spine Examples/Scripts/Sample Components/RenderCombinedMesh.cs.meta
vendored
Normal file
11
Assets/ThirdParty/Spine Examples/Scripts/Sample Components/RenderCombinedMesh.cs.meta
vendored
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 05709c69e8e14304b9781652ad05daef
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@ -1,16 +1,16 @@
|
|||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* Spine Runtimes License Agreement
|
* 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
|
* Integration of the Spine Runtimes into software or otherwise creating
|
||||||
* derivative works of the Spine Runtimes is permitted under the terms and
|
* derivative works of the Spine Runtimes is permitted under the terms and
|
||||||
* conditions of Section 2 of the Spine Editor License Agreement:
|
* conditions of Section 2 of the Spine Editor License Agreement:
|
||||||
* http://esotericsoftware.com/spine-editor-license
|
* http://esotericsoftware.com/spine-editor-license
|
||||||
*
|
*
|
||||||
* Otherwise, it is permitted to integrate the Spine Runtimes into software
|
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
|
||||||
* or otherwise create derivative works of the Spine Runtimes (collectively,
|
* otherwise create derivative works of the Spine Runtimes (collectively,
|
||||||
* "Products"), provided that each user of the Products must obtain their own
|
* "Products"), provided that each user of the Products must obtain their own
|
||||||
* Spine Editor license and redistribution of the Products in any form must
|
* Spine Editor license and redistribution of the Products in any form must
|
||||||
* include this license and copyright notice.
|
* include this license and copyright notice.
|
||||||
@ -23,14 +23,18 @@
|
|||||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
||||||
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
||||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
* 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
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
|
||||||
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
#if UNITY_2018_3 || UNITY_2019 || UNITY_2018_3_OR_NEWER
|
#if UNITY_2018_3 || UNITY_2019 || UNITY_2018_3_OR_NEWER
|
||||||
#define NEW_PREFAB_SYSTEM
|
#define NEW_PREFAB_SYSTEM
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if UNITY_2018_2_OR_NEWER
|
||||||
|
#define HAS_GET_SHARED_MATERIALS
|
||||||
|
#endif
|
||||||
|
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
|
|
||||||
@ -59,20 +63,28 @@ namespace Spine.Unity.Examples {
|
|||||||
|
|
||||||
private Dictionary<Material, Material> replacementMaterialDict = new Dictionary<Material, Material>();
|
private Dictionary<Material, Material> replacementMaterialDict = new Dictionary<Material, Material>();
|
||||||
private Material[] sharedMaterials = new Material[0];
|
private Material[] sharedMaterials = new Material[0];
|
||||||
|
#if HAS_GET_SHARED_MATERIALS
|
||||||
|
private List<Material> parentMaterials = new List<Material>();
|
||||||
|
#endif
|
||||||
|
|
||||||
#if UNITY_EDITOR
|
#if UNITY_EDITOR
|
||||||
private void Reset () {
|
private void Reset () {
|
||||||
if (referenceRenderer == null) {
|
if (referenceRenderer == null) {
|
||||||
|
if (this.transform.parent)
|
||||||
referenceRenderer = this.transform.parent.GetComponentInParent<MeshRenderer>();
|
referenceRenderer = this.transform.parent.GetComponentInParent<MeshRenderer>();
|
||||||
if (!referenceRenderer)
|
if (referenceRenderer == null) return;
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
|
#if HAS_GET_SHARED_MATERIALS
|
||||||
|
referenceRenderer.GetSharedMaterials(parentMaterials);
|
||||||
|
int parentMaterialsCount = parentMaterials.Count;
|
||||||
|
#else
|
||||||
Material[] parentMaterials = referenceRenderer.sharedMaterials;
|
Material[] parentMaterials = referenceRenderer.sharedMaterials;
|
||||||
if (replacementMaterials.Length != parentMaterials.Length) {
|
int parentMaterialsCount = parentMaterials.Length;
|
||||||
replacementMaterials = new MaterialReplacement[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].originalMaterial = parentMaterials[i];
|
||||||
replacementMaterials[i].replacementMaterial = parentMaterials[i];
|
replacementMaterials[i].replacementMaterial = parentMaterials[i];
|
||||||
}
|
}
|
||||||
@ -82,9 +94,15 @@ namespace Spine.Unity.Examples {
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
void Awake () {
|
void Awake () {
|
||||||
|
ownRenderer = this.GetComponent<MeshRenderer>();
|
||||||
|
ownMeshFilter = this.GetComponent<MeshFilter>();
|
||||||
|
|
||||||
if (referenceRenderer == null) {
|
if (referenceRenderer == null) {
|
||||||
|
if (this.transform.parent != null)
|
||||||
referenceRenderer = this.transform.parent.GetComponentInParent<MeshRenderer>();
|
referenceRenderer = this.transform.parent.GetComponentInParent<MeshRenderer>();
|
||||||
|
if (referenceRenderer == null) return;
|
||||||
}
|
}
|
||||||
|
referenceMeshFilter = referenceRenderer.GetComponent<MeshFilter>();
|
||||||
|
|
||||||
// subscribe to OnMeshAndMaterialsUpdated
|
// subscribe to OnMeshAndMaterialsUpdated
|
||||||
SkeletonAnimation skeletonRenderer = referenceRenderer.GetComponent<SkeletonAnimation>();
|
SkeletonAnimation skeletonRenderer = referenceRenderer.GetComponent<SkeletonAnimation>();
|
||||||
@ -93,18 +111,20 @@ namespace Spine.Unity.Examples {
|
|||||||
skeletonRenderer.OnMeshAndMaterialsUpdated += UpdateOnCallback;
|
skeletonRenderer.OnMeshAndMaterialsUpdated += UpdateOnCallback;
|
||||||
updateViaSkeletonCallback = true;
|
updateViaSkeletonCallback = true;
|
||||||
}
|
}
|
||||||
referenceMeshFilter = referenceRenderer.GetComponent<MeshFilter>();
|
|
||||||
ownRenderer = this.GetComponent<MeshRenderer>();
|
|
||||||
ownMeshFilter = this.GetComponent<MeshFilter>();
|
|
||||||
|
|
||||||
InitializeDict();
|
InitializeDict();
|
||||||
}
|
}
|
||||||
|
|
||||||
#if UNITY_EDITOR
|
#if UNITY_EDITOR
|
||||||
private void Update () {
|
// handle disabled scene reload
|
||||||
if (!Application.isPlaying) {
|
private void OnEnable () {
|
||||||
InitializeDict();
|
if (Application.isPlaying)
|
||||||
|
Awake();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void Update () {
|
||||||
|
if (!Application.isPlaying)
|
||||||
|
InitializeDict();
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -126,13 +146,23 @@ namespace Spine.Unity.Examples {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void UpdateMaterials () {
|
void UpdateMaterials () {
|
||||||
|
#if UNITY_EDITOR
|
||||||
|
if (!referenceRenderer) return;
|
||||||
|
if (!referenceMeshFilter) Reset();
|
||||||
|
#endif
|
||||||
ownMeshFilter.sharedMesh = referenceMeshFilter.sharedMesh;
|
ownMeshFilter.sharedMesh = referenceMeshFilter.sharedMesh;
|
||||||
|
|
||||||
|
#if HAS_GET_SHARED_MATERIALS
|
||||||
|
referenceRenderer.GetSharedMaterials(parentMaterials);
|
||||||
|
int parentMaterialsCount = parentMaterials.Count;
|
||||||
|
#else
|
||||||
Material[] parentMaterials = referenceRenderer.sharedMaterials;
|
Material[] parentMaterials = referenceRenderer.sharedMaterials;
|
||||||
if (sharedMaterials.Length != parentMaterials.Length) {
|
int parentMaterialsCount = parentMaterials.Length;
|
||||||
sharedMaterials = new Material[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];
|
Material parentMaterial = parentMaterials[i];
|
||||||
if (replacementMaterialDict.ContainsKey(parentMaterial)) {
|
if (replacementMaterialDict.ContainsKey(parentMaterial)) {
|
||||||
sharedMaterials[i] = replacementMaterialDict[parentMaterial];
|
sharedMaterials[i] = replacementMaterialDict[parentMaterial];
|
||||||
@ -142,6 +172,7 @@ namespace Spine.Unity.Examples {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void InitializeDict () {
|
void InitializeDict () {
|
||||||
|
replacementMaterialDict.Clear();
|
||||||
for (int i = 0; i < replacementMaterials.Length; ++i) {
|
for (int i = 0; i < replacementMaterials.Length; ++i) {
|
||||||
MaterialReplacement entry = replacementMaterials[i];
|
MaterialReplacement entry = replacementMaterials[i];
|
||||||
replacementMaterialDict[entry.originalMaterial] = entry.replacementMaterial;
|
replacementMaterialDict[entry.originalMaterial] = entry.replacementMaterial;
|
||||||
|
|||||||
224
Assets/ThirdParty/Spine Examples/Scripts/Sample Components/RenderExistingMeshGraphic.cs
vendored
Normal file
224
Assets/ThirdParty/Spine Examples/Scripts/Sample Components/RenderExistingMeshGraphic.cs
vendored
Normal 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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
11
Assets/ThirdParty/Spine Examples/Scripts/Sample Components/RenderExistingMeshGraphic.cs.meta
vendored
Normal file
11
Assets/ThirdParty/Spine Examples/Scripts/Sample Components/RenderExistingMeshGraphic.cs.meta
vendored
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: ff6ce4ce6b9336a479c6bf5af81fa80a
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@ -1,16 +1,16 @@
|
|||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* Spine Runtimes License Agreement
|
* 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
|
* Integration of the Spine Runtimes into software or otherwise creating
|
||||||
* derivative works of the Spine Runtimes is permitted under the terms and
|
* derivative works of the Spine Runtimes is permitted under the terms and
|
||||||
* conditions of Section 2 of the Spine Editor License Agreement:
|
* conditions of Section 2 of the Spine Editor License Agreement:
|
||||||
* http://esotericsoftware.com/spine-editor-license
|
* http://esotericsoftware.com/spine-editor-license
|
||||||
*
|
*
|
||||||
* Otherwise, it is permitted to integrate the Spine Runtimes into software
|
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
|
||||||
* or otherwise create derivative works of the Spine Runtimes (collectively,
|
* otherwise create derivative works of the Spine Runtimes (collectively,
|
||||||
* "Products"), provided that each user of the Products must obtain their own
|
* "Products"), provided that each user of the Products must obtain their own
|
||||||
* Spine Editor license and redistribution of the Products in any form must
|
* Spine Editor license and redistribution of the Products in any form must
|
||||||
* include this license and copyright notice.
|
* include this license and copyright notice.
|
||||||
@ -23,8 +23,8 @@
|
|||||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
||||||
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
||||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
* 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
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
|
||||||
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
using Spine.Unity;
|
using Spine.Unity;
|
||||||
|
|||||||
@ -1,16 +1,16 @@
|
|||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* Spine Runtimes License Agreement
|
* 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
|
* Integration of the Spine Runtimes into software or otherwise creating
|
||||||
* derivative works of the Spine Runtimes is permitted under the terms and
|
* derivative works of the Spine Runtimes is permitted under the terms and
|
||||||
* conditions of Section 2 of the Spine Editor License Agreement:
|
* conditions of Section 2 of the Spine Editor License Agreement:
|
||||||
* http://esotericsoftware.com/spine-editor-license
|
* http://esotericsoftware.com/spine-editor-license
|
||||||
*
|
*
|
||||||
* Otherwise, it is permitted to integrate the Spine Runtimes into software
|
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
|
||||||
* or otherwise create derivative works of the Spine Runtimes (collectively,
|
* otherwise create derivative works of the Spine Runtimes (collectively,
|
||||||
* "Products"), provided that each user of the Products must obtain their own
|
* "Products"), provided that each user of the Products must obtain their own
|
||||||
* Spine Editor license and redistribution of the Products in any form must
|
* Spine Editor license and redistribution of the Products in any form must
|
||||||
* include this license and copyright notice.
|
* include this license and copyright notice.
|
||||||
@ -23,8 +23,8 @@
|
|||||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
||||||
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
||||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
* 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
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
|
||||||
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
using System.Collections;
|
using System.Collections;
|
||||||
|
|||||||
@ -1,16 +1,16 @@
|
|||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* Spine Runtimes License Agreement
|
* 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
|
* Integration of the Spine Runtimes into software or otherwise creating
|
||||||
* derivative works of the Spine Runtimes is permitted under the terms and
|
* derivative works of the Spine Runtimes is permitted under the terms and
|
||||||
* conditions of Section 2 of the Spine Editor License Agreement:
|
* conditions of Section 2 of the Spine Editor License Agreement:
|
||||||
* http://esotericsoftware.com/spine-editor-license
|
* http://esotericsoftware.com/spine-editor-license
|
||||||
*
|
*
|
||||||
* Otherwise, it is permitted to integrate the Spine Runtimes into software
|
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
|
||||||
* or otherwise create derivative works of the Spine Runtimes (collectively,
|
* otherwise create derivative works of the Spine Runtimes (collectively,
|
||||||
* "Products"), provided that each user of the Products must obtain their own
|
* "Products"), provided that each user of the Products must obtain their own
|
||||||
* Spine Editor license and redistribution of the Products in any form must
|
* Spine Editor license and redistribution of the Products in any form must
|
||||||
* include this license and copyright notice.
|
* include this license and copyright notice.
|
||||||
@ -23,8 +23,8 @@
|
|||||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
||||||
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
||||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
* 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
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
|
||||||
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
using System.Collections;
|
using System.Collections;
|
||||||
@ -98,7 +98,11 @@ public class TwoByTwoTransformEffectExampleEditor : UnityEditor.Editor {
|
|||||||
Color originalColor = UnityEditor.Handles.color;
|
Color originalColor = UnityEditor.Handles.color;
|
||||||
UnityEditor.Handles.color = color;
|
UnityEditor.Handles.color = color;
|
||||||
UnityEditor.Handles.DrawLine(transform.position, transform.TransformPoint(v));
|
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));
|
v = transform.InverseTransformPoint(UnityEditor.Handles.FreeMoveHandle(transform.TransformPoint(v), Quaternion.identity, 0.3f, Vector3.zero, UnityEditor.Handles.CubeHandleCap));
|
||||||
|
#endif
|
||||||
UnityEditor.Handles.color = originalColor;
|
UnityEditor.Handles.color = originalColor;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,16 +1,16 @@
|
|||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* Spine Runtimes License Agreement
|
* 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
|
* Integration of the Spine Runtimes into software or otherwise creating
|
||||||
* derivative works of the Spine Runtimes is permitted under the terms and
|
* derivative works of the Spine Runtimes is permitted under the terms and
|
||||||
* conditions of Section 2 of the Spine Editor License Agreement:
|
* conditions of Section 2 of the Spine Editor License Agreement:
|
||||||
* http://esotericsoftware.com/spine-editor-license
|
* http://esotericsoftware.com/spine-editor-license
|
||||||
*
|
*
|
||||||
* Otherwise, it is permitted to integrate the Spine Runtimes into software
|
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
|
||||||
* or otherwise create derivative works of the Spine Runtimes (collectively,
|
* otherwise create derivative works of the Spine Runtimes (collectively,
|
||||||
* "Products"), provided that each user of the Products must obtain their own
|
* "Products"), provided that each user of the Products must obtain their own
|
||||||
* Spine Editor license and redistribution of the Products in any form must
|
* Spine Editor license and redistribution of the Products in any form must
|
||||||
* include this license and copyright notice.
|
* include this license and copyright notice.
|
||||||
@ -23,8 +23,8 @@
|
|||||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
||||||
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
||||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
* 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
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
|
||||||
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
|
|||||||
@ -1,16 +1,16 @@
|
|||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* Spine Runtimes License Agreement
|
* 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
|
* Integration of the Spine Runtimes into software or otherwise creating
|
||||||
* derivative works of the Spine Runtimes is permitted under the terms and
|
* derivative works of the Spine Runtimes is permitted under the terms and
|
||||||
* conditions of Section 2 of the Spine Editor License Agreement:
|
* conditions of Section 2 of the Spine Editor License Agreement:
|
||||||
* http://esotericsoftware.com/spine-editor-license
|
* http://esotericsoftware.com/spine-editor-license
|
||||||
*
|
*
|
||||||
* Otherwise, it is permitted to integrate the Spine Runtimes into software
|
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
|
||||||
* or otherwise create derivative works of the Spine Runtimes (collectively,
|
* otherwise create derivative works of the Spine Runtimes (collectively,
|
||||||
* "Products"), provided that each user of the Products must obtain their own
|
* "Products"), provided that each user of the Products must obtain their own
|
||||||
* Spine Editor license and redistribution of the Products in any form must
|
* Spine Editor license and redistribution of the Products in any form must
|
||||||
* include this license and copyright notice.
|
* include this license and copyright notice.
|
||||||
@ -23,8 +23,8 @@
|
|||||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
||||||
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
||||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
* 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
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
|
||||||
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
|
|||||||
@ -1,16 +1,16 @@
|
|||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* Spine Runtimes License Agreement
|
* 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
|
* Integration of the Spine Runtimes into software or otherwise creating
|
||||||
* derivative works of the Spine Runtimes is permitted under the terms and
|
* derivative works of the Spine Runtimes is permitted under the terms and
|
||||||
* conditions of Section 2 of the Spine Editor License Agreement:
|
* conditions of Section 2 of the Spine Editor License Agreement:
|
||||||
* http://esotericsoftware.com/spine-editor-license
|
* http://esotericsoftware.com/spine-editor-license
|
||||||
*
|
*
|
||||||
* Otherwise, it is permitted to integrate the Spine Runtimes into software
|
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
|
||||||
* or otherwise create derivative works of the Spine Runtimes (collectively,
|
* otherwise create derivative works of the Spine Runtimes (collectively,
|
||||||
* "Products"), provided that each user of the Products must obtain their own
|
* "Products"), provided that each user of the Products must obtain their own
|
||||||
* Spine Editor license and redistribution of the Products in any form must
|
* Spine Editor license and redistribution of the Products in any form must
|
||||||
* include this license and copyright notice.
|
* include this license and copyright notice.
|
||||||
@ -23,8 +23,8 @@
|
|||||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
||||||
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
||||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
* 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
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
|
||||||
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
using Spine;
|
using Spine;
|
||||||
|
|||||||
@ -1,16 +1,16 @@
|
|||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* Spine Runtimes License Agreement
|
* 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
|
* Integration of the Spine Runtimes into software or otherwise creating
|
||||||
* derivative works of the Spine Runtimes is permitted under the terms and
|
* derivative works of the Spine Runtimes is permitted under the terms and
|
||||||
* conditions of Section 2 of the Spine Editor License Agreement:
|
* conditions of Section 2 of the Spine Editor License Agreement:
|
||||||
* http://esotericsoftware.com/spine-editor-license
|
* http://esotericsoftware.com/spine-editor-license
|
||||||
*
|
*
|
||||||
* Otherwise, it is permitted to integrate the Spine Runtimes into software
|
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
|
||||||
* or otherwise create derivative works of the Spine Runtimes (collectively,
|
* otherwise create derivative works of the Spine Runtimes (collectively,
|
||||||
* "Products"), provided that each user of the Products must obtain their own
|
* "Products"), provided that each user of the Products must obtain their own
|
||||||
* Spine Editor license and redistribution of the Products in any form must
|
* Spine Editor license and redistribution of the Products in any form must
|
||||||
* include this license and copyright notice.
|
* include this license and copyright notice.
|
||||||
@ -23,8 +23,8 @@
|
|||||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
||||||
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
||||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
* 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
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
|
||||||
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
using Spine;
|
using Spine;
|
||||||
|
|||||||
@ -1,16 +1,16 @@
|
|||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* Spine Runtimes License Agreement
|
* 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
|
* Integration of the Spine Runtimes into software or otherwise creating
|
||||||
* derivative works of the Spine Runtimes is permitted under the terms and
|
* derivative works of the Spine Runtimes is permitted under the terms and
|
||||||
* conditions of Section 2 of the Spine Editor License Agreement:
|
* conditions of Section 2 of the Spine Editor License Agreement:
|
||||||
* http://esotericsoftware.com/spine-editor-license
|
* http://esotericsoftware.com/spine-editor-license
|
||||||
*
|
*
|
||||||
* Otherwise, it is permitted to integrate the Spine Runtimes into software
|
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
|
||||||
* or otherwise create derivative works of the Spine Runtimes (collectively,
|
* otherwise create derivative works of the Spine Runtimes (collectively,
|
||||||
* "Products"), provided that each user of the Products must obtain their own
|
* "Products"), provided that each user of the Products must obtain their own
|
||||||
* Spine Editor license and redistribution of the Products in any form must
|
* Spine Editor license and redistribution of the Products in any form must
|
||||||
* include this license and copyright notice.
|
* include this license and copyright notice.
|
||||||
@ -23,8 +23,8 @@
|
|||||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
||||||
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
||||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
* 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
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
|
||||||
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
using System.Collections;
|
using System.Collections;
|
||||||
|
|||||||
@ -1,16 +1,16 @@
|
|||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* Spine Runtimes License Agreement
|
* 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
|
* Integration of the Spine Runtimes into software or otherwise creating
|
||||||
* derivative works of the Spine Runtimes is permitted under the terms and
|
* derivative works of the Spine Runtimes is permitted under the terms and
|
||||||
* conditions of Section 2 of the Spine Editor License Agreement:
|
* conditions of Section 2 of the Spine Editor License Agreement:
|
||||||
* http://esotericsoftware.com/spine-editor-license
|
* http://esotericsoftware.com/spine-editor-license
|
||||||
*
|
*
|
||||||
* Otherwise, it is permitted to integrate the Spine Runtimes into software
|
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
|
||||||
* or otherwise create derivative works of the Spine Runtimes (collectively,
|
* otherwise create derivative works of the Spine Runtimes (collectively,
|
||||||
* "Products"), provided that each user of the Products must obtain their own
|
* "Products"), provided that each user of the Products must obtain their own
|
||||||
* Spine Editor license and redistribution of the Products in any form must
|
* Spine Editor license and redistribution of the Products in any form must
|
||||||
* include this license and copyright notice.
|
* include this license and copyright notice.
|
||||||
@ -23,8 +23,8 @@
|
|||||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
||||||
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
||||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
* 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
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
|
||||||
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
using Spine.Unity;
|
using Spine.Unity;
|
||||||
|
|||||||
@ -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: []
|
||||||
@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: afeb0ae2ea2cda94796515bf8d1b3cb1
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 2100000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@ -1,16 +1,16 @@
|
|||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* Spine Runtimes License Agreement
|
* 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
|
* Integration of the Spine Runtimes into software or otherwise creating
|
||||||
* derivative works of the Spine Runtimes is permitted under the terms and
|
* derivative works of the Spine Runtimes is permitted under the terms and
|
||||||
* conditions of Section 2 of the Spine Editor License Agreement:
|
* conditions of Section 2 of the Spine Editor License Agreement:
|
||||||
* http://esotericsoftware.com/spine-editor-license
|
* http://esotericsoftware.com/spine-editor-license
|
||||||
*
|
*
|
||||||
* Otherwise, it is permitted to integrate the Spine Runtimes into software
|
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
|
||||||
* or otherwise create derivative works of the Spine Runtimes (collectively,
|
* otherwise create derivative works of the Spine Runtimes (collectively,
|
||||||
* "Products"), provided that each user of the Products must obtain their own
|
* "Products"), provided that each user of the Products must obtain their own
|
||||||
* Spine Editor license and redistribution of the Products in any form must
|
* Spine Editor license and redistribution of the Products in any form must
|
||||||
* include this license and copyright notice.
|
* include this license and copyright notice.
|
||||||
@ -23,8 +23,8 @@
|
|||||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
||||||
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
||||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
* 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
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
|
||||||
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
#if UNITY_2017_2_OR_NEWER
|
#if UNITY_2017_2_OR_NEWER
|
||||||
@ -40,7 +40,7 @@ namespace Spine.Unity.Examples {
|
|||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// When enabled, this component renders a skeleton to a RenderTexture and
|
/// 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
|
/// This allows changing transparency at a single quad, which produces a more
|
||||||
/// natural fadeout effect.
|
/// natural fadeout effect.
|
||||||
/// Note: It is recommended to keep this component disabled as much as possible
|
/// Note: It is recommended to keep this component disabled as much as possible
|
||||||
@ -64,9 +64,22 @@ namespace Spine.Unity.Examples {
|
|||||||
protected SkeletonGraphic skeletonGraphic;
|
protected SkeletonGraphic skeletonGraphic;
|
||||||
public List<TextureMaterialPair> meshRendererMaterialForTexture = new List<TextureMaterialPair>();
|
public List<TextureMaterialPair> meshRendererMaterialForTexture = new List<TextureMaterialPair>();
|
||||||
protected CanvasRenderer quadCanvasRenderer;
|
protected CanvasRenderer quadCanvasRenderer;
|
||||||
protected RawImage quadRawImage;
|
protected SkeletonSubmeshGraphic quadMaskableGraphic;
|
||||||
protected readonly Vector3[] worldCorners = new Vector3[4];
|
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 () {
|
protected override void Awake () {
|
||||||
base.Awake();
|
base.Awake();
|
||||||
skeletonGraphic = this.GetComponent<SkeletonGraphic>();
|
skeletonGraphic = this.GetComponent<SkeletonGraphic>();
|
||||||
@ -79,28 +92,32 @@ namespace Spine.Unity.Examples {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void CreateQuadChild () {
|
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);
|
quad.transform.SetParent(this.transform.parent, false);
|
||||||
quadCanvasRenderer = quad.GetComponent<CanvasRenderer>();
|
quadCanvasRenderer = quad.GetComponent<CanvasRenderer>();
|
||||||
quadRawImage = quad.GetComponent<RawImage>();
|
quadMaskableGraphic = quad.GetComponent<SkeletonSubmeshGraphic>();
|
||||||
|
|
||||||
quadMesh = new Mesh();
|
quadMesh = new Mesh();
|
||||||
quadMesh.MarkDynamic();
|
quadMesh.MarkDynamic();
|
||||||
quadMesh.name = "RenderTexture Quad";
|
quadMesh.name = "RenderTexture Quad";
|
||||||
quadMesh.hideFlags = HideFlags.DontSaveInBuild | HideFlags.DontSaveInEditor;
|
quadMesh.hideFlags = HideFlags.DontSaveInBuild | HideFlags.DontSaveInEditor;
|
||||||
|
|
||||||
|
if (quadMaterial == null) {
|
||||||
|
quadMaterial = new Material(Shader.Find("Spine/SkeletonGraphic"));
|
||||||
|
quadMaterial.EnableKeyword("_CANVAS_GROUP_COMPATIBLE");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Reset () {
|
void Reset () {
|
||||||
skeletonGraphic = this.GetComponent<SkeletonGraphic>();
|
skeletonGraphic = this.GetComponent<SkeletonGraphic>();
|
||||||
AtlasAssetBase[] atlasAssets = skeletonGraphic.SkeletonDataAsset.atlasAssets;
|
ResetMeshRendererMaterials();
|
||||||
for (int i = 0; i < atlasAssets.Length; ++i) {
|
#if UNITY_EDITOR
|
||||||
foreach (Material material in atlasAssets[i].Materials) {
|
string[] assets = UnityEditor.AssetDatabase.FindAssets("t:material RenderQuadGraphicMaterial");
|
||||||
if (material.mainTexture != null) {
|
if (assets.Length > 0) {
|
||||||
meshRendererMaterialForTexture.Add(
|
string materialPath = UnityEditor.AssetDatabase.GUIDToAssetPath(assets[0]);
|
||||||
new TextureMaterialPair(material.mainTexture, material));
|
quadMaterial = UnityEditor.AssetDatabase.LoadAssetAtPath<Material>(materialPath);
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void OnEnable () {
|
void OnEnable () {
|
||||||
@ -109,6 +126,7 @@ namespace Spine.Unity.Examples {
|
|||||||
skeletonGraphic.AssignMeshOverrideMultipleRenderers += RenderMultipleMeshesToRenderTexture;
|
skeletonGraphic.AssignMeshOverrideMultipleRenderers += RenderMultipleMeshesToRenderTexture;
|
||||||
skeletonGraphic.disableMeshAssignmentOnOverride = true;
|
skeletonGraphic.disableMeshAssignmentOnOverride = true;
|
||||||
skeletonGraphic.OnMeshAndMaterialsUpdated += RenderOntoQuad;
|
skeletonGraphic.OnMeshAndMaterialsUpdated += RenderOntoQuad;
|
||||||
|
skeletonGraphic.OnAnimationRebuild += OnRebuild;
|
||||||
List<CanvasRenderer> canvasRenderers = skeletonGraphic.canvasRenderers;
|
List<CanvasRenderer> canvasRenderers = skeletonGraphic.canvasRenderers;
|
||||||
for (int i = 0; i < canvasRenderers.Count; ++i)
|
for (int i = 0; i < canvasRenderers.Count; ++i)
|
||||||
canvasRenderers[i].cull = true;
|
canvasRenderers[i].cull = true;
|
||||||
@ -123,6 +141,7 @@ namespace Spine.Unity.Examples {
|
|||||||
skeletonGraphic.AssignMeshOverrideMultipleRenderers -= RenderMultipleMeshesToRenderTexture;
|
skeletonGraphic.AssignMeshOverrideMultipleRenderers -= RenderMultipleMeshesToRenderTexture;
|
||||||
skeletonGraphic.disableMeshAssignmentOnOverride = false;
|
skeletonGraphic.disableMeshAssignmentOnOverride = false;
|
||||||
skeletonGraphic.OnMeshAndMaterialsUpdated -= RenderOntoQuad;
|
skeletonGraphic.OnMeshAndMaterialsUpdated -= RenderOntoQuad;
|
||||||
|
skeletonGraphic.OnAnimationRebuild -= OnRebuild;
|
||||||
List<CanvasRenderer> canvasRenderers = skeletonGraphic.canvasRenderers;
|
List<CanvasRenderer> canvasRenderers = skeletonGraphic.canvasRenderers;
|
||||||
for (int i = 0; i < canvasRenderers.Count; ++i)
|
for (int i = 0; i < canvasRenderers.Count; ++i)
|
||||||
canvasRenderers[i].cull = false;
|
canvasRenderers[i].cull = false;
|
||||||
@ -143,6 +162,10 @@ namespace Spine.Unity.Examples {
|
|||||||
AssignAtQuad();
|
AssignAtQuad();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void OnRebuild (ISkeletonAnimation skeletonGraphic) {
|
||||||
|
ResetMeshRendererMaterials();
|
||||||
|
}
|
||||||
|
|
||||||
protected void PrepareForMesh () {
|
protected void PrepareForMesh () {
|
||||||
// We need to get the min/max of all four corners, rotation of the skeleton
|
// 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
|
// 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) {
|
protected void RenderSingleMeshToRenderTexture (Mesh mesh, Material graphicMaterial, Texture texture) {
|
||||||
|
if (mesh.subMeshCount == 0) return;
|
||||||
Material meshRendererMaterial = MeshRendererMaterialForTexture(texture);
|
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);
|
Graphics.ExecuteCommandBuffer(commandBuffer);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -203,19 +228,23 @@ namespace Spine.Unity.Examples {
|
|||||||
Mesh[] meshes, Material[] graphicMaterials, Texture[] textures) {
|
Mesh[] meshes, Material[] graphicMaterials, Texture[] textures) {
|
||||||
|
|
||||||
for (int i = 0; i < meshCount; ++i) {
|
for (int i = 0; i < meshCount; ++i) {
|
||||||
|
Mesh mesh = meshes[i];
|
||||||
|
if (mesh.subMeshCount == 0) continue;
|
||||||
|
|
||||||
Material meshRendererMaterial = MeshRendererMaterialForTexture(textures[i]);
|
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);
|
Graphics.ExecuteCommandBuffer(commandBuffer);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void SetupQuad () {
|
protected void SetupQuad () {
|
||||||
quadRawImage.texture = this.renderTexture;
|
quadCanvasRenderer.SetMaterial(quadMaterial, this.renderTexture);
|
||||||
quadRawImage.color = color;
|
quadMaskableGraphic.color = color;
|
||||||
quadCanvasRenderer.SetColor(color);
|
quadCanvasRenderer.SetColor(color);
|
||||||
|
|
||||||
RectTransform srcRectTransform = skeletonGraphic.rectTransform;
|
RectTransform srcRectTransform = skeletonGraphic.rectTransform;
|
||||||
RectTransform dstRectTransform = quadRawImage.rectTransform;
|
RectTransform dstRectTransform = quadMaskableGraphic.rectTransform;
|
||||||
|
|
||||||
dstRectTransform.anchorMin = srcRectTransform.anchorMin;
|
dstRectTransform.anchorMin = srcRectTransform.anchorMin;
|
||||||
dstRectTransform.anchorMax = srcRectTransform.anchorMax;
|
dstRectTransform.anchorMax = srcRectTransform.anchorMax;
|
||||||
@ -231,24 +260,30 @@ namespace Spine.Unity.Examples {
|
|||||||
commandBuffer.SetRenderTarget(renderTexture);
|
commandBuffer.SetRenderTarget(renderTexture);
|
||||||
commandBuffer.ClearRenderTarget(true, true, Color.clear);
|
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(
|
Matrix4x4 projectionMatrix = Matrix4x4.Ortho(
|
||||||
canvasRect.x, canvasRect.x + canvasRect.width,
|
canvasRect.x, canvasRect.x + canvasRect.width,
|
||||||
canvasRect.y, canvasRect.y + canvasRect.height,
|
canvasRect.y, canvasRect.y + canvasRect.height,
|
||||||
float.MinValue, float.MaxValue);
|
float.MinValue, float.MaxValue);
|
||||||
|
|
||||||
RenderMode canvasRenderMode = skeletonGraphic.canvas.renderMode;
|
|
||||||
if (canvasRenderMode == RenderMode.ScreenSpaceOverlay) {
|
|
||||||
commandBuffer.SetViewMatrix(Matrix4x4.identity);
|
commandBuffer.SetViewMatrix(Matrix4x4.identity);
|
||||||
commandBuffer.SetProjectionMatrix(projectionMatrix);
|
commandBuffer.SetProjectionMatrix(projectionMatrix);
|
||||||
} else {
|
} else {
|
||||||
commandBuffer.SetViewMatrix(targetCamera.worldToCameraMatrix);
|
commandBuffer.SetViewMatrix(targetCamera.worldToCameraMatrix);
|
||||||
commandBuffer.SetProjectionMatrix(targetCamera.projectionMatrix);
|
Matrix4x4 projectionMatrix = CalculateProjectionMatrix(targetCamera,
|
||||||
|
screenSpaceMin, screenSpaceMax, skeletonGraphic.canvas.pixelRect.size);
|
||||||
|
commandBuffer.SetProjectionMatrix(projectionMatrix);
|
||||||
}
|
}
|
||||||
|
Rect viewportRect = new Rect(Vector2.zero, targetViewportSize * downScaleFactor);
|
||||||
Vector2 targetCameraViewportSize = targetCamera.pixelRect.size;
|
|
||||||
Rect viewportRect = new Rect(-screenSpaceMin * downScaleFactor, targetCameraViewportSize * downScaleFactor);
|
|
||||||
commandBuffer.SetViewport(viewportRect);
|
commandBuffer.SetViewport(viewportRect);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -1,16 +1,16 @@
|
|||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* Spine Runtimes License Agreement
|
* 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
|
* Integration of the Spine Runtimes into software or otherwise creating
|
||||||
* derivative works of the Spine Runtimes is permitted under the terms and
|
* derivative works of the Spine Runtimes is permitted under the terms and
|
||||||
* conditions of Section 2 of the Spine Editor License Agreement:
|
* conditions of Section 2 of the Spine Editor License Agreement:
|
||||||
* http://esotericsoftware.com/spine-editor-license
|
* http://esotericsoftware.com/spine-editor-license
|
||||||
*
|
*
|
||||||
* Otherwise, it is permitted to integrate the Spine Runtimes into software
|
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
|
||||||
* or otherwise create derivative works of the Spine Runtimes (collectively,
|
* otherwise create derivative works of the Spine Runtimes (collectively,
|
||||||
* "Products"), provided that each user of the Products must obtain their own
|
* "Products"), provided that each user of the Products must obtain their own
|
||||||
* Spine Editor license and redistribution of the Products in any form must
|
* Spine Editor license and redistribution of the Products in any form must
|
||||||
* include this license and copyright notice.
|
* include this license and copyright notice.
|
||||||
@ -23,8 +23,8 @@
|
|||||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
||||||
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
||||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
* 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
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
|
||||||
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
#if UNITY_2019_3_OR_NEWER
|
#if UNITY_2019_3_OR_NEWER
|
||||||
@ -52,7 +52,6 @@ namespace Spine.Unity.Examples {
|
|||||||
[RequireComponent(typeof(SkeletonRenderer))]
|
[RequireComponent(typeof(SkeletonRenderer))]
|
||||||
public class SkeletonRenderTexture : SkeletonRenderTextureBase {
|
public class SkeletonRenderTexture : SkeletonRenderTextureBase {
|
||||||
#if HAS_GET_SHARED_MATERIALS
|
#if HAS_GET_SHARED_MATERIALS
|
||||||
public Material quadMaterial;
|
|
||||||
protected SkeletonRenderer skeletonRenderer;
|
protected SkeletonRenderer skeletonRenderer;
|
||||||
protected MeshRenderer meshRenderer;
|
protected MeshRenderer meshRenderer;
|
||||||
protected MeshFilter meshFilter;
|
protected MeshFilter meshFilter;
|
||||||
@ -73,9 +72,21 @@ namespace Spine.Unity.Examples {
|
|||||||
CreateQuadChild();
|
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 () {
|
void CreateQuadChild () {
|
||||||
quad = new GameObject(this.name + " RenderTexture", typeof(MeshRenderer), typeof(MeshFilter));
|
quad = new GameObject(this.name + " RenderTexture", typeof(MeshRenderer), typeof(MeshFilter));
|
||||||
quad.transform.SetParent(this.transform.parent, false);
|
quad.transform.SetParent(this.transform.parent, false);
|
||||||
|
quad.layer = meshRenderer.gameObject.layer;
|
||||||
quadMeshRenderer = quad.GetComponent<MeshRenderer>();
|
quadMeshRenderer = quad.GetComponent<MeshRenderer>();
|
||||||
quadMeshFilter = quad.GetComponent<MeshFilter>();
|
quadMeshFilter = quad.GetComponent<MeshFilter>();
|
||||||
|
|
||||||
@ -118,6 +129,13 @@ namespace Spine.Unity.Examples {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void RenderOntoQuad (SkeletonRenderer skeletonRenderer) {
|
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();
|
PrepareForMesh();
|
||||||
RenderToRenderTexture();
|
RenderToRenderTexture();
|
||||||
AssignAtQuad();
|
AssignAtQuad();
|
||||||
@ -164,10 +182,16 @@ namespace Spine.Unity.Examples {
|
|||||||
commandBuffer.SetRenderTarget(renderTexture);
|
commandBuffer.SetRenderTarget(renderTexture);
|
||||||
commandBuffer.ClearRenderTarget(true, true, Color.clear);
|
commandBuffer.ClearRenderTarget(true, true, Color.clear);
|
||||||
|
|
||||||
commandBuffer.SetProjectionMatrix(targetCamera.projectionMatrix);
|
|
||||||
commandBuffer.SetViewMatrix(targetCamera.worldToCameraMatrix);
|
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);
|
commandBuffer.SetViewport(viewportRect);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -175,9 +199,11 @@ namespace Spine.Unity.Examples {
|
|||||||
meshRenderer.GetPropertyBlock(propertyBlock);
|
meshRenderer.GetPropertyBlock(propertyBlock);
|
||||||
meshRenderer.GetSharedMaterials(materials);
|
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,
|
commandBuffer.DrawMesh(meshFilter.sharedMesh, transform.localToWorldMatrix,
|
||||||
materials[i], meshRenderer.subMeshStartIndex + i, -1, propertyBlock);
|
materials[i], meshRenderer.subMeshStartIndex + i, shaderPass, propertyBlock);
|
||||||
|
}
|
||||||
Graphics.ExecuteCommandBuffer(commandBuffer);
|
Graphics.ExecuteCommandBuffer(commandBuffer);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -186,6 +212,10 @@ namespace Spine.Unity.Examples {
|
|||||||
quadMeshRenderer.sharedMaterial.mainTexture = this.renderTexture;
|
quadMeshRenderer.sharedMaterial.mainTexture = this.renderTexture;
|
||||||
quadMeshRenderer.sharedMaterial.color = color;
|
quadMeshRenderer.sharedMaterial.color = color;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected void AssignNullMeshAtQuad () {
|
||||||
|
quadMeshFilter.mesh = null;
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,16 +1,16 @@
|
|||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* Spine Runtimes License Agreement
|
* 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
|
* Integration of the Spine Runtimes into software or otherwise creating
|
||||||
* derivative works of the Spine Runtimes is permitted under the terms and
|
* derivative works of the Spine Runtimes is permitted under the terms and
|
||||||
* conditions of Section 2 of the Spine Editor License Agreement:
|
* conditions of Section 2 of the Spine Editor License Agreement:
|
||||||
* http://esotericsoftware.com/spine-editor-license
|
* http://esotericsoftware.com/spine-editor-license
|
||||||
*
|
*
|
||||||
* Otherwise, it is permitted to integrate the Spine Runtimes into software
|
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
|
||||||
* or otherwise create derivative works of the Spine Runtimes (collectively,
|
* otherwise create derivative works of the Spine Runtimes (collectively,
|
||||||
* "Products"), provided that each user of the Products must obtain their own
|
* "Products"), provided that each user of the Products must obtain their own
|
||||||
* Spine Editor license and redistribution of the Products in any form must
|
* Spine Editor license and redistribution of the Products in any form must
|
||||||
* include this license and copyright notice.
|
* include this license and copyright notice.
|
||||||
@ -23,8 +23,8 @@
|
|||||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
||||||
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
||||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
* 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
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
|
||||||
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
#if UNITY_2017_2_OR_NEWER
|
#if UNITY_2017_2_OR_NEWER
|
||||||
@ -42,9 +42,14 @@ namespace Spine.Unity.Examples {
|
|||||||
public Color color = Color.white;
|
public Color color = Color.white;
|
||||||
public int maxRenderTextureSize = 1024;
|
public int maxRenderTextureSize = 1024;
|
||||||
public GameObject quad;
|
public GameObject quad;
|
||||||
|
public Material quadMaterial;
|
||||||
protected Mesh quadMesh;
|
protected Mesh quadMesh;
|
||||||
public RenderTexture renderTexture;
|
public RenderTexture renderTexture;
|
||||||
public Camera targetCamera;
|
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 CommandBuffer commandBuffer;
|
||||||
protected Vector2Int screenSize;
|
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 () {
|
protected void AssignAtQuad () {
|
||||||
Transform quadTransform = quad.transform;
|
Transform quadTransform = quad.transform;
|
||||||
quadTransform.position = this.transform.position;
|
quadTransform.position = this.transform.position;
|
||||||
|
|||||||
@ -1,16 +1,16 @@
|
|||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* Spine Runtimes License Agreement
|
* 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
|
* Integration of the Spine Runtimes into software or otherwise creating
|
||||||
* derivative works of the Spine Runtimes is permitted under the terms and
|
* derivative works of the Spine Runtimes is permitted under the terms and
|
||||||
* conditions of Section 2 of the Spine Editor License Agreement:
|
* conditions of Section 2 of the Spine Editor License Agreement:
|
||||||
* http://esotericsoftware.com/spine-editor-license
|
* http://esotericsoftware.com/spine-editor-license
|
||||||
*
|
*
|
||||||
* Otherwise, it is permitted to integrate the Spine Runtimes into software
|
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
|
||||||
* or otherwise create derivative works of the Spine Runtimes (collectively,
|
* otherwise create derivative works of the Spine Runtimes (collectively,
|
||||||
* "Products"), provided that each user of the Products must obtain their own
|
* "Products"), provided that each user of the Products must obtain their own
|
||||||
* Spine Editor license and redistribution of the Products in any form must
|
* Spine Editor license and redistribution of the Products in any form must
|
||||||
* include this license and copyright notice.
|
* include this license and copyright notice.
|
||||||
@ -23,8 +23,8 @@
|
|||||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
||||||
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
||||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
* 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
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
|
||||||
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
#if UNITY_2019_3_OR_NEWER
|
#if UNITY_2019_3_OR_NEWER
|
||||||
|
|||||||
@ -1,16 +1,16 @@
|
|||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* Spine Runtimes License Agreement
|
* 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
|
* Integration of the Spine Runtimes into software or otherwise creating
|
||||||
* derivative works of the Spine Runtimes is permitted under the terms and
|
* derivative works of the Spine Runtimes is permitted under the terms and
|
||||||
* conditions of Section 2 of the Spine Editor License Agreement:
|
* conditions of Section 2 of the Spine Editor License Agreement:
|
||||||
* http://esotericsoftware.com/spine-editor-license
|
* http://esotericsoftware.com/spine-editor-license
|
||||||
*
|
*
|
||||||
* Otherwise, it is permitted to integrate the Spine Runtimes into software
|
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
|
||||||
* or otherwise create derivative works of the Spine Runtimes (collectively,
|
* otherwise create derivative works of the Spine Runtimes (collectively,
|
||||||
* "Products"), provided that each user of the Products must obtain their own
|
* "Products"), provided that each user of the Products must obtain their own
|
||||||
* Spine Editor license and redistribution of the Products in any form must
|
* Spine Editor license and redistribution of the Products in any form must
|
||||||
* include this license and copyright notice.
|
* include this license and copyright notice.
|
||||||
@ -23,8 +23,8 @@
|
|||||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
||||||
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
||||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
* 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
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
|
||||||
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
// Contributed by: Mitch Thompson
|
// Contributed by: Mitch Thompson
|
||||||
|
|||||||
@ -1,16 +1,16 @@
|
|||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* Spine Runtimes License Agreement
|
* 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
|
* Integration of the Spine Runtimes into software or otherwise creating
|
||||||
* derivative works of the Spine Runtimes is permitted under the terms and
|
* derivative works of the Spine Runtimes is permitted under the terms and
|
||||||
* conditions of Section 2 of the Spine Editor License Agreement:
|
* conditions of Section 2 of the Spine Editor License Agreement:
|
||||||
* http://esotericsoftware.com/spine-editor-license
|
* http://esotericsoftware.com/spine-editor-license
|
||||||
*
|
*
|
||||||
* Otherwise, it is permitted to integrate the Spine Runtimes into software
|
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
|
||||||
* or otherwise create derivative works of the Spine Runtimes (collectively,
|
* otherwise create derivative works of the Spine Runtimes (collectively,
|
||||||
* "Products"), provided that each user of the Products must obtain their own
|
* "Products"), provided that each user of the Products must obtain their own
|
||||||
* Spine Editor license and redistribution of the Products in any form must
|
* Spine Editor license and redistribution of the Products in any form must
|
||||||
* include this license and copyright notice.
|
* include this license and copyright notice.
|
||||||
@ -23,8 +23,8 @@
|
|||||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
||||||
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
||||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
* 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
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
|
||||||
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
// Contributed by: Mitch Thompson
|
// Contributed by: Mitch Thompson
|
||||||
|
|||||||
@ -1,16 +1,16 @@
|
|||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* Spine Runtimes License Agreement
|
* 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
|
* Integration of the Spine Runtimes into software or otherwise creating
|
||||||
* derivative works of the Spine Runtimes is permitted under the terms and
|
* derivative works of the Spine Runtimes is permitted under the terms and
|
||||||
* conditions of Section 2 of the Spine Editor License Agreement:
|
* conditions of Section 2 of the Spine Editor License Agreement:
|
||||||
* http://esotericsoftware.com/spine-editor-license
|
* http://esotericsoftware.com/spine-editor-license
|
||||||
*
|
*
|
||||||
* Otherwise, it is permitted to integrate the Spine Runtimes into software
|
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
|
||||||
* or otherwise create derivative works of the Spine Runtimes (collectively,
|
* otherwise create derivative works of the Spine Runtimes (collectively,
|
||||||
* "Products"), provided that each user of the Products must obtain their own
|
* "Products"), provided that each user of the Products must obtain their own
|
||||||
* Spine Editor license and redistribution of the Products in any form must
|
* Spine Editor license and redistribution of the Products in any form must
|
||||||
* include this license and copyright notice.
|
* include this license and copyright notice.
|
||||||
@ -23,8 +23,8 @@
|
|||||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
||||||
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
||||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
* 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
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
|
||||||
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
// Contributed by: Mitch Thompson
|
// Contributed by: Mitch Thompson
|
||||||
@ -269,7 +269,7 @@ namespace Spine.Unity.Examples {
|
|||||||
t.position -= offset;
|
t.position -= offset;
|
||||||
|
|
||||||
UpdateSpineSkeleton(null);
|
UpdateSpineSkeleton(null);
|
||||||
skeleton.UpdateWorldTransform();
|
skeleton.UpdateWorldTransform(Skeleton.Physics.Update);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>Removes the ragdoll instance and effect from the animated skeleton.</summary>
|
/// <summary>Removes the ragdoll instance and effect from the animated skeleton.</summary>
|
||||||
|
|||||||
@ -1,16 +1,16 @@
|
|||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* Spine Runtimes License Agreement
|
* 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
|
* Integration of the Spine Runtimes into software or otherwise creating
|
||||||
* derivative works of the Spine Runtimes is permitted under the terms and
|
* derivative works of the Spine Runtimes is permitted under the terms and
|
||||||
* conditions of Section 2 of the Spine Editor License Agreement:
|
* conditions of Section 2 of the Spine Editor License Agreement:
|
||||||
* http://esotericsoftware.com/spine-editor-license
|
* http://esotericsoftware.com/spine-editor-license
|
||||||
*
|
*
|
||||||
* Otherwise, it is permitted to integrate the Spine Runtimes into software
|
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
|
||||||
* or otherwise create derivative works of the Spine Runtimes (collectively,
|
* otherwise create derivative works of the Spine Runtimes (collectively,
|
||||||
* "Products"), provided that each user of the Products must obtain their own
|
* "Products"), provided that each user of the Products must obtain their own
|
||||||
* Spine Editor license and redistribution of the Products in any form must
|
* Spine Editor license and redistribution of the Products in any form must
|
||||||
* include this license and copyright notice.
|
* include this license and copyright notice.
|
||||||
@ -23,8 +23,8 @@
|
|||||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
||||||
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
||||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
* 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
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
|
||||||
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
// Contributed by: Mitch Thompson
|
// Contributed by: Mitch Thompson
|
||||||
@ -281,7 +281,7 @@ namespace Spine.Unity.Examples {
|
|||||||
t.position -= offset;
|
t.position -= offset;
|
||||||
|
|
||||||
UpdateSpineSkeleton(null);
|
UpdateSpineSkeleton(null);
|
||||||
skeleton.UpdateWorldTransform();
|
skeleton.UpdateWorldTransform(Skeleton.Physics.Update);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>Removes the ragdoll instance and effect from the animated skeleton.</summary>
|
/// <summary>Removes the ragdoll instance and effect from the animated skeleton.</summary>
|
||||||
|
|||||||
@ -1,16 +1,16 @@
|
|||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* Spine Runtimes License Agreement
|
* 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
|
* Integration of the Spine Runtimes into software or otherwise creating
|
||||||
* derivative works of the Spine Runtimes is permitted under the terms and
|
* derivative works of the Spine Runtimes is permitted under the terms and
|
||||||
* conditions of Section 2 of the Spine Editor License Agreement:
|
* conditions of Section 2 of the Spine Editor License Agreement:
|
||||||
* http://esotericsoftware.com/spine-editor-license
|
* http://esotericsoftware.com/spine-editor-license
|
||||||
*
|
*
|
||||||
* Otherwise, it is permitted to integrate the Spine Runtimes into software
|
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
|
||||||
* or otherwise create derivative works of the Spine Runtimes (collectively,
|
* otherwise create derivative works of the Spine Runtimes (collectively,
|
||||||
* "Products"), provided that each user of the Products must obtain their own
|
* "Products"), provided that each user of the Products must obtain their own
|
||||||
* Spine Editor license and redistribution of the Products in any form must
|
* Spine Editor license and redistribution of the Products in any form must
|
||||||
* include this license and copyright notice.
|
* include this license and copyright notice.
|
||||||
@ -23,8 +23,8 @@
|
|||||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
||||||
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
||||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
* 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
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
|
||||||
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
using System.Collections;
|
using System.Collections;
|
||||||
|
|||||||
@ -1,16 +1,16 @@
|
|||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* Spine Runtimes License Agreement
|
* 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
|
* Integration of the Spine Runtimes into software or otherwise creating
|
||||||
* derivative works of the Spine Runtimes is permitted under the terms and
|
* derivative works of the Spine Runtimes is permitted under the terms and
|
||||||
* conditions of Section 2 of the Spine Editor License Agreement:
|
* conditions of Section 2 of the Spine Editor License Agreement:
|
||||||
* http://esotericsoftware.com/spine-editor-license
|
* http://esotericsoftware.com/spine-editor-license
|
||||||
*
|
*
|
||||||
* Otherwise, it is permitted to integrate the Spine Runtimes into software
|
* Otherwise, it is permitted to integrate the Spine Runtimes into software or
|
||||||
* or otherwise create derivative works of the Spine Runtimes (collectively,
|
* otherwise create derivative works of the Spine Runtimes (collectively,
|
||||||
* "Products"), provided that each user of the Products must obtain their own
|
* "Products"), provided that each user of the Products must obtain their own
|
||||||
* Spine Editor license and redistribution of the Products in any form must
|
* Spine Editor license and redistribution of the Products in any form must
|
||||||
* include this license and copyright notice.
|
* include this license and copyright notice.
|
||||||
@ -23,8 +23,8 @@
|
|||||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
||||||
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
||||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
* 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
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
|
||||||
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
#if UNITY_2018_3 || UNITY_2019 || UNITY_2018_3_OR_NEWER
|
#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
Loading…
x
Reference in New Issue
Block a user