示例#1
0
        public static bool TeammateCountPatchAdd(ref TeammatesController __instance, string entityId)
        {
            CharacterData component = Game.EntityManager.GetComponent <CharacterData>(entityId);

            if (component == null)
            {
                return(false);
            }
            orderedTeammates.Add(component.Character);
            teammates.SetValue(orderedTeammates.GetRange(0, orderedTeammates.Count));
            var teammatesValue = teammates.GetValue <List <ICharacter> >();

            if (teammatesValue.Count > 6)
            {
                teammatesValue.RemoveRange(6, teammatesValue.Count - 6);
            }
            __instance.UpdateView();
            return(false);
        }
示例#2
0
        public static void TeammateCountBegin(ref TeammatesController __instance, ITeammate model)
        {
            Console.WriteLine("TeammatesController.ctor()");
            teammatesController = __instance;
            teammates           = Traverse.Create(__instance).Field("teammates");
            var teammatesValue = teammates.GetValue <List <ICharacter> >();

            if (orderedTeammates.Count == 0)
            {
                orderedTeammates = teammatesValue.GetRange(0, teammatesValue.Count);
            }
            else
            {
                teammates.SetValue(orderedTeammates.GetRange(0, orderedTeammates.Count));
                teammatesValue = teammates.GetValue <List <ICharacter> >();
            }
            if (teammatesValue.Count > 6)
            {
                teammatesValue.RemoveRange(6, teammatesValue.Count - 6);
            }
        }
示例#3
0
 public static void TeammateCountClose(ref TeammatesController __instance)
 {
     Console.WriteLine("TeammatesController.OnClose()");
     teammates           = null;
     teammatesController = null;
 }