├── .gitignore
├── LICENSE
├── ccc.py
├── ccc_graph.py
├── readme.md
├── requirements.txt
├── test.py
├── test_project.jpg
└── test_project
├── .gitignore
├── assets
├── KdPrefab.js
├── KdPrefab.js.meta
├── aa.prefab
├── aa.prefab.meta
├── icon1.png
├── icon1.png.meta
├── test2.fire
├── test2.fire.meta
├── testcases.meta
└── testcases
│ ├── cr1_cr2_cr3.meta
│ ├── cr1_cr2_cr3
│ ├── p1.prefab
│ ├── p1.prefab.meta
│ ├── p2.prefab
│ ├── p2.prefab.meta
│ ├── p3.prefab
│ ├── p3.prefab.meta
│ ├── p4.prefab
│ ├── p4.prefab.meta
│ ├── s1.fire
│ ├── s1.fire.meta
│ ├── s2.fire
│ ├── s2.fire.meta
│ ├── s3.fire
│ ├── s3.fire.meta
│ ├── s4.fire
│ └── s4.fire.meta
│ ├── nested.meta
│ ├── nested
│ ├── p1.prefab
│ ├── p1.prefab.meta
│ ├── p2.prefab
│ ├── p2.prefab.meta
│ ├── s1.fire
│ └── s1.fire.meta
│ ├── ss1.meta
│ ├── ss1
│ ├── p1.prefab
│ ├── p1.prefab.meta
│ ├── p2.prefab
│ ├── p2.prefab.meta
│ ├── s1.fire
│ └── s1.fire.meta
│ ├── ss2.meta
│ ├── ss2
│ ├── p1.prefab
│ ├── p1.prefab.meta
│ ├── s1.fire
│ └── s1.fire.meta
│ ├── ss3.meta
│ ├── ss3
│ ├── p1.prefab
│ ├── p1.prefab.meta
│ ├── p2.prefab
│ ├── p2.prefab.meta
│ ├── p3.prefab
│ ├── p3.prefab.meta
│ ├── s1.fire
│ └── s1.fire.meta
│ ├── ss4.meta
│ ├── ss4
│ ├── a.prefab
│ ├── a.prefab.meta
│ ├── s1.fire
│ └── s1.fire.meta
│ ├── ss5.meta
│ └── ss5
│ ├── a1.prefab
│ ├── a1.prefab.meta
│ ├── s1.fire
│ └── s1.fire.meta
├── ccc_helper.yaml
├── jsconfig.json
├── project.json
└── settings
└── project.json
/.gitignore:
--------------------------------------------------------------------------------
1 | /.idea
2 | /*.pyc
3 | **/ccc_helper_backup
4 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | GNU GENERAL PUBLIC LICENSE
2 | Version 3, 29 June 2007
3 |
4 | Copyright (C) 2007 Free Software Foundation, Inc.
5 | Everyone is permitted to copy and distribute verbatim copies
6 | of this license document, but changing it is not allowed.
7 |
8 | Preamble
9 |
10 | The GNU General Public License is a free, copyleft license for
11 | software and other kinds of works.
12 |
13 | The licenses for most software and other practical works are designed
14 | to take away your freedom to share and change the works. By contrast,
15 | the GNU General Public License is intended to guarantee your freedom to
16 | share and change all versions of a program--to make sure it remains free
17 | software for all its users. We, the Free Software Foundation, use the
18 | GNU General Public License for most of our software; it applies also to
19 | any other work released this way by its authors. You can apply it to
20 | your programs, too.
21 |
22 | When we speak of free software, we are referring to freedom, not
23 | price. Our General Public Licenses are designed to make sure that you
24 | have the freedom to distribute copies of free software (and charge for
25 | them if you wish), that you receive source code or can get it if you
26 | want it, that you can change the software or use pieces of it in new
27 | free programs, and that you know you can do these things.
28 |
29 | To protect your rights, we need to prevent others from denying you
30 | these rights or asking you to surrender the rights. Therefore, you have
31 | certain responsibilities if you distribute copies of the software, or if
32 | you modify it: responsibilities to respect the freedom of others.
33 |
34 | For example, if you distribute copies of such a program, whether
35 | gratis or for a fee, you must pass on to the recipients the same
36 | freedoms that you received. You must make sure that they, too, receive
37 | or can get the source code. And you must show them these terms so they
38 | know their rights.
39 |
40 | Developers that use the GNU GPL protect your rights with two steps:
41 | (1) assert copyright on the software, and (2) offer you this License
42 | giving you legal permission to copy, distribute and/or modify it.
43 |
44 | For the developers' and authors' protection, the GPL clearly explains
45 | that there is no warranty for this free software. For both users' and
46 | authors' sake, the GPL requires that modified versions be marked as
47 | changed, so that their problems will not be attributed erroneously to
48 | authors of previous versions.
49 |
50 | Some devices are designed to deny users access to install or run
51 | modified versions of the software inside them, although the manufacturer
52 | can do so. This is fundamentally incompatible with the aim of
53 | protecting users' freedom to change the software. The systematic
54 | pattern of such abuse occurs in the area of products for individuals to
55 | use, which is precisely where it is most unacceptable. Therefore, we
56 | have designed this version of the GPL to prohibit the practice for those
57 | products. If such problems arise substantially in other domains, we
58 | stand ready to extend this provision to those domains in future versions
59 | of the GPL, as needed to protect the freedom of users.
60 |
61 | Finally, every program is threatened constantly by software patents.
62 | States should not allow patents to restrict development and use of
63 | software on general-purpose computers, but in those that do, we wish to
64 | avoid the special danger that patents applied to a free program could
65 | make it effectively proprietary. To prevent this, the GPL assures that
66 | patents cannot be used to render the program non-free.
67 |
68 | The precise terms and conditions for copying, distribution and
69 | modification follow.
70 |
71 | TERMS AND CONDITIONS
72 |
73 | 0. Definitions.
74 |
75 | "This License" refers to version 3 of the GNU General Public License.
76 |
77 | "Copyright" also means copyright-like laws that apply to other kinds of
78 | works, such as semiconductor masks.
79 |
80 | "The Program" refers to any copyrightable work licensed under this
81 | License. Each licensee is addressed as "you". "Licensees" and
82 | "recipients" may be individuals or organizations.
83 |
84 | To "modify" a work means to copy from or adapt all or part of the work
85 | in a fashion requiring copyright permission, other than the making of an
86 | exact copy. The resulting work is called a "modified version" of the
87 | earlier work or a work "based on" the earlier work.
88 |
89 | A "covered work" means either the unmodified Program or a work based
90 | on the Program.
91 |
92 | To "propagate" a work means to do anything with it that, without
93 | permission, would make you directly or secondarily liable for
94 | infringement under applicable copyright law, except executing it on a
95 | computer or modifying a private copy. Propagation includes copying,
96 | distribution (with or without modification), making available to the
97 | public, and in some countries other activities as well.
98 |
99 | To "convey" a work means any kind of propagation that enables other
100 | parties to make or receive copies. Mere interaction with a user through
101 | a computer network, with no transfer of a copy, is not conveying.
102 |
103 | An interactive user interface displays "Appropriate Legal Notices"
104 | to the extent that it includes a convenient and prominently visible
105 | feature that (1) displays an appropriate copyright notice, and (2)
106 | tells the user that there is no warranty for the work (except to the
107 | extent that warranties are provided), that licensees may convey the
108 | work under this License, and how to view a copy of this License. If
109 | the interface presents a list of user commands or options, such as a
110 | menu, a prominent item in the list meets this criterion.
111 |
112 | 1. Source Code.
113 |
114 | The "source code" for a work means the preferred form of the work
115 | for making modifications to it. "Object code" means any non-source
116 | form of a work.
117 |
118 | A "Standard Interface" means an interface that either is an official
119 | standard defined by a recognized standards body, or, in the case of
120 | interfaces specified for a particular programming language, one that
121 | is widely used among developers working in that language.
122 |
123 | The "System Libraries" of an executable work include anything, other
124 | than the work as a whole, that (a) is included in the normal form of
125 | packaging a Major Component, but which is not part of that Major
126 | Component, and (b) serves only to enable use of the work with that
127 | Major Component, or to implement a Standard Interface for which an
128 | implementation is available to the public in source code form. A
129 | "Major Component", in this context, means a major essential component
130 | (kernel, window system, and so on) of the specific operating system
131 | (if any) on which the executable work runs, or a compiler used to
132 | produce the work, or an object code interpreter used to run it.
133 |
134 | The "Corresponding Source" for a work in object code form means all
135 | the source code needed to generate, install, and (for an executable
136 | work) run the object code and to modify the work, including scripts to
137 | control those activities. However, it does not include the work's
138 | System Libraries, or general-purpose tools or generally available free
139 | programs which are used unmodified in performing those activities but
140 | which are not part of the work. For example, Corresponding Source
141 | includes interface definition files associated with source files for
142 | the work, and the source code for shared libraries and dynamically
143 | linked subprograms that the work is specifically designed to require,
144 | such as by intimate data communication or control flow between those
145 | subprograms and other parts of the work.
146 |
147 | The Corresponding Source need not include anything that users
148 | can regenerate automatically from other parts of the Corresponding
149 | Source.
150 |
151 | The Corresponding Source for a work in source code form is that
152 | same work.
153 |
154 | 2. Basic Permissions.
155 |
156 | All rights granted under this License are granted for the term of
157 | copyright on the Program, and are irrevocable provided the stated
158 | conditions are met. This License explicitly affirms your unlimited
159 | permission to run the unmodified Program. The output from running a
160 | covered work is covered by this License only if the output, given its
161 | content, constitutes a covered work. This License acknowledges your
162 | rights of fair use or other equivalent, as provided by copyright law.
163 |
164 | You may make, run and propagate covered works that you do not
165 | convey, without conditions so long as your license otherwise remains
166 | in force. You may convey covered works to others for the sole purpose
167 | of having them make modifications exclusively for you, or provide you
168 | with facilities for running those works, provided that you comply with
169 | the terms of this License in conveying all material for which you do
170 | not control copyright. Those thus making or running the covered works
171 | for you must do so exclusively on your behalf, under your direction
172 | and control, on terms that prohibit them from making any copies of
173 | your copyrighted material outside their relationship with you.
174 |
175 | Conveying under any other circumstances is permitted solely under
176 | the conditions stated below. Sublicensing is not allowed; section 10
177 | makes it unnecessary.
178 |
179 | 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
180 |
181 | No covered work shall be deemed part of an effective technological
182 | measure under any applicable law fulfilling obligations under article
183 | 11 of the WIPO copyright treaty adopted on 20 December 1996, or
184 | similar laws prohibiting or restricting circumvention of such
185 | measures.
186 |
187 | When you convey a covered work, you waive any legal power to forbid
188 | circumvention of technological measures to the extent such circumvention
189 | is effected by exercising rights under this License with respect to
190 | the covered work, and you disclaim any intention to limit operation or
191 | modification of the work as a means of enforcing, against the work's
192 | users, your or third parties' legal rights to forbid circumvention of
193 | technological measures.
194 |
195 | 4. Conveying Verbatim Copies.
196 |
197 | You may convey verbatim copies of the Program's source code as you
198 | receive it, in any medium, provided that you conspicuously and
199 | appropriately publish on each copy an appropriate copyright notice;
200 | keep intact all notices stating that this License and any
201 | non-permissive terms added in accord with section 7 apply to the code;
202 | keep intact all notices of the absence of any warranty; and give all
203 | recipients a copy of this License along with the Program.
204 |
205 | You may charge any price or no price for each copy that you convey,
206 | and you may offer support or warranty protection for a fee.
207 |
208 | 5. Conveying Modified Source Versions.
209 |
210 | You may convey a work based on the Program, or the modifications to
211 | produce it from the Program, in the form of source code under the
212 | terms of section 4, provided that you also meet all of these conditions:
213 |
214 | a) The work must carry prominent notices stating that you modified
215 | it, and giving a relevant date.
216 |
217 | b) The work must carry prominent notices stating that it is
218 | released under this License and any conditions added under section
219 | 7. This requirement modifies the requirement in section 4 to
220 | "keep intact all notices".
221 |
222 | c) You must license the entire work, as a whole, under this
223 | License to anyone who comes into possession of a copy. This
224 | License will therefore apply, along with any applicable section 7
225 | additional terms, to the whole of the work, and all its parts,
226 | regardless of how they are packaged. This License gives no
227 | permission to license the work in any other way, but it does not
228 | invalidate such permission if you have separately received it.
229 |
230 | d) If the work has interactive user interfaces, each must display
231 | Appropriate Legal Notices; however, if the Program has interactive
232 | interfaces that do not display Appropriate Legal Notices, your
233 | work need not make them do so.
234 |
235 | A compilation of a covered work with other separate and independent
236 | works, which are not by their nature extensions of the covered work,
237 | and which are not combined with it such as to form a larger program,
238 | in or on a volume of a storage or distribution medium, is called an
239 | "aggregate" if the compilation and its resulting copyright are not
240 | used to limit the access or legal rights of the compilation's users
241 | beyond what the individual works permit. Inclusion of a covered work
242 | in an aggregate does not cause this License to apply to the other
243 | parts of the aggregate.
244 |
245 | 6. Conveying Non-Source Forms.
246 |
247 | You may convey a covered work in object code form under the terms
248 | of sections 4 and 5, provided that you also convey the
249 | machine-readable Corresponding Source under the terms of this License,
250 | in one of these ways:
251 |
252 | a) Convey the object code in, or embodied in, a physical product
253 | (including a physical distribution medium), accompanied by the
254 | Corresponding Source fixed on a durable physical medium
255 | customarily used for software interchange.
256 |
257 | b) Convey the object code in, or embodied in, a physical product
258 | (including a physical distribution medium), accompanied by a
259 | written offer, valid for at least three years and valid for as
260 | long as you offer spare parts or customer support for that product
261 | model, to give anyone who possesses the object code either (1) a
262 | copy of the Corresponding Source for all the software in the
263 | product that is covered by this License, on a durable physical
264 | medium customarily used for software interchange, for a price no
265 | more than your reasonable cost of physically performing this
266 | conveying of source, or (2) access to copy the
267 | Corresponding Source from a network server at no charge.
268 |
269 | c) Convey individual copies of the object code with a copy of the
270 | written offer to provide the Corresponding Source. This
271 | alternative is allowed only occasionally and noncommercially, and
272 | only if you received the object code with such an offer, in accord
273 | with subsection 6b.
274 |
275 | d) Convey the object code by offering access from a designated
276 | place (gratis or for a charge), and offer equivalent access to the
277 | Corresponding Source in the same way through the same place at no
278 | further charge. You need not require recipients to copy the
279 | Corresponding Source along with the object code. If the place to
280 | copy the object code is a network server, the Corresponding Source
281 | may be on a different server (operated by you or a third party)
282 | that supports equivalent copying facilities, provided you maintain
283 | clear directions next to the object code saying where to find the
284 | Corresponding Source. Regardless of what server hosts the
285 | Corresponding Source, you remain obligated to ensure that it is
286 | available for as long as needed to satisfy these requirements.
287 |
288 | e) Convey the object code using peer-to-peer transmission, provided
289 | you inform other peers where the object code and Corresponding
290 | Source of the work are being offered to the general public at no
291 | charge under subsection 6d.
292 |
293 | A separable portion of the object code, whose source code is excluded
294 | from the Corresponding Source as a System Library, need not be
295 | included in conveying the object code work.
296 |
297 | A "User Product" is either (1) a "consumer product", which means any
298 | tangible personal property which is normally used for personal, family,
299 | or household purposes, or (2) anything designed or sold for incorporation
300 | into a dwelling. In determining whether a product is a consumer product,
301 | doubtful cases shall be resolved in favor of coverage. For a particular
302 | product received by a particular user, "normally used" refers to a
303 | typical or common use of that class of product, regardless of the status
304 | of the particular user or of the way in which the particular user
305 | actually uses, or expects or is expected to use, the product. A product
306 | is a consumer product regardless of whether the product has substantial
307 | commercial, industrial or non-consumer uses, unless such uses represent
308 | the only significant mode of use of the product.
309 |
310 | "Installation Information" for a User Product means any methods,
311 | procedures, authorization keys, or other information required to install
312 | and execute modified versions of a covered work in that User Product from
313 | a modified version of its Corresponding Source. The information must
314 | suffice to ensure that the continued functioning of the modified object
315 | code is in no case prevented or interfered with solely because
316 | modification has been made.
317 |
318 | If you convey an object code work under this section in, or with, or
319 | specifically for use in, a User Product, and the conveying occurs as
320 | part of a transaction in which the right of possession and use of the
321 | User Product is transferred to the recipient in perpetuity or for a
322 | fixed term (regardless of how the transaction is characterized), the
323 | Corresponding Source conveyed under this section must be accompanied
324 | by the Installation Information. But this requirement does not apply
325 | if neither you nor any third party retains the ability to install
326 | modified object code on the User Product (for example, the work has
327 | been installed in ROM).
328 |
329 | The requirement to provide Installation Information does not include a
330 | requirement to continue to provide support service, warranty, or updates
331 | for a work that has been modified or installed by the recipient, or for
332 | the User Product in which it has been modified or installed. Access to a
333 | network may be denied when the modification itself materially and
334 | adversely affects the operation of the network or violates the rules and
335 | protocols for communication across the network.
336 |
337 | Corresponding Source conveyed, and Installation Information provided,
338 | in accord with this section must be in a format that is publicly
339 | documented (and with an implementation available to the public in
340 | source code form), and must require no special password or key for
341 | unpacking, reading or copying.
342 |
343 | 7. Additional Terms.
344 |
345 | "Additional permissions" are terms that supplement the terms of this
346 | License by making exceptions from one or more of its conditions.
347 | Additional permissions that are applicable to the entire Program shall
348 | be treated as though they were included in this License, to the extent
349 | that they are valid under applicable law. If additional permissions
350 | apply only to part of the Program, that part may be used separately
351 | under those permissions, but the entire Program remains governed by
352 | this License without regard to the additional permissions.
353 |
354 | When you convey a copy of a covered work, you may at your option
355 | remove any additional permissions from that copy, or from any part of
356 | it. (Additional permissions may be written to require their own
357 | removal in certain cases when you modify the work.) You may place
358 | additional permissions on material, added by you to a covered work,
359 | for which you have or can give appropriate copyright permission.
360 |
361 | Notwithstanding any other provision of this License, for material you
362 | add to a covered work, you may (if authorized by the copyright holders of
363 | that material) supplement the terms of this License with terms:
364 |
365 | a) Disclaiming warranty or limiting liability differently from the
366 | terms of sections 15 and 16 of this License; or
367 |
368 | b) Requiring preservation of specified reasonable legal notices or
369 | author attributions in that material or in the Appropriate Legal
370 | Notices displayed by works containing it; or
371 |
372 | c) Prohibiting misrepresentation of the origin of that material, or
373 | requiring that modified versions of such material be marked in
374 | reasonable ways as different from the original version; or
375 |
376 | d) Limiting the use for publicity purposes of names of licensors or
377 | authors of the material; or
378 |
379 | e) Declining to grant rights under trademark law for use of some
380 | trade names, trademarks, or service marks; or
381 |
382 | f) Requiring indemnification of licensors and authors of that
383 | material by anyone who conveys the material (or modified versions of
384 | it) with contractual assumptions of liability to the recipient, for
385 | any liability that these contractual assumptions directly impose on
386 | those licensors and authors.
387 |
388 | All other non-permissive additional terms are considered "further
389 | restrictions" within the meaning of section 10. If the Program as you
390 | received it, or any part of it, contains a notice stating that it is
391 | governed by this License along with a term that is a further
392 | restriction, you may remove that term. If a license document contains
393 | a further restriction but permits relicensing or conveying under this
394 | License, you may add to a covered work material governed by the terms
395 | of that license document, provided that the further restriction does
396 | not survive such relicensing or conveying.
397 |
398 | If you add terms to a covered work in accord with this section, you
399 | must place, in the relevant source files, a statement of the
400 | additional terms that apply to those files, or a notice indicating
401 | where to find the applicable terms.
402 |
403 | Additional terms, permissive or non-permissive, may be stated in the
404 | form of a separately written license, or stated as exceptions;
405 | the above requirements apply either way.
406 |
407 | 8. Termination.
408 |
409 | You may not propagate or modify a covered work except as expressly
410 | provided under this License. Any attempt otherwise to propagate or
411 | modify it is void, and will automatically terminate your rights under
412 | this License (including any patent licenses granted under the third
413 | paragraph of section 11).
414 |
415 | However, if you cease all violation of this License, then your
416 | license from a particular copyright holder is reinstated (a)
417 | provisionally, unless and until the copyright holder explicitly and
418 | finally terminates your license, and (b) permanently, if the copyright
419 | holder fails to notify you of the violation by some reasonable means
420 | prior to 60 days after the cessation.
421 |
422 | Moreover, your license from a particular copyright holder is
423 | reinstated permanently if the copyright holder notifies you of the
424 | violation by some reasonable means, this is the first time you have
425 | received notice of violation of this License (for any work) from that
426 | copyright holder, and you cure the violation prior to 30 days after
427 | your receipt of the notice.
428 |
429 | Termination of your rights under this section does not terminate the
430 | licenses of parties who have received copies or rights from you under
431 | this License. If your rights have been terminated and not permanently
432 | reinstated, you do not qualify to receive new licenses for the same
433 | material under section 10.
434 |
435 | 9. Acceptance Not Required for Having Copies.
436 |
437 | You are not required to accept this License in order to receive or
438 | run a copy of the Program. Ancillary propagation of a covered work
439 | occurring solely as a consequence of using peer-to-peer transmission
440 | to receive a copy likewise does not require acceptance. However,
441 | nothing other than this License grants you permission to propagate or
442 | modify any covered work. These actions infringe copyright if you do
443 | not accept this License. Therefore, by modifying or propagating a
444 | covered work, you indicate your acceptance of this License to do so.
445 |
446 | 10. Automatic Licensing of Downstream Recipients.
447 |
448 | Each time you convey a covered work, the recipient automatically
449 | receives a license from the original licensors, to run, modify and
450 | propagate that work, subject to this License. You are not responsible
451 | for enforcing compliance by third parties with this License.
452 |
453 | An "entity transaction" is a transaction transferring control of an
454 | organization, or substantially all assets of one, or subdividing an
455 | organization, or merging organizations. If propagation of a covered
456 | work results from an entity transaction, each party to that
457 | transaction who receives a copy of the work also receives whatever
458 | licenses to the work the party's predecessor in interest had or could
459 | give under the previous paragraph, plus a right to possession of the
460 | Corresponding Source of the work from the predecessor in interest, if
461 | the predecessor has it or can get it with reasonable efforts.
462 |
463 | You may not impose any further restrictions on the exercise of the
464 | rights granted or affirmed under this License. For example, you may
465 | not impose a license fee, royalty, or other charge for exercise of
466 | rights granted under this License, and you may not initiate litigation
467 | (including a cross-claim or counterclaim in a lawsuit) alleging that
468 | any patent claim is infringed by making, using, selling, offering for
469 | sale, or importing the Program or any portion of it.
470 |
471 | 11. Patents.
472 |
473 | A "contributor" is a copyright holder who authorizes use under this
474 | License of the Program or a work on which the Program is based. The
475 | work thus licensed is called the contributor's "contributor version".
476 |
477 | A contributor's "essential patent claims" are all patent claims
478 | owned or controlled by the contributor, whether already acquired or
479 | hereafter acquired, that would be infringed by some manner, permitted
480 | by this License, of making, using, or selling its contributor version,
481 | but do not include claims that would be infringed only as a
482 | consequence of further modification of the contributor version. For
483 | purposes of this definition, "control" includes the right to grant
484 | patent sublicenses in a manner consistent with the requirements of
485 | this License.
486 |
487 | Each contributor grants you a non-exclusive, worldwide, royalty-free
488 | patent license under the contributor's essential patent claims, to
489 | make, use, sell, offer for sale, import and otherwise run, modify and
490 | propagate the contents of its contributor version.
491 |
492 | In the following three paragraphs, a "patent license" is any express
493 | agreement or commitment, however denominated, not to enforce a patent
494 | (such as an express permission to practice a patent or covenant not to
495 | sue for patent infringement). To "grant" such a patent license to a
496 | party means to make such an agreement or commitment not to enforce a
497 | patent against the party.
498 |
499 | If you convey a covered work, knowingly relying on a patent license,
500 | and the Corresponding Source of the work is not available for anyone
501 | to copy, free of charge and under the terms of this License, through a
502 | publicly available network server or other readily accessible means,
503 | then you must either (1) cause the Corresponding Source to be so
504 | available, or (2) arrange to deprive yourself of the benefit of the
505 | patent license for this particular work, or (3) arrange, in a manner
506 | consistent with the requirements of this License, to extend the patent
507 | license to downstream recipients. "Knowingly relying" means you have
508 | actual knowledge that, but for the patent license, your conveying the
509 | covered work in a country, or your recipient's use of the covered work
510 | in a country, would infringe one or more identifiable patents in that
511 | country that you have reason to believe are valid.
512 |
513 | If, pursuant to or in connection with a single transaction or
514 | arrangement, you convey, or propagate by procuring conveyance of, a
515 | covered work, and grant a patent license to some of the parties
516 | receiving the covered work authorizing them to use, propagate, modify
517 | or convey a specific copy of the covered work, then the patent license
518 | you grant is automatically extended to all recipients of the covered
519 | work and works based on it.
520 |
521 | A patent license is "discriminatory" if it does not include within
522 | the scope of its coverage, prohibits the exercise of, or is
523 | conditioned on the non-exercise of one or more of the rights that are
524 | specifically granted under this License. You may not convey a covered
525 | work if you are a party to an arrangement with a third party that is
526 | in the business of distributing software, under which you make payment
527 | to the third party based on the extent of your activity of conveying
528 | the work, and under which the third party grants, to any of the
529 | parties who would receive the covered work from you, a discriminatory
530 | patent license (a) in connection with copies of the covered work
531 | conveyed by you (or copies made from those copies), or (b) primarily
532 | for and in connection with specific products or compilations that
533 | contain the covered work, unless you entered into that arrangement,
534 | or that patent license was granted, prior to 28 March 2007.
535 |
536 | Nothing in this License shall be construed as excluding or limiting
537 | any implied license or other defenses to infringement that may
538 | otherwise be available to you under applicable patent law.
539 |
540 | 12. No Surrender of Others' Freedom.
541 |
542 | If conditions are imposed on you (whether by court order, agreement or
543 | otherwise) that contradict the conditions of this License, they do not
544 | excuse you from the conditions of this License. If you cannot convey a
545 | covered work so as to satisfy simultaneously your obligations under this
546 | License and any other pertinent obligations, then as a consequence you may
547 | not convey it at all. For example, if you agree to terms that obligate you
548 | to collect a royalty for further conveying from those to whom you convey
549 | the Program, the only way you could satisfy both those terms and this
550 | License would be to refrain entirely from conveying the Program.
551 |
552 | 13. Use with the GNU Affero General Public License.
553 |
554 | Notwithstanding any other provision of this License, you have
555 | permission to link or combine any covered work with a work licensed
556 | under version 3 of the GNU Affero General Public License into a single
557 | combined work, and to convey the resulting work. The terms of this
558 | License will continue to apply to the part which is the covered work,
559 | but the special requirements of the GNU Affero General Public License,
560 | section 13, concerning interaction through a network will apply to the
561 | combination as such.
562 |
563 | 14. Revised Versions of this License.
564 |
565 | The Free Software Foundation may publish revised and/or new versions of
566 | the GNU General Public License from time to time. Such new versions will
567 | be similar in spirit to the present version, but may differ in detail to
568 | address new problems or concerns.
569 |
570 | Each version is given a distinguishing version number. If the
571 | Program specifies that a certain numbered version of the GNU General
572 | Public License "or any later version" applies to it, you have the
573 | option of following the terms and conditions either of that numbered
574 | version or of any later version published by the Free Software
575 | Foundation. If the Program does not specify a version number of the
576 | GNU General Public License, you may choose any version ever published
577 | by the Free Software Foundation.
578 |
579 | If the Program specifies that a proxy can decide which future
580 | versions of the GNU General Public License can be used, that proxy's
581 | public statement of acceptance of a version permanently authorizes you
582 | to choose that version for the Program.
583 |
584 | Later license versions may give you additional or different
585 | permissions. However, no additional obligations are imposed on any
586 | author or copyright holder as a result of your choosing to follow a
587 | later version.
588 |
589 | 15. Disclaimer of Warranty.
590 |
591 | THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
592 | APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
593 | HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
594 | OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
595 | THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
596 | PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
597 | IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
598 | ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
599 |
600 | 16. Limitation of Liability.
601 |
602 | IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
603 | WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
604 | THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
605 | GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
606 | USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
607 | DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
608 | PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
609 | EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
610 | SUCH DAMAGES.
611 |
612 | 17. Interpretation of Sections 15 and 16.
613 |
614 | If the disclaimer of warranty and limitation of liability provided
615 | above cannot be given local legal effect according to their terms,
616 | reviewing courts shall apply local law that most closely approximates
617 | an absolute waiver of all civil liability in connection with the
618 | Program, unless a warranty or assumption of liability accompanies a
619 | copy of the Program in return for a fee.
620 |
621 | END OF TERMS AND CONDITIONS
622 |
623 | How to Apply These Terms to Your New Programs
624 |
625 | If you develop a new program, and you want it to be of the greatest
626 | possible use to the public, the best way to achieve this is to make it
627 | free software which everyone can redistribute and change under these terms.
628 |
629 | To do so, attach the following notices to the program. It is safest
630 | to attach them to the start of each source file to most effectively
631 | state the exclusion of warranty; and each file should have at least
632 | the "copyright" line and a pointer to where the full notice is found.
633 |
634 | {one line to give the program's name and a brief idea of what it does.}
635 | Copyright (C) {year} {name of author}
636 |
637 | This program is free software: you can redistribute it and/or modify
638 | it under the terms of the GNU General Public License as published by
639 | the Free Software Foundation, either version 3 of the License, or
640 | (at your option) any later version.
641 |
642 | This program is distributed in the hope that it will be useful,
643 | but WITHOUT ANY WARRANTY; without even the implied warranty of
644 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
645 | GNU General Public License for more details.
646 |
647 | You should have received a copy of the GNU General Public License
648 | along with this program. If not, see .
649 |
650 | Also add information on how to contact you by electronic and paper mail.
651 |
652 | If the program does terminal interaction, make it output a short
653 | notice like this when it starts in an interactive mode:
654 |
655 | {project} Copyright (C) {year} {fullname}
656 | This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
657 | This is free software, and you are welcome to redistribute it
658 | under certain conditions; type `show c' for details.
659 |
660 | The hypothetical commands `show w' and `show c' should show the appropriate
661 | parts of the General Public License. Of course, your program's commands
662 | might be different; for a GUI interface, you would use an "about box".
663 |
664 | You should also get your employer (if you work as a programmer) or school,
665 | if any, to sign a "copyright disclaimer" for the program, if necessary.
666 | For more information on this, and how to apply and follow the GNU GPL, see
667 | .
668 |
669 | The GNU General Public License does not permit incorporating your program
670 | into proprietary programs. If your program is a subroutine library, you
671 | may consider it more useful to permit linking proprietary applications with
672 | the library. If this is what you want to do, use the GNU Lesser General
673 | Public License instead of this License. But first, please read
674 | .
--------------------------------------------------------------------------------
/ccc_graph.py:
--------------------------------------------------------------------------------
1 | # coding=utf-8
2 | # Copyright 2014 Timothy Zhang(zt@live.cn).
3 | #
4 | # This file is part of Structer.
5 | #
6 | # Structer is free software: you can redistribute it and/or modify
7 | # it under the terms of the GNU General Public License as published by
8 | # the Free Software Foundation, either version 3 of the License, or
9 | # (at your option) any later version.
10 | #
11 | # Structer is distributed in the hope that it will be useful,
12 | # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | # GNU General Public License for more details.
15 | #
16 | # You should have received a copy of the GNU General Public License
17 | # along with Structer. If not, see .
18 |
19 | import optparse
20 | import os
21 | from ccc import Project, Prefab
22 | import networkx as nx
23 |
24 |
25 | plt = graphviz_layout = pygraphviz = None
26 | # noinspection PyBroadException
27 | try:
28 | import matplotlib.pyplot as plt
29 | except:
30 | print 'matplotlib not found'
31 |
32 | # noinspection PyBroadException
33 | try:
34 | from networkx.drawing.nx_pydot import graphviz_layout
35 | except:
36 | print 'graphviz_layout not found'
37 |
38 |
39 | try:
40 | import pygraphviz
41 | except:
42 | print 'pygraphviz not found'
43 |
44 |
45 | option = None
46 |
47 |
48 | def create_project_graph(project):
49 | """
50 | :param Project project:
51 | :rtype: nx.MultiDiGraph
52 | """
53 | g = nx.MultiDiGraph()
54 | assets = list(project.iterate_assets())
55 | add_assets_to_graph(g, assets)
56 | return g
57 |
58 |
59 | def create_asset_graph(asset):
60 | """
61 | :param Asset asset:
62 | :rtype nx.DiGraph:
63 | """
64 | g = nx.DiGraph()
65 | assets = [asset]
66 | assets += asset.search_referers()
67 | if isinstance(asset, Prefab):
68 | assets += asset.search_referers()
69 |
70 | add_assets_to_graph(g, assets)
71 | return g
72 |
73 |
74 | def add_assets_to_graph(g, assets):
75 | """
76 | :param nx.Graph g:
77 | :param Sequence[Asset] assets:
78 | """
79 | for asset in assets:
80 | if not asset.referers and not asset.referents:
81 | continue
82 |
83 | add_node(g, asset)
84 |
85 | for asset in assets:
86 | if not asset.referers and not asset.referents:
87 | continue
88 |
89 | for ref in asset.referers:
90 | g.add_edge(ref.relative_path, asset.relative_path)
91 |
92 |
93 | def add_node(g, asset):
94 | """
95 | :param nx.Graph g:
96 | :param Asset asset:
97 | """
98 | if isinstance(asset, Prefab):
99 | if not asset.referers:
100 | color = 'purple'
101 | elif not asset.referents:
102 | color = 'green'
103 | else:
104 | color = 'blue'
105 | else:
106 | color = 'red'
107 |
108 | if option.long:
109 | label = asset.relative_path
110 | else:
111 | label = asset.file.name
112 | g.add_node(asset.relative_path, label=label, color=color)
113 |
114 |
115 | def create_image(g, path):
116 | path = os.path.relpath(path)
117 |
118 | if pygraphviz:
119 | a = nx.nx_agraph.to_agraph(g)
120 | # ['neato'|'dot'|'twopi'|'circo'|'fdp'|'nop']
121 | a.layout(prog='neato', args="-Goverlap=false -Gsplines=true") # splines=true
122 | a.draw(path)
123 | elif plt:
124 | nodes = g.nodes(True)
125 | colors = [attrs['color'] for n, attrs in nodes]
126 | labels = {n: attrs['label'] for n, attrs in nodes}
127 |
128 | if graphviz_layout:
129 | pos = graphviz_layout(g)
130 | else:
131 | pos = nx.spring_layout(g)
132 | nx.draw_networkx_nodes(g, pos, node_shape='o', node_color=colors, alpha=0.3)
133 | nx.draw_networkx_edges(g, pos, style='solid', alpha=0.2)
134 | nx.draw_networkx_labels(g, pos, labels, alpha=0.5)
135 | # plt.show()
136 | plt.imsave(path) # todo: this is not tested!
137 |
138 | print 'Image saved to', path
139 |
140 |
141 | def main():
142 | parser = optparse.OptionParser()
143 | parser.add_option('-p', '--project', dest='project', help='project path')
144 | # parser.add_option('-a', '--asset', dest='asset', help='asset path (relative to assets)')
145 | parser.add_option('-o', '--output', dest='output', help='output file name')
146 | parser.add_option('-l', '--long', dest='long', default=False, action='store_true',
147 | help='show long label (relative path to assets)')
148 |
149 | usage = """
150 | python ccc_graph.py [options] [asset]
151 | e.g.:
152 | # visualize entire project (to ccc.png)
153 | python ccc_graph.py -p .
154 | # visualize one prefab (and its referer and referents)
155 | python ccc_graph.py -p . -o prefab_a.png path/relative/to/assets/xxx.prefab
156 | """
157 |
158 | parser.set_usage(usage)
159 | global option
160 | option, args = parser.parse_args()
161 |
162 | if not option.project:
163 | parser.print_help()
164 | return
165 |
166 | project = Project(option.project)
167 | project.load()
168 |
169 | output = option.output
170 |
171 | if len(args) > 0:
172 | asset = project.get_asset_by_path(args[1])
173 | if not asset:
174 | print 'Asset not found:', option.asset
175 | return
176 |
177 | if not output:
178 | output = '%s.jpg' % asset.file.name
179 | create_image(create_asset_graph(asset), output)
180 | else:
181 | if not output:
182 | output = '%s.jpg' % project.name
183 | create_image(create_project_graph(project), output)
184 |
185 | if __name__ == '__main__':
186 | main()
187 |
--------------------------------------------------------------------------------
/readme.md:
--------------------------------------------------------------------------------
1 | ## 警告(Warning)
2 | **本项目并非官方提供的解决方案。使用之前,请务必备份好数据,否则可能会造成数据丢失!**
3 |
4 |
5 | **This is NOT an official solution, BACKUP you data and use with CAUTION.**
6 |
7 | ## 介绍(Introduction)
8 | 为cocos creator增加Prefab嵌套以及自动同步功能。
9 |
10 | #### 特别说明
11 | Kd开头的组件,为作者自定义组件,忽略即可。
12 |
13 |
14 | ## 术语(Terms)
15 | * Prefab Root: Prefab文件的根节点
16 | * Instance Node: 包含KdPrefab组件的Node
17 | * Instance Root: 祖先中没有Instance Node的Instance Node(Prefab Root除外)
18 | * Synchronize: 同步。将Prefab的内容,递归复制到引用到该Prefab的所有Scene或其他Prefab中。
19 |
20 | ## 限制(Restrictions)
21 | * R1: 每一个Node的Children不可重名
22 | * R2: 每一个Node的Component不可重复
23 | * R3: 每一个Prefab的根节点,必须有KdPrefab组件;反之亦然。
24 | * R3-1: 其中的prefab属性指向Prefab自身
25 | * R4: Button的clickEvents最多只能有一个元素(如有特殊需要,也可以不限制,但是可能比较容易出错,见R5)
26 | * R5: 数组中间插入/删除元素后,从插入位置开始之后的元素,不一定能增量同步
27 |
28 |
29 | ## 同步策略(Synchronization Strategies)
30 | * SS1: 只有当prefab root和instance root的KdPrefab.strategy都为DEFAULT(0),才会同步
31 | * SS2: instance root忽略: position, rotation, scale, anchor, skew, name, zOrder, tag, active
32 | * SS3: instance root忽略: Widget(除非prefab root中有Widget而instance中没有)
33 | * SS4: 忽略Node的active和_reorderChildDirty(不太确定是否可以)
34 | * SS5: Node的size/position受Layout/Widget影响时,不同步相应的x/y/w/h(包括KdLayout/KdWidget)
35 | * SS6: 忽略Layout的_layoutSize(其实不是很确定是否应该如此)
36 | * SS7: cc.Label的overflow为NONE时,忽略宽度;overflow为RESIZE_HEIGHT时,忽略高度
37 | * SS8: KdText,忽略Label.string, Sprite.spriteFrame
38 | * SS9: KdLabel,忽略Node的_color, Label的_actualFontSize, _isSystemFontUsed, _N$file, _fontSize, _lineHeight, 以及LabelOutline, KdLabelShadow
39 | * SS10: KdText的i18nKey和args都为空时,不同步
40 |
41 | 其中SS5, SS6, SS7, SS8, SS9主要是为了减少diff的输出,便于人工查错。
42 |
43 |
44 | ## 自定义规则(Custom Rules)
45 | 在`/ccc_helper.yaml`中配置,模版见`test_project/ccc_helper.yaml`
46 | * CR1: 完全忽略组件(ignore_components)
47 | * CR2: 忽略组件的指定属性(ignore_component_properties)
48 | * CR3: 忽略组件的空属性(ignore_component_properties_if_empty),空指prefab中,值为0, "", [], null等,或不存在
49 | * CR4: 忽略特定的prefab中的特定Node的特定组件的特定属性(ignore_prefabs)
50 |
51 |
52 | ## 运行环境(Runtime Environments)
53 | * Python 2.7.x
54 | * pyyaml
55 |
56 | 如需生成引用关系图,需要用到以下库
57 | * networkx
58 | * pygraphviz(需要安装graphviz)
59 |
60 |
61 | ## 如何使用(How-to)
62 | 首先,确保文件`library/bundle.project.js`存在。如果不存在,需用cocos creator打开项目,会自动生成该文件。
63 |
64 | * 检查项目中哪些Prefab不一致(Compare prefabs and their referers)
65 | > ccc.py -p test_project verify
66 |
67 | * 同步项目中所有不一致的Prefab(synchronize prefabs to their referers)
68 | > ccc.py -p test_project sync
69 |
70 | verify或sync结束后,在/ccc_helper_backup中会有相应的日志和备份文件。
71 |
72 |
73 | * 查看项目中所有Prefab/Scene的引用关系
74 | > ccc_graph.py -p test_project
75 |
76 | 
77 |
78 | A通过箭头指向B,表示A(prefab或scene)中包含了B(prefab);节点有4种颜色
79 | * 红色: 场景
80 | * 粉色: 不被其他Prefab/Scene引用的Prefab
81 | * 绿色: 不引用其他Prefab的Prefab
82 | * 蓝色: 既被引用,又引用其他Prefab的Prefab
83 |
84 | 注:无任何引用关系的Prefab/Scene,不会包含在图中
85 |
86 | ## 已知问题(Known Issues)
87 | * 同步后,cocos creator的`回退(Revert)`功能可能会出错或卡死。可能是PrefabInfo的fileId/uuid处理的不对。
88 |
89 | ## 支持(Support)
90 | * [Cocos Creator论坛](http://forum.cocos.com/c/Creator)上@timium
91 | * [提交issue](https://github.com/TimothyZhang/ccc_helper/issues/new)
92 | * github提交pull request
93 |
--------------------------------------------------------------------------------
/requirements.txt:
--------------------------------------------------------------------------------
1 | Python 2.7.x
2 | yaml
3 |
4 | # ccc_graph需要以下python库
5 | networkx
6 | pygraphviz(需要安装graphviz)
7 |
8 |
9 | # WINDOWS
10 | # 如果安装pygraphviz失败,安装VCForPython
11 | # 如果还是失败,尝试 pip install --global-option=build_ext --global-option="-I\include" --global-option="-L\lib\release\lib" pygraphviz
--------------------------------------------------------------------------------
/test.py:
--------------------------------------------------------------------------------
1 | # coding=utf-8
2 | # Copyright 2014 Timothy Zhang(zt@live.cn).
3 | #
4 | # This file is part of Structer.
5 | #
6 | # Structer is free software: you can redistribute it and/or modify
7 | # it under the terms of the GNU General Public License as published by
8 | # the Free Software Foundation, either version 3 of the License, or
9 | # (at your option) any later version.
10 | #
11 | # Structer is distributed in the hope that it will be useful,
12 | # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | # GNU General Public License for more details.
15 | #
16 | # You should have received a copy of the GNU General Public License
17 | # along with Structer. If not, see .
18 |
19 | from unittest import TestCase
20 | from ccc import Project, SceneAsset, CompareContext, Prefab
21 |
22 |
23 | class TestCCC(TestCase):
24 | def setUp(self):
25 | self.project = Project('test_project')
26 | self.project.load()
27 |
28 | def synchronize_asset_instances(self, asset):
29 | """
30 | :param Asset asset:
31 | """
32 | ctx = CompareContext()
33 |
34 | for node in asset.root.iterate_instance_roots(False):
35 | uuid_ = node.get_prefab_uuid()
36 | prefab = self.project.get_asset_by_uuid(uuid_)
37 | if not prefab:
38 | ctx.remove('miss prefab for %s' % node.path)
39 | continue
40 |
41 | assert isinstance(prefab, Prefab)
42 | node.synchronize(prefab.root, ctx, True)
43 |
44 | return ctx
45 |
46 | def assertContextEqual(self, ctx1, ctx2):
47 | """
48 | :param CompareContext ctx1:
49 | :param CompareContext ctx2:
50 | """
51 | if cmp(ctx1, ctx2) != 0:
52 | print 'ctx1:', ctx1
53 | print 'ctx2:', ctx2
54 | self.assertEqual(ctx1, ctx2)
55 |
56 | def test_ss1(self):
57 | s1 = self.project.get_asset_by_path('testcases/ss1/s1.fire')
58 | self.assertIsInstance(s1, SceneAsset)
59 | ctx1 = self.synchronize_asset_instances(s1)
60 | ctx2 = CompareContext()
61 | ctx2.push('i1').push('_color').change('g').change('b').pop().pop().ignore('i2').ignore('i3').ignore('i4')
62 | self.assertContextEqual(ctx1, ctx2)
63 |
64 | def test_ss2(self):
65 | s1 = self.project.get_asset_by_path('testcases/ss2/s1.fire')
66 | self.assertIsInstance(s1, SceneAsset)
67 | ctx1 = self.synchronize_asset_instances(s1)
68 | ctx2 = CompareContext()
69 | ctx2.push('i1').change('_opacity').push('_color').change('g').change('b').pop().push('_contentSize').\
70 | change('width').change('height').pop().pop()
71 | self.assertContextEqual(ctx1, ctx2)
72 |
73 | def test_ss3(self):
74 | s1 = self.project.get_asset_by_path('testcases/ss3/s1.fire')
75 | self.assertIsInstance(s1, SceneAsset)
76 | ctx1 = self.synchronize_asset_instances(s1)
77 | ctx2 = CompareContext()
78 | ctx2.push('i1').push('(components)').add('cc.Widget').pop().pop()
79 | self.assertContextEqual(ctx1, ctx2)
80 |
81 | def test_ss4(self):
82 | s1 = self.project.get_asset_by_path('testcases/ss4/s1.fire')
83 | ctx1 = self.synchronize_asset_instances(s1)
84 | ctx2 = CompareContext()
85 | self.assertContextEqual(ctx1, ctx2)
86 |
87 | def test_ss5(self):
88 | s1 = self.project.get_asset_by_path('testcases/ss5/s1.fire')
89 | ctx1 = self.synchronize_asset_instances(s1)
90 | self.assert_(not ctx1.has_changed())
91 |
92 | def test_nested(self):
93 | s1 = self.project.get_asset_by_path('testcases/nested/p1.prefab')
94 | self.assertEqual(s1.depth, 1)
95 | s1 = self.project.get_asset_by_path('testcases/nested/p2.prefab')
96 | self.assertEqual(s1.depth, 2)
97 | s1 = self.project.get_asset_by_path('testcases/nested/s1.fire')
98 | self.assertEqual(s1.depth, 0)
99 |
100 | def clear_setting(self):
101 | self.project.ignore_components.clear()
102 | self.project.ignore_component_properties.clear()
103 | self.project.ignore_component_properties_if_empty.clear()
104 |
105 | def test_cr1_cr2_cr3(self):
106 | # cr1
107 | self.clear_setting()
108 | self.project.ignore_components.add('cc.Button')
109 | # print self.project.ignore_components
110 | s1 = self.project.get_asset_by_path('testcases/cr1_cr2_cr3/s1.fire')
111 | ctx1 = self.synchronize_asset_instances(s1)
112 | ctx2 = CompareContext()
113 | self.assertContextEqual(ctx1, ctx2)
114 |
115 | # cr2
116 | self.clear_setting()
117 | self.project.ignore_component_properties['cc.Button'] = {'clickEvents'}
118 |
119 | s2 = self.project.get_asset_by_path('testcases/cr1_cr2_cr3/s2.fire')
120 | ctx1 = self.synchronize_asset_instances(s2)
121 | ctx2 = CompareContext()
122 | self.assertContextEqual(ctx1, ctx2)
123 |
124 | # cr3
125 | self.clear_setting()
126 | self.project.ignore_component_properties_if_empty['cc.Button'] = {'clickEvents'}
127 |
128 | s3 = self.project.get_asset_by_path('testcases/cr1_cr2_cr3/s3.fire')
129 | ctx1 = self.synchronize_asset_instances(s3)
130 | ctx2 = CompareContext()
131 | self.assertContextEqual(ctx1, ctx2)
132 |
133 | s4 = self.project.get_asset_by_path('testcases/cr1_cr2_cr3/s4.fire')
134 | ctx1 = self.synchronize_asset_instances(s4)
135 | self.assert_(ctx1.has_changed())
136 |
--------------------------------------------------------------------------------
/test_project.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TimothyZhang/ccc_helper/ce25ac0008d169974d03447537a0bf868970d745/test_project.jpg
--------------------------------------------------------------------------------
/test_project/.gitignore:
--------------------------------------------------------------------------------
1 | #/////////////////////////////////////////////////////////////////////////////
2 | # Fireball Projects
3 | #/////////////////////////////////////////////////////////////////////////////
4 |
5 | library/
6 | temp/
7 | local/
8 | build/
9 |
10 | #/////////////////////////////////////////////////////////////////////////////
11 | # Logs and databases
12 | #/////////////////////////////////////////////////////////////////////////////
13 |
14 | *.log
15 | *.sql
16 | *.sqlite
17 |
18 | #/////////////////////////////////////////////////////////////////////////////
19 | # files for debugger
20 | #/////////////////////////////////////////////////////////////////////////////
21 |
22 | *.sln
23 | *.csproj
24 | *.pidb
25 | *.unityproj
26 | *.suo
27 |
28 | #/////////////////////////////////////////////////////////////////////////////
29 | # OS generated files
30 | #/////////////////////////////////////////////////////////////////////////////
31 |
32 | .DS_Store
33 | ehthumbs.db
34 | Thumbs.db
35 |
36 | #/////////////////////////////////////////////////////////////////////////////
37 | # exvim files
38 | #/////////////////////////////////////////////////////////////////////////////
39 |
40 | *UnityVS.meta
41 | *.err
42 | *.err.meta
43 | *.exvim
44 | *.exvim.meta
45 | *.vimentry
46 | *.vimentry.meta
47 | *.vimproject
48 | *.vimproject.meta
49 | .vimfiles.*/
50 | .exvim.*/
51 | quick_gen_project_*_autogen.bat
52 | quick_gen_project_*_autogen.bat.meta
53 | quick_gen_project_*_autogen.sh
54 | quick_gen_project_*_autogen.sh.meta
55 | .exvim.app
56 |
57 | #/////////////////////////////////////////////////////////////////////////////
58 | # webstorm files
59 | #/////////////////////////////////////////////////////////////////////////////
60 |
61 | .idea/
62 | /ccchelper_backup
63 |
--------------------------------------------------------------------------------
/test_project/assets/KdPrefab.js:
--------------------------------------------------------------------------------
1 | var PrefabSynchronizeStrategy = cc.Enum({
2 | DEFAULT: 0,
3 | NEVER: 1
4 | })
5 |
6 | // TODO: remove this component while publishing
7 | cc.Class({
8 | extends: cc.Component,
9 |
10 | properties: {
11 | strategy: {
12 | default: PrefabSynchronizeStrategy.DEFAULT,
13 | type: PrefabSynchronizeStrategy,
14 | tooltip: 'Prefab同步策略'
15 | },
16 |
17 | prefab: {
18 | default: null,
19 | type: cc.Prefab
20 | }
21 | },
22 |
23 | // use this for initialization
24 | onLoad: function () {
25 |
26 | },
27 |
28 | // called every frame, uncomment this function to activate update callback
29 | // update: function (dt) {
30 |
31 | // },
32 | });
33 |
--------------------------------------------------------------------------------
/test_project/assets/KdPrefab.js.meta:
--------------------------------------------------------------------------------
1 | {
2 | "ver": "1.0.2",
3 | "uuid": "4c3c5a75-2153-489f-b48d-d0ca1eb7628e",
4 | "isPlugin": false,
5 | "subMetas": {}
6 | }
--------------------------------------------------------------------------------
/test_project/assets/aa.prefab:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "__type__": "cc.Prefab",
4 | "_name": "",
5 | "_objFlags": 0,
6 | "_rawFiles": null,
7 | "data": {
8 | "__id__": 1
9 | }
10 | },
11 | {
12 | "__type__": "cc.Node",
13 | "_name": "aa",
14 | "_objFlags": 0,
15 | "_opacity": 255,
16 | "_color": {
17 | "__type__": "cc.Color",
18 | "r": 255,
19 | "g": 255,
20 | "b": 255,
21 | "a": 255
22 | },
23 | "_cascadeOpacityEnabled": true,
24 | "_parent": null,
25 | "_anchorPoint": {
26 | "__type__": "cc.Vec2",
27 | "x": 0.5,
28 | "y": 0.5
29 | },
30 | "_contentSize": {
31 | "__type__": "cc.Size",
32 | "width": 0,
33 | "height": 0
34 | },
35 | "_children": [
36 | {
37 | "__id__": 2
38 | }
39 | ],
40 | "_rotationX": 0,
41 | "_rotationY": 0,
42 | "_scaleX": 1,
43 | "_scaleY": 1,
44 | "_position": {
45 | "__type__": "cc.Vec2",
46 | "x": 0,
47 | "y": 0
48 | },
49 | "_skewX": 0,
50 | "_skewY": 0,
51 | "_localZOrder": 0,
52 | "_globalZOrder": 0,
53 | "_tag": -1,
54 | "_opacityModifyRGB": false,
55 | "_id": "",
56 | "_active": true,
57 | "_components": [
58 | {
59 | "__id__": 9
60 | }
61 | ],
62 | "_prefab": {
63 | "__id__": 10
64 | },
65 | "groupIndex": 0
66 | },
67 | {
68 | "__type__": "cc.Node",
69 | "_name": "bb",
70 | "_objFlags": 0,
71 | "_opacity": 255,
72 | "_color": {
73 | "__type__": "cc.Color",
74 | "r": 255,
75 | "g": 255,
76 | "b": 255,
77 | "a": 255
78 | },
79 | "_cascadeOpacityEnabled": true,
80 | "_parent": {
81 | "__id__": 1
82 | },
83 | "_anchorPoint": {
84 | "__type__": "cc.Vec2",
85 | "x": 0.5,
86 | "y": 0.5
87 | },
88 | "_contentSize": {
89 | "__type__": "cc.Size",
90 | "width": 100,
91 | "height": 15
92 | },
93 | "_children": [
94 | {
95 | "__id__": 3
96 | }
97 | ],
98 | "_rotationX": 0,
99 | "_rotationY": 0,
100 | "_scaleX": 1,
101 | "_scaleY": 1,
102 | "_position": {
103 | "__type__": "cc.Vec2",
104 | "x": 0,
105 | "y": 0
106 | },
107 | "_skewX": 0,
108 | "_skewY": 0,
109 | "_localZOrder": 0,
110 | "_globalZOrder": 0,
111 | "_tag": -1,
112 | "_opacityModifyRGB": false,
113 | "_id": "",
114 | "_active": true,
115 | "_components": [
116 | {
117 | "__id__": 6
118 | },
119 | {
120 | "__id__": 7
121 | }
122 | ],
123 | "_prefab": {
124 | "__id__": 8
125 | },
126 | "groupIndex": 0
127 | },
128 | {
129 | "__type__": "cc.Node",
130 | "_name": "bar",
131 | "_objFlags": 0,
132 | "_opacity": 255,
133 | "_color": {
134 | "__type__": "cc.Color",
135 | "r": 255,
136 | "g": 255,
137 | "b": 255,
138 | "a": 255
139 | },
140 | "_cascadeOpacityEnabled": true,
141 | "_parent": {
142 | "__id__": 2
143 | },
144 | "_anchorPoint": {
145 | "__type__": "cc.Vec2",
146 | "x": 0,
147 | "y": 0.5
148 | },
149 | "_contentSize": {
150 | "__type__": "cc.Size",
151 | "width": 50,
152 | "height": 15
153 | },
154 | "_children": [],
155 | "_rotationX": 0,
156 | "_rotationY": 0,
157 | "_scaleX": 1,
158 | "_scaleY": 1,
159 | "_position": {
160 | "__type__": "cc.Vec2",
161 | "x": -50,
162 | "y": 0
163 | },
164 | "_skewX": 0,
165 | "_skewY": 0,
166 | "_localZOrder": 0,
167 | "_globalZOrder": 0,
168 | "_tag": -1,
169 | "_opacityModifyRGB": false,
170 | "_id": "",
171 | "_active": true,
172 | "_components": [
173 | {
174 | "__id__": 4
175 | }
176 | ],
177 | "_prefab": {
178 | "__id__": 5
179 | },
180 | "groupIndex": 0
181 | },
182 | {
183 | "__type__": "cc.Sprite",
184 | "_name": "",
185 | "_objFlags": 0,
186 | "node": {
187 | "__id__": 3
188 | },
189 | "_enabled": true,
190 | "_spriteFrame": {
191 | "__uuid__": "67e68bc9-dad5-4ad9-a2d8-7e03d458e32f"
192 | },
193 | "_type": 1,
194 | "_sizeMode": 0,
195 | "_fillType": 0,
196 | "_fillCenter": {
197 | "__type__": "cc.Vec2",
198 | "x": 0,
199 | "y": 0
200 | },
201 | "_fillStart": 0,
202 | "_fillRange": 0,
203 | "_isTrimmedMode": true,
204 | "_srcBlendFactor": 770,
205 | "_dstBlendFactor": 771,
206 | "_atlas": null
207 | },
208 | {
209 | "__type__": "cc.PrefabInfo",
210 | "root": {
211 | "__id__": 1
212 | },
213 | "asset": {
214 | "__uuid__": "f1361b34-5d23-4f7d-bbd4-c95ec00a8438"
215 | },
216 | "fileId": "225ec+7kixD4YCXMnU3RThE"
217 | },
218 | {
219 | "__type__": "cc.Sprite",
220 | "_name": "",
221 | "_objFlags": 0,
222 | "node": {
223 | "__id__": 2
224 | },
225 | "_enabled": true,
226 | "_spriteFrame": {
227 | "__uuid__": "88e79fd5-96b4-4a77-a1f4-312467171014"
228 | },
229 | "_type": 0,
230 | "_sizeMode": 0,
231 | "_fillType": 0,
232 | "_fillCenter": {
233 | "__type__": "cc.Vec2",
234 | "x": 0,
235 | "y": 0
236 | },
237 | "_fillStart": 0,
238 | "_fillRange": 0,
239 | "_isTrimmedMode": true,
240 | "_srcBlendFactor": 770,
241 | "_dstBlendFactor": 771,
242 | "_atlas": null
243 | },
244 | {
245 | "__type__": "cc.ProgressBar",
246 | "_name": "",
247 | "_objFlags": 0,
248 | "node": {
249 | "__id__": 2
250 | },
251 | "_enabled": true,
252 | "_N$barSprite": {
253 | "__id__": 4
254 | },
255 | "_N$mode": 0,
256 | "_N$totalLength": 100,
257 | "_N$progress": 0.5,
258 | "_N$reverse": false
259 | },
260 | {
261 | "__type__": "cc.PrefabInfo",
262 | "root": {
263 | "__id__": 1
264 | },
265 | "asset": {
266 | "__uuid__": "f1361b34-5d23-4f7d-bbd4-c95ec00a8438"
267 | },
268 | "fileId": "c524dvLa6tA9pApEhX/rMUa"
269 | },
270 | {
271 | "__type__": "4c3c5p1IVNIn7SN0Moet2KO",
272 | "_name": "",
273 | "_objFlags": 0,
274 | "node": {
275 | "__id__": 1
276 | },
277 | "_enabled": true,
278 | "strategy": 0,
279 | "prefab": {
280 | "__uuid__": "f1361b34-5d23-4f7d-bbd4-c95ec00a8438"
281 | }
282 | },
283 | {
284 | "__type__": "cc.PrefabInfo",
285 | "root": {
286 | "__id__": 1
287 | },
288 | "asset": {
289 | "__uuid__": "f1361b34-5d23-4f7d-bbd4-c95ec00a8438"
290 | },
291 | "fileId": "6d001FzpkdNULpPBFb8/8g6"
292 | }
293 | ]
--------------------------------------------------------------------------------
/test_project/assets/aa.prefab.meta:
--------------------------------------------------------------------------------
1 | {
2 | "ver": "1.0.0",
3 | "uuid": "f1361b34-5d23-4f7d-bbd4-c95ec00a8438",
4 | "subMetas": {}
5 | }
--------------------------------------------------------------------------------
/test_project/assets/icon1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TimothyZhang/ccc_helper/ce25ac0008d169974d03447537a0bf868970d745/test_project/assets/icon1.png
--------------------------------------------------------------------------------
/test_project/assets/icon1.png.meta:
--------------------------------------------------------------------------------
1 | {
2 | "ver": "1.0.0",
3 | "uuid": "d2bcf675-0940-4fa2-9c46-64d8b7fb5a34",
4 | "type": "sprite",
5 | "wrapMode": "clamp",
6 | "filterMode": "bilinear",
7 | "subMetas": {
8 | "icon1": {
9 | "ver": "1.0.3",
10 | "uuid": "5b6f9ee1-cd9e-4cb5-958b-7d66bde43428",
11 | "rawTextureUuid": "d2bcf675-0940-4fa2-9c46-64d8b7fb5a34",
12 | "trimType": "auto",
13 | "trimThreshold": 1,
14 | "rotated": false,
15 | "offsetX": 1.5,
16 | "offsetY": 2,
17 | "trimX": 3,
18 | "trimY": 7,
19 | "width": 125,
20 | "height": 110,
21 | "rawWidth": 128,
22 | "rawHeight": 128,
23 | "borderTop": 0,
24 | "borderBottom": 0,
25 | "borderLeft": 0,
26 | "borderRight": 0,
27 | "subMetas": {}
28 | }
29 | }
30 | }
--------------------------------------------------------------------------------
/test_project/assets/test2.fire:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "__type__": "cc.SceneAsset",
4 | "_name": "",
5 | "_objFlags": 0,
6 | "_rawFiles": null,
7 | "scene": {
8 | "__id__": 1
9 | }
10 | },
11 | {
12 | "__type__": "cc.Scene",
13 | "_objFlags": 0,
14 | "_opacity": 255,
15 | "_color": {
16 | "__type__": "cc.Color",
17 | "r": 255,
18 | "g": 255,
19 | "b": 255,
20 | "a": 255
21 | },
22 | "_cascadeOpacityEnabled": true,
23 | "_parent": null,
24 | "_anchorPoint": {
25 | "__type__": "cc.Vec2",
26 | "x": 0,
27 | "y": 0
28 | },
29 | "_contentSize": {
30 | "__type__": "cc.Size",
31 | "width": 0,
32 | "height": 0
33 | },
34 | "_children": [
35 | {
36 | "__id__": 2
37 | }
38 | ],
39 | "_localZOrder": 0,
40 | "_globalZOrder": 0,
41 | "_tag": -1,
42 | "_opacityModifyRGB": false,
43 | "_id": "75219a2a-0bbb-4d74-9221-ed3a96afb643"
44 | },
45 | {
46 | "__type__": "cc.Node",
47 | "_name": "aa",
48 | "_objFlags": 0,
49 | "_opacity": 255,
50 | "_color": {
51 | "__type__": "cc.Color",
52 | "r": 255,
53 | "g": 255,
54 | "b": 255,
55 | "a": 255
56 | },
57 | "_cascadeOpacityEnabled": true,
58 | "_parent": {
59 | "__id__": 1
60 | },
61 | "_anchorPoint": {
62 | "__type__": "cc.Vec2",
63 | "x": 0.5,
64 | "y": 0.5
65 | },
66 | "_contentSize": {
67 | "__type__": "cc.Size",
68 | "width": 0,
69 | "height": 0
70 | },
71 | "_children": [
72 | {
73 | "__id__": 3
74 | }
75 | ],
76 | "_rotationX": 0,
77 | "_rotationY": 0,
78 | "_scaleX": 1,
79 | "_scaleY": 1,
80 | "_position": {
81 | "__type__": "cc.Vec2",
82 | "x": 0,
83 | "y": 0
84 | },
85 | "_skewX": 0,
86 | "_skewY": 0,
87 | "_localZOrder": 0,
88 | "_globalZOrder": 0,
89 | "_tag": -1,
90 | "_opacityModifyRGB": false,
91 | "_id": "6d001FzpkdNULpPBFb8/8g6",
92 | "_active": true,
93 | "_components": [
94 | {
95 | "__id__": 10
96 | }
97 | ],
98 | "_prefab": {
99 | "__id__": 11
100 | },
101 | "groupIndex": 0
102 | },
103 | {
104 | "__type__": "cc.Node",
105 | "_name": "bb",
106 | "_objFlags": 0,
107 | "_opacity": 255,
108 | "_color": {
109 | "__type__": "cc.Color",
110 | "r": 255,
111 | "g": 255,
112 | "b": 255,
113 | "a": 255
114 | },
115 | "_cascadeOpacityEnabled": true,
116 | "_parent": {
117 | "__id__": 2
118 | },
119 | "_anchorPoint": {
120 | "__type__": "cc.Vec2",
121 | "x": 0.5,
122 | "y": 0.5
123 | },
124 | "_contentSize": {
125 | "__type__": "cc.Size",
126 | "width": 100,
127 | "height": 15
128 | },
129 | "_children": [
130 | {
131 | "__id__": 4
132 | }
133 | ],
134 | "_rotationX": 0,
135 | "_rotationY": 0,
136 | "_scaleX": 1,
137 | "_scaleY": 1,
138 | "_position": {
139 | "__type__": "cc.Vec2",
140 | "x": 0,
141 | "y": 0
142 | },
143 | "_skewX": 0,
144 | "_skewY": 0,
145 | "_localZOrder": 0,
146 | "_globalZOrder": 0,
147 | "_tag": -1,
148 | "_opacityModifyRGB": false,
149 | "_id": "c524dvLa6tA9pApEhX/rMUa",
150 | "_active": true,
151 | "_components": [
152 | {
153 | "__id__": 7
154 | },
155 | {
156 | "__id__": 8
157 | }
158 | ],
159 | "_prefab": {
160 | "__id__": 9
161 | },
162 | "groupIndex": 0
163 | },
164 | {
165 | "__type__": "cc.Node",
166 | "_name": "bar",
167 | "_objFlags": 0,
168 | "_opacity": 255,
169 | "_color": {
170 | "__type__": "cc.Color",
171 | "r": 255,
172 | "g": 255,
173 | "b": 255,
174 | "a": 255
175 | },
176 | "_cascadeOpacityEnabled": true,
177 | "_parent": {
178 | "__id__": 3
179 | },
180 | "_anchorPoint": {
181 | "__type__": "cc.Vec2",
182 | "x": 0,
183 | "y": 0.5
184 | },
185 | "_contentSize": {
186 | "__type__": "cc.Size",
187 | "width": 50,
188 | "height": 15
189 | },
190 | "_children": [],
191 | "_rotationX": 0,
192 | "_rotationY": 0,
193 | "_scaleX": 1,
194 | "_scaleY": 1,
195 | "_position": {
196 | "__type__": "cc.Vec2",
197 | "x": -50,
198 | "y": 0
199 | },
200 | "_skewX": 0,
201 | "_skewY": 0,
202 | "_localZOrder": 0,
203 | "_globalZOrder": 0,
204 | "_tag": -1,
205 | "_opacityModifyRGB": false,
206 | "_id": "225ec+7kixD4YCXMnU3RThE",
207 | "_active": true,
208 | "_components": [
209 | {
210 | "__id__": 5
211 | }
212 | ],
213 | "_prefab": {
214 | "__id__": 6
215 | },
216 | "groupIndex": 0
217 | },
218 | {
219 | "__type__": "cc.Sprite",
220 | "_name": "",
221 | "_objFlags": 0,
222 | "node": {
223 | "__id__": 4
224 | },
225 | "_enabled": true,
226 | "_spriteFrame": {
227 | "__uuid__": "67e68bc9-dad5-4ad9-a2d8-7e03d458e32f"
228 | },
229 | "_type": 1,
230 | "_sizeMode": 0,
231 | "_fillType": 0,
232 | "_fillCenter": {
233 | "__type__": "cc.Vec2",
234 | "x": 0,
235 | "y": 0
236 | },
237 | "_fillStart": 0,
238 | "_fillRange": 0,
239 | "_isTrimmedMode": true,
240 | "_srcBlendFactor": 770,
241 | "_dstBlendFactor": 771,
242 | "_atlas": null
243 | },
244 | {
245 | "__type__": "cc.PrefabInfo",
246 | "root": {
247 | "__id__": 2
248 | },
249 | "asset": {
250 | "__uuid__": "f1361b34-5d23-4f7d-bbd4-c95ec00a8438"
251 | },
252 | "fileId": "225ec+7kixD4YCXMnU3RThE"
253 | },
254 | {
255 | "__type__": "cc.Sprite",
256 | "_name": "",
257 | "_objFlags": 0,
258 | "node": {
259 | "__id__": 3
260 | },
261 | "_enabled": true,
262 | "_spriteFrame": {
263 | "__uuid__": "88e79fd5-96b4-4a77-a1f4-312467171014"
264 | },
265 | "_type": 0,
266 | "_sizeMode": 0,
267 | "_fillType": 0,
268 | "_fillCenter": {
269 | "__type__": "cc.Vec2",
270 | "x": 0,
271 | "y": 0
272 | },
273 | "_fillStart": 0,
274 | "_fillRange": 0,
275 | "_isTrimmedMode": true,
276 | "_srcBlendFactor": 770,
277 | "_dstBlendFactor": 771,
278 | "_atlas": null
279 | },
280 | {
281 | "__type__": "cc.ProgressBar",
282 | "_name": "",
283 | "_objFlags": 0,
284 | "node": {
285 | "__id__": 3
286 | },
287 | "_enabled": true,
288 | "_N$barSprite": {
289 | "__id__": 5
290 | },
291 | "_N$mode": 0,
292 | "_N$totalLength": 100,
293 | "_N$progress": 0.5,
294 | "_N$reverse": false
295 | },
296 | {
297 | "__type__": "cc.PrefabInfo",
298 | "root": {
299 | "__id__": 2
300 | },
301 | "asset": {
302 | "__uuid__": "f1361b34-5d23-4f7d-bbd4-c95ec00a8438"
303 | },
304 | "fileId": "c524dvLa6tA9pApEhX/rMUa"
305 | },
306 | {
307 | "__type__": "4c3c5p1IVNIn7SN0Moet2KO",
308 | "_name": "",
309 | "_objFlags": 0,
310 | "node": {
311 | "__id__": 2
312 | },
313 | "_enabled": true,
314 | "strategy": 0,
315 | "prefab": {
316 | "__uuid__": "f1361b34-5d23-4f7d-bbd4-c95ec00a8438"
317 | }
318 | },
319 | {
320 | "__type__": "cc.PrefabInfo",
321 | "root": {
322 | "__id__": 2
323 | },
324 | "asset": {
325 | "__uuid__": "f1361b34-5d23-4f7d-bbd4-c95ec00a8438"
326 | },
327 | "fileId": "6d001FzpkdNULpPBFb8/8g6"
328 | }
329 | ]
--------------------------------------------------------------------------------
/test_project/assets/test2.fire.meta:
--------------------------------------------------------------------------------
1 | {
2 | "ver": "1.0.0",
3 | "uuid": "75219a2a-0bbb-4d74-9221-ed3a96afb643",
4 | "asyncLoadAssets": false,
5 | "subMetas": {}
6 | }
--------------------------------------------------------------------------------
/test_project/assets/testcases.meta:
--------------------------------------------------------------------------------
1 | {
2 | "ver": "1.0.1",
3 | "uuid": "32597333-44e1-4635-8bed-208f360340d4",
4 | "isGroup": false,
5 | "subMetas": {}
6 | }
--------------------------------------------------------------------------------
/test_project/assets/testcases/cr1_cr2_cr3.meta:
--------------------------------------------------------------------------------
1 | {
2 | "ver": "1.0.1",
3 | "uuid": "54885a83-1830-42a8-b8a1-6a55f8ed72d3",
4 | "isGroup": false,
5 | "subMetas": {}
6 | }
--------------------------------------------------------------------------------
/test_project/assets/testcases/cr1_cr2_cr3/p1.prefab:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "__type__": "cc.Prefab",
4 | "_name": "",
5 | "_objFlags": 0,
6 | "_rawFiles": null,
7 | "data": {
8 | "__id__": 1
9 | }
10 | },
11 | {
12 | "__type__": "cc.Node",
13 | "_name": "i1",
14 | "_objFlags": 0,
15 | "_opacity": 255,
16 | "_color": {
17 | "__type__": "cc.Color",
18 | "r": 255,
19 | "g": 255,
20 | "b": 255,
21 | "a": 255
22 | },
23 | "_cascadeOpacityEnabled": true,
24 | "_parent": null,
25 | "_anchorPoint": {
26 | "__type__": "cc.Vec2",
27 | "x": 0.5,
28 | "y": 0.5
29 | },
30 | "_contentSize": {
31 | "__type__": "cc.Size",
32 | "width": 0,
33 | "height": 0
34 | },
35 | "_children": [],
36 | "_rotationX": 0,
37 | "_rotationY": 0,
38 | "_scaleX": 1,
39 | "_scaleY": 1,
40 | "_position": {
41 | "__type__": "cc.Vec2",
42 | "x": 0,
43 | "y": 0
44 | },
45 | "_skewX": 0,
46 | "_skewY": 0,
47 | "_localZOrder": 0,
48 | "_globalZOrder": 0,
49 | "_tag": -1,
50 | "_opacityModifyRGB": false,
51 | "_reorderChildDirty": false,
52 | "_id": "",
53 | "_active": true,
54 | "_components": [
55 | {
56 | "__id__": 2
57 | },
58 | {
59 | "__id__": 3
60 | }
61 | ],
62 | "_prefab": {
63 | "__id__": 4
64 | },
65 | "groupIndex": 0
66 | },
67 | {
68 | "__type__": "cc.Button",
69 | "_name": "",
70 | "_objFlags": 0,
71 | "node": {
72 | "__id__": 1
73 | },
74 | "_enabled": true,
75 | "transition": 0,
76 | "pressedColor": {
77 | "__type__": "cc.Color",
78 | "r": 211,
79 | "g": 211,
80 | "b": 211,
81 | "a": 255
82 | },
83 | "hoverColor": {
84 | "__type__": "cc.Color",
85 | "r": 255,
86 | "g": 255,
87 | "b": 255,
88 | "a": 255
89 | },
90 | "duration": 0.1,
91 | "pressedSprite": null,
92 | "hoverSprite": null,
93 | "clickEvents": [],
94 | "_N$interactable": true,
95 | "_N$normalColor": {
96 | "__type__": "cc.Color",
97 | "r": 214,
98 | "g": 214,
99 | "b": 214,
100 | "a": 255
101 | },
102 | "_N$disabledColor": {
103 | "__type__": "cc.Color",
104 | "r": 124,
105 | "g": 124,
106 | "b": 124,
107 | "a": 255
108 | },
109 | "_N$normalSprite": null,
110 | "_N$disabledSprite": null,
111 | "_N$target": {
112 | "__id__": 1
113 | }
114 | },
115 | {
116 | "__type__": "4c3c5p1IVNIn7SN0Moet2KO",
117 | "_name": "",
118 | "_objFlags": 0,
119 | "node": {
120 | "__id__": 1
121 | },
122 | "_enabled": true,
123 | "strategy": 0,
124 | "prefab": {
125 | "__uuid__": "6bad1133-f354-4fee-b769-5937f3e2d695"
126 | }
127 | },
128 | {
129 | "__type__": "cc.PrefabInfo",
130 | "root": {
131 | "__id__": 1
132 | },
133 | "asset": {
134 | "__uuid__": "6bad1133-f354-4fee-b769-5937f3e2d695"
135 | },
136 | "fileId": "442cd4PNPxF46gU9yRjcacF"
137 | }
138 | ]
--------------------------------------------------------------------------------
/test_project/assets/testcases/cr1_cr2_cr3/p1.prefab.meta:
--------------------------------------------------------------------------------
1 | {
2 | "ver": "1.0.0",
3 | "uuid": "6bad1133-f354-4fee-b769-5937f3e2d695",
4 | "subMetas": {}
5 | }
--------------------------------------------------------------------------------
/test_project/assets/testcases/cr1_cr2_cr3/p2.prefab:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "__type__": "cc.Prefab",
4 | "_name": "",
5 | "_objFlags": 0,
6 | "_rawFiles": null,
7 | "data": {
8 | "__id__": 1
9 | }
10 | },
11 | {
12 | "__type__": "cc.Node",
13 | "_name": "i1",
14 | "_objFlags": 0,
15 | "_opacity": 255,
16 | "_color": {
17 | "__type__": "cc.Color",
18 | "r": 255,
19 | "g": 255,
20 | "b": 255,
21 | "a": 255
22 | },
23 | "_cascadeOpacityEnabled": true,
24 | "_parent": null,
25 | "_anchorPoint": {
26 | "__type__": "cc.Vec2",
27 | "x": 0.5,
28 | "y": 0.5
29 | },
30 | "_contentSize": {
31 | "__type__": "cc.Size",
32 | "width": 0,
33 | "height": 0
34 | },
35 | "_children": [],
36 | "_rotationX": 0,
37 | "_rotationY": 0,
38 | "_scaleX": 1,
39 | "_scaleY": 1,
40 | "_position": {
41 | "__type__": "cc.Vec2",
42 | "x": 0,
43 | "y": 0
44 | },
45 | "_skewX": 0,
46 | "_skewY": 0,
47 | "_localZOrder": 0,
48 | "_globalZOrder": 0,
49 | "_tag": -1,
50 | "_opacityModifyRGB": false,
51 | "_reorderChildDirty": false,
52 | "_id": "",
53 | "_active": true,
54 | "_components": [
55 | {
56 | "__id__": 2
57 | },
58 | {
59 | "__id__": 3
60 | }
61 | ],
62 | "_prefab": {
63 | "__id__": 4
64 | },
65 | "groupIndex": 0
66 | },
67 | {
68 | "__type__": "cc.Button",
69 | "_name": "",
70 | "_objFlags": 0,
71 | "node": {
72 | "__id__": 1
73 | },
74 | "_enabled": true,
75 | "transition": 0,
76 | "pressedColor": {
77 | "__type__": "cc.Color",
78 | "r": 211,
79 | "g": 211,
80 | "b": 211,
81 | "a": 255
82 | },
83 | "hoverColor": {
84 | "__type__": "cc.Color",
85 | "r": 255,
86 | "g": 255,
87 | "b": 255,
88 | "a": 255
89 | },
90 | "duration": 0.1,
91 | "pressedSprite": null,
92 | "hoverSprite": null,
93 | "clickEvents": [],
94 | "_N$interactable": true,
95 | "_N$normalColor": {
96 | "__type__": "cc.Color",
97 | "r": 214,
98 | "g": 214,
99 | "b": 214,
100 | "a": 255
101 | },
102 | "_N$disabledColor": {
103 | "__type__": "cc.Color",
104 | "r": 124,
105 | "g": 124,
106 | "b": 124,
107 | "a": 255
108 | },
109 | "_N$normalSprite": null,
110 | "_N$disabledSprite": null,
111 | "_N$target": {
112 | "__id__": 1
113 | }
114 | },
115 | {
116 | "__type__": "4c3c5p1IVNIn7SN0Moet2KO",
117 | "_name": "",
118 | "_objFlags": 0,
119 | "node": {
120 | "__id__": 1
121 | },
122 | "_enabled": true,
123 | "strategy": 0,
124 | "prefab": {
125 | "__uuid__": "679fc5b7-631a-42e1-9945-856232d8f5b0"
126 | }
127 | },
128 | {
129 | "__type__": "cc.PrefabInfo",
130 | "root": {
131 | "__id__": 1
132 | },
133 | "asset": {
134 | "__uuid__": "679fc5b7-631a-42e1-9945-856232d8f5b0"
135 | },
136 | "fileId": "e73085MHLNPGrLYSvox9iDB"
137 | }
138 | ]
--------------------------------------------------------------------------------
/test_project/assets/testcases/cr1_cr2_cr3/p2.prefab.meta:
--------------------------------------------------------------------------------
1 | {
2 | "ver": "1.0.0",
3 | "uuid": "679fc5b7-631a-42e1-9945-856232d8f5b0",
4 | "subMetas": {}
5 | }
--------------------------------------------------------------------------------
/test_project/assets/testcases/cr1_cr2_cr3/p3.prefab:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "__type__": "cc.Prefab",
4 | "_name": "",
5 | "_objFlags": 0,
6 | "_rawFiles": null,
7 | "data": {
8 | "__id__": 1
9 | }
10 | },
11 | {
12 | "__type__": "cc.Node",
13 | "_name": "i3",
14 | "_objFlags": 0,
15 | "_opacity": 255,
16 | "_color": {
17 | "__type__": "cc.Color",
18 | "r": 255,
19 | "g": 255,
20 | "b": 255,
21 | "a": 255
22 | },
23 | "_cascadeOpacityEnabled": true,
24 | "_parent": null,
25 | "_anchorPoint": {
26 | "__type__": "cc.Vec2",
27 | "x": 0.5,
28 | "y": 0.5
29 | },
30 | "_contentSize": {
31 | "__type__": "cc.Size",
32 | "width": 0,
33 | "height": 0
34 | },
35 | "_children": [],
36 | "_rotationX": 0,
37 | "_rotationY": 0,
38 | "_scaleX": 1,
39 | "_scaleY": 1,
40 | "_position": {
41 | "__type__": "cc.Vec2",
42 | "x": 0,
43 | "y": 0
44 | },
45 | "_skewX": 0,
46 | "_skewY": 0,
47 | "_localZOrder": 0,
48 | "_globalZOrder": 0,
49 | "_tag": -1,
50 | "_opacityModifyRGB": false,
51 | "_reorderChildDirty": false,
52 | "_id": "",
53 | "_active": true,
54 | "_components": [
55 | {
56 | "__id__": 2
57 | },
58 | {
59 | "__id__": 3
60 | }
61 | ],
62 | "_prefab": {
63 | "__id__": 4
64 | },
65 | "groupIndex": 0
66 | },
67 | {
68 | "__type__": "cc.Button",
69 | "_name": "",
70 | "_objFlags": 0,
71 | "node": {
72 | "__id__": 1
73 | },
74 | "_enabled": true,
75 | "transition": 0,
76 | "pressedColor": {
77 | "__type__": "cc.Color",
78 | "r": 211,
79 | "g": 211,
80 | "b": 211,
81 | "a": 255
82 | },
83 | "hoverColor": {
84 | "__type__": "cc.Color",
85 | "r": 255,
86 | "g": 255,
87 | "b": 255,
88 | "a": 255
89 | },
90 | "duration": 0.1,
91 | "pressedSprite": null,
92 | "hoverSprite": null,
93 | "clickEvents": [],
94 | "_N$interactable": true,
95 | "_N$normalColor": {
96 | "__type__": "cc.Color",
97 | "r": 214,
98 | "g": 214,
99 | "b": 214,
100 | "a": 255
101 | },
102 | "_N$disabledColor": {
103 | "__type__": "cc.Color",
104 | "r": 124,
105 | "g": 124,
106 | "b": 124,
107 | "a": 255
108 | },
109 | "_N$normalSprite": null,
110 | "_N$disabledSprite": null,
111 | "_N$target": {
112 | "__id__": 1
113 | }
114 | },
115 | {
116 | "__type__": "4c3c5p1IVNIn7SN0Moet2KO",
117 | "_name": "",
118 | "_objFlags": 0,
119 | "node": {
120 | "__id__": 1
121 | },
122 | "_enabled": true,
123 | "strategy": 0,
124 | "prefab": {
125 | "__uuid__": "eeb63c08-b0ed-40a2-9b4d-9d133986c36a"
126 | }
127 | },
128 | {
129 | "__type__": "cc.PrefabInfo",
130 | "root": {
131 | "__id__": 1
132 | },
133 | "asset": {
134 | "__uuid__": "eeb63c08-b0ed-40a2-9b4d-9d133986c36a"
135 | },
136 | "fileId": "d1e4ajFkQ1LeZS12e2ki++v"
137 | }
138 | ]
--------------------------------------------------------------------------------
/test_project/assets/testcases/cr1_cr2_cr3/p3.prefab.meta:
--------------------------------------------------------------------------------
1 | {
2 | "ver": "1.0.0",
3 | "uuid": "eeb63c08-b0ed-40a2-9b4d-9d133986c36a",
4 | "subMetas": {}
5 | }
--------------------------------------------------------------------------------
/test_project/assets/testcases/cr1_cr2_cr3/p4.prefab:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "__type__": "cc.Prefab",
4 | "_name": "",
5 | "_objFlags": 0,
6 | "_rawFiles": null,
7 | "data": {
8 | "__id__": 1
9 | }
10 | },
11 | {
12 | "__type__": "cc.Node",
13 | "_name": "i4",
14 | "_objFlags": 0,
15 | "_opacity": 255,
16 | "_color": {
17 | "__type__": "cc.Color",
18 | "r": 255,
19 | "g": 255,
20 | "b": 255,
21 | "a": 255
22 | },
23 | "_cascadeOpacityEnabled": true,
24 | "_parent": null,
25 | "_anchorPoint": {
26 | "__type__": "cc.Vec2",
27 | "x": 0.5,
28 | "y": 0.5
29 | },
30 | "_contentSize": {
31 | "__type__": "cc.Size",
32 | "width": 0,
33 | "height": 0
34 | },
35 | "_children": [],
36 | "_rotationX": 0,
37 | "_rotationY": 0,
38 | "_scaleX": 1,
39 | "_scaleY": 1,
40 | "_position": {
41 | "__type__": "cc.Vec2",
42 | "x": 0,
43 | "y": 0
44 | },
45 | "_skewX": 0,
46 | "_skewY": 0,
47 | "_localZOrder": 0,
48 | "_globalZOrder": 0,
49 | "_tag": -1,
50 | "_opacityModifyRGB": false,
51 | "_reorderChildDirty": false,
52 | "_id": "",
53 | "_active": true,
54 | "_components": [
55 | {
56 | "__id__": 2
57 | },
58 | {
59 | "__id__": 3
60 | }
61 | ],
62 | "_prefab": {
63 | "__id__": 5
64 | },
65 | "groupIndex": 0
66 | },
67 | {
68 | "__type__": "4c3c5p1IVNIn7SN0Moet2KO",
69 | "_name": "",
70 | "_objFlags": 0,
71 | "node": {
72 | "__id__": 1
73 | },
74 | "_enabled": true,
75 | "strategy": 0,
76 | "prefab": {
77 | "__uuid__": "e90f616a-8671-4c41-b098-70abfd7c8b95"
78 | }
79 | },
80 | {
81 | "__type__": "cc.Button",
82 | "_name": "",
83 | "_objFlags": 0,
84 | "node": {
85 | "__id__": 1
86 | },
87 | "_enabled": true,
88 | "transition": 0,
89 | "pressedColor": {
90 | "__type__": "cc.Color",
91 | "r": 211,
92 | "g": 211,
93 | "b": 211,
94 | "a": 255
95 | },
96 | "hoverColor": {
97 | "__type__": "cc.Color",
98 | "r": 255,
99 | "g": 255,
100 | "b": 255,
101 | "a": 255
102 | },
103 | "duration": 0.1,
104 | "pressedSprite": null,
105 | "hoverSprite": null,
106 | "clickEvents": [
107 | {
108 | "__id__": 4
109 | }
110 | ],
111 | "_N$interactable": true,
112 | "_N$normalColor": {
113 | "__type__": "cc.Color",
114 | "r": 214,
115 | "g": 214,
116 | "b": 214,
117 | "a": 255
118 | },
119 | "_N$disabledColor": {
120 | "__type__": "cc.Color",
121 | "r": 124,
122 | "g": 124,
123 | "b": 124,
124 | "a": 255
125 | },
126 | "_N$normalSprite": null,
127 | "_N$disabledSprite": null,
128 | "_N$target": {
129 | "__id__": 1
130 | }
131 | },
132 | {
133 | "__type__": "cc.ClickEvent",
134 | "target": {
135 | "__id__": 1
136 | },
137 | "component": "KdPrefab",
138 | "handler": "addComponent"
139 | },
140 | {
141 | "__type__": "cc.PrefabInfo",
142 | "root": {
143 | "__id__": 1
144 | },
145 | "asset": {
146 | "__uuid__": "e90f616a-8671-4c41-b098-70abfd7c8b95"
147 | },
148 | "fileId": "454aeM5JJJD3KA2i/mE45jk"
149 | }
150 | ]
--------------------------------------------------------------------------------
/test_project/assets/testcases/cr1_cr2_cr3/p4.prefab.meta:
--------------------------------------------------------------------------------
1 | {
2 | "ver": "1.0.0",
3 | "uuid": "e90f616a-8671-4c41-b098-70abfd7c8b95",
4 | "subMetas": {}
5 | }
--------------------------------------------------------------------------------
/test_project/assets/testcases/cr1_cr2_cr3/s1.fire:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "__type__": "cc.SceneAsset",
4 | "_name": "",
5 | "_objFlags": 0,
6 | "_rawFiles": null,
7 | "scene": {
8 | "__id__": 1
9 | }
10 | },
11 | {
12 | "__type__": "cc.Scene",
13 | "_name": "s1",
14 | "_objFlags": 0,
15 | "_opacity": 255,
16 | "_color": {
17 | "__type__": "cc.Color",
18 | "r": 255,
19 | "g": 255,
20 | "b": 255,
21 | "a": 255
22 | },
23 | "_cascadeOpacityEnabled": true,
24 | "_parent": null,
25 | "_anchorPoint": {
26 | "__type__": "cc.Vec2",
27 | "x": 0,
28 | "y": 0
29 | },
30 | "_contentSize": {
31 | "__type__": "cc.Size",
32 | "width": 0,
33 | "height": 0
34 | },
35 | "_children": [
36 | {
37 | "__id__": 2
38 | },
39 | {
40 | "__id__": 6
41 | }
42 | ],
43 | "_localZOrder": 0,
44 | "_globalZOrder": 0,
45 | "_tag": -1,
46 | "_opacityModifyRGB": false,
47 | "_reorderChildDirty": false,
48 | "_id": "8fc61819-1795-4969-83ff-cf7e60151ffd"
49 | },
50 | {
51 | "__type__": "cc.Node",
52 | "_name": "i1",
53 | "_objFlags": 0,
54 | "_opacity": 255,
55 | "_color": {
56 | "__type__": "cc.Color",
57 | "r": 255,
58 | "g": 255,
59 | "b": 255,
60 | "a": 255
61 | },
62 | "_cascadeOpacityEnabled": true,
63 | "_parent": {
64 | "__id__": 1
65 | },
66 | "_anchorPoint": {
67 | "__type__": "cc.Vec2",
68 | "x": 0.5,
69 | "y": 0.5
70 | },
71 | "_contentSize": {
72 | "__type__": "cc.Size",
73 | "width": 0,
74 | "height": 0
75 | },
76 | "_children": [],
77 | "_rotationX": 0,
78 | "_rotationY": 0,
79 | "_scaleX": 1,
80 | "_scaleY": 1,
81 | "_position": {
82 | "__type__": "cc.Vec2",
83 | "x": 0,
84 | "y": 0
85 | },
86 | "_skewX": 0,
87 | "_skewY": 0,
88 | "_localZOrder": 0,
89 | "_globalZOrder": 0,
90 | "_tag": -1,
91 | "_opacityModifyRGB": false,
92 | "_reorderChildDirty": false,
93 | "_id": "442cd4PNPxF46gU9yRjcacF",
94 | "_active": true,
95 | "_components": [
96 | {
97 | "__id__": 3
98 | },
99 | {
100 | "__id__": 4
101 | }
102 | ],
103 | "_prefab": {
104 | "__id__": 5
105 | },
106 | "groupIndex": 0
107 | },
108 | {
109 | "__type__": "cc.Button",
110 | "_name": "",
111 | "_objFlags": 0,
112 | "node": {
113 | "__id__": 2
114 | },
115 | "_enabled": true,
116 | "transition": 0,
117 | "pressedColor": {
118 | "__type__": "cc.Color",
119 | "r": 211,
120 | "g": 211,
121 | "b": 211,
122 | "a": 255
123 | },
124 | "hoverColor": {
125 | "__type__": "cc.Color",
126 | "r": 255,
127 | "g": 255,
128 | "b": 255,
129 | "a": 255
130 | },
131 | "duration": 0.1,
132 | "pressedSprite": null,
133 | "hoverSprite": null,
134 | "clickEvents": [],
135 | "_N$interactable": true,
136 | "_N$normalColor": {
137 | "__type__": "cc.Color",
138 | "r": 214,
139 | "g": 214,
140 | "b": 214,
141 | "a": 255
142 | },
143 | "_N$disabledColor": {
144 | "__type__": "cc.Color",
145 | "r": 124,
146 | "g": 124,
147 | "b": 124,
148 | "a": 255
149 | },
150 | "_N$normalSprite": null,
151 | "_N$disabledSprite": null,
152 | "_N$target": {
153 | "__id__": 2
154 | }
155 | },
156 | {
157 | "__type__": "4c3c5p1IVNIn7SN0Moet2KO",
158 | "_name": "",
159 | "_objFlags": 0,
160 | "node": {
161 | "__id__": 2
162 | },
163 | "_enabled": true,
164 | "strategy": 0,
165 | "prefab": {
166 | "__uuid__": "6bad1133-f354-4fee-b769-5937f3e2d695"
167 | }
168 | },
169 | {
170 | "__type__": "cc.PrefabInfo",
171 | "root": {
172 | "__id__": 2
173 | },
174 | "asset": {
175 | "__uuid__": "6bad1133-f354-4fee-b769-5937f3e2d695"
176 | },
177 | "fileId": "442cd4PNPxF46gU9yRjcacF"
178 | },
179 | {
180 | "__type__": "cc.Node",
181 | "_name": "i2",
182 | "_objFlags": 0,
183 | "_opacity": 255,
184 | "_color": {
185 | "__type__": "cc.Color",
186 | "r": 255,
187 | "g": 255,
188 | "b": 255,
189 | "a": 255
190 | },
191 | "_cascadeOpacityEnabled": true,
192 | "_parent": {
193 | "__id__": 1
194 | },
195 | "_anchorPoint": {
196 | "__type__": "cc.Vec2",
197 | "x": 0.5,
198 | "y": 0.5
199 | },
200 | "_contentSize": {
201 | "__type__": "cc.Size",
202 | "width": 0,
203 | "height": 0
204 | },
205 | "_children": [],
206 | "_rotationX": 0,
207 | "_rotationY": 0,
208 | "_scaleX": 1,
209 | "_scaleY": 1,
210 | "_position": {
211 | "__type__": "cc.Vec2",
212 | "x": 0,
213 | "y": 0
214 | },
215 | "_skewX": 0,
216 | "_skewY": 0,
217 | "_localZOrder": 0,
218 | "_globalZOrder": 0,
219 | "_tag": -1,
220 | "_opacityModifyRGB": false,
221 | "_reorderChildDirty": false,
222 | "_id": "1147220AW1JW5NzhMggeLzY",
223 | "_active": true,
224 | "_components": [
225 | {
226 | "__id__": 7
227 | },
228 | {
229 | "__id__": 8
230 | }
231 | ],
232 | "_prefab": {
233 | "__id__": 9
234 | },
235 | "groupIndex": 0
236 | },
237 | {
238 | "__type__": "cc.Button",
239 | "_name": "",
240 | "_objFlags": 0,
241 | "node": {
242 | "__id__": 6
243 | },
244 | "_enabled": true,
245 | "transition": 0,
246 | "pressedColor": {
247 | "__type__": "cc.Color",
248 | "r": 211,
249 | "g": 211,
250 | "b": 211,
251 | "a": 255
252 | },
253 | "hoverColor": {
254 | "__type__": "cc.Color",
255 | "r": 255,
256 | "g": 255,
257 | "b": 255,
258 | "a": 255
259 | },
260 | "duration": 0.1,
261 | "pressedSprite": null,
262 | "hoverSprite": null,
263 | "clickEvents": [],
264 | "_N$interactable": false,
265 | "_N$normalColor": {
266 | "__type__": "cc.Color",
267 | "r": 214,
268 | "g": 214,
269 | "b": 214,
270 | "a": 255
271 | },
272 | "_N$disabledColor": {
273 | "__type__": "cc.Color",
274 | "r": 124,
275 | "g": 124,
276 | "b": 124,
277 | "a": 255
278 | },
279 | "_N$normalSprite": null,
280 | "_N$disabledSprite": null,
281 | "_N$target": {
282 | "__id__": 6
283 | }
284 | },
285 | {
286 | "__type__": "4c3c5p1IVNIn7SN0Moet2KO",
287 | "_name": "",
288 | "_objFlags": 0,
289 | "node": {
290 | "__id__": 6
291 | },
292 | "_enabled": true,
293 | "strategy": 0,
294 | "prefab": {
295 | "__uuid__": "6bad1133-f354-4fee-b769-5937f3e2d695"
296 | }
297 | },
298 | {
299 | "__type__": "cc.PrefabInfo",
300 | "root": {
301 | "__id__": 6
302 | },
303 | "asset": {
304 | "__uuid__": "6bad1133-f354-4fee-b769-5937f3e2d695"
305 | },
306 | "fileId": "442cd4PNPxF46gU9yRjcacF"
307 | }
308 | ]
--------------------------------------------------------------------------------
/test_project/assets/testcases/cr1_cr2_cr3/s1.fire.meta:
--------------------------------------------------------------------------------
1 | {
2 | "ver": "1.0.0",
3 | "uuid": "8fc61819-1795-4969-83ff-cf7e60151ffd",
4 | "subMetas": {}
5 | }
--------------------------------------------------------------------------------
/test_project/assets/testcases/cr1_cr2_cr3/s2.fire:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "__type__": "cc.SceneAsset",
4 | "_name": "",
5 | "_objFlags": 0,
6 | "_rawFiles": null,
7 | "scene": {
8 | "__id__": 1
9 | }
10 | },
11 | {
12 | "__type__": "cc.Scene",
13 | "_name": "s2",
14 | "_objFlags": 0,
15 | "_opacity": 255,
16 | "_color": {
17 | "__type__": "cc.Color",
18 | "r": 255,
19 | "g": 255,
20 | "b": 255,
21 | "a": 255
22 | },
23 | "_cascadeOpacityEnabled": true,
24 | "_parent": null,
25 | "_anchorPoint": {
26 | "__type__": "cc.Vec2",
27 | "x": 0,
28 | "y": 0
29 | },
30 | "_contentSize": {
31 | "__type__": "cc.Size",
32 | "width": 0,
33 | "height": 0
34 | },
35 | "_children": [
36 | {
37 | "__id__": 2
38 | }
39 | ],
40 | "_localZOrder": 0,
41 | "_globalZOrder": 0,
42 | "_tag": -1,
43 | "_opacityModifyRGB": false,
44 | "_reorderChildDirty": false,
45 | "_id": "a47b1d04-8f65-4b58-9800-0494ba644f06"
46 | },
47 | {
48 | "__type__": "cc.Node",
49 | "_name": "i1",
50 | "_objFlags": 0,
51 | "_opacity": 255,
52 | "_color": {
53 | "__type__": "cc.Color",
54 | "r": 255,
55 | "g": 255,
56 | "b": 255,
57 | "a": 255
58 | },
59 | "_cascadeOpacityEnabled": true,
60 | "_parent": {
61 | "__id__": 1
62 | },
63 | "_anchorPoint": {
64 | "__type__": "cc.Vec2",
65 | "x": 0.5,
66 | "y": 0.5
67 | },
68 | "_contentSize": {
69 | "__type__": "cc.Size",
70 | "width": 0,
71 | "height": 0
72 | },
73 | "_children": [],
74 | "_rotationX": 0,
75 | "_rotationY": 0,
76 | "_scaleX": 1,
77 | "_scaleY": 1,
78 | "_position": {
79 | "__type__": "cc.Vec2",
80 | "x": 0,
81 | "y": 0
82 | },
83 | "_skewX": 0,
84 | "_skewY": 0,
85 | "_localZOrder": 0,
86 | "_globalZOrder": 0,
87 | "_tag": -1,
88 | "_opacityModifyRGB": false,
89 | "_reorderChildDirty": false,
90 | "_id": "e73085MHLNPGrLYSvox9iDB",
91 | "_active": true,
92 | "_components": [
93 | {
94 | "__id__": 3
95 | },
96 | {
97 | "__id__": 5
98 | }
99 | ],
100 | "_prefab": {
101 | "__id__": 6
102 | },
103 | "groupIndex": 0
104 | },
105 | {
106 | "__type__": "cc.Button",
107 | "_name": "",
108 | "_objFlags": 0,
109 | "node": {
110 | "__id__": 2
111 | },
112 | "_enabled": true,
113 | "transition": 0,
114 | "pressedColor": {
115 | "__type__": "cc.Color",
116 | "r": 211,
117 | "g": 211,
118 | "b": 211,
119 | "a": 255
120 | },
121 | "hoverColor": {
122 | "__type__": "cc.Color",
123 | "r": 255,
124 | "g": 255,
125 | "b": 255,
126 | "a": 255
127 | },
128 | "duration": 0.1,
129 | "pressedSprite": null,
130 | "hoverSprite": null,
131 | "clickEvents": [
132 | {
133 | "__id__": 4
134 | }
135 | ],
136 | "_N$interactable": true,
137 | "_N$normalColor": {
138 | "__type__": "cc.Color",
139 | "r": 214,
140 | "g": 214,
141 | "b": 214,
142 | "a": 255
143 | },
144 | "_N$disabledColor": {
145 | "__type__": "cc.Color",
146 | "r": 124,
147 | "g": 124,
148 | "b": 124,
149 | "a": 255
150 | },
151 | "_N$normalSprite": null,
152 | "_N$disabledSprite": null,
153 | "_N$target": {
154 | "__id__": 2
155 | }
156 | },
157 | {
158 | "__type__": "cc.ClickEvent",
159 | "target": {
160 | "__id__": 2
161 | },
162 | "component": "KdPrefab",
163 | "handler": "addComponent"
164 | },
165 | {
166 | "__type__": "4c3c5p1IVNIn7SN0Moet2KO",
167 | "_name": "",
168 | "_objFlags": 0,
169 | "node": {
170 | "__id__": 2
171 | },
172 | "_enabled": true,
173 | "strategy": 0,
174 | "prefab": {
175 | "__uuid__": "679fc5b7-631a-42e1-9945-856232d8f5b0"
176 | }
177 | },
178 | {
179 | "__type__": "cc.PrefabInfo",
180 | "root": {
181 | "__id__": 2
182 | },
183 | "asset": {
184 | "__uuid__": "679fc5b7-631a-42e1-9945-856232d8f5b0"
185 | },
186 | "fileId": "e73085MHLNPGrLYSvox9iDB"
187 | }
188 | ]
--------------------------------------------------------------------------------
/test_project/assets/testcases/cr1_cr2_cr3/s2.fire.meta:
--------------------------------------------------------------------------------
1 | {
2 | "ver": "1.0.0",
3 | "uuid": "a47b1d04-8f65-4b58-9800-0494ba644f06",
4 | "subMetas": {}
5 | }
--------------------------------------------------------------------------------
/test_project/assets/testcases/cr1_cr2_cr3/s3.fire:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "__type__": "cc.SceneAsset",
4 | "_name": "",
5 | "_objFlags": 0,
6 | "_rawFiles": null,
7 | "scene": {
8 | "__id__": 1
9 | }
10 | },
11 | {
12 | "__type__": "cc.Scene",
13 | "_name": "s3",
14 | "_objFlags": 0,
15 | "_opacity": 255,
16 | "_color": {
17 | "__type__": "cc.Color",
18 | "r": 255,
19 | "g": 255,
20 | "b": 255,
21 | "a": 255
22 | },
23 | "_cascadeOpacityEnabled": true,
24 | "_parent": null,
25 | "_anchorPoint": {
26 | "__type__": "cc.Vec2",
27 | "x": 0,
28 | "y": 0
29 | },
30 | "_contentSize": {
31 | "__type__": "cc.Size",
32 | "width": 0,
33 | "height": 0
34 | },
35 | "_children": [
36 | {
37 | "__id__": 2
38 | }
39 | ],
40 | "_localZOrder": 0,
41 | "_globalZOrder": 0,
42 | "_tag": -1,
43 | "_opacityModifyRGB": false,
44 | "_reorderChildDirty": false,
45 | "_id": "caef8c71-12de-40c3-a43c-5334e70f4b6b"
46 | },
47 | {
48 | "__type__": "cc.Node",
49 | "_name": "i3",
50 | "_objFlags": 0,
51 | "_opacity": 255,
52 | "_color": {
53 | "__type__": "cc.Color",
54 | "r": 255,
55 | "g": 255,
56 | "b": 255,
57 | "a": 255
58 | },
59 | "_cascadeOpacityEnabled": true,
60 | "_parent": {
61 | "__id__": 1
62 | },
63 | "_anchorPoint": {
64 | "__type__": "cc.Vec2",
65 | "x": 0.5,
66 | "y": 0.5
67 | },
68 | "_contentSize": {
69 | "__type__": "cc.Size",
70 | "width": 0,
71 | "height": 0
72 | },
73 | "_children": [],
74 | "_rotationX": 0,
75 | "_rotationY": 0,
76 | "_scaleX": 1,
77 | "_scaleY": 1,
78 | "_position": {
79 | "__type__": "cc.Vec2",
80 | "x": 0,
81 | "y": 0
82 | },
83 | "_skewX": 0,
84 | "_skewY": 0,
85 | "_localZOrder": 0,
86 | "_globalZOrder": 0,
87 | "_tag": -1,
88 | "_opacityModifyRGB": false,
89 | "_reorderChildDirty": false,
90 | "_id": "d1e4ajFkQ1LeZS12e2ki++v",
91 | "_active": true,
92 | "_components": [
93 | {
94 | "__id__": 3
95 | },
96 | {
97 | "__id__": 5
98 | }
99 | ],
100 | "_prefab": {
101 | "__id__": 6
102 | },
103 | "groupIndex": 0
104 | },
105 | {
106 | "__type__": "cc.Button",
107 | "_name": "",
108 | "_objFlags": 0,
109 | "node": {
110 | "__id__": 2
111 | },
112 | "_enabled": true,
113 | "transition": 0,
114 | "pressedColor": {
115 | "__type__": "cc.Color",
116 | "r": 211,
117 | "g": 211,
118 | "b": 211,
119 | "a": 255
120 | },
121 | "hoverColor": {
122 | "__type__": "cc.Color",
123 | "r": 255,
124 | "g": 255,
125 | "b": 255,
126 | "a": 255
127 | },
128 | "duration": 0.1,
129 | "pressedSprite": null,
130 | "hoverSprite": null,
131 | "clickEvents": [
132 | {
133 | "__id__": 4
134 | }
135 | ],
136 | "_N$interactable": true,
137 | "_N$normalColor": {
138 | "__type__": "cc.Color",
139 | "r": 214,
140 | "g": 214,
141 | "b": 214,
142 | "a": 255
143 | },
144 | "_N$disabledColor": {
145 | "__type__": "cc.Color",
146 | "r": 124,
147 | "g": 124,
148 | "b": 124,
149 | "a": 255
150 | },
151 | "_N$normalSprite": null,
152 | "_N$disabledSprite": null,
153 | "_N$target": {
154 | "__id__": 2
155 | }
156 | },
157 | {
158 | "__type__": "cc.ClickEvent",
159 | "target": {
160 | "__id__": 2
161 | },
162 | "component": "KdPrefab",
163 | "handler": "getComponent"
164 | },
165 | {
166 | "__type__": "4c3c5p1IVNIn7SN0Moet2KO",
167 | "_name": "",
168 | "_objFlags": 0,
169 | "node": {
170 | "__id__": 2
171 | },
172 | "_enabled": true,
173 | "strategy": 0,
174 | "prefab": {
175 | "__uuid__": "eeb63c08-b0ed-40a2-9b4d-9d133986c36a"
176 | }
177 | },
178 | {
179 | "__type__": "cc.PrefabInfo",
180 | "root": {
181 | "__id__": 2
182 | },
183 | "asset": {
184 | "__uuid__": "eeb63c08-b0ed-40a2-9b4d-9d133986c36a"
185 | },
186 | "fileId": "d1e4ajFkQ1LeZS12e2ki++v"
187 | }
188 | ]
--------------------------------------------------------------------------------
/test_project/assets/testcases/cr1_cr2_cr3/s3.fire.meta:
--------------------------------------------------------------------------------
1 | {
2 | "ver": "1.0.0",
3 | "uuid": "caef8c71-12de-40c3-a43c-5334e70f4b6b",
4 | "subMetas": {}
5 | }
--------------------------------------------------------------------------------
/test_project/assets/testcases/cr1_cr2_cr3/s4.fire:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "__type__": "cc.SceneAsset",
4 | "_name": "",
5 | "_objFlags": 0,
6 | "_rawFiles": null,
7 | "scene": {
8 | "__id__": 1
9 | }
10 | },
11 | {
12 | "__type__": "cc.Scene",
13 | "_name": "s4",
14 | "_objFlags": 0,
15 | "_opacity": 255,
16 | "_color": {
17 | "__type__": "cc.Color",
18 | "r": 255,
19 | "g": 255,
20 | "b": 255,
21 | "a": 255
22 | },
23 | "_cascadeOpacityEnabled": true,
24 | "_parent": null,
25 | "_anchorPoint": {
26 | "__type__": "cc.Vec2",
27 | "x": 0,
28 | "y": 0
29 | },
30 | "_contentSize": {
31 | "__type__": "cc.Size",
32 | "width": 0,
33 | "height": 0
34 | },
35 | "_children": [
36 | {
37 | "__id__": 2
38 | }
39 | ],
40 | "_localZOrder": 0,
41 | "_globalZOrder": 0,
42 | "_tag": -1,
43 | "_opacityModifyRGB": false,
44 | "_reorderChildDirty": false,
45 | "_id": "ad972ba4-0942-40ec-b8c6-6058977a2866"
46 | },
47 | {
48 | "__type__": "cc.Node",
49 | "_name": "i4",
50 | "_objFlags": 0,
51 | "_opacity": 255,
52 | "_color": {
53 | "__type__": "cc.Color",
54 | "r": 255,
55 | "g": 255,
56 | "b": 255,
57 | "a": 255
58 | },
59 | "_cascadeOpacityEnabled": true,
60 | "_parent": {
61 | "__id__": 1
62 | },
63 | "_anchorPoint": {
64 | "__type__": "cc.Vec2",
65 | "x": 0.5,
66 | "y": 0.5
67 | },
68 | "_contentSize": {
69 | "__type__": "cc.Size",
70 | "width": 0,
71 | "height": 0
72 | },
73 | "_children": [],
74 | "_rotationX": 0,
75 | "_rotationY": 0,
76 | "_scaleX": 1,
77 | "_scaleY": 1,
78 | "_position": {
79 | "__type__": "cc.Vec2",
80 | "x": 0,
81 | "y": 0
82 | },
83 | "_skewX": 0,
84 | "_skewY": 0,
85 | "_localZOrder": 0,
86 | "_globalZOrder": 0,
87 | "_tag": -1,
88 | "_opacityModifyRGB": false,
89 | "_reorderChildDirty": false,
90 | "_id": "454aeM5JJJD3KA2i/mE45jk",
91 | "_active": true,
92 | "_components": [
93 | {
94 | "__id__": 3
95 | },
96 | {
97 | "__id__": 4
98 | }
99 | ],
100 | "_prefab": {
101 | "__id__": 6
102 | },
103 | "groupIndex": 0
104 | },
105 | {
106 | "__type__": "4c3c5p1IVNIn7SN0Moet2KO",
107 | "_name": "",
108 | "_objFlags": 0,
109 | "node": {
110 | "__id__": 2
111 | },
112 | "_enabled": true,
113 | "strategy": 0,
114 | "prefab": {
115 | "__uuid__": "e90f616a-8671-4c41-b098-70abfd7c8b95"
116 | }
117 | },
118 | {
119 | "__type__": "cc.Button",
120 | "_name": "",
121 | "_objFlags": 0,
122 | "node": {
123 | "__id__": 2
124 | },
125 | "_enabled": true,
126 | "transition": 0,
127 | "pressedColor": {
128 | "__type__": "cc.Color",
129 | "r": 211,
130 | "g": 211,
131 | "b": 211,
132 | "a": 255
133 | },
134 | "hoverColor": {
135 | "__type__": "cc.Color",
136 | "r": 255,
137 | "g": 255,
138 | "b": 255,
139 | "a": 255
140 | },
141 | "duration": 0.1,
142 | "pressedSprite": null,
143 | "hoverSprite": null,
144 | "clickEvents": [
145 | {
146 | "__id__": 5
147 | }
148 | ],
149 | "_N$interactable": true,
150 | "_N$normalColor": {
151 | "__type__": "cc.Color",
152 | "r": 214,
153 | "g": 214,
154 | "b": 214,
155 | "a": 255
156 | },
157 | "_N$disabledColor": {
158 | "__type__": "cc.Color",
159 | "r": 124,
160 | "g": 124,
161 | "b": 124,
162 | "a": 255
163 | },
164 | "_N$normalSprite": null,
165 | "_N$disabledSprite": null,
166 | "_N$target": {
167 | "__id__": 2
168 | }
169 | },
170 | {
171 | "__type__": "cc.ClickEvent",
172 | "target": {
173 | "__id__": 2
174 | },
175 | "component": "KdPrefab",
176 | "handler": "getComponent"
177 | },
178 | {
179 | "__type__": "cc.PrefabInfo",
180 | "root": {
181 | "__id__": 2
182 | },
183 | "asset": {
184 | "__uuid__": "e90f616a-8671-4c41-b098-70abfd7c8b95"
185 | },
186 | "fileId": "454aeM5JJJD3KA2i/mE45jk"
187 | }
188 | ]
--------------------------------------------------------------------------------
/test_project/assets/testcases/cr1_cr2_cr3/s4.fire.meta:
--------------------------------------------------------------------------------
1 | {
2 | "ver": "1.0.0",
3 | "uuid": "ad972ba4-0942-40ec-b8c6-6058977a2866",
4 | "subMetas": {}
5 | }
--------------------------------------------------------------------------------
/test_project/assets/testcases/nested.meta:
--------------------------------------------------------------------------------
1 | {
2 | "ver": "1.0.1",
3 | "uuid": "44fb1e14-65bc-426e-8dce-a05e4d41da43",
4 | "isGroup": false,
5 | "subMetas": {}
6 | }
--------------------------------------------------------------------------------
/test_project/assets/testcases/nested/p1.prefab:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "__type__": "cc.Prefab",
4 | "_name": "",
5 | "_objFlags": 0,
6 | "_rawFiles": null,
7 | "data": {
8 | "__id__": 1
9 | }
10 | },
11 | {
12 | "__type__": "cc.Node",
13 | "_name": "i1",
14 | "_objFlags": 0,
15 | "_opacity": 255,
16 | "_color": {
17 | "__type__": "cc.Color",
18 | "r": 255,
19 | "g": 255,
20 | "b": 255,
21 | "a": 255
22 | },
23 | "_cascadeOpacityEnabled": true,
24 | "_parent": null,
25 | "_anchorPoint": {
26 | "__type__": "cc.Vec2",
27 | "x": 0.5,
28 | "y": 0.5
29 | },
30 | "_contentSize": {
31 | "__type__": "cc.Size",
32 | "width": 0,
33 | "height": 0
34 | },
35 | "_children": [
36 | {
37 | "__id__": 2
38 | }
39 | ],
40 | "_rotationX": 0,
41 | "_rotationY": 0,
42 | "_scaleX": 1,
43 | "_scaleY": 1,
44 | "_position": {
45 | "__type__": "cc.Vec2",
46 | "x": 0,
47 | "y": 0
48 | },
49 | "_skewX": 0,
50 | "_skewY": 0,
51 | "_localZOrder": 0,
52 | "_globalZOrder": 0,
53 | "_tag": -1,
54 | "_opacityModifyRGB": false,
55 | "_reorderChildDirty": false,
56 | "_id": "",
57 | "_active": true,
58 | "_components": [
59 | {
60 | "__id__": 5
61 | }
62 | ],
63 | "_prefab": {
64 | "__id__": 6
65 | },
66 | "groupIndex": 0
67 | },
68 | {
69 | "__type__": "cc.Node",
70 | "_name": "i2",
71 | "_objFlags": 0,
72 | "_opacity": 255,
73 | "_color": {
74 | "__type__": "cc.Color",
75 | "r": 255,
76 | "g": 255,
77 | "b": 255,
78 | "a": 255
79 | },
80 | "_cascadeOpacityEnabled": true,
81 | "_parent": {
82 | "__id__": 1
83 | },
84 | "_anchorPoint": {
85 | "__type__": "cc.Vec2",
86 | "x": 0.5,
87 | "y": 0.5
88 | },
89 | "_contentSize": {
90 | "__type__": "cc.Size",
91 | "width": 0,
92 | "height": 0
93 | },
94 | "_children": [],
95 | "_rotationX": 0,
96 | "_rotationY": 0,
97 | "_scaleX": 1,
98 | "_scaleY": 1,
99 | "_position": {
100 | "__type__": "cc.Vec2",
101 | "x": 0,
102 | "y": 0
103 | },
104 | "_skewX": 0,
105 | "_skewY": 0,
106 | "_localZOrder": 0,
107 | "_globalZOrder": 0,
108 | "_tag": -1,
109 | "_opacityModifyRGB": false,
110 | "_reorderChildDirty": false,
111 | "_id": "",
112 | "_active": true,
113 | "_components": [
114 | {
115 | "__id__": 3
116 | }
117 | ],
118 | "_prefab": {
119 | "__id__": 4
120 | },
121 | "groupIndex": 0
122 | },
123 | {
124 | "__type__": "4c3c5p1IVNIn7SN0Moet2KO",
125 | "_name": "",
126 | "_objFlags": 0,
127 | "node": {
128 | "__id__": 2
129 | },
130 | "_enabled": true,
131 | "strategy": 0,
132 | "prefab": {
133 | "__uuid__": "0d146d0e-91f4-46b5-8b55-eb78e60794fc"
134 | }
135 | },
136 | {
137 | "__type__": "cc.PrefabInfo",
138 | "root": {
139 | "__id__": 1
140 | },
141 | "asset": {
142 | "__uuid__": "71b9f305-69e2-4f12-89b6-ab7c4a4a4c16"
143 | },
144 | "fileId": "51787A6/bFA2YMtuxqu7Dz6"
145 | },
146 | {
147 | "__type__": "4c3c5p1IVNIn7SN0Moet2KO",
148 | "_name": "",
149 | "_objFlags": 0,
150 | "node": {
151 | "__id__": 1
152 | },
153 | "_enabled": true,
154 | "strategy": 0,
155 | "prefab": {
156 | "__uuid__": "71b9f305-69e2-4f12-89b6-ab7c4a4a4c16"
157 | }
158 | },
159 | {
160 | "__type__": "cc.PrefabInfo",
161 | "root": {
162 | "__id__": 1
163 | },
164 | "asset": {
165 | "__uuid__": "71b9f305-69e2-4f12-89b6-ab7c4a4a4c16"
166 | },
167 | "fileId": "51787A6/bFA2YMtuxqu7Dz6"
168 | }
169 | ]
--------------------------------------------------------------------------------
/test_project/assets/testcases/nested/p1.prefab.meta:
--------------------------------------------------------------------------------
1 | {
2 | "ver": "1.0.0",
3 | "uuid": "71b9f305-69e2-4f12-89b6-ab7c4a4a4c16",
4 | "subMetas": {}
5 | }
--------------------------------------------------------------------------------
/test_project/assets/testcases/nested/p2.prefab:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "__type__": "cc.Prefab",
4 | "_name": "",
5 | "_objFlags": 0,
6 | "_rawFiles": null,
7 | "data": {
8 | "__id__": 1
9 | }
10 | },
11 | {
12 | "__type__": "cc.Node",
13 | "_name": "i2",
14 | "_objFlags": 0,
15 | "_opacity": 255,
16 | "_color": {
17 | "__type__": "cc.Color",
18 | "r": 255,
19 | "g": 255,
20 | "b": 255,
21 | "a": 255
22 | },
23 | "_cascadeOpacityEnabled": true,
24 | "_parent": null,
25 | "_anchorPoint": {
26 | "__type__": "cc.Vec2",
27 | "x": 0.5,
28 | "y": 0.5
29 | },
30 | "_contentSize": {
31 | "__type__": "cc.Size",
32 | "width": 0,
33 | "height": 0
34 | },
35 | "_children": [],
36 | "_rotationX": 0,
37 | "_rotationY": 0,
38 | "_scaleX": 1,
39 | "_scaleY": 1,
40 | "_position": {
41 | "__type__": "cc.Vec2",
42 | "x": 0,
43 | "y": 0
44 | },
45 | "_skewX": 0,
46 | "_skewY": 0,
47 | "_localZOrder": 0,
48 | "_globalZOrder": 0,
49 | "_tag": -1,
50 | "_opacityModifyRGB": false,
51 | "_reorderChildDirty": false,
52 | "_id": "",
53 | "_active": true,
54 | "_components": [
55 | {
56 | "__id__": 2
57 | }
58 | ],
59 | "_prefab": {
60 | "__id__": 3
61 | },
62 | "groupIndex": 0
63 | },
64 | {
65 | "__type__": "4c3c5p1IVNIn7SN0Moet2KO",
66 | "_name": "",
67 | "_objFlags": 0,
68 | "node": {
69 | "__id__": 1
70 | },
71 | "_enabled": true,
72 | "strategy": 0,
73 | "prefab": {
74 | "__uuid__": "0d146d0e-91f4-46b5-8b55-eb78e60794fc"
75 | }
76 | },
77 | {
78 | "__type__": "cc.PrefabInfo",
79 | "root": {
80 | "__id__": 1
81 | },
82 | "asset": {
83 | "__uuid__": "0d146d0e-91f4-46b5-8b55-eb78e60794fc"
84 | },
85 | "fileId": "51787A6/bFA2YMtuxqu7Dz6"
86 | }
87 | ]
--------------------------------------------------------------------------------
/test_project/assets/testcases/nested/p2.prefab.meta:
--------------------------------------------------------------------------------
1 | {
2 | "ver": "1.0.0",
3 | "uuid": "0d146d0e-91f4-46b5-8b55-eb78e60794fc",
4 | "subMetas": {}
5 | }
--------------------------------------------------------------------------------
/test_project/assets/testcases/nested/s1.fire:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "__type__": "cc.SceneAsset",
4 | "_name": "",
5 | "_objFlags": 0,
6 | "_rawFiles": null,
7 | "scene": {
8 | "__id__": 1
9 | }
10 | },
11 | {
12 | "__type__": "cc.Scene",
13 | "_name": "s1",
14 | "_objFlags": 0,
15 | "_opacity": 255,
16 | "_color": {
17 | "__type__": "cc.Color",
18 | "r": 255,
19 | "g": 255,
20 | "b": 255,
21 | "a": 255
22 | },
23 | "_cascadeOpacityEnabled": true,
24 | "_parent": null,
25 | "_anchorPoint": {
26 | "__type__": "cc.Vec2",
27 | "x": 0,
28 | "y": 0
29 | },
30 | "_contentSize": {
31 | "__type__": "cc.Size",
32 | "width": 0,
33 | "height": 0
34 | },
35 | "_children": [
36 | {
37 | "__id__": 2
38 | },
39 | {
40 | "__id__": 8
41 | }
42 | ],
43 | "_localZOrder": 0,
44 | "_globalZOrder": 0,
45 | "_tag": -1,
46 | "_opacityModifyRGB": false,
47 | "_reorderChildDirty": false,
48 | "_id": "acb3b12a-99f5-4f6f-b843-4eabfb3d02b5"
49 | },
50 | {
51 | "__type__": "cc.Node",
52 | "_name": "i1",
53 | "_objFlags": 0,
54 | "_opacity": 255,
55 | "_color": {
56 | "__type__": "cc.Color",
57 | "r": 255,
58 | "g": 255,
59 | "b": 255,
60 | "a": 255
61 | },
62 | "_cascadeOpacityEnabled": true,
63 | "_parent": {
64 | "__id__": 1
65 | },
66 | "_anchorPoint": {
67 | "__type__": "cc.Vec2",
68 | "x": 0.5,
69 | "y": 0.5
70 | },
71 | "_contentSize": {
72 | "__type__": "cc.Size",
73 | "width": 0,
74 | "height": 0
75 | },
76 | "_children": [
77 | {
78 | "__id__": 3
79 | }
80 | ],
81 | "_rotationX": 0,
82 | "_rotationY": 0,
83 | "_scaleX": 1,
84 | "_scaleY": 1,
85 | "_position": {
86 | "__type__": "cc.Vec2",
87 | "x": 0,
88 | "y": 0
89 | },
90 | "_skewX": 0,
91 | "_skewY": 0,
92 | "_localZOrder": 0,
93 | "_globalZOrder": 0,
94 | "_tag": -1,
95 | "_opacityModifyRGB": false,
96 | "_reorderChildDirty": false,
97 | "_id": "e4c0aHOOgFKxbkEpZFUH5jr",
98 | "_active": true,
99 | "_components": [
100 | {
101 | "__id__": 6
102 | }
103 | ],
104 | "_prefab": {
105 | "__id__": 7
106 | },
107 | "groupIndex": 0
108 | },
109 | {
110 | "__type__": "cc.Node",
111 | "_name": "i2",
112 | "_objFlags": 0,
113 | "_opacity": 255,
114 | "_color": {
115 | "__type__": "cc.Color",
116 | "r": 255,
117 | "g": 255,
118 | "b": 255,
119 | "a": 255
120 | },
121 | "_cascadeOpacityEnabled": true,
122 | "_parent": {
123 | "__id__": 2
124 | },
125 | "_anchorPoint": {
126 | "__type__": "cc.Vec2",
127 | "x": 0.5,
128 | "y": 0.5
129 | },
130 | "_contentSize": {
131 | "__type__": "cc.Size",
132 | "width": 0,
133 | "height": 0
134 | },
135 | "_children": [],
136 | "_rotationX": 0,
137 | "_rotationY": 0,
138 | "_scaleX": 1,
139 | "_scaleY": 1,
140 | "_position": {
141 | "__type__": "cc.Vec2",
142 | "x": 0,
143 | "y": 0
144 | },
145 | "_skewX": 0,
146 | "_skewY": 0,
147 | "_localZOrder": 0,
148 | "_globalZOrder": 0,
149 | "_tag": -1,
150 | "_opacityModifyRGB": false,
151 | "_reorderChildDirty": false,
152 | "_id": "3d9894XJ7tDWb5GvqTeVl79",
153 | "_active": true,
154 | "_components": [
155 | {
156 | "__id__": 4
157 | }
158 | ],
159 | "_prefab": {
160 | "__id__": 5
161 | },
162 | "groupIndex": 0
163 | },
164 | {
165 | "__type__": "4c3c5p1IVNIn7SN0Moet2KO",
166 | "_name": "",
167 | "_objFlags": 0,
168 | "node": {
169 | "__id__": 3
170 | },
171 | "_enabled": true,
172 | "strategy": 0,
173 | "prefab": {
174 | "__uuid__": "0d146d0e-91f4-46b5-8b55-eb78e60794fc"
175 | }
176 | },
177 | {
178 | "__type__": "cc.PrefabInfo",
179 | "root": {
180 | "__id__": 2
181 | },
182 | "asset": {
183 | "__uuid__": "71b9f305-69e2-4f12-89b6-ab7c4a4a4c16"
184 | },
185 | "fileId": "51787A6/bFA2YMtuxqu7Dz6"
186 | },
187 | {
188 | "__type__": "4c3c5p1IVNIn7SN0Moet2KO",
189 | "_name": "",
190 | "_objFlags": 0,
191 | "node": {
192 | "__id__": 2
193 | },
194 | "_enabled": true,
195 | "strategy": 0,
196 | "prefab": {
197 | "__uuid__": "71b9f305-69e2-4f12-89b6-ab7c4a4a4c16"
198 | }
199 | },
200 | {
201 | "__type__": "cc.PrefabInfo",
202 | "root": {
203 | "__id__": 2
204 | },
205 | "asset": {
206 | "__uuid__": "71b9f305-69e2-4f12-89b6-ab7c4a4a4c16"
207 | },
208 | "fileId": "51787A6/bFA2YMtuxqu7Dz6"
209 | },
210 | {
211 | "__type__": "cc.Node",
212 | "_name": "i2",
213 | "_objFlags": 0,
214 | "_opacity": 255,
215 | "_color": {
216 | "__type__": "cc.Color",
217 | "r": 255,
218 | "g": 255,
219 | "b": 255,
220 | "a": 255
221 | },
222 | "_cascadeOpacityEnabled": true,
223 | "_parent": {
224 | "__id__": 1
225 | },
226 | "_anchorPoint": {
227 | "__type__": "cc.Vec2",
228 | "x": 0.5,
229 | "y": 0.5
230 | },
231 | "_contentSize": {
232 | "__type__": "cc.Size",
233 | "width": 0,
234 | "height": 0
235 | },
236 | "_children": [],
237 | "_rotationX": 0,
238 | "_rotationY": 0,
239 | "_scaleX": 1,
240 | "_scaleY": 1,
241 | "_position": {
242 | "__type__": "cc.Vec2",
243 | "x": 0,
244 | "y": 0
245 | },
246 | "_skewX": 0,
247 | "_skewY": 0,
248 | "_localZOrder": 0,
249 | "_globalZOrder": 0,
250 | "_tag": -1,
251 | "_opacityModifyRGB": false,
252 | "_reorderChildDirty": false,
253 | "_id": "a248cEwb0BKxK+KZZNtFfnZ",
254 | "_active": true,
255 | "_components": [
256 | {
257 | "__id__": 9
258 | }
259 | ],
260 | "_prefab": {
261 | "__id__": 10
262 | },
263 | "groupIndex": 0
264 | },
265 | {
266 | "__type__": "4c3c5p1IVNIn7SN0Moet2KO",
267 | "_name": "",
268 | "_objFlags": 0,
269 | "node": {
270 | "__id__": 8
271 | },
272 | "_enabled": true,
273 | "strategy": 0,
274 | "prefab": {
275 | "__uuid__": "0d146d0e-91f4-46b5-8b55-eb78e60794fc"
276 | }
277 | },
278 | {
279 | "__type__": "cc.PrefabInfo",
280 | "root": {
281 | "__id__": 8
282 | },
283 | "asset": {
284 | "__uuid__": "0d146d0e-91f4-46b5-8b55-eb78e60794fc"
285 | },
286 | "fileId": "51787A6/bFA2YMtuxqu7Dz6"
287 | }
288 | ]
--------------------------------------------------------------------------------
/test_project/assets/testcases/nested/s1.fire.meta:
--------------------------------------------------------------------------------
1 | {
2 | "ver": "1.0.0",
3 | "uuid": "acb3b12a-99f5-4f6f-b843-4eabfb3d02b5",
4 | "subMetas": {}
5 | }
--------------------------------------------------------------------------------
/test_project/assets/testcases/ss1.meta:
--------------------------------------------------------------------------------
1 | {
2 | "ver": "1.0.1",
3 | "uuid": "caf80ae9-ed76-4b05-9a5e-b93f1c2d683c",
4 | "isGroup": false,
5 | "subMetas": {}
6 | }
--------------------------------------------------------------------------------
/test_project/assets/testcases/ss1/p1.prefab:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "__type__": "cc.Prefab",
4 | "_name": "",
5 | "_objFlags": 0,
6 | "_rawFiles": null,
7 | "data": {
8 | "__id__": 1
9 | }
10 | },
11 | {
12 | "__type__": "cc.Node",
13 | "_name": "i1",
14 | "_objFlags": 0,
15 | "_opacity": 255,
16 | "_color": {
17 | "__type__": "cc.Color",
18 | "r": 255,
19 | "g": 255,
20 | "b": 255,
21 | "a": 255
22 | },
23 | "_cascadeOpacityEnabled": true,
24 | "_parent": null,
25 | "_anchorPoint": {
26 | "__type__": "cc.Vec2",
27 | "x": 0.5,
28 | "y": 0.5
29 | },
30 | "_contentSize": {
31 | "__type__": "cc.Size",
32 | "width": 0,
33 | "height": 0
34 | },
35 | "_children": [],
36 | "_rotationX": 0,
37 | "_rotationY": 0,
38 | "_scaleX": 1,
39 | "_scaleY": 1,
40 | "_position": {
41 | "__type__": "cc.Vec2",
42 | "x": 0,
43 | "y": 0
44 | },
45 | "_skewX": 0,
46 | "_skewY": 0,
47 | "_localZOrder": 0,
48 | "_globalZOrder": 0,
49 | "_tag": -1,
50 | "_opacityModifyRGB": false,
51 | "_reorderChildDirty": false,
52 | "_id": "",
53 | "_active": true,
54 | "_components": [
55 | {
56 | "__id__": 2
57 | }
58 | ],
59 | "_prefab": {
60 | "__id__": 3
61 | },
62 | "groupIndex": 0
63 | },
64 | {
65 | "__type__": "4c3c5p1IVNIn7SN0Moet2KO",
66 | "_name": "",
67 | "_objFlags": 0,
68 | "node": {
69 | "__id__": 1
70 | },
71 | "_enabled": true,
72 | "strategy": 0,
73 | "prefab": {
74 | "__uuid__": "cb029f3e-6ea4-4bd6-ae0e-65231b246339"
75 | }
76 | },
77 | {
78 | "__type__": "cc.PrefabInfo",
79 | "root": {
80 | "__id__": 1
81 | },
82 | "asset": {
83 | "__uuid__": "cb029f3e-6ea4-4bd6-ae0e-65231b246339"
84 | },
85 | "fileId": "cbc3frdm91D/YH2LbRZJkUH"
86 | }
87 | ]
--------------------------------------------------------------------------------
/test_project/assets/testcases/ss1/p1.prefab.meta:
--------------------------------------------------------------------------------
1 | {
2 | "ver": "1.0.0",
3 | "uuid": "cb029f3e-6ea4-4bd6-ae0e-65231b246339",
4 | "subMetas": {}
5 | }
--------------------------------------------------------------------------------
/test_project/assets/testcases/ss1/p2.prefab:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "__type__": "cc.Prefab",
4 | "_name": "",
5 | "_objFlags": 0,
6 | "_rawFiles": null,
7 | "data": {
8 | "__id__": 1
9 | }
10 | },
11 | {
12 | "__type__": "cc.Node",
13 | "_name": "i3",
14 | "_objFlags": 0,
15 | "_opacity": 255,
16 | "_color": {
17 | "__type__": "cc.Color",
18 | "r": 255,
19 | "g": 255,
20 | "b": 255,
21 | "a": 255
22 | },
23 | "_cascadeOpacityEnabled": true,
24 | "_parent": null,
25 | "_anchorPoint": {
26 | "__type__": "cc.Vec2",
27 | "x": 0.5,
28 | "y": 0.5
29 | },
30 | "_contentSize": {
31 | "__type__": "cc.Size",
32 | "width": 0,
33 | "height": 0
34 | },
35 | "_children": [],
36 | "_rotationX": 0,
37 | "_rotationY": 0,
38 | "_scaleX": 1,
39 | "_scaleY": 1,
40 | "_position": {
41 | "__type__": "cc.Vec2",
42 | "x": 0,
43 | "y": 0
44 | },
45 | "_skewX": 0,
46 | "_skewY": 0,
47 | "_localZOrder": 0,
48 | "_globalZOrder": 0,
49 | "_tag": -1,
50 | "_opacityModifyRGB": false,
51 | "_reorderChildDirty": false,
52 | "_id": "",
53 | "_active": true,
54 | "_components": [
55 | {
56 | "__id__": 2
57 | }
58 | ],
59 | "_prefab": {
60 | "__id__": 3
61 | },
62 | "groupIndex": 0
63 | },
64 | {
65 | "__type__": "4c3c5p1IVNIn7SN0Moet2KO",
66 | "_name": "",
67 | "_objFlags": 0,
68 | "node": {
69 | "__id__": 1
70 | },
71 | "_enabled": true,
72 | "strategy": 1,
73 | "prefab": {
74 | "__uuid__": "7b6ea214-4165-4999-be4e-658de43c50cf"
75 | }
76 | },
77 | {
78 | "__type__": "cc.PrefabInfo",
79 | "root": {
80 | "__id__": 1
81 | },
82 | "asset": {
83 | "__uuid__": "7b6ea214-4165-4999-be4e-658de43c50cf"
84 | },
85 | "fileId": "4ba86scpgdAerjvnIN0ruRK"
86 | }
87 | ]
--------------------------------------------------------------------------------
/test_project/assets/testcases/ss1/p2.prefab.meta:
--------------------------------------------------------------------------------
1 | {
2 | "ver": "1.0.0",
3 | "uuid": "7b6ea214-4165-4999-be4e-658de43c50cf",
4 | "subMetas": {}
5 | }
--------------------------------------------------------------------------------
/test_project/assets/testcases/ss1/s1.fire:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "__type__": "cc.SceneAsset",
4 | "_name": "",
5 | "_objFlags": 0,
6 | "_rawFiles": null,
7 | "scene": {
8 | "__id__": 1
9 | }
10 | },
11 | {
12 | "__type__": "cc.Scene",
13 | "_name": "s1",
14 | "_objFlags": 0,
15 | "_opacity": 255,
16 | "_color": {
17 | "__type__": "cc.Color",
18 | "r": 255,
19 | "g": 255,
20 | "b": 255,
21 | "a": 255
22 | },
23 | "_cascadeOpacityEnabled": true,
24 | "_parent": null,
25 | "_anchorPoint": {
26 | "__type__": "cc.Vec2",
27 | "x": 0,
28 | "y": 0
29 | },
30 | "_contentSize": {
31 | "__type__": "cc.Size",
32 | "width": 0,
33 | "height": 0
34 | },
35 | "_children": [
36 | {
37 | "__id__": 2
38 | },
39 | {
40 | "__id__": 5
41 | },
42 | {
43 | "__id__": 8
44 | },
45 | {
46 | "__id__": 11
47 | },
48 | {
49 | "__id__": 14
50 | }
51 | ],
52 | "_localZOrder": 0,
53 | "_globalZOrder": 0,
54 | "_tag": -1,
55 | "_opacityModifyRGB": false,
56 | "_reorderChildDirty": false,
57 | "_id": "f6d66233-505f-4c2d-83ad-eca17197ba94"
58 | },
59 | {
60 | "__type__": "cc.Node",
61 | "_name": "i1",
62 | "_objFlags": 0,
63 | "_opacity": 255,
64 | "_color": {
65 | "__type__": "cc.Color",
66 | "r": 255,
67 | "g": 0,
68 | "b": 0,
69 | "a": 255
70 | },
71 | "_cascadeOpacityEnabled": true,
72 | "_parent": {
73 | "__id__": 1
74 | },
75 | "_anchorPoint": {
76 | "__type__": "cc.Vec2",
77 | "x": 1,
78 | "y": 0.5
79 | },
80 | "_contentSize": {
81 | "__type__": "cc.Size",
82 | "width": 0,
83 | "height": 0
84 | },
85 | "_children": [],
86 | "_rotationX": 0,
87 | "_rotationY": 0,
88 | "_scaleX": 1,
89 | "_scaleY": 1,
90 | "_position": {
91 | "__type__": "cc.Vec2",
92 | "x": 0,
93 | "y": 0
94 | },
95 | "_skewX": 0,
96 | "_skewY": 0,
97 | "_localZOrder": 0,
98 | "_globalZOrder": 0,
99 | "_tag": -1,
100 | "_opacityModifyRGB": false,
101 | "_reorderChildDirty": false,
102 | "_id": "cbc3frdm91D/YH2LbRZJkUH",
103 | "_active": true,
104 | "_components": [
105 | {
106 | "__id__": 3
107 | }
108 | ],
109 | "_prefab": {
110 | "__id__": 4
111 | },
112 | "groupIndex": 0
113 | },
114 | {
115 | "__type__": "4c3c5p1IVNIn7SN0Moet2KO",
116 | "_name": "",
117 | "_objFlags": 0,
118 | "node": {
119 | "__id__": 2
120 | },
121 | "_enabled": true,
122 | "strategy": 0,
123 | "prefab": {
124 | "__uuid__": "cb029f3e-6ea4-4bd6-ae0e-65231b246339"
125 | }
126 | },
127 | {
128 | "__type__": "cc.PrefabInfo",
129 | "root": {
130 | "__id__": 2
131 | },
132 | "asset": {
133 | "__uuid__": "cb029f3e-6ea4-4bd6-ae0e-65231b246339"
134 | },
135 | "fileId": "cbc3frdm91D/YH2LbRZJkUH"
136 | },
137 | {
138 | "__type__": "cc.Node",
139 | "_name": "i2",
140 | "_objFlags": 0,
141 | "_opacity": 255,
142 | "_color": {
143 | "__type__": "cc.Color",
144 | "r": 255,
145 | "g": 0,
146 | "b": 0,
147 | "a": 255
148 | },
149 | "_cascadeOpacityEnabled": true,
150 | "_parent": {
151 | "__id__": 1
152 | },
153 | "_anchorPoint": {
154 | "__type__": "cc.Vec2",
155 | "x": 1,
156 | "y": 0.5
157 | },
158 | "_contentSize": {
159 | "__type__": "cc.Size",
160 | "width": 0,
161 | "height": 0
162 | },
163 | "_children": [],
164 | "_rotationX": 0,
165 | "_rotationY": 0,
166 | "_scaleX": 1,
167 | "_scaleY": 1,
168 | "_position": {
169 | "__type__": "cc.Vec2",
170 | "x": 0,
171 | "y": 0
172 | },
173 | "_skewX": 0,
174 | "_skewY": 0,
175 | "_localZOrder": 0,
176 | "_globalZOrder": 0,
177 | "_tag": -1,
178 | "_opacityModifyRGB": false,
179 | "_reorderChildDirty": false,
180 | "_id": "75b15S7PtZORIgzFcooNcM3",
181 | "_active": true,
182 | "_components": [
183 | {
184 | "__id__": 6
185 | }
186 | ],
187 | "_prefab": {
188 | "__id__": 7
189 | },
190 | "groupIndex": 0
191 | },
192 | {
193 | "__type__": "4c3c5p1IVNIn7SN0Moet2KO",
194 | "_name": "",
195 | "_objFlags": 0,
196 | "node": {
197 | "__id__": 5
198 | },
199 | "_enabled": true,
200 | "strategy": 1,
201 | "prefab": {
202 | "__uuid__": "cb029f3e-6ea4-4bd6-ae0e-65231b246339"
203 | }
204 | },
205 | {
206 | "__type__": "cc.PrefabInfo",
207 | "root": {
208 | "__id__": 5
209 | },
210 | "asset": {
211 | "__uuid__": "cb029f3e-6ea4-4bd6-ae0e-65231b246339"
212 | },
213 | "fileId": "cbc3frdm91D/YH2LbRZJkUH"
214 | },
215 | {
216 | "__type__": "cc.Node",
217 | "_name": "i3",
218 | "_objFlags": 0,
219 | "_opacity": 255,
220 | "_color": {
221 | "__type__": "cc.Color",
222 | "r": 255,
223 | "g": 0,
224 | "b": 0,
225 | "a": 255
226 | },
227 | "_cascadeOpacityEnabled": true,
228 | "_parent": {
229 | "__id__": 1
230 | },
231 | "_anchorPoint": {
232 | "__type__": "cc.Vec2",
233 | "x": 1,
234 | "y": 0.5
235 | },
236 | "_contentSize": {
237 | "__type__": "cc.Size",
238 | "width": 0,
239 | "height": 0
240 | },
241 | "_children": [],
242 | "_rotationX": 0,
243 | "_rotationY": 0,
244 | "_scaleX": 1,
245 | "_scaleY": 1,
246 | "_position": {
247 | "__type__": "cc.Vec2",
248 | "x": 0,
249 | "y": 0
250 | },
251 | "_skewX": 0,
252 | "_skewY": 0,
253 | "_localZOrder": 0,
254 | "_globalZOrder": 0,
255 | "_tag": -1,
256 | "_opacityModifyRGB": false,
257 | "_reorderChildDirty": false,
258 | "_id": "4ba86scpgdAerjvnIN0ruRK",
259 | "_active": true,
260 | "_components": [
261 | {
262 | "__id__": 9
263 | }
264 | ],
265 | "_prefab": {
266 | "__id__": 10
267 | },
268 | "groupIndex": 0
269 | },
270 | {
271 | "__type__": "4c3c5p1IVNIn7SN0Moet2KO",
272 | "_name": "",
273 | "_objFlags": 0,
274 | "node": {
275 | "__id__": 8
276 | },
277 | "_enabled": true,
278 | "strategy": 1,
279 | "prefab": {
280 | "__uuid__": "7b6ea214-4165-4999-be4e-658de43c50cf"
281 | }
282 | },
283 | {
284 | "__type__": "cc.PrefabInfo",
285 | "root": {
286 | "__id__": 8
287 | },
288 | "asset": {
289 | "__uuid__": "7b6ea214-4165-4999-be4e-658de43c50cf"
290 | },
291 | "fileId": "4ba86scpgdAerjvnIN0ruRK"
292 | },
293 | {
294 | "__type__": "cc.Node",
295 | "_name": "i4",
296 | "_objFlags": 0,
297 | "_opacity": 255,
298 | "_color": {
299 | "__type__": "cc.Color",
300 | "r": 255,
301 | "g": 0,
302 | "b": 0,
303 | "a": 255
304 | },
305 | "_cascadeOpacityEnabled": true,
306 | "_parent": {
307 | "__id__": 1
308 | },
309 | "_anchorPoint": {
310 | "__type__": "cc.Vec2",
311 | "x": 1,
312 | "y": 0.5
313 | },
314 | "_contentSize": {
315 | "__type__": "cc.Size",
316 | "width": 0,
317 | "height": 0
318 | },
319 | "_children": [],
320 | "_rotationX": 0,
321 | "_rotationY": 0,
322 | "_scaleX": 1,
323 | "_scaleY": 1,
324 | "_position": {
325 | "__type__": "cc.Vec2",
326 | "x": 0,
327 | "y": 0
328 | },
329 | "_skewX": 0,
330 | "_skewY": 0,
331 | "_localZOrder": 0,
332 | "_globalZOrder": 0,
333 | "_tag": -1,
334 | "_opacityModifyRGB": false,
335 | "_reorderChildDirty": false,
336 | "_id": "33c03d+PFBCxob9TmxwOvkZ",
337 | "_active": true,
338 | "_components": [
339 | {
340 | "__id__": 12
341 | }
342 | ],
343 | "_prefab": {
344 | "__id__": 13
345 | },
346 | "groupIndex": 0
347 | },
348 | {
349 | "__type__": "4c3c5p1IVNIn7SN0Moet2KO",
350 | "_name": "",
351 | "_objFlags": 0,
352 | "node": {
353 | "__id__": 11
354 | },
355 | "_enabled": true,
356 | "strategy": 0,
357 | "prefab": {
358 | "__uuid__": "7b6ea214-4165-4999-be4e-658de43c50cf"
359 | }
360 | },
361 | {
362 | "__type__": "cc.PrefabInfo",
363 | "root": {
364 | "__id__": 11
365 | },
366 | "asset": {
367 | "__uuid__": "7b6ea214-4165-4999-be4e-658de43c50cf"
368 | },
369 | "fileId": "4ba86scpgdAerjvnIN0ruRK"
370 | },
371 | {
372 | "__type__": "cc.Node",
373 | "_name": "Node",
374 | "_objFlags": 0,
375 | "_opacity": 255,
376 | "_color": {
377 | "__type__": "cc.Color",
378 | "r": 255,
379 | "g": 255,
380 | "b": 255,
381 | "a": 255
382 | },
383 | "_cascadeOpacityEnabled": true,
384 | "_parent": {
385 | "__id__": 1
386 | },
387 | "_anchorPoint": {
388 | "__type__": "cc.Vec2",
389 | "x": 0.5,
390 | "y": 0.5
391 | },
392 | "_contentSize": {
393 | "__type__": "cc.Size",
394 | "width": 0,
395 | "height": 0
396 | },
397 | "_children": [],
398 | "_rotationX": 0,
399 | "_rotationY": 0,
400 | "_scaleX": 1,
401 | "_scaleY": 1,
402 | "_position": {
403 | "__type__": "cc.Vec2",
404 | "x": 0,
405 | "y": 0
406 | },
407 | "_skewX": 0,
408 | "_skewY": 0,
409 | "_localZOrder": 0,
410 | "_globalZOrder": 0,
411 | "_tag": -1,
412 | "_opacityModifyRGB": false,
413 | "_reorderChildDirty": false,
414 | "_id": "ad5b12CKShFcZToGASBnst+",
415 | "_active": true,
416 | "_components": [],
417 | "_prefab": null,
418 | "groupIndex": 0
419 | }
420 | ]
--------------------------------------------------------------------------------
/test_project/assets/testcases/ss1/s1.fire.meta:
--------------------------------------------------------------------------------
1 | {
2 | "ver": "1.0.0",
3 | "uuid": "f6d66233-505f-4c2d-83ad-eca17197ba94",
4 | "subMetas": {}
5 | }
--------------------------------------------------------------------------------
/test_project/assets/testcases/ss2.meta:
--------------------------------------------------------------------------------
1 | {
2 | "ver": "1.0.1",
3 | "uuid": "0522f586-85e7-4033-a155-58145de34f16",
4 | "isGroup": false,
5 | "subMetas": {}
6 | }
--------------------------------------------------------------------------------
/test_project/assets/testcases/ss2/p1.prefab:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "__type__": "cc.Prefab",
4 | "_name": "",
5 | "_objFlags": 0,
6 | "_rawFiles": null,
7 | "data": {
8 | "__id__": 1
9 | }
10 | },
11 | {
12 | "__type__": "cc.Node",
13 | "_name": "i1",
14 | "_objFlags": 0,
15 | "_opacity": 255,
16 | "_color": {
17 | "__type__": "cc.Color",
18 | "r": 255,
19 | "g": 255,
20 | "b": 255,
21 | "a": 255
22 | },
23 | "_cascadeOpacityEnabled": true,
24 | "_parent": null,
25 | "_anchorPoint": {
26 | "__type__": "cc.Vec2",
27 | "x": 0.5,
28 | "y": 0.5
29 | },
30 | "_contentSize": {
31 | "__type__": "cc.Size",
32 | "width": 0,
33 | "height": 0
34 | },
35 | "_children": [],
36 | "_rotationX": 0,
37 | "_rotationY": 0,
38 | "_scaleX": 1,
39 | "_scaleY": 1,
40 | "_position": {
41 | "__type__": "cc.Vec2",
42 | "x": 0,
43 | "y": 0
44 | },
45 | "_skewX": 0,
46 | "_skewY": 0,
47 | "_localZOrder": 0,
48 | "_globalZOrder": 0,
49 | "_tag": -1,
50 | "_opacityModifyRGB": false,
51 | "_reorderChildDirty": false,
52 | "_id": "",
53 | "_active": true,
54 | "_components": [
55 | {
56 | "__id__": 2
57 | }
58 | ],
59 | "_prefab": {
60 | "__id__": 3
61 | },
62 | "groupIndex": 0
63 | },
64 | {
65 | "__type__": "4c3c5p1IVNIn7SN0Moet2KO",
66 | "_name": "",
67 | "_objFlags": 0,
68 | "node": {
69 | "__id__": 1
70 | },
71 | "_enabled": true,
72 | "strategy": 0,
73 | "prefab": {
74 | "__uuid__": "21ce68c7-c54a-43a4-8bdb-2aa74c315ebf"
75 | }
76 | },
77 | {
78 | "__type__": "cc.PrefabInfo",
79 | "root": {
80 | "__id__": 1
81 | },
82 | "asset": {
83 | "__uuid__": "21ce68c7-c54a-43a4-8bdb-2aa74c315ebf"
84 | },
85 | "fileId": "255c1jcEn5FY6+aXh9chIya"
86 | }
87 | ]
--------------------------------------------------------------------------------
/test_project/assets/testcases/ss2/p1.prefab.meta:
--------------------------------------------------------------------------------
1 | {
2 | "ver": "1.0.0",
3 | "uuid": "21ce68c7-c54a-43a4-8bdb-2aa74c315ebf",
4 | "subMetas": {}
5 | }
--------------------------------------------------------------------------------
/test_project/assets/testcases/ss2/s1.fire:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "__type__": "cc.SceneAsset",
4 | "_name": "",
5 | "_objFlags": 0,
6 | "_rawFiles": null,
7 | "scene": {
8 | "__id__": 1
9 | }
10 | },
11 | {
12 | "__type__": "cc.Scene",
13 | "_name": "s1",
14 | "_objFlags": 0,
15 | "_opacity": 255,
16 | "_color": {
17 | "__type__": "cc.Color",
18 | "r": 255,
19 | "g": 255,
20 | "b": 255,
21 | "a": 255
22 | },
23 | "_cascadeOpacityEnabled": true,
24 | "_parent": null,
25 | "_anchorPoint": {
26 | "__type__": "cc.Vec2",
27 | "x": 0,
28 | "y": 0
29 | },
30 | "_contentSize": {
31 | "__type__": "cc.Size",
32 | "width": 0,
33 | "height": 0
34 | },
35 | "_children": [
36 | {
37 | "__id__": 2
38 | }
39 | ],
40 | "_localZOrder": 0,
41 | "_globalZOrder": 0,
42 | "_tag": -1,
43 | "_opacityModifyRGB": false,
44 | "_reorderChildDirty": false,
45 | "_id": "9200fcb9-9fc1-4100-a893-00504886c275"
46 | },
47 | {
48 | "__type__": "cc.Node",
49 | "_name": "i1",
50 | "_objFlags": 0,
51 | "_opacity": 1,
52 | "_color": {
53 | "__type__": "cc.Color",
54 | "r": 255,
55 | "g": 0,
56 | "b": 0,
57 | "a": 255
58 | },
59 | "_cascadeOpacityEnabled": true,
60 | "_parent": {
61 | "__id__": 1
62 | },
63 | "_anchorPoint": {
64 | "__type__": "cc.Vec2",
65 | "x": 1,
66 | "y": 1
67 | },
68 | "_contentSize": {
69 | "__type__": "cc.Size",
70 | "width": 1,
71 | "height": 1
72 | },
73 | "_children": [],
74 | "_rotationX": 1,
75 | "_rotationY": 1,
76 | "_scaleX": 2,
77 | "_scaleY": 2,
78 | "_position": {
79 | "__type__": "cc.Vec2",
80 | "x": 1,
81 | "y": 1
82 | },
83 | "_skewX": 1,
84 | "_skewY": 1,
85 | "_localZOrder": 0,
86 | "_globalZOrder": 0,
87 | "_tag": -1,
88 | "_opacityModifyRGB": false,
89 | "_reorderChildDirty": false,
90 | "_id": "255c1jcEn5FY6+aXh9chIya",
91 | "_active": true,
92 | "_components": [
93 | {
94 | "__id__": 3
95 | }
96 | ],
97 | "_prefab": {
98 | "__id__": 4
99 | },
100 | "groupIndex": 0
101 | },
102 | {
103 | "__type__": "4c3c5p1IVNIn7SN0Moet2KO",
104 | "_name": "",
105 | "_objFlags": 0,
106 | "node": {
107 | "__id__": 2
108 | },
109 | "_enabled": true,
110 | "strategy": 0,
111 | "prefab": {
112 | "__uuid__": "21ce68c7-c54a-43a4-8bdb-2aa74c315ebf"
113 | }
114 | },
115 | {
116 | "__type__": "cc.PrefabInfo",
117 | "root": {
118 | "__id__": 2
119 | },
120 | "asset": {
121 | "__uuid__": "21ce68c7-c54a-43a4-8bdb-2aa74c315ebf"
122 | },
123 | "fileId": "255c1jcEn5FY6+aXh9chIya"
124 | }
125 | ]
--------------------------------------------------------------------------------
/test_project/assets/testcases/ss2/s1.fire.meta:
--------------------------------------------------------------------------------
1 | {
2 | "ver": "1.0.0",
3 | "uuid": "9200fcb9-9fc1-4100-a893-00504886c275",
4 | "subMetas": {}
5 | }
--------------------------------------------------------------------------------
/test_project/assets/testcases/ss3.meta:
--------------------------------------------------------------------------------
1 | {
2 | "ver": "1.0.1",
3 | "uuid": "bdb1a0f6-96a4-42c0-9dba-05c4a30fd368",
4 | "isGroup": false,
5 | "subMetas": {}
6 | }
--------------------------------------------------------------------------------
/test_project/assets/testcases/ss3/p1.prefab:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "__type__": "cc.Prefab",
4 | "_name": "",
5 | "_objFlags": 0,
6 | "_rawFiles": null,
7 | "data": {
8 | "__id__": 1
9 | }
10 | },
11 | {
12 | "__type__": "cc.Node",
13 | "_name": "I1",
14 | "_objFlags": 0,
15 | "_opacity": 255,
16 | "_color": {
17 | "__type__": "cc.Color",
18 | "r": 255,
19 | "g": 255,
20 | "b": 255,
21 | "a": 255
22 | },
23 | "_cascadeOpacityEnabled": true,
24 | "_parent": null,
25 | "_anchorPoint": {
26 | "__type__": "cc.Vec2",
27 | "x": 0.5,
28 | "y": 0.5
29 | },
30 | "_contentSize": {
31 | "__type__": "cc.Size",
32 | "width": 0,
33 | "height": 0
34 | },
35 | "_children": [],
36 | "_rotationX": 0,
37 | "_rotationY": 0,
38 | "_scaleX": 1,
39 | "_scaleY": 1,
40 | "_position": {
41 | "__type__": "cc.Vec2",
42 | "x": 0,
43 | "y": 0
44 | },
45 | "_skewX": 0,
46 | "_skewY": 0,
47 | "_localZOrder": 0,
48 | "_globalZOrder": 0,
49 | "_tag": -1,
50 | "_opacityModifyRGB": false,
51 | "_reorderChildDirty": false,
52 | "_id": "",
53 | "_active": true,
54 | "_components": [
55 | {
56 | "__id__": 2
57 | },
58 | {
59 | "__id__": 3
60 | }
61 | ],
62 | "_prefab": {
63 | "__id__": 4
64 | },
65 | "groupIndex": 0
66 | },
67 | {
68 | "__type__": "4c3c5p1IVNIn7SN0Moet2KO",
69 | "_name": "",
70 | "_objFlags": 0,
71 | "node": {
72 | "__id__": 1
73 | },
74 | "_enabled": true,
75 | "strategy": 0,
76 | "prefab": {
77 | "__uuid__": "2664cd8c-a0fa-44ca-94f7-11e1d99353e7"
78 | }
79 | },
80 | {
81 | "__type__": "cc.Widget",
82 | "_name": "",
83 | "_objFlags": 0,
84 | "node": {
85 | "__id__": 1
86 | },
87 | "_enabled": true,
88 | "isAlignOnce": true,
89 | "_alignFlags": 8,
90 | "_left": 0,
91 | "_right": 0,
92 | "_top": 0,
93 | "_bottom": 0,
94 | "_isAbsLeft": true,
95 | "_isAbsRight": true,
96 | "_isAbsTop": true,
97 | "_isAbsBottom": true,
98 | "_originalWidth": 0,
99 | "_originalHeight": 0
100 | },
101 | {
102 | "__type__": "cc.PrefabInfo",
103 | "root": {
104 | "__id__": 1
105 | },
106 | "asset": {
107 | "__uuid__": "2664cd8c-a0fa-44ca-94f7-11e1d99353e7"
108 | },
109 | "fileId": "78196NalG9BPJVFY7yPLLy1"
110 | }
111 | ]
--------------------------------------------------------------------------------
/test_project/assets/testcases/ss3/p1.prefab.meta:
--------------------------------------------------------------------------------
1 | {
2 | "ver": "1.0.0",
3 | "uuid": "2664cd8c-a0fa-44ca-94f7-11e1d99353e7",
4 | "subMetas": {}
5 | }
--------------------------------------------------------------------------------
/test_project/assets/testcases/ss3/p2.prefab:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "__type__": "cc.Prefab",
4 | "_name": "",
5 | "_objFlags": 0,
6 | "_rawFiles": null,
7 | "data": {
8 | "__id__": 1
9 | }
10 | },
11 | {
12 | "__type__": "cc.Node",
13 | "_name": "i2",
14 | "_objFlags": 0,
15 | "_opacity": 255,
16 | "_color": {
17 | "__type__": "cc.Color",
18 | "r": 255,
19 | "g": 255,
20 | "b": 255,
21 | "a": 255
22 | },
23 | "_cascadeOpacityEnabled": true,
24 | "_parent": null,
25 | "_anchorPoint": {
26 | "__type__": "cc.Vec2",
27 | "x": 0.5,
28 | "y": 0.5
29 | },
30 | "_contentSize": {
31 | "__type__": "cc.Size",
32 | "width": 0,
33 | "height": 0
34 | },
35 | "_children": [],
36 | "_rotationX": 0,
37 | "_rotationY": 0,
38 | "_scaleX": 1,
39 | "_scaleY": 1,
40 | "_position": {
41 | "__type__": "cc.Vec2",
42 | "x": 0,
43 | "y": 0
44 | },
45 | "_skewX": 0,
46 | "_skewY": 0,
47 | "_localZOrder": 0,
48 | "_globalZOrder": 0,
49 | "_tag": -1,
50 | "_opacityModifyRGB": false,
51 | "_reorderChildDirty": false,
52 | "_id": "",
53 | "_active": true,
54 | "_components": [
55 | {
56 | "__id__": 2
57 | }
58 | ],
59 | "_prefab": {
60 | "__id__": 3
61 | },
62 | "groupIndex": 0
63 | },
64 | {
65 | "__type__": "4c3c5p1IVNIn7SN0Moet2KO",
66 | "_name": "",
67 | "_objFlags": 0,
68 | "node": {
69 | "__id__": 1
70 | },
71 | "_enabled": true,
72 | "strategy": 0,
73 | "prefab": {
74 | "__uuid__": "5dbde0c7-eaf8-4e34-b231-05b648014715"
75 | }
76 | },
77 | {
78 | "__type__": "cc.PrefabInfo",
79 | "root": {
80 | "__id__": 1
81 | },
82 | "asset": {
83 | "__uuid__": "5dbde0c7-eaf8-4e34-b231-05b648014715"
84 | },
85 | "fileId": "419adKOCKtErrww/TeBn10E"
86 | }
87 | ]
--------------------------------------------------------------------------------
/test_project/assets/testcases/ss3/p2.prefab.meta:
--------------------------------------------------------------------------------
1 | {
2 | "ver": "1.0.0",
3 | "uuid": "5dbde0c7-eaf8-4e34-b231-05b648014715",
4 | "subMetas": {}
5 | }
--------------------------------------------------------------------------------
/test_project/assets/testcases/ss3/p3.prefab:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "__type__": "cc.Prefab",
4 | "_name": "",
5 | "_objFlags": 0,
6 | "_rawFiles": null,
7 | "data": {
8 | "__id__": 1
9 | }
10 | },
11 | {
12 | "__type__": "cc.Node",
13 | "_name": "i3",
14 | "_objFlags": 0,
15 | "_opacity": 255,
16 | "_color": {
17 | "__type__": "cc.Color",
18 | "r": 255,
19 | "g": 255,
20 | "b": 255,
21 | "a": 255
22 | },
23 | "_cascadeOpacityEnabled": true,
24 | "_parent": null,
25 | "_anchorPoint": {
26 | "__type__": "cc.Vec2",
27 | "x": 0.5,
28 | "y": 0.5
29 | },
30 | "_contentSize": {
31 | "__type__": "cc.Size",
32 | "width": 0,
33 | "height": 0
34 | },
35 | "_children": [],
36 | "_rotationX": 0,
37 | "_rotationY": 0,
38 | "_scaleX": 1,
39 | "_scaleY": 1,
40 | "_position": {
41 | "__type__": "cc.Vec2",
42 | "x": 0,
43 | "y": 0
44 | },
45 | "_skewX": 0,
46 | "_skewY": 0,
47 | "_localZOrder": 0,
48 | "_globalZOrder": 0,
49 | "_tag": -1,
50 | "_opacityModifyRGB": false,
51 | "_reorderChildDirty": false,
52 | "_id": "",
53 | "_active": true,
54 | "_components": [
55 | {
56 | "__id__": 2
57 | },
58 | {
59 | "__id__": 3
60 | }
61 | ],
62 | "_prefab": {
63 | "__id__": 4
64 | },
65 | "groupIndex": 0
66 | },
67 | {
68 | "__type__": "4c3c5p1IVNIn7SN0Moet2KO",
69 | "_name": "",
70 | "_objFlags": 0,
71 | "node": {
72 | "__id__": 1
73 | },
74 | "_enabled": true,
75 | "strategy": 0,
76 | "prefab": {
77 | "__uuid__": "8e3fa300-5c9d-43b5-81e8-ddfab0b4bb0b"
78 | }
79 | },
80 | {
81 | "__type__": "cc.Widget",
82 | "_name": "",
83 | "_objFlags": 0,
84 | "node": {
85 | "__id__": 1
86 | },
87 | "_enabled": true,
88 | "isAlignOnce": true,
89 | "_alignFlags": 8,
90 | "_left": 0,
91 | "_right": 0,
92 | "_top": 0,
93 | "_bottom": 0,
94 | "_isAbsLeft": true,
95 | "_isAbsRight": true,
96 | "_isAbsTop": true,
97 | "_isAbsBottom": true,
98 | "_originalWidth": 0,
99 | "_originalHeight": 0
100 | },
101 | {
102 | "__type__": "cc.PrefabInfo",
103 | "root": {
104 | "__id__": 1
105 | },
106 | "asset": {
107 | "__uuid__": "8e3fa300-5c9d-43b5-81e8-ddfab0b4bb0b"
108 | },
109 | "fileId": "073e5A2rXRKXpLCYTu0lOXS"
110 | }
111 | ]
--------------------------------------------------------------------------------
/test_project/assets/testcases/ss3/p3.prefab.meta:
--------------------------------------------------------------------------------
1 | {
2 | "ver": "1.0.0",
3 | "uuid": "8e3fa300-5c9d-43b5-81e8-ddfab0b4bb0b",
4 | "subMetas": {}
5 | }
--------------------------------------------------------------------------------
/test_project/assets/testcases/ss3/s1.fire:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "__type__": "cc.SceneAsset",
4 | "_name": "",
5 | "_objFlags": 0,
6 | "_rawFiles": null,
7 | "scene": {
8 | "__id__": 1
9 | }
10 | },
11 | {
12 | "__type__": "cc.Scene",
13 | "_name": "s1",
14 | "_objFlags": 0,
15 | "_opacity": 255,
16 | "_color": {
17 | "__type__": "cc.Color",
18 | "r": 255,
19 | "g": 255,
20 | "b": 255,
21 | "a": 255
22 | },
23 | "_cascadeOpacityEnabled": true,
24 | "_parent": null,
25 | "_anchorPoint": {
26 | "__type__": "cc.Vec2",
27 | "x": 0,
28 | "y": 0
29 | },
30 | "_contentSize": {
31 | "__type__": "cc.Size",
32 | "width": 0,
33 | "height": 0
34 | },
35 | "_children": [
36 | {
37 | "__id__": 2
38 | },
39 | {
40 | "__id__": 5
41 | },
42 | {
43 | "__id__": 9
44 | }
45 | ],
46 | "_localZOrder": 0,
47 | "_globalZOrder": 0,
48 | "_tag": -1,
49 | "_opacityModifyRGB": false,
50 | "_reorderChildDirty": false,
51 | "_id": "c79e189d-2b34-478f-bc88-0c6b1e6c73d4"
52 | },
53 | {
54 | "__type__": "cc.Node",
55 | "_name": "i1",
56 | "_objFlags": 0,
57 | "_opacity": 255,
58 | "_color": {
59 | "__type__": "cc.Color",
60 | "r": 255,
61 | "g": 255,
62 | "b": 255,
63 | "a": 255
64 | },
65 | "_cascadeOpacityEnabled": true,
66 | "_parent": {
67 | "__id__": 1
68 | },
69 | "_anchorPoint": {
70 | "__type__": "cc.Vec2",
71 | "x": 0.5,
72 | "y": 0.5
73 | },
74 | "_contentSize": {
75 | "__type__": "cc.Size",
76 | "width": 0,
77 | "height": 0
78 | },
79 | "_children": [],
80 | "_rotationX": 0,
81 | "_rotationY": 0,
82 | "_scaleX": 1,
83 | "_scaleY": 1,
84 | "_position": {
85 | "__type__": "cc.Vec2",
86 | "x": 0,
87 | "y": 0
88 | },
89 | "_skewX": 0,
90 | "_skewY": 0,
91 | "_localZOrder": 0,
92 | "_globalZOrder": 0,
93 | "_tag": -1,
94 | "_opacityModifyRGB": false,
95 | "_reorderChildDirty": false,
96 | "_id": "78196NalG9BPJVFY7yPLLy1",
97 | "_active": true,
98 | "_components": [
99 | {
100 | "__id__": 3
101 | }
102 | ],
103 | "_prefab": {
104 | "__id__": 4
105 | },
106 | "groupIndex": 0
107 | },
108 | {
109 | "__type__": "4c3c5p1IVNIn7SN0Moet2KO",
110 | "_name": "",
111 | "_objFlags": 0,
112 | "node": {
113 | "__id__": 2
114 | },
115 | "_enabled": true,
116 | "strategy": 0,
117 | "prefab": {
118 | "__uuid__": "2664cd8c-a0fa-44ca-94f7-11e1d99353e7"
119 | }
120 | },
121 | {
122 | "__type__": "cc.PrefabInfo",
123 | "root": {
124 | "__id__": 2
125 | },
126 | "asset": {
127 | "__uuid__": "2664cd8c-a0fa-44ca-94f7-11e1d99353e7"
128 | },
129 | "fileId": "78196NalG9BPJVFY7yPLLy1"
130 | },
131 | {
132 | "__type__": "cc.Node",
133 | "_name": "i2",
134 | "_objFlags": 0,
135 | "_opacity": 255,
136 | "_color": {
137 | "__type__": "cc.Color",
138 | "r": 255,
139 | "g": 255,
140 | "b": 255,
141 | "a": 255
142 | },
143 | "_cascadeOpacityEnabled": true,
144 | "_parent": {
145 | "__id__": 1
146 | },
147 | "_anchorPoint": {
148 | "__type__": "cc.Vec2",
149 | "x": 0.5,
150 | "y": 0.5
151 | },
152 | "_contentSize": {
153 | "__type__": "cc.Size",
154 | "width": 0,
155 | "height": 0
156 | },
157 | "_children": [],
158 | "_rotationX": 0,
159 | "_rotationY": 0,
160 | "_scaleX": 1,
161 | "_scaleY": 1,
162 | "_position": {
163 | "__type__": "cc.Vec2",
164 | "x": 0,
165 | "y": 0
166 | },
167 | "_skewX": 0,
168 | "_skewY": 0,
169 | "_localZOrder": 0,
170 | "_globalZOrder": 0,
171 | "_tag": -1,
172 | "_opacityModifyRGB": false,
173 | "_reorderChildDirty": false,
174 | "_id": "419adKOCKtErrww/TeBn10E",
175 | "_active": true,
176 | "_components": [
177 | {
178 | "__id__": 6
179 | },
180 | {
181 | "__id__": 7
182 | }
183 | ],
184 | "_prefab": {
185 | "__id__": 8
186 | },
187 | "groupIndex": 0
188 | },
189 | {
190 | "__type__": "4c3c5p1IVNIn7SN0Moet2KO",
191 | "_name": "",
192 | "_objFlags": 0,
193 | "node": {
194 | "__id__": 5
195 | },
196 | "_enabled": true,
197 | "strategy": 0,
198 | "prefab": {
199 | "__uuid__": "5dbde0c7-eaf8-4e34-b231-05b648014715"
200 | }
201 | },
202 | {
203 | "__type__": "cc.Widget",
204 | "_name": "",
205 | "_objFlags": 0,
206 | "node": {
207 | "__id__": 5
208 | },
209 | "_enabled": true,
210 | "isAlignOnce": true,
211 | "_alignFlags": 8,
212 | "_left": 0,
213 | "_right": 0,
214 | "_top": 0,
215 | "_bottom": 0,
216 | "_isAbsLeft": true,
217 | "_isAbsRight": true,
218 | "_isAbsTop": true,
219 | "_isAbsBottom": true,
220 | "_originalWidth": 0,
221 | "_originalHeight": 0
222 | },
223 | {
224 | "__type__": "cc.PrefabInfo",
225 | "root": {
226 | "__id__": 5
227 | },
228 | "asset": {
229 | "__uuid__": "5dbde0c7-eaf8-4e34-b231-05b648014715"
230 | },
231 | "fileId": "419adKOCKtErrww/TeBn10E"
232 | },
233 | {
234 | "__type__": "cc.Node",
235 | "_name": "i3",
236 | "_objFlags": 0,
237 | "_opacity": 255,
238 | "_color": {
239 | "__type__": "cc.Color",
240 | "r": 255,
241 | "g": 255,
242 | "b": 255,
243 | "a": 255
244 | },
245 | "_cascadeOpacityEnabled": true,
246 | "_parent": {
247 | "__id__": 1
248 | },
249 | "_anchorPoint": {
250 | "__type__": "cc.Vec2",
251 | "x": 0.5,
252 | "y": 0.5
253 | },
254 | "_contentSize": {
255 | "__type__": "cc.Size",
256 | "width": 0,
257 | "height": 0
258 | },
259 | "_children": [],
260 | "_rotationX": 0,
261 | "_rotationY": 0,
262 | "_scaleX": 1,
263 | "_scaleY": 1,
264 | "_position": {
265 | "__type__": "cc.Vec2",
266 | "x": 0,
267 | "y": 0
268 | },
269 | "_skewX": 0,
270 | "_skewY": 0,
271 | "_localZOrder": 0,
272 | "_globalZOrder": 0,
273 | "_tag": -1,
274 | "_opacityModifyRGB": false,
275 | "_reorderChildDirty": false,
276 | "_id": "073e5A2rXRKXpLCYTu0lOXS",
277 | "_active": true,
278 | "_components": [
279 | {
280 | "__id__": 10
281 | },
282 | {
283 | "__id__": 11
284 | }
285 | ],
286 | "_prefab": {
287 | "__id__": 12
288 | },
289 | "groupIndex": 0
290 | },
291 | {
292 | "__type__": "4c3c5p1IVNIn7SN0Moet2KO",
293 | "_name": "",
294 | "_objFlags": 0,
295 | "node": {
296 | "__id__": 9
297 | },
298 | "_enabled": true,
299 | "strategy": 0,
300 | "prefab": {
301 | "__uuid__": "8e3fa300-5c9d-43b5-81e8-ddfab0b4bb0b"
302 | }
303 | },
304 | {
305 | "__type__": "cc.Widget",
306 | "_name": "",
307 | "_objFlags": 0,
308 | "node": {
309 | "__id__": 9
310 | },
311 | "_enabled": true,
312 | "isAlignOnce": true,
313 | "_alignFlags": 32,
314 | "_left": 0,
315 | "_right": 0,
316 | "_top": 0,
317 | "_bottom": 0,
318 | "_isAbsLeft": true,
319 | "_isAbsRight": true,
320 | "_isAbsTop": true,
321 | "_isAbsBottom": true,
322 | "_originalWidth": 0,
323 | "_originalHeight": 0
324 | },
325 | {
326 | "__type__": "cc.PrefabInfo",
327 | "root": {
328 | "__id__": 9
329 | },
330 | "asset": {
331 | "__uuid__": "8e3fa300-5c9d-43b5-81e8-ddfab0b4bb0b"
332 | },
333 | "fileId": "073e5A2rXRKXpLCYTu0lOXS"
334 | }
335 | ]
--------------------------------------------------------------------------------
/test_project/assets/testcases/ss3/s1.fire.meta:
--------------------------------------------------------------------------------
1 | {
2 | "ver": "1.0.0",
3 | "uuid": "c79e189d-2b34-478f-bc88-0c6b1e6c73d4",
4 | "subMetas": {}
5 | }
--------------------------------------------------------------------------------
/test_project/assets/testcases/ss4.meta:
--------------------------------------------------------------------------------
1 | {
2 | "ver": "1.0.1",
3 | "uuid": "c3931d6a-15d7-452d-893b-7ad2f16ce0ff",
4 | "isGroup": false,
5 | "subMetas": {}
6 | }
--------------------------------------------------------------------------------
/test_project/assets/testcases/ss4/a.prefab:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "__type__": "cc.Prefab",
4 | "_name": "",
5 | "_objFlags": 0,
6 | "_rawFiles": null,
7 | "data": {
8 | "__id__": 1
9 | }
10 | },
11 | {
12 | "__type__": "cc.Node",
13 | "_name": "a",
14 | "_objFlags": 0,
15 | "_opacity": 255,
16 | "_color": {
17 | "__type__": "cc.Color",
18 | "r": 255,
19 | "g": 255,
20 | "b": 255,
21 | "a": 255
22 | },
23 | "_cascadeOpacityEnabled": true,
24 | "_parent": null,
25 | "_anchorPoint": {
26 | "__type__": "cc.Vec2",
27 | "x": 0.5,
28 | "y": 0.5
29 | },
30 | "_contentSize": {
31 | "__type__": "cc.Size",
32 | "width": 0,
33 | "height": 0
34 | },
35 | "_children": [
36 | {
37 | "__id__": 2
38 | }
39 | ],
40 | "_rotationX": 0,
41 | "_rotationY": 0,
42 | "_scaleX": 1,
43 | "_scaleY": 1,
44 | "_position": {
45 | "__type__": "cc.Vec2",
46 | "x": 0,
47 | "y": 0
48 | },
49 | "_skewX": 0,
50 | "_skewY": 0,
51 | "_localZOrder": 0,
52 | "_globalZOrder": 0,
53 | "_tag": -1,
54 | "_opacityModifyRGB": false,
55 | "_reorderChildDirty": false,
56 | "_id": "",
57 | "_active": true,
58 | "_components": [
59 | {
60 | "__id__": 4
61 | }
62 | ],
63 | "_prefab": {
64 | "__id__": 5
65 | },
66 | "groupIndex": 0
67 | },
68 | {
69 | "__type__": "cc.Node",
70 | "_name": "b",
71 | "_objFlags": 0,
72 | "_opacity": 255,
73 | "_color": {
74 | "__type__": "cc.Color",
75 | "r": 255,
76 | "g": 255,
77 | "b": 255,
78 | "a": 255
79 | },
80 | "_cascadeOpacityEnabled": true,
81 | "_parent": {
82 | "__id__": 1
83 | },
84 | "_anchorPoint": {
85 | "__type__": "cc.Vec2",
86 | "x": 0.5,
87 | "y": 0.5
88 | },
89 | "_contentSize": {
90 | "__type__": "cc.Size",
91 | "width": 0,
92 | "height": 0
93 | },
94 | "_children": [],
95 | "_rotationX": 0,
96 | "_rotationY": 0,
97 | "_scaleX": 1,
98 | "_scaleY": 1,
99 | "_position": {
100 | "__type__": "cc.Vec2",
101 | "x": 0,
102 | "y": 0
103 | },
104 | "_skewX": 0,
105 | "_skewY": 0,
106 | "_localZOrder": 0,
107 | "_globalZOrder": 0,
108 | "_tag": -1,
109 | "_opacityModifyRGB": false,
110 | "_reorderChildDirty": false,
111 | "_id": "",
112 | "_active": true,
113 | "_components": [],
114 | "_prefab": {
115 | "__id__": 3
116 | },
117 | "groupIndex": 0
118 | },
119 | {
120 | "__type__": "cc.PrefabInfo",
121 | "root": {
122 | "__id__": 1
123 | },
124 | "asset": {
125 | "__uuid__": "b2c7aeb3-c68d-4a84-b012-c37572cea5ab"
126 | },
127 | "fileId": "c74f2JCIitEv4QBvlEPC9kj"
128 | },
129 | {
130 | "__type__": "4c3c5p1IVNIn7SN0Moet2KO",
131 | "_name": "",
132 | "_objFlags": 0,
133 | "node": {
134 | "__id__": 1
135 | },
136 | "_enabled": true,
137 | "strategy": 0,
138 | "prefab": {
139 | "__uuid__": "b2c7aeb3-c68d-4a84-b012-c37572cea5ab"
140 | }
141 | },
142 | {
143 | "__type__": "cc.PrefabInfo",
144 | "root": {
145 | "__id__": 1
146 | },
147 | "asset": {
148 | "__uuid__": "b2c7aeb3-c68d-4a84-b012-c37572cea5ab"
149 | },
150 | "fileId": "b2221oF1KpLhqrQZnZlPpOl"
151 | }
152 | ]
--------------------------------------------------------------------------------
/test_project/assets/testcases/ss4/a.prefab.meta:
--------------------------------------------------------------------------------
1 | {
2 | "ver": "1.0.0",
3 | "uuid": "b2c7aeb3-c68d-4a84-b012-c37572cea5ab",
4 | "subMetas": {}
5 | }
--------------------------------------------------------------------------------
/test_project/assets/testcases/ss4/s1.fire:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "__type__": "cc.SceneAsset",
4 | "_name": "",
5 | "_objFlags": 0,
6 | "_rawFiles": null,
7 | "scene": {
8 | "__id__": 1
9 | }
10 | },
11 | {
12 | "__type__": "cc.Scene",
13 | "_name": "s1",
14 | "_objFlags": 0,
15 | "_opacity": 255,
16 | "_color": {
17 | "__type__": "cc.Color",
18 | "r": 255,
19 | "g": 255,
20 | "b": 255,
21 | "a": 255
22 | },
23 | "_cascadeOpacityEnabled": true,
24 | "_parent": null,
25 | "_anchorPoint": {
26 | "__type__": "cc.Vec2",
27 | "x": 0,
28 | "y": 0
29 | },
30 | "_contentSize": {
31 | "__type__": "cc.Size",
32 | "width": 0,
33 | "height": 0
34 | },
35 | "_children": [
36 | {
37 | "__id__": 2
38 | }
39 | ],
40 | "_localZOrder": 0,
41 | "_globalZOrder": 0,
42 | "_tag": -1,
43 | "_opacityModifyRGB": false,
44 | "_reorderChildDirty": false,
45 | "_id": "7db805c2-6df9-4e7b-94d1-e08a92551728"
46 | },
47 | {
48 | "__type__": "cc.Node",
49 | "_name": "a",
50 | "_objFlags": 0,
51 | "_opacity": 255,
52 | "_color": {
53 | "__type__": "cc.Color",
54 | "r": 255,
55 | "g": 255,
56 | "b": 255,
57 | "a": 255
58 | },
59 | "_cascadeOpacityEnabled": true,
60 | "_parent": {
61 | "__id__": 1
62 | },
63 | "_anchorPoint": {
64 | "__type__": "cc.Vec2",
65 | "x": 0.5,
66 | "y": 0.5
67 | },
68 | "_contentSize": {
69 | "__type__": "cc.Size",
70 | "width": 0,
71 | "height": 0
72 | },
73 | "_children": [
74 | {
75 | "__id__": 3
76 | }
77 | ],
78 | "_rotationX": 0,
79 | "_rotationY": 0,
80 | "_scaleX": 1,
81 | "_scaleY": 1,
82 | "_position": {
83 | "__type__": "cc.Vec2",
84 | "x": 0,
85 | "y": 0
86 | },
87 | "_skewX": 0,
88 | "_skewY": 0,
89 | "_localZOrder": 0,
90 | "_globalZOrder": 0,
91 | "_tag": -1,
92 | "_opacityModifyRGB": false,
93 | "_reorderChildDirty": false,
94 | "_id": "b2221oF1KpLhqrQZnZlPpOl",
95 | "_active": true,
96 | "_components": [
97 | {
98 | "__id__": 5
99 | }
100 | ],
101 | "_prefab": {
102 | "__id__": 6
103 | },
104 | "groupIndex": 0
105 | },
106 | {
107 | "__type__": "cc.Node",
108 | "_name": "b",
109 | "_objFlags": 0,
110 | "_opacity": 255,
111 | "_color": {
112 | "__type__": "cc.Color",
113 | "r": 255,
114 | "g": 255,
115 | "b": 255,
116 | "a": 255
117 | },
118 | "_cascadeOpacityEnabled": true,
119 | "_parent": {
120 | "__id__": 2
121 | },
122 | "_anchorPoint": {
123 | "__type__": "cc.Vec2",
124 | "x": 0.5,
125 | "y": 0.5
126 | },
127 | "_contentSize": {
128 | "__type__": "cc.Size",
129 | "width": 0,
130 | "height": 0
131 | },
132 | "_children": [],
133 | "_rotationX": 0,
134 | "_rotationY": 0,
135 | "_scaleX": 1,
136 | "_scaleY": 1,
137 | "_position": {
138 | "__type__": "cc.Vec2",
139 | "x": 0,
140 | "y": 0
141 | },
142 | "_skewX": 0,
143 | "_skewY": 0,
144 | "_localZOrder": 0,
145 | "_globalZOrder": 0,
146 | "_tag": -1,
147 | "_opacityModifyRGB": false,
148 | "_reorderChildDirty": false,
149 | "_id": "c74f2JCIitEv4QBvlEPC9kj",
150 | "_active": false,
151 | "_components": [],
152 | "_prefab": {
153 | "__id__": 4
154 | },
155 | "groupIndex": 0
156 | },
157 | {
158 | "__type__": "cc.PrefabInfo",
159 | "root": {
160 | "__id__": 2
161 | },
162 | "asset": {
163 | "__uuid__": "b2c7aeb3-c68d-4a84-b012-c37572cea5ab"
164 | },
165 | "fileId": "c74f2JCIitEv4QBvlEPC9kj"
166 | },
167 | {
168 | "__type__": "4c3c5p1IVNIn7SN0Moet2KO",
169 | "_name": "",
170 | "_objFlags": 0,
171 | "node": {
172 | "__id__": 2
173 | },
174 | "_enabled": true,
175 | "strategy": 0,
176 | "prefab": {
177 | "__uuid__": "b2c7aeb3-c68d-4a84-b012-c37572cea5ab"
178 | }
179 | },
180 | {
181 | "__type__": "cc.PrefabInfo",
182 | "root": {
183 | "__id__": 2
184 | },
185 | "asset": {
186 | "__uuid__": "b2c7aeb3-c68d-4a84-b012-c37572cea5ab"
187 | },
188 | "fileId": "b2221oF1KpLhqrQZnZlPpOl"
189 | }
190 | ]
--------------------------------------------------------------------------------
/test_project/assets/testcases/ss4/s1.fire.meta:
--------------------------------------------------------------------------------
1 | {
2 | "ver": "1.0.0",
3 | "uuid": "7db805c2-6df9-4e7b-94d1-e08a92551728",
4 | "subMetas": {}
5 | }
--------------------------------------------------------------------------------
/test_project/assets/testcases/ss5.meta:
--------------------------------------------------------------------------------
1 | {
2 | "ver": "1.0.1",
3 | "uuid": "c4bc8b3b-a0a7-4f03-900b-e0f5e003f537",
4 | "isGroup": false,
5 | "subMetas": {}
6 | }
--------------------------------------------------------------------------------
/test_project/assets/testcases/ss5/a1.prefab:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "__type__": "cc.Prefab",
4 | "_name": "",
5 | "_objFlags": 0,
6 | "_rawFiles": null,
7 | "data": {
8 | "__id__": 1
9 | }
10 | },
11 | {
12 | "__type__": "cc.Node",
13 | "_name": "a1",
14 | "_objFlags": 0,
15 | "_opacity": 255,
16 | "_color": {
17 | "__type__": "cc.Color",
18 | "r": 255,
19 | "g": 255,
20 | "b": 255,
21 | "a": 255
22 | },
23 | "_cascadeOpacityEnabled": true,
24 | "_parent": null,
25 | "_anchorPoint": {
26 | "__type__": "cc.Vec2",
27 | "x": 0.5,
28 | "y": 0
29 | },
30 | "_contentSize": {
31 | "__type__": "cc.Size",
32 | "width": 450,
33 | "height": 0
34 | },
35 | "_children": [
36 | {
37 | "__id__": 2
38 | }
39 | ],
40 | "_rotationX": 0,
41 | "_rotationY": 0,
42 | "_scaleX": 1,
43 | "_scaleY": 1,
44 | "_position": {
45 | "__type__": "cc.Vec2",
46 | "x": 0,
47 | "y": 0
48 | },
49 | "_skewX": 0,
50 | "_skewY": 0,
51 | "_localZOrder": 0,
52 | "_globalZOrder": 0,
53 | "_tag": -1,
54 | "_opacityModifyRGB": false,
55 | "_reorderChildDirty": false,
56 | "_id": "",
57 | "_active": true,
58 | "_components": [
59 | {
60 | "__id__": 4
61 | },
62 | {
63 | "__id__": 5
64 | }
65 | ],
66 | "_prefab": {
67 | "__id__": 6
68 | },
69 | "groupIndex": 0
70 | },
71 | {
72 | "__type__": "cc.Node",
73 | "_name": "b1",
74 | "_objFlags": 0,
75 | "_opacity": 255,
76 | "_color": {
77 | "__type__": "cc.Color",
78 | "r": 255,
79 | "g": 255,
80 | "b": 255,
81 | "a": 255
82 | },
83 | "_cascadeOpacityEnabled": true,
84 | "_parent": {
85 | "__id__": 1
86 | },
87 | "_anchorPoint": {
88 | "__type__": "cc.Vec2",
89 | "x": 0.5,
90 | "y": 0.5
91 | },
92 | "_contentSize": {
93 | "__type__": "cc.Size",
94 | "width": 450,
95 | "height": 40
96 | },
97 | "_children": [],
98 | "_rotationX": 0,
99 | "_rotationY": 0,
100 | "_scaleX": 1,
101 | "_scaleY": 1,
102 | "_position": {
103 | "__type__": "cc.Vec2",
104 | "x": 0,
105 | "y": 20
106 | },
107 | "_skewX": 0,
108 | "_skewY": 0,
109 | "_localZOrder": 0,
110 | "_globalZOrder": 0,
111 | "_tag": -1,
112 | "_opacityModifyRGB": false,
113 | "_reorderChildDirty": false,
114 | "_id": "",
115 | "_active": true,
116 | "_components": [],
117 | "_prefab": {
118 | "__id__": 3
119 | },
120 | "groupIndex": 0
121 | },
122 | {
123 | "__type__": "cc.PrefabInfo",
124 | "root": {
125 | "__id__": 1
126 | },
127 | "asset": {
128 | "__uuid__": "31bdb646-1eb2-48ee-a154-87e245a4f6c7"
129 | },
130 | "fileId": "c4d63lRns5EFaHMKLkiT6wu"
131 | },
132 | {
133 | "__type__": "cc.Layout",
134 | "_name": "",
135 | "_objFlags": 0,
136 | "node": {
137 | "__id__": 1
138 | },
139 | "_enabled": true,
140 | "_layoutSize": {
141 | "__type__": "cc.Size",
142 | "width": 450,
143 | "height": 0
144 | },
145 | "_resize": 2,
146 | "_N$layoutType": 1,
147 | "_N$cellSize": {
148 | "__type__": "cc.Size",
149 | "width": 40,
150 | "height": 40
151 | },
152 | "_N$startAxis": 1,
153 | "_N$padding": 0,
154 | "_N$spacingX": 0,
155 | "_N$spacingY": 0,
156 | "_N$verticalDirection": 1,
157 | "_N$horizontalDirection": 0
158 | },
159 | {
160 | "__type__": "4c3c5p1IVNIn7SN0Moet2KO",
161 | "_name": "",
162 | "_objFlags": 0,
163 | "node": {
164 | "__id__": 1
165 | },
166 | "_enabled": true,
167 | "strategy": 0,
168 | "prefab": {
169 | "__uuid__": "31bdb646-1eb2-48ee-a154-87e245a4f6c7"
170 | }
171 | },
172 | {
173 | "__type__": "cc.PrefabInfo",
174 | "root": {
175 | "__id__": 1
176 | },
177 | "asset": {
178 | "__uuid__": "31bdb646-1eb2-48ee-a154-87e245a4f6c7"
179 | },
180 | "fileId": "ebcc4dAYJhI94paKtZhaXhy"
181 | }
182 | ]
--------------------------------------------------------------------------------
/test_project/assets/testcases/ss5/a1.prefab.meta:
--------------------------------------------------------------------------------
1 | {
2 | "ver": "1.0.0",
3 | "uuid": "31bdb646-1eb2-48ee-a154-87e245a4f6c7",
4 | "subMetas": {}
5 | }
--------------------------------------------------------------------------------
/test_project/assets/testcases/ss5/s1.fire:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "__type__": "cc.SceneAsset",
4 | "_name": "",
5 | "_objFlags": 0,
6 | "_rawFiles": null,
7 | "scene": {
8 | "__id__": 1
9 | }
10 | },
11 | {
12 | "__type__": "cc.Scene",
13 | "_name": "s1",
14 | "_objFlags": 0,
15 | "_opacity": 255,
16 | "_color": {
17 | "__type__": "cc.Color",
18 | "r": 255,
19 | "g": 255,
20 | "b": 255,
21 | "a": 255
22 | },
23 | "_cascadeOpacityEnabled": true,
24 | "_parent": null,
25 | "_anchorPoint": {
26 | "__type__": "cc.Vec2",
27 | "x": 0,
28 | "y": 0
29 | },
30 | "_contentSize": {
31 | "__type__": "cc.Size",
32 | "width": 0,
33 | "height": 0
34 | },
35 | "_children": [
36 | {
37 | "__id__": 2
38 | }
39 | ],
40 | "_localZOrder": 0,
41 | "_globalZOrder": 0,
42 | "_tag": -1,
43 | "_opacityModifyRGB": false,
44 | "_reorderChildDirty": false,
45 | "_id": "4d9a633a-4b65-4cb8-9e57-c915f2e266f4"
46 | },
47 | {
48 | "__type__": "cc.Node",
49 | "_name": "node",
50 | "_objFlags": 0,
51 | "_opacity": 255,
52 | "_color": {
53 | "__type__": "cc.Color",
54 | "r": 255,
55 | "g": 255,
56 | "b": 255,
57 | "a": 255
58 | },
59 | "_cascadeOpacityEnabled": true,
60 | "_parent": {
61 | "__id__": 1
62 | },
63 | "_anchorPoint": {
64 | "__type__": "cc.Vec2",
65 | "x": 0.5,
66 | "y": 0.5
67 | },
68 | "_contentSize": {
69 | "__type__": "cc.Size",
70 | "width": 560,
71 | "height": 200
72 | },
73 | "_children": [
74 | {
75 | "__id__": 3
76 | }
77 | ],
78 | "_rotationX": 0,
79 | "_rotationY": 0,
80 | "_scaleX": 1,
81 | "_scaleY": 1,
82 | "_position": {
83 | "__type__": "cc.Vec2",
84 | "x": 0,
85 | "y": 0
86 | },
87 | "_skewX": 0,
88 | "_skewY": 0,
89 | "_localZOrder": 0,
90 | "_globalZOrder": 0,
91 | "_tag": -1,
92 | "_opacityModifyRGB": false,
93 | "_reorderChildDirty": false,
94 | "_id": "cf956di3dRMfomXu4grSz13",
95 | "_active": true,
96 | "_components": [
97 | {
98 | "__id__": 9
99 | }
100 | ],
101 | "_prefab": null,
102 | "groupIndex": 0
103 | },
104 | {
105 | "__type__": "cc.Node",
106 | "_name": "a1",
107 | "_objFlags": 0,
108 | "_opacity": 255,
109 | "_color": {
110 | "__type__": "cc.Color",
111 | "r": 255,
112 | "g": 255,
113 | "b": 255,
114 | "a": 255
115 | },
116 | "_cascadeOpacityEnabled": true,
117 | "_parent": {
118 | "__id__": 2
119 | },
120 | "_anchorPoint": {
121 | "__type__": "cc.Vec2",
122 | "x": 0.5,
123 | "y": 0
124 | },
125 | "_contentSize": {
126 | "__type__": "cc.Size",
127 | "width": 560,
128 | "height": 0
129 | },
130 | "_children": [
131 | {
132 | "__id__": 4
133 | }
134 | ],
135 | "_rotationX": 0,
136 | "_rotationY": 0,
137 | "_scaleX": 1,
138 | "_scaleY": 1,
139 | "_position": {
140 | "__type__": "cc.Vec2",
141 | "x": 0,
142 | "y": 0
143 | },
144 | "_skewX": 0,
145 | "_skewY": 0,
146 | "_localZOrder": 0,
147 | "_globalZOrder": 0,
148 | "_tag": -1,
149 | "_opacityModifyRGB": false,
150 | "_reorderChildDirty": false,
151 | "_id": "ebcc4dAYJhI94paKtZhaXhy",
152 | "_active": true,
153 | "_components": [
154 | {
155 | "__id__": 6
156 | },
157 | {
158 | "__id__": 7
159 | }
160 | ],
161 | "_prefab": {
162 | "__id__": 8
163 | },
164 | "groupIndex": 0
165 | },
166 | {
167 | "__type__": "cc.Node",
168 | "_name": "b1",
169 | "_objFlags": 0,
170 | "_opacity": 255,
171 | "_color": {
172 | "__type__": "cc.Color",
173 | "r": 255,
174 | "g": 255,
175 | "b": 255,
176 | "a": 255
177 | },
178 | "_cascadeOpacityEnabled": true,
179 | "_parent": {
180 | "__id__": 3
181 | },
182 | "_anchorPoint": {
183 | "__type__": "cc.Vec2",
184 | "x": 0.5,
185 | "y": 0.5
186 | },
187 | "_contentSize": {
188 | "__type__": "cc.Size",
189 | "width": 560,
190 | "height": 40
191 | },
192 | "_children": [],
193 | "_rotationX": 0,
194 | "_rotationY": 0,
195 | "_scaleX": 1,
196 | "_scaleY": 1,
197 | "_position": {
198 | "__type__": "cc.Vec2",
199 | "x": 0,
200 | "y": 20
201 | },
202 | "_skewX": 0,
203 | "_skewY": 0,
204 | "_localZOrder": 0,
205 | "_globalZOrder": 0,
206 | "_tag": -1,
207 | "_opacityModifyRGB": false,
208 | "_reorderChildDirty": false,
209 | "_id": "c4d63lRns5EFaHMKLkiT6wu",
210 | "_active": true,
211 | "_components": [],
212 | "_prefab": {
213 | "__id__": 5
214 | },
215 | "groupIndex": 0
216 | },
217 | {
218 | "__type__": "cc.PrefabInfo",
219 | "root": {
220 | "__id__": 3
221 | },
222 | "asset": {
223 | "__uuid__": "31bdb646-1eb2-48ee-a154-87e245a4f6c7"
224 | },
225 | "fileId": "c4d63lRns5EFaHMKLkiT6wu"
226 | },
227 | {
228 | "__type__": "cc.Layout",
229 | "_name": "",
230 | "_objFlags": 0,
231 | "node": {
232 | "__id__": 3
233 | },
234 | "_enabled": true,
235 | "_layoutSize": {
236 | "__type__": "cc.Size",
237 | "width": 560,
238 | "height": 0
239 | },
240 | "_resize": 2,
241 | "_N$layoutType": 1,
242 | "_N$cellSize": {
243 | "__type__": "cc.Size",
244 | "width": 40,
245 | "height": 40
246 | },
247 | "_N$startAxis": 1,
248 | "_N$padding": 0,
249 | "_N$spacingX": 0,
250 | "_N$spacingY": 0,
251 | "_N$verticalDirection": 1,
252 | "_N$horizontalDirection": 0
253 | },
254 | {
255 | "__type__": "4c3c5p1IVNIn7SN0Moet2KO",
256 | "_name": "",
257 | "_objFlags": 0,
258 | "node": {
259 | "__id__": 3
260 | },
261 | "_enabled": true,
262 | "strategy": 0,
263 | "prefab": {
264 | "__uuid__": "31bdb646-1eb2-48ee-a154-87e245a4f6c7"
265 | }
266 | },
267 | {
268 | "__type__": "cc.PrefabInfo",
269 | "root": {
270 | "__id__": 3
271 | },
272 | "asset": {
273 | "__uuid__": "31bdb646-1eb2-48ee-a154-87e245a4f6c7"
274 | },
275 | "fileId": "ebcc4dAYJhI94paKtZhaXhy"
276 | },
277 | {
278 | "__type__": "cc.Layout",
279 | "_name": "",
280 | "_objFlags": 0,
281 | "node": {
282 | "__id__": 2
283 | },
284 | "_enabled": true,
285 | "_layoutSize": {
286 | "__type__": "cc.Size",
287 | "width": 560,
288 | "height": 200
289 | },
290 | "_resize": 2,
291 | "_N$layoutType": 1,
292 | "_N$cellSize": {
293 | "__type__": "cc.Size",
294 | "width": 40,
295 | "height": 40
296 | },
297 | "_N$startAxis": 0,
298 | "_N$padding": 0,
299 | "_N$spacingX": 0,
300 | "_N$spacingY": 0,
301 | "_N$verticalDirection": 1,
302 | "_N$horizontalDirection": 0
303 | }
304 | ]
--------------------------------------------------------------------------------
/test_project/assets/testcases/ss5/s1.fire.meta:
--------------------------------------------------------------------------------
1 | {
2 | "ver": "1.0.0",
3 | "uuid": "4d9a633a-4b65-4cb8-9e57-c915f2e266f4",
4 | "subMetas": {}
5 | }
--------------------------------------------------------------------------------
/test_project/ccc_helper.yaml:
--------------------------------------------------------------------------------
1 | # 忽略整个组件
2 | ignore_components: []
3 |
4 | # 忽略组件的属性
5 | ignore_component_properties:
6 | cc.EditBox: ["_N$placeholder"]
7 |
8 | # 当Prefab中组件的属性为空时,忽略
9 | ignore_component_properties_if_empty:
10 | # 如果Prefab中没有编辑clickEvents,而Instance中编辑了clickEvents,则不同步(保留Instance中的数据)
11 | # 如果Prefab中编辑了clickEvents,无论Instance中是否编辑,都需要同步(Instance中的数据和Prefab一致)
12 | cc.Button: ["clickEvents"]
13 |
14 | # 忽略Prefab
15 | # ignore_prefabs:
16 | # prefab/test/confirm_dialog.prefab:
17 | # New Node/confirm/#cc.Sprite: ["_spriteFrame", "_atlas"]
18 |
--------------------------------------------------------------------------------
/test_project/jsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es6",
4 | "module": "commonjs"
5 | },
6 | "exclude": [
7 | "node_modules",
8 | "library",
9 | "local",
10 | "settings",
11 | "temp"
12 | ]
13 | }
--------------------------------------------------------------------------------
/test_project/project.json:
--------------------------------------------------------------------------------
1 | {
2 | "engine": "cocos-creator-js",
3 | "packages": "packages"
4 | }
--------------------------------------------------------------------------------
/test_project/settings/project.json:
--------------------------------------------------------------------------------
1 | {
2 | "start-scene": "",
3 | "group-list": [
4 | "default"
5 | ],
6 | "collision-matrix": [
7 | [
8 | true
9 | ]
10 | ],
11 | "excluded-modules": []
12 | }
--------------------------------------------------------------------------------