public static TResult Handle <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, TResult>(this GameFrameworkFunc <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, TResult> action, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13)
 {
     return(action == null ? default(TResult) : action.Invoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13));
 }
 public static TResult Handle <T1, T2, T3, TResult>(
     this GameFrameworkFunc <T1, T2, T3, TResult> action,
     T1 arg1, T2 arg2, T3 arg3)
 {
     return(action == null ? default(TResult) : action.Invoke(arg1, arg2, arg3));
 }
 public static TResult Handle <T1, T2, T3, T4, T5, T6, T7, TResult>(
     this GameFrameworkFunc <T1, T2, T3, T4, T5, T6, T7, TResult> action,
     T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7)
 {
     return(action == null ? default(TResult) : action.Invoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7));
 }
 public static TResult Handle <TResult>(this GameFrameworkFunc <TResult> action)
 {
     return(action == null ? default(TResult) : action.Invoke());
 }