Git Product home page Git Product logo

unitytk's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

unitytk's Issues

Camera module

Implement a UnityTK module with helpful stuff for setting up generic game cameras:

  • Static cameras
  • Top down cameras
  • Isometric camera
  • "Fake" Isometric camera (Perspective low FoV, far away)
  • (Investigate) 3rd Person Camera
  • (Investigate) 1st Person Camera

Generic features:

  • Shaking (Spring physics?)
  • Waypoint movement (Scripted and static in scene)
  • API for modifying camera properties (FoV, projection matrix, ...)
  • Focus object (constantly look at and limit user input)

DataBinding refactor support

Add support for renaming fields and properties databindings bound to. Sometimes when having a ui already working you want to rename a few fields and this currently breaks the databindings completely. Add an attribute you can put on the field similar to Unity's FormerlySerializedAs (name it "FormerlyBoundToAs" maybe) that can be used to remap fields.

When remapping was detected the bindings should update automatically, also there should be a context menu on any databinding root to perform this update for all children.

Add flags enumeration support to prototypes

They should be specified in XML like a collection and parsed into the enum field.
Example:

<fieldName>
  <li>enum1</li>
  <li>enum3</li>
</fieldName>
public class TestObj : IPrototype
{
public TestEnum fieldName; // Should be TestEnum.test with xml above
}
[System.Flags]
public enum TestEnum {
enum1 = 1,
enum2 = 2,
enum3 = 4,
test = enum1 | enum3
}

Fix compiler warnings

There are a lot of warnings when compiling unitytk, they should be fixed, I guess :>

DataBinding seem to not be updating correctly on enabling an object

Reproduction:
Create a text databinding, fill the text with placeholder text in the editor, create some ui to toggle the object and make it disabled initially. When toggling the gameobject on, in the first frame the placeholder text will be rendered.

Databindings should immediately bind.

Benchmarking Improvements

  • Overhaul editor UI
  • Integrate Unity Profiler
  • Optimize and minimize overhead
  • Play mode benchmarking (running benchmarks in play mode) | NOT DONE - DROPPED

Generalize Prototype serializer

Prototype serializer should be generalized to be used for more generic tasks, for example to write savegames.

It should be able to store and remap object references aswell as prototype references.

GC-Free Coroutines

Unity coroutines are nice for a lot of things, their downside is that every coroutine call and yield return ...; allocates an object on the managed object heap.

Implement the same functionality without allocating memory :>

Implement sorting support for DataBindingCollectionLeaf

When databinding collection leaf uses pooling sorting is reversed everytime the same list is being built. Implement proper sorting for elements, note that there might be more than one collection leaf on one gameobject.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.