ILAwake - is a simple tool for generating boilerplate code.
Add to package manifest:
"com.zen12.ilawake": "git@github.com:Zen12/ILAwake.git",
It inserts IL-Code in Awake method (or creates and inserts). It doesn't change your source code.
For Example:
Original code:
using ILAwake.Runtime;
using UnityEngine;
public class LogTestBehaviour : MonoBehaviour
{
[AwakeGet] private Transform _tr;
[AwakeGet] private Collider _collider;
}
To (C# equivalent):
using ILAwake.Runtime;
using UnityEngine;
public class LogTestBehaviour : MonoBehaviour
{
[AwakeGet] private Transform _tr;
[AwakeGet] private Collider _collider;
private void Awake()
{
_tr = GetComponent<Transform>();
_collider = GetComponent<Collider>();
}
}
In case if there is Awake already. Here how it will look:
Original code:
using ILAwake.Runtime;
using UnityEngine;
public class LogTestBehaviour : MonoBehaviour
{
[AwakeGet] private Transform _tr;
[AwakeGet] private Collider _collider;
private void Awake()
{
Debug.Log("Awake");
}
}
To (C# equivalent):
using ILAwake.Runtime;
using UnityEngine;
public class LogTestBehaviour : MonoBehaviour
{
[AwakeGet] private Transform _tr;
[AwakeGet] private Collider _collider;
private void Awake()
{
_tr = GetComponent<Transform>();
_collider = GetComponent<Collider>();
Debug.Log("Awake");
}
}
Supported Methods:
- [AwakeGet]
- GetComponent for Reference Types
- GetComponents for Array
- GetComponents for List
- [AwakeGetChild]
- GetComponentInChildren for Reference Types
- GetComponentsInChildren for array
- GetComponentsChildren for List. With includeInactive argument
- [AwakeFind]
- FindObjectOfType for Reference Types. With includeInactive argument
- FindObjectsOfType for array. With includeInactive argument
- FindObjectsOfType for List. With includeInactive argument
- ILViewer (Window->ILView)
- Search by class name
- Search by method name
- Show C# equivalent