Commit Graph

445 Commits

Author SHA1 Message Date
Miika Lönnqvist
a35e7342cc Remove Casey-Hofland from list of maintainers 2022-02-27 14:40:25 +01:00
Soraphis
9837fff97f fixing unnecessary allocations when debug mode disabled 2022-02-27 10:07:45 +01:00
CaseyDeCoder
aecaa73ad0 Fix hasChildren display in AtomReferences
The display of an AtomReference would act a bit weird if the Atom was of e.g. a serializable class.
2021-12-28 16:14:11 +01:00
Thimo de Ram
7c372e6c38 Feature #293 changed private list variable to protected to support custom classes 2021-12-28 16:00:47 +01:00
Simon Bucher
3aa06a70a1 Fix ChangedOnOnEnable not triggered
When using an Event Reference Listener with a variable, GetOrCreateEvent() is sometimes called after TriggerInitialEvents(). This commit solves this issue.
2021-12-28 14:13:02 +01:00
eduardo
c810df67f0 FiniteStateMachine not listening to Raise Event To Complete Transition #296 2021-12-27 13:58:49 +01:00
Andrew Han
b5b724f161 add missing scoped registry in install docs 2021-11-28 16:05:43 +01:00
Soraphis
a7240651f6
fix #305 empty list of tagged objects throws NRE (#306)
* fix #305 empty list of tagged objects throws NRE
* added missing indexer
2021-11-28 16:03:27 +01:00
Thimo de Ram
8c1d6f215c fix #237 Drawer property value is null error 2021-11-27 14:22:26 +01:00
Miika Lönnqvist
902f9719e8 Remove extra underscore from ChangedHistoryEvent 2021-11-27 13:51:10 +01:00
Thimo
225b8f7962
Fix #255 AtomVariableInstancer assumes Base != null (#309)
Co-authored-by: Thimo de Ram <tdram@esites.local>
2021-11-27 13:40:30 +01:00
Thimo de Ram
67833f3c29 [Fixed] event refernce listener listening to old event 2021-11-27 13:29:18 +01:00
Thimo de Ram
1c0ebd0e85 fix #254 ulong cast error 2021-11-27 13:11:55 +01:00
Thimo de Ram
7c86054f88 fix #252 Removed duplicate function definition 2021-11-27 12:00:22 +01:00
Thimo de Ram
a7b3d7b91a fix #282 changed/changedwithhistory events not created when registered in code 2021-11-27 11:54:55 +01:00
Kyrw
a7c9c69fcf
Fixed collection deserialization problem. (#300)
* Fixed collection deserialization problem

ScriptableObjects arent granted to be initialized on a particular order and might be used by the collection before they are initialized.

* Update CHANGELOG.md

Co-authored-by: eduardo <eduardo@firasoft.com>
Co-authored-by: Casey Hofland <hofland.casey@gmail.com>
2021-09-23 21:39:23 +02:00
Miika Lönnqvist
7b29e15be2
Revert "Use event references in mono hooks (#271)" (#287)
This reverts commit 25412ab2a8.
2021-07-04 12:41:05 +02:00
Simon Bucher
25412ab2a8
Use event references in mono hooks (#271) 2021-07-04 11:42:46 +02:00
Miika Lönnqvist
c2dd13712f
Fix conditions not serializing in Unity 2019 (#278) 2021-07-04 11:18:46 +02:00
Jonas Bötel
e794dcf650
Fixed specifying package dependencies (#284)
Looking good, nice work!
2021-06-21 15:20:40 +02:00
Adam Ramberg
7b6b843170 Merge branch 'canary' 2021-06-14 20:37:35 +02:00
Miika Lönnqvist
cfb92f5d92
fix #279 Update link in UniRx tutorial (#280) 2021-06-14 20:33:15 +02:00
Miika Lönnqvist
c7136d2937
Updated documentation and tutorials (#267)
Some tutorials now have animation in them to give a clearer explanation of how things work. Added a short tutorial about creating Atoms with the new Search function. Documentation about installation has also changed.
2021-06-14 20:32:52 +02:00
Casey Hofland
cdbfa352aa
Update CHANGELOG.md 2021-05-03 20:13:37 +02:00
Casey Hofland
907cf70918
Speedup Atom Generation (#275)
* Speedup Atom Generation

This simple change will speed up atom generation via an AtomGenerator. The whole thing will only take 10 seconds instead of +1 minute.

* Update the changelog
2021-05-03 20:06:58 +02:00
Casey Hofland
ece64feb11
Update CONTRIBUTING.md
Added a "Smooth Workflow" section explaining how you can set up contribute to Atoms inside a Unity project.
2021-05-02 13:22:36 +02:00
Adam Ramberg
85bbaa03bb Add unnecessary .meta files to gitignore 2021-04-05 20:33:36 +02:00
Adam Ramberg
c79a974ce8 website fixes 2021-03-07 22:07:52 +01:00
Adam Ramberg
120a0b88c6 🧑‍🔬 v4.4.3 2021-03-07 21:49:39 +01:00
Miika Lönnqvist
989a262e10 Update website URL in docs (#257) 2021-03-07 21:49:39 +01:00
Oliver Biwer
06fc87a123 compatibility with dynamic assemblies and different namespace/class conditions (#230)
* compatibility with dynamic assemblies

* fixing #232

fixed a case where the class namespace might be null

* fixing #232 + corrections, fixing #233

* Fix nested types not being generated correctly

VALUE_TYPE_NAME_NO_PAIR had an incorrect value if the type was nested.

* Reimagine the Generators Type Selector Layout

UNTESTED! I will test if the generator later this week (18/01).
UNCOMMENTED! Same as above.

The new selector will neatly separate namespaces from types, is ordered alphabetically and goes down a new level for every subnamespace. It will now also display nested types as such (so nested type Bar is displayed as Foo+Bar). This means that types of the same name but in different namespaces are now supported.

It will also ignore any abstract or generic types as Atoms can only generate solid types (...I think?)

If you want to check it out, I recommend looking at how NamespaceLevel works. It splits types up into types that have reached their namespace level and types that can still go deeper, in which case they are rooted as part of the NamespaceLevel. From there, it can handle adding dropdown items and finding a selected Type.

* Enable all GenerationOptions by default

Or on a Reset of the SO

* Ensure instantiated generator has unique assetpath

This can otherwise lead to weird behaviour if a new asset is created at the path of an existing asset

* Use variables for SerializedProperties

* Make objectfields to generated scripts readonly

These should not be edited which may lead to errors.

* Add comments

* Use hash to find which type belongs to which DropdownItem

* Use level to distinquish between namespace levels

Using TrimStart was also trimming off characters after dots (.) if appropriate.

* Safety measure

Ensure serializedObject.Update is called in the beginning of OnInspectorGUI.

* Fix size of Dropdown

It will now neatly cover all the generator options. This doesn't really matter at all, I just think it looks neat, plus it ensures there is always enough view to not have trouble selecting a type.

* Use CompilationPipeline to get assemblies

Pros: It only collects Unity Assemblies that are not Editor Only. This ensures that every type will 100% be compatible in builds.
Cons: It doesn't find any assemblies outside of Unity, for example the System assembly.

Personally I like this way better since it ensures support even for cross platform development. Imagine someone generating a type you can only find in Windows, then trying to build for Mac. We can still populate the base package with the base values from systems and people will still be able to create Atoms for unsupported values, just not using the generator.

Alternatively we could create an "unsafe" toggle.

* Use CompilationPipeline to get assemblies

Pros: It only collects Unity Assemblies that are not Editor Only. This ensures that every type will 100% be compatible in builds.
Cons: It doesn't find any assemblies outside of Unity, for example the System assembly.

Personally I like this way better since it ensures support even for cross platform development. Imagine someone generating a type you can only find in Windows, then trying to build for Mac. We can still populate the base package with the base values from systems and people will still be able to create Atoms for unsupported values, just not using the generator.

Alternatively we could create an "unsafe" toggle.

* Add Safe Search toggle to AtomGenerator

Previously, the AtomGenerator was only able to generate types that were Unity compatible and either Serializable or ScriptableObjects.

The first change is that it now also searches for Objects to account for prefabs.
The second change is a toggle next to the generator to differentiate between searching for Unity compatible types and searching for all types (denoted as "unsafe types"). This does what it promises: it gets all the (dynamic) assemblies it can find, retrieves all exported types, and makes no distinction between serializable or nonserializable. This returns the functionality to generate for example strings and ints with the generator.

* Add Quality of Life improvements to the Editor

Co-authored-by: Casey Hofland <hofland.casey@gmail.com>
2021-03-07 21:49:39 +01:00
Casey Hofland
2f31db4e0a Create button ease of use (#229)
* Add auto focus on textfield
* Prevent PrefixLabel showing up in AtomReferences
* Add Keyboard shortcuts to confirm/deny create
* Add Focused Control Check
2021-03-07 21:49:39 +01:00
Oliver Biwer
6727645890 Lazy stacktrace toString conversion (#238)
when disabling atoms debug mode, StackTraceEntries are allocated, but their strings are never used.
2021-03-07 21:49:39 +01:00
Oliver Biwer
58b52427c8 fixing #240 - Value of a VariableInstancer in EditMode leads to NullRef (#241)
* fixing #240 - EditMode NullRef

* Remove Redunancy

Co-authored-by: Casey Hofland <hofland.casey@gmail.com>
2021-03-07 21:49:39 +01:00
Casey Hofland
dbe97774e2
Revert "Bump highlight.js from 9.15.10 to 9.18.5 in /website (#244)" (#245)
This reverts commit 280a545bf4.
Reason: it should have been merged into canary instead of master.
2021-01-23 19:56:02 +01:00
dependabot[bot]
280a545bf4
Bump highlight.js from 9.15.10 to 9.18.5 in /website (#244)
Bumps [highlight.js](https://github.com/highlightjs/highlight.js) from 9.15.10 to 9.18.5.
- [Release notes](https://github.com/highlightjs/highlight.js/releases)
- [Changelog](https://github.com/highlightjs/highlight.js/blob/9.18.5/CHANGES.md)
- [Commits](https://github.com/highlightjs/highlight.js/compare/9.15.10...9.18.5)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-01-23 18:24:25 +01:00
Adam Ramberg
2ad14833bf Remove example project (moved to seperate repo) 2021-01-22 08:24:31 +01:00
Adam Ramberg
a6c7076666 Changes due to move to new organization 2021-01-22 08:22:16 +01:00
Matthew Tole
584e673bc1
Fix the Discord link in the FAQ (#227)
Noticed that the Discord invite link in the FAQ was broken, so updating it to match the one in the footer.
2021-01-16 21:57:34 +01:00
Casey Hofland
b1313d6bcc
Update README.md (#228)
Added myself under Maintainers.
2021-01-16 21:54:04 +01:00
Adam Ramberg
a443064235 🍺 v4.4.2 2020-12-30 22:36:53 +01:00
Adam Ramberg
3c9bc211a8 Fix ValueEquals for EquatableAtomVariable and EquatableAtomReference 2020-12-30 22:32:57 +01:00
Adam Ramberg
d8b2b921cc 🍾 v4.4.1 2020-12-30 15:58:22 +01:00
Adam Ramberg
8417d673e3 #224 - Move Atoms Search back to its own sub menu. Having same sub path for both MenuItem and CreateAssetMenu is causing the menu to be removed. 2020-12-30 15:48:49 +01:00
Adam Ramberg
ada6b56ab1 Fix publish:all script 2020-12-30 00:59:07 +01:00
Adam Ramberg
18b456555a 🎅 v4.4.0 2020-12-30 00:47:17 +01:00
Casey Hofland
21a588b6a4
Add OnCollisionHook and OnCollision2DHook (#221)
* Add OnCollisionHook and OnCollision2DHook

* refactor hooks

Naming shouldn't be trigger, get outa heeeeere!

* Implement ValueEquals + simplify already implemented ValueEquals

* Fix generator for Collisions + Add missing generated conditions + support OR:ed conditions in templates

Co-authored-by: Adam Ramberg <adam@mambojambostudios.com>
2020-12-30 00:01:42 +01:00
Adam Ramberg
7bdb2b7cf2
Trigger initial events for instancers (#220)
* - Trigger initial events for instancers
- Clean up event name for events instantiated at runtime
- Added properties to check if an event is set or not on a variable. This is useful in order to not accidentally create an event at runtime when just checking if it is null or not.
- Added logic to clean up events instantiated at runtime.

* Added an explicit GetOrCreateEvent method
2020-12-26 19:52:37 +01:00
Adam Ramberg
ef7fa627e5
Fixing FSM instancer where _base always is null (#219) 2020-12-22 21:27:26 +01:00
Adam Ramberg
a503695fa9
Clear keys and values when clearing seriazlied dict (#218) 2020-12-22 21:27:00 +01:00