You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: Docs/CorePrincipals.md
+2-3Lines changed: 2 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,8 +7,7 @@
7
7
- SceneView has an abstract method named `Initialize()` which you must implement in your derived `GameSceneView` object. It is within this method that you can begin to set up and start your scene.
8
8
- The Framework has two "namespaces" reserved for storing and manipulating objects in memory.
9
9
* Global space
10
-
-`Framework` contains a static accessor available at `Framework.Globals` which is the Global space object container.
10
+
-`Framework` contains a static accessor available at `Framework.Globals` which is the Global space object container. - A Global object will remain alive for the entire duration of your applications lifetime from the moment you create it until the moment the game closes.
11
11
* Scene space.
12
12
-`SceneView`'s base class contains a property called `SceneObjects` which is the Scene space object container.
13
-
- A Global object will remain alive for the entire duration of your applications lifetime from the moment you create it until the moment the game closes.
14
-
- A Scene object will remain alive only up until the point where you tell the framework to change scenes.
13
+
- A Scene object will remain alive only up until the point where you tell the framework to change scenes.
Copy file name to clipboardExpand all lines: Docs/InjectorObject.md
+4-1Lines changed: 4 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,6 +4,9 @@ Dependency Injector is able to automatically provide objects with resolved depen
4
4
5
5
The Injector currently only supports Property and Field injection.
6
6
7
+
## Caching
8
+
Injector will cache your objects injectable members the first time it is asked to inject into an object of a given type. Subsequent injections into that type will use the cached values rather then additional reflection which should provide much improved performance.
9
+
7
10
## [Inject] Attribute
8
11
[Inject] is a C# attribute which precedes the object you want the Injector to inject for you.
Binding to interfaces is a very powerful technique which can and should be taken advantage of where ever possible. This gives your code the flexibility to change between concrete implementation types at your discretion without modifying the requesting objects or their usage of the implementation.
79
+
Binding to interfaces is a very powerful technique which can and should be taken advantage of where ever possible. This gives your code the flexibility to change between concrete implementation types at your discretion without modifying the requesting objects or their usage of the implementation.
Copy file name to clipboardExpand all lines: Docs/SceneViewObject.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -12,6 +12,6 @@ When `SceneView.OnDestroy` is called by the UnityEngine or by your overriden imp
12
12
13
13
## SceneView.Initialize()
14
14
15
-
`SceneView.Initialize()` is an abstract method required by your implementations of each `SceneView`. It is automatically invoked by the [SceneManager](SceneManagerObject.md) upon receiving the `SceneLoadedCmd` Command Type.
15
+
`SceneView.Initialize()` is an abstract method required by your implementations of each `SceneView`. It is automatically invoked by the [SceneManager](SceneManagerObject.md) upon receiving the `SceneLoadedCmd` Command Type. When execution of this method returns the SceneManager will automatically call `InitializeSceneObjects()` on the current `SceneView`'s instance of `SceneObjectData`
16
16
17
17
###### `SceneLoadedCmd` is the framework event which occurs after UnityEngine is done building the hierarchy for your scene as serialized by the UnityEditor.
Copy file name to clipboardExpand all lines: Readme.md
+5-9Lines changed: 5 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,4 +1,4 @@
1
-
# CleaveFramework v0.2.0
1
+
# CleaveFramework v0.2.1
2
2
3
3
A Unity3D C# application framework.
4
4
@@ -24,14 +24,6 @@ A Unity3D C# application framework.
24
24
25
25
Most of these features are optional modules you can use as much or as little of as your project requires.
26
26
27
-
## Why you use a framework
28
-
29
-
A good application framework allows it's users to save time by using generic code that allows them to focus on more project-specific areas.
30
-
31
-
A great application framework provides it's users with excellent, fast, well tested, and well maintained generic modules capable of providing their application with a structure they can depend on.
32
-
33
-
Every piece of software you've even worked with has utilized a framework in one way or another. Whether it was home-rolled or an off the shelf solution the very structure of your code base makes up the framework it executes on. If you've ever finished, or worse started and not finished, a project using the Unity3D engine you realize the importance of well structuring your code. If find yourself re-implementing the same functionality from project to project time and time again then you are a great candidate for migrating your work-flow into a framework package.
If you've got questions, want to request a feature, report a bug, or show off a project using the framework come talk about it on [reddit](http://www.reddit.com/r/CleaveFramework/)
0 commit comments