Skip to content
This repository has been archived by the owner on May 16, 2021. It is now read-only.

Latest commit

 

History

History
62 lines (59 loc) · 3.73 KB

TODO.md

File metadata and controls

62 lines (59 loc) · 3.73 KB
  • (MEDIUM/HIGH PRIORITY) Add more essential nodes (see incomplete* list below)
  • (MEDIUM/HIGH PRIORITY) Add clear ports button to event nodes that moves connections and removes unused ports
  • (MEDIUM PRIORITY) Change line endings in code generation to be consistent
  • (MEDIUM PRIORITY) Add examples
  • (LOW PRIORITY) Add Undo/Redo
  • (LOW PRIORITY) Add copy/paste
  • (LOW/VERY LOW PRIORITY) Add sticky notes / comments
  • (HIGH PRIORITY) Add collapsed state to node data
  • (HIGH PRIORITY) Add create node menu (and title attribute to populate create node menu) (leech off of GTLogicGraph; it had a really nice implementation)
  • (HIGH PRIORITY) Loading of saved graphs
  • (HIGH PRIORITY) Compile generated code and give errors
  • (HIGH PRIORITY) Write generated code to file if no errors and trigger a Unity Reimport - AssetDatabase.Refresh - For all files (http://docs.unity3d.com/Documentation/ScriptReference/AssetDatabase.Refresh.html) - AssetDatabase.ImportAsset - For specific file (http://docs.unity3d.com/Documentation/ScriptReference/AssetDatabase.ImportAsset.html)
  • (MEDIUM PRIORITY) Make event nodes unable to be deleted
  • (LOW PRIORITY) Embed node GUIDs in generated code in order to provide error feedback directly on nodes. This can also be used to provide runtime error feedback, not just compile-time
  • (CANCELED)(MEDIUM PRIORITY) Add Event nodes to graph on file creation

Essential nodes (the incomplete list)

  • (HIGH PRIORITY) Function node (without params or return values): basically use an event node for defining a function, simple end node (with text input for method name) for calling
  • (HIGH PRIORITY) Math nodes (most important)
  • (HIGH PRIORITY) Vector2 and Vector3 member nodes
  • (MEDIUM PRIORITY) Bool Value Node (requires custom InputField) (might be able to leech off of GTLogicGraph)
  • (MEDIUM PRIORITY) Variables (One node for creating variables, one node for accessing)
  • (VERY LOW PRIORITY) Camera nodes
  • (LOW PRIORITY) All event nodes (except event nodes with parameters)
  • (VERY VERY LOW PRIORITY) GetComponent node (w/ dynamic generation for component types)
  • (VERY HIGH PRIORITY) Basic Unity types
  • (VERY HIGH PRIORITY) Conditional node
  • (VERY HIGH PRIORITY) Basic C# data types
  • (VERY HIGH PRIORITY) Assign node
  • (HIGH PRIORITY) FixedUpdate, LateUpdate, Awake
  • (HIGH PRIORITY) Time Node
  • (HIGH PRIORITY) Vector2 node
  • (HIGH PRIORITY) Transform nodes (position, scale, rotation)
  • (HIGH PRIORITY) GetComponent node (just string input for component type and trust user ;) )
  • (HIGH PRIORITY) Properties (One node for creating properties, one node for accessing)
  • (VERY LOW PRIORITY) Add event splitter / extender node which just takes the event as an input and splits it into multiple ports for cleaner code

Event nodes remaining

  • OnAnimatorIK(int layerIndex)
  • OnApplicationFocus(bool hasFocus)
  • OnApplicationPause(bool pauseStatus)
  • OnAudioFilterRead(float[] data, int channels)
  • OnCollisionEnter(Collision other)
  • OnCollisionEnter2D(Collision2D other)
  • OnCollisionExit(Collision other)
  • OnCollisionExit2D(Collision2D other)
  • OnCollisionStay(Collision other)
  • OnCollisionStay2D(Collision2D other)
  • OnControllerColliderHit(ControllerColliderHit hit)
  • OnJointBreak(float breakForce)
  • OnJointBreak2D(Joint2D brokenJoint)
  • OnParticleCollision(GameObject other)
  • OnRenderImage(RenderTexture src, RenderTexture dest)
  • OnTriggerEnter(Collider other)
  • OnTriggerEnter2D(Collider2D other)
  • OnTriggerExit(Collider other)
  • OnTriggerExit2D(Collider2D other)
  • OnTriggerStay(Collider other)
  • OnTriggerStay2D(Collider2D other)