示例#1
0
        static void increaseGroupSizeIfNeeded(UnitPartActivatableAbility part)
        {
            var tr         = Harmony12.Traverse.Create(part);
            int max_length = EnumUtils.GetMaxValue <ActivatableAbilityGroupExtension>() + EnumUtils.GetMaxValue <ActivatableAbilityGroup>();

            int[] current_group_sizes = tr.Field("m_GroupsSizeIncreases").GetValue <int[]>();
            if (current_group_sizes.Length < max_length)
            {
                current_group_sizes = current_group_sizes.AddToArray(Enumerable.Repeat <int>(0, max_length - current_group_sizes.Length).ToArray());
                tr.Field("m_GroupsSizeIncreases").SetValue(current_group_sizes);
            }
        }
示例#2
0
 static void Postfix(UnitPartActivatableAbility __instance)
 {
     increaseGroupSizeIfNeeded(__instance);
 }