Skip to content

Commit 9ff2ac8

Browse files
Merge branch 'master' into master
2 parents a955dd6 + 2e93607 commit 9ff2ac8

File tree

3 files changed

+40
-14
lines changed

3 files changed

+40
-14
lines changed

Documentation/Signals.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -482,8 +482,7 @@ When event driven program is abused, it is possible to find yourself in "callbac
482482

483483
## <a id="abstract-signals"></a>Abstract Signals
484484

485-
One of the problems of the signals is that when you subscribe to their types
486-
you are coupling your concrete signal types to the subscribers
485+
One of the problems of the signals is that when you subscribe to their types you are coupling your concrete signal types to the subscribers
487486

488487
For example, Lets say I have a player and i want to save the game when i finish a level.
489488
Ok easy, I create ``SignalLevelCompleted`` and then I subscribe it to my ``SaveGameSystem``

README.md

Lines changed: 37 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,49 @@
11
![Extenject Header Image](Documentation/Images/ExtenjectMainHeader.png)
22

3-
[![Join the chat at https://gitter.im/Extenject/community](https://badges.gitter.im/Extenject/Lobby.svg)](https://gitter.im/Extenject/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
3+
[![Gitter](https://img.shields.io/static/v1?label=Gitter&labelColor=ED1965&message=Community%20Support&color=grey&logo=Gitter&logoColor=White&url=https://gitter.im/Extenject/community)](https://gitter.im/Extenject/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
44
[![GitHub release (latest by date)](https://img.shields.io/github/v/release/svermeulen/Extenject?color=green)](https://github.com/svermeulen/Extenject/releases)
55
![GitHub Release Date](https://img.shields.io/github/release-date/svermeulen/Extenject)
66
![GitHub contributors](https://img.shields.io/github/contributors/svermeulen/Extenject)
77
![GitHub last commit](https://img.shields.io/github/last-commit/svermeulen/Extenject)
88
![CI](https://github.com/Mathijs-Bakker/Extenject/workflows/CI/badge.svg)
99
![GitHub](https://img.shields.io/github/license/svermeulen/Extenject)
10-
[![Donate](https://img.shields.io/badge/Donate-PayPal-green.svg)](https://paypal.me/stevevermeulen)
1110

1211
# Extensions, bug fixes and updates for Zenject
1312

1413
This project is simply a fork of [Zenject](https://github.com/modesttree/zenject) with the goal of being actively maintained. I am the primary author and was the primary maintainer until my access was removed after leaving my position at the company Modest Tree. It is called Extenject to respect Modest Tree's [trademark claim](https://github.com/modesttree/Zenject/commit/2cbbf11b344d083cc697d8b248acf41520d72da3) on the name Zenject.
1514

1615
## Lawsuit
16+
```
1717
18-
Extenject has been removed from Asset Store because of a copyright claim by Modest Tree, so the only way to obtain it currently is through the [releases section on github](https://github.com/svermeulen/Extenject/releases).
18+
Extenject has been removed from Asset Store because of a copyright claim by
19+
Modest Tree, so the only way to obtain it currently is through the
20+
https://github.com/svermeulen/Extenject/releases.
1921
20-
*Update: Extenject is available in the [Unity Asset Store](https://assetstore.unity.com/packages/tools/utilities/extenject-dependency-injection-framework-157735)*
22+
Modest Tree has also blocked me from contributing to zenject github issues and
23+
removed me from the zenject gitter chat, so to get my help please report
24+
issues https://github.com/svermeulen/Extenject/issues/new,
25+
and discuss in the https://gitter.im/Extenject/community instead
2126
22-
Modest Tree has also blocked me from contributing to zenject github issues and removed me from the zenject gitter chat, so to get my help please report issues [to extenject](https://github.com/svermeulen/Extenject/issues/new), and discuss in the [extenject chat](https://gitter.im/Extenject/community) instead
27+
They have also filed a lawsuit against me and Unity tells me that they will
28+
not re-enable Extenject in the Asset Store until the lawsuit is complete,
29+
which might not occur until 2020.
2330
24-
They have also filed a lawsuit against me and Unity tells me that they will not re-enable Extenject in the Asset Store until the lawsuit is complete, which might not occur until 2020.
31+
I have been advised not to comment on details of the lawsuit right now
32+
however you can read their filing and my defense (both of which are public)
33+
for details if interested. The lawsuit also relates to other MIT licensed
34+
open source projects I created such as Projeny and Unity3dAsyncAwaitUtil.
35+
```
2536

26-
I have been advised not to comment on details of the lawsuit right now - however you can read [their filing](https://drive.google.com/open?id=1pVVCuwsJfhQ-jj2cIe5oF6zNwHITCHbF) and [my defense](https://drive.google.com/open?id=1CYy2g46b2XiDoIsWb75SgLJoIGakGiyz) (both of which are public) for details if interested. The lawsuit also relates to other MIT license open source projects I created such as [Projeny](https://github.com/modesttree/Projeny) and [Unity3dAsyncAwaitUtil](https://github.com/modesttree/Unity3dAsyncAwaitUtil)
37+
[![Projeny](https://img.shields.io/badge/Projeny-181717?logo=GitHub&logoColor=white)](https://github.com/modesttree/Projeny)
38+
[![Unity3dAsyncAwaitUtil](https://img.shields.io/badge/Unity3dAsyncAwaitUtil-181717?logo=GitHub&logoColor=white)](hhttps://github.com/modesttree/Unity3dAsyncAwaitUtil)
39+
[![Modest Tree filing against me](https://img.shields.io/static/v1?label=Public%20PDF&message=Modest%20Tree%20Filing%20Against%20Me&color=red&url=https://drive.google.com/open?id=1pVVCuwsJfhQ-jj2cIe5oF6zNwHITCHbF)](https://drive.google.com/open?id=1pVVCuwsJfhQ-jj2cIe5oF6zNwHITCHbF)
40+
[![My Defense Fiiing](https://img.shields.io/static/v1?label=Public%20PDF&message=My%20Defense%20Filing&color=success&url=https://drive.google.com/open?id=1CYy2g46b2XiDoIsWb75SgLJoIGakGiyz)](https://drive.google.com/open?id=1CYy2g46b2XiDoIsWb75SgLJoIGakGiyz)
2741

2842
## Support
2943

3044
This project is supported via donations. If you or your team have found it useful, please consider supporting further development through [patreon](https://www.patreon.com/extenject) or [paypal](https://paypal.me/stevevermeulen)
3145

46+
3247
## Introduction
3348

3449
Note that if you are looking for the older documentation for Zenject you can find that here: [Zenject 3.x](https://github.com/svermeulen/Extenject/tree/f0dd30ad451dcbc3eb17e636455a6c89b14ad537), [Zenject 4.x](https://github.com/svermeulen/Extenject/tree/0b4a15b1e6e680c94fd34a2d7420eb41e320b21b) and [Zenject 5.x](https://github.com/svermeulen/Extenject/tree/dc019e31dbae09eb53c1638be00f7f002898956c)
@@ -79,22 +94,32 @@ Or, if you have found a bug, you are also welcome to create an issue on the [git
7994
* Support for 'reflection baking' to eliminate costly reflection operations completely by directly modifying the generated assemblies
8095
* Automatic injection of game objects using ZenAutoInjecter component
8196

82-
## Installation
97+
## Installation ![GitHub release (latest by date)](https://img.shields.io/github/v/release/svermeulen/Extenject?color=green)
98+
99+
[![GitHub releases](https://img.shields.io/static/v1?style=for-the-badge&label=GitHub%20Releases&labelColor=181717&message=Downloads&color=green&logo=GitHub&logoColor=white)](https://github.com/svermeulen/Extenject/releases)
100+
[![Unity](https://img.shields.io/static/v1?style=for-the-badge&label=Unity%20Asset%20Store&labelColor=181717&message=Download&color=green&logo=Unity&logoColor=white)](https://assetstore.unity.com/packages/tools/utilities/extenject-dependency-injection-ioc-157735)
101+
[![Unity Package](https://img.shields.io/static/v1?style=for-the-badge&label=Unity%20Package&labelColor=181717&message=UPM&color=green&logo=Unity&logoColor=white)](https://github.com/svermeulen/Extenject/issues/2)
83102

84103
You can install Zenject using any of the following methods
85104

86-
1. [![GitHub release (latest by date)](https://img.shields.io/github/v/release/svermeulen/Extenject?color=green)](https://github.com/svermeulen/Extenject/releases)From [Releases Page](https://github.com/svermeulen/Extenject/releases). Here you can choose between the following:
105+
1. __From [Releases Page](https://github.com/svermeulen/Extenject/releases)__
106+
Here you can choose between the following:
87107

88108
* **Zenject-WithAsteroidsDemo.vX.X.unitypackage** - This is equivalent to what you find in the Asset Store and contains both sample games "Asteroids" and "SpaceFighter" as part of the package. All the source code for Zenject is included here.
89109
* **Zenject.vX.X.unitypackage** - Same as above except without the Sample projects.
90110
* **Zenject-NonUnity.vX.X.zip** - Use this if you want to [use Zenject outside of Unity](#using-outside-unity) (eg. just as a normal C# project)
91111

92-
1. [![Download Extenjext from the Unity Asset Store](https://img.shields.io/badge/Unity%20Asset%20Store-Download-green)](https://assetstore.unity.com/packages/tools/utilities/extenject-dependency-injection-ioc-157735)
93-
From the [Unity Asset Store](https://assetstore.unity.com/packages/tools/utilities/extenject-dependency-injection-framework-157735)
112+
113+
1. __From the [Unity Asset Store](https://assetstore.unity.com/packages/tools/utilities/extenject-dependency-injection-framework-157735)__
94114

95115
* Normally this should be the same as what you find in the [Releases section](https://github.com/svermeulen/Extenject/releases), but may also be slightly out of date since Unity Asset Store can take a week or so to review submissions sometimes.
96116

97-
1. From Source
117+
1. __UPM Branch__
118+
119+
* This option is a [feature request](https://github.com/svermeulen/Extenject/issues/24). The package will be released when Unity is ready. Unity is not giving any insights on the development status. But the expectation is in the first or second release of 2020.
120+
* If you can not wait. There is an alternative. But you will need the Unity extension found [here](https://github.com/mob-sakai/UpmGitExtension). And the package found [here](https://github.com/starikcetin/Extenject/tree/upm).
121+
122+
1. __From Source__
98123

99124
* After syncing the git repo, note that you will have to build the `Zenject-Usage.dll` by building the solution at `AssemblyBuild\Zenject-usage\Zenject-usage.sln`. Or, if you prefer you can get `Zenject-Usage.dll` from Releases section instead
100125
* Then you can copy the `UnityProject/Assets/Plugins/Zenject` directory to your own Unity3D project.

UnityProject/Assets/Plugins/Zenject/OptionalExtras/Signals/Main/SignalBus.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,8 @@ public void AbstractFireId<TSignal>(object identifier, TSignal signal)
6565
// Do this before creating the signal so that it throws if the signal was not declared
6666
Type signalType = typeof(TSignal);
6767
InternalFire(signalType, signal, identifier, true);
68+
var declaration = GetDeclaration(signalType, identifier, true);
69+
declaration.Fire(signal);
6870

6971
Type[] interfaces = signalType.GetInterfaces();
7072
int numOfInterfaces = interfaces.Length;

0 commit comments

Comments
 (0)