Ejemplo n.º 1
0
        public static async Task ClassEndMissionAsync(Player player)
        {
            switch (player.PlayerClass)
            {
            case PlayerClassType.TruckDriver:
                await TruckerController.EndMissionAsync(player);

                break;

            case PlayerClassType.BusDriver:
                BusDriverController.EndMission(player);
                break;

            case PlayerClassType.Pilot:
                PilotController.EndMission(player);
                break;

            case PlayerClassType.Police:
                PoliceController.EndMission(player);
                break;

            case PlayerClassType.Mafia:
                await MafiaController.EndMissionAsync(player);

                break;

            case PlayerClassType.Assistance:
                AssistanceController.EndMission(player);
                break;
            }
        }
Ejemplo n.º 2
0
        private void Class_PlayerSpawned(object sender, SpawnEventArgs e)
        {
            if (!(sender is Player player))
            {
                return;
            }

            switch (player.PlayerClass)
            {
            case PlayerClassType.TruckDriver:
                player.Color = PlayerClassColor.TruckerColor;
                break;

            case PlayerClassType.BusDriver:
                player.Color = PlayerClassColor.BusDriverColor;
                break;

            case PlayerClassType.Pilot:
                player.Color = PlayerClassColor.PilotColor;
                break;

            case PlayerClassType.Police:
                player.Color = PlayerClassColor.PoliceColor;

                player.CheckTimer?.Dispose();
                player.CheckTimer       = new Timer(TimeSpan.FromSeconds(1), true);
                player.CheckTimer.Tick += (senderObject, ev) => PoliceController.PoliceCheckTimer_Tick(senderObject, ev, player);

                if (Configuration.Instance.CanPoliceHaveWeapons)
                {
                    foreach (var weapon in Configuration.PoliceWeapons)
                    {
                        player.GiveWeapon(weapon, Configuration.Instance.PoliceWeaponsAmmo);
                    }
                }
                break;

            case PlayerClassType.Mafia:
                player.Color = PlayerClassColor.MafiaColor;

                player.CheckTimer?.Dispose();
                player.CheckTimer       = new Timer(TimeSpan.FromSeconds(1), true);
                player.CheckTimer.Tick += (senderObject, ev) => MafiaController.MafiaCheckTimer_Tick(senderObject, ev, player);
                break;

            case PlayerClassType.Assistance:
                player.Color = PlayerClassColor.AssistanceColor;

                player.CheckTimer?.Dispose();
                player.CheckTimer       = new Timer(TimeSpan.FromSeconds(1), true);
                player.CheckTimer.Tick += (senderObject, ev) => AssistanceController.AssistanceCheckTimer_Tick(senderObject, ev, player);
                break;
            }
        }