Commit graph

104 commits

Author SHA1 Message Date
Jordan Eldredge
6694fe02a2 Mark GuiObject.isvisible as implemented 2019-09-03 09:23:25 -07:00
Jordan Eldredge
7155baf668 Remove unreachable code 2019-09-03 09:15:29 -07:00
Jordan Eldredge
e0b7381545 Only render the current layer for each container 2019-09-03 07:37:40 -07:00
Jordan Eldredge
bc1d4a9324 Small cleanup refactor 2019-09-03 07:37:40 -07:00
Jordan Eldredge
6262e53dd1 Move visibility check to GuiObjectEvents
Eventually I think we will have a compositional heirarchy that mirrors the inheritance hierarchy so GuiObjectEvents will become GuiObjectsComponent or similar.
2019-09-03 07:37:40 -07:00
Jordan Eldredge
361d357df2 Allow components to render their own children 2019-09-03 07:37:38 -07:00
Jordan Eldredge
a408440918 Extract rendering children 2019-09-03 07:36:59 -07:00
Jordan Eldredge
bbb38cca9e Split out unknown component into DummyComponent 2019-09-03 07:36:59 -07:00
Jordan Eldredge
41ee65622c Don't generalize wrapping with <GuiObjectEvents>
I think it's better to just make this an implementation detail of the individual components

In the future, I think the components will take on more and more. They should be the single source of truth for how a Maki object renders itself.
2019-09-03 07:36:52 -07:00
Jordan Eldredge
7b7ecf2377 Remove unused pos and use shorthand 2019-09-03 07:05:06 -07:00
Jordan Eldredge
bbb0e739b6 Use the first layout when rendering the child of a container 2019-09-03 07:04:35 -07:00
Jordan Eldredge
b2ad5f2f21 Add type for Container.visible 2019-09-01 13:51:30 -07:00
Jordan Eldredge
78fd267407 Fix a few type errors 2019-08-30 07:35:10 -07:00
Jordan Eldredge
905268dac2 Add more tree search utilities 2019-08-29 08:46:55 -07:00
Jordan Eldredge
66dc33c368 Remove unused code 2019-08-29 07:08:50 -07:00
Jordan Eldredge
58c6c11244 Automatically add some types to Maki method arguments
These were added using `yarn lint --fix`.
2019-08-29 07:08:50 -07:00
Jordan Eldredge
e634095d66 Make all Maki objects TypeScript 2019-08-29 07:08:50 -07:00
Jordan Eldredge
513cb33d99 XmlNodes don't have parent references 2019-08-29 07:08:50 -07:00
jberg
70b9e98aea Fix emitter export (#890) 2019-08-26 11:56:48 -07:00
jberg
34a68ae64f Remove script loading from initialize (#889) 2019-08-26 09:13:35 -07:00
Jordan Eldredge
cee3c14bd5 Improve types 2019-08-26 09:11:19 -07:00
Jordan Eldredge
3f7590817f Decompose findParentNodeOfType 2019-08-26 09:11:19 -07:00
Jordan Eldredge
10a722f613 Letters are cheap 2019-08-26 09:11:19 -07:00
jberg
3a8f8055e8
Set opacity and ghost at GuiObject (#885)
* Set opacity and ghost at GuiObject

* add parseInt radix param

* move style calculations into GuiObjectEvents

* fixes after rebasing

* add alpha range in comment

* simplify alpha condition
2019-08-25 15:24:42 -07:00
Jordan Eldredge
8dbf348dba Add some generic methods for dealing with selectors (#888) 2019-08-24 23:49:21 -07:00
Jordan Eldredge
98bcf9f682 Stub Out Missing Methods (#887)
* Add fixable rule to report missing Maki methods

* Stub out missing methods

These were auto-generated with the ESLint rule

* Don't lint on too many params, when the params are defined by Maki

* Improve objects tests now that all maki methods are stubbed out

Now we can assume all methods exist and we can also start a list of unimplemented methods
2019-08-24 23:04:50 -07:00
Jordan Eldredge
83d9443328 Fix lints 2019-08-24 22:30:48 -07:00
Jordan Eldredge
948c96dc64 Allow private methods in objects test 2019-08-24 22:17:28 -07:00
Jordan Eldredge
b67ebc2ca2
[WIP] Give Maki objects access to Redux state (#882)
* Share uids between maki objects and state tree

* Start to add xml tree
2019-08-24 21:10:00 -07:00
Jordan Eldredge
3af4d703d6
Avoid messagebox logs in our tests (#884)
This was a fun one
2019-08-23 08:19:32 -07:00
Jordan Eldredge
e7637b3b3c Test method arity in standard library 2019-08-23 08:18:24 -07:00
Jordan Eldredge
dac6585675
Add modern integration tests (#881)
* add 2 test skins

* Add simple integration tests

* Simplify test skins
2019-08-21 21:42:07 -07:00
Jordan Eldredge
66e5091811 Persist skin URL to query param 2019-08-21 21:41:41 -07:00
jberg
d17333d428 Add missing config classes (#874)
* Add missing config classes

* fix test
2019-08-21 21:04:13 -07:00
Jordan Eldredge
1a7be6bce7 Add flag to state indicating when skin is loaded 2019-08-21 20:15:11 -07:00
Jordan Eldredge
e3b5031f29 Extract browser-only functions into Utils
This will make it easier to mock out these methods in tests to use Node apporaches to these problems
2019-08-21 20:06:11 -07:00
jberg
bae6a56458 Fix filename slashes (#880)
* Fix windows filename slashes

* add comment

* readXml will already convert the slashes
2019-08-21 16:30:21 -07:00
jberg
0fc4aacbbc Fix script group finding (#877) 2019-08-21 14:35:59 -07:00
jberg
533d7f3f8f add button left/rightclick functions (#878) 2019-08-20 07:40:45 -07:00
jberg
ceb85fa4be
Add delete opcode (#869) 2019-08-19 14:43:06 -07:00
jberg
59689fa827 Add some unimplemented methods to classes (#872)
* Add some unimplemented methods to classes

* fix test
2019-08-19 10:25:27 -07:00
jberg
378c9c595b Pass store into skin loading (#875) 2019-08-19 10:22:44 -07:00
jberg
39c3a25c0a Add more nodes to initialize (#873) 2019-08-19 10:22:18 -07:00
jberg
8ab2990f20 Add some more methods to classes (#871)
* Add some more methods to classes

* fix test
2019-08-19 10:21:31 -07:00
jberg
eda8d028c2 First check object type for subclass (#870) 2019-08-19 10:20:51 -07:00
jberg
b32520a122 Convert null MAKI objects to global NULL value (#866)
* Coerce null MAKI objects to 0

* use global NULL value
2019-08-19 09:10:46 -07:00
Jordan Eldredge
0ea8cc6561 Add a simple way to change skins 2019-08-19 06:34:43 -07:00
jberg
51f06c8e4c Add more modern skins that partially render (#867)
* Add more modern skins that partially render

* Use skinUrls from archive instead of including skin zips

* add a few more skins from archive
2019-08-19 06:29:04 -07:00
Jordan Eldredge
52dfa6801a
Custom ESLint rule to validate Maki classes (#868) 2019-08-19 06:27:47 -07:00
Jordan Eldredge
0deca6f156 Add unique ID to each node in the state tree 2019-08-19 06:26:26 -07:00