public void Run(ChatCallback Callback, List <string> Args) { if (Args.Count == 0) { this.UsageError(Callback, "Укажите название команды, которую хотите выбрать"); return; } var TeamName = Args[0]; var Team = TeamsController.GetByName(TeamName); if (Team == null) { this.UsageError(Callback, $"Команда {TeamName} не найдена!"); return; } var Whom = LanguageManager.Get($"m.team.{TeamName}.whom"); if (!Team.Enable) { Callback.Send($"К сожалению, команда {Whom} выключена"); return; } Callback.Send($"Вы успешно привязаны к команде {Whom}!"); TeamAffinityController.PreSetAffinity(Team); }
public static void Postfix(PlayerTab __instance) { TeamAffinityTabController.Chips.Clear(); var Teams = TeamsController.GetTeams(); for (var Index = 0; Index < Teams.Count; Index++) { var XPos = __instance.XRange.Lerp(Index % 3 / 2f); var YPos = -3.25f - (Index / 3) * 0.75f; var colorChip = Object.Instantiate(__instance.ColorTabPrefab, __instance.transform, true); colorChip.transform.localPosition = new Vector3(XPos, YPos, -1f); var Team = Teams[Index]; colorChip.Button.OnClick.AddListener(new Action(() => { if (!Team.Enable) { return; } TeamAffinityController.PreSetAffinity(Team); })); colorChip.Inner.FrontLayer.sprite = ExtraResources.TEAM_ICON; colorChip.Inner.color = Team.Color; TeamAffinityTabController.Chips.Add(Team, colorChip); } }
public override void Load() { Harmony.PatchAll(); Dummy.Group = ER_GROUP; Vents.Group = ER_GROUP; TeamAffinity.Group = ER_GROUP; GameMode.Group = ER_GROUP; RespawnTime.Group = ER_GROUP; MaxPoints.Group = ER_GROUP; GameModeInterval.Group = ER_GROUP; ControlPointUseInterval.Group = ER_GROUP; FlagCapturerVents.Group = ER_GROUP; IndependendColorsFix.Enable(); TasksOverlay.Enable(); LanguageManager.Load(Assembly.GetExecutingAssembly(), "Military.Lang."); Role.Init(); TeamsController.Init(); TeamAffinityController.Init(); ModActions.Init(); RegisterNetworkMessages(); RegisterComponents(); RegisterListeners(); RegisterCustomMaps(); CommandsController.Register(new TeamAffinityCommand()); }
private static void RegisterNetworkMessages() { Mod.RegisterMessage(AssignTeamsAndRolesMessage.INSTANCE); Mod.RegisterMessage(ShootMessage.INSTANCE); Mod.RegisterMessage(TeamAffinityMessage.INSTANCE); FlagsController.RegisterMessages(Mod); PointsController.RegisterMessages(Mod); ScoreController.RegisterMessages(Mod); TeamsController.RegisterMessages(Mod); SoundsController.RegisterMessages(Mod); HealthController.RegisterMessages(Mod); TeamAffinityController.RegisterMessages(Mod); }
protected override void Handle() { TeamAffinityController.SetAffinity(ReadPlayer(), Reader.ReadTeam()); }
public static void Postfix(HudManager __instance) { if (AmongUsClient.Instance.GameState != InnerNetClient.GameStates.Started) { foreach (var Control in PlayerControl.AllPlayerControls) { Control.nameText.Color = Color.white; } if (!Military.TeamAffinity.GetValue()) { return; } foreach (var(Team, Players) in TeamAffinityController.GetAffinities()) { foreach (var Player in Players.Select(PlayerTools.GetPlayerById)) { Player.nameText.Color = Team.Color; } } return; } if (!__instance.Chat.isActiveAndEnabled) { __instance.Chat.SetVisible(true); } var Scroll = Input.GetAxis("Mouse ScrollWheel"); if (Scroll < 0) { GunController.PreviousGun(); } else if (Scroll > 0) { GunController.NextGun(); } var LocalPlayer = PlayerControl.LocalPlayer; var Dead = LocalPlayer.Data.IsDead; KeyboardController.Update(); var UseButtonActiveEnabled = __instance.UseButton != null && __instance.UseButton.isActiveAndEnabled; PlayerTools.CalculateClosest(PlayerControl.LocalPlayer); foreach (var Role in Role.ROLES) { Role.PreUpdate(__instance, UseButtonActiveEnabled, Dead); } foreach (var Role in Role.ROLES) { Role.PostUpdate(__instance, UseButtonActiveEnabled, Dead); } __instance.ReportButton.gameObject.SetActive(false); GameMode.Current?.Update(Time.deltaTime); ModActions.Update(); foreach (var Control in PlayerControl.AllPlayerControls) { var Extra = Control.Extra(); if (Extra.Team == null) { continue; } var Protection = !Extra.IsReady(); var Color = Protection ? PROTECTION : NO_PROTECTION; Control.nameText.Color = Protection ? Extra.Team.ProtectionColor : Extra.Team.Color; Extra.SetHealthBarActive(!Protection); Control.myRend.color = Color; Control.HatRenderer.color = Color; Control.CurrentPet.rend.color = Color; if (Control.CurrentPet.shadowRend != null) { Control.CurrentPet.shadowRend.color = Color; } Control.MyPhysics.Skin.layer.color = Color; Extra.Update(); } }