├── AssemblyInfo.cs
├── AssemblyInfo.cs.meta
├── BContext.cs
├── BContext.cs.meta
├── BContextList.cs
├── BContextList.cs.meta
├── Binject.asmdef
├── Binject.asmdef.meta
├── BinjectManager.cs
├── BinjectManager.cs.meta
├── Editor.meta
├── Editor
├── BContextEditor.cs
├── BContextEditor.cs.meta
├── BinjectEditor.asmdef
├── BinjectEditor.asmdef.meta
├── TypeSelectDropDown.cs
├── TypeSelectDropDown.cs.meta
├── UnmanagedUtility.cs
└── UnmanagedUtility.cs.meta
├── Interfaces.cs
├── Interfaces.cs.meta
├── LICENSE
├── LICENSE.meta
├── README.md
├── README.md.meta
├── RealValueHolder.cs
├── RealValueHolder.cs.meta
├── Res.meta
├── Res
├── BContext-icon.png
├── BContext-icon.png.meta
├── img.png
├── img.png.meta
├── img_1.png
├── img_1.png.meta
├── img_2.png
├── img_2.png.meta
├── img_3.png
├── img_3.png.meta
├── img_4.png
├── img_4.png.meta
├── img_5.png
└── img_5.png.meta
├── package.json
└── package.json.meta
/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Runtime.CompilerServices;
2 |
3 | // for editor scripts
4 | [assembly: InternalsVisibleTo( "BinjectEditor" )]
5 |
--------------------------------------------------------------------------------
/AssemblyInfo.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 9c1054bcde4f4b9c8cfc21281fc277e0
3 | timeCreated: 1689517048
--------------------------------------------------------------------------------
/BContext.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Runtime.CompilerServices;
4 | using System.Text;
5 | using UnityEngine;
6 | using UnityEngine.Serialization;
7 |
8 | namespace Binject {
9 | ///
10 | /// A container for dependencies. You can use contexts to group dependencies.
11 | ///
12 | [ExecuteAlways]
13 | [DisallowMultipleComponent]
14 | [DefaultExecutionOrder( -10 )]
15 | [AddComponentMenu( "Binject/Binject Context" )]
16 | public sealed class BContext : MonoBehaviour {
17 |
18 | [Tooltip( "used for when you want to use a specific context but don't have access to it directly; you can find " +
19 | "it using it's Group number." )]
20 | [SerializeField] internal ushort Group;
21 |
22 | [FormerlySerializedAs( "ObjectDependencies" )]
23 | [Tooltip( "List of injectable Unity Objects as dependency." )]
24 | [SerializeField] internal List UnityObjectDependencies = new( 8 );
25 |
26 | [Tooltip( "List of injectable non Unity Object classes as dependency." )]
27 | [SerializeReference] internal List