Files
Monopoly-Poker-Helper/docs/snippets.md
T

997 B

Snippets

Periodic Timer

private static float _timer;
private const float INTERVAL = 10f;

private static void UpdatePostfix()
{
    _timer += UnityEngine.Time.deltaTime;
    if (_timer < INTERVAL) return;
    _timer = 0f;
    
    // Do something every 10 seconds
}

Singleton Access

// Most game managers use the Singleton pattern
var instance = ManagerType.GetProperty("Instance").GetValue(null);

Safe Reflection

try
{
    var method = type.GetMethod("MethodName");
    if (method == null)
    {
        Log.LogWarning("Method not found!");
        return;
    }
    method.Invoke(instance, args);
}
catch (Exception ex)
{
    Log.LogError($"Reflection error: {ex.Message}");
}

Patch All Overloads

var methods = targetType.GetMethods(BindingFlags.Public | BindingFlags.Instance);
foreach (var method in methods)
{
    if (method.Name == "TargetMethod")
    {
        _harmony.Patch(method, prefix: myPrefix);
    }
}