示例#1
0
            public static bool PreVehicleLock(VehicleManager __instance, CSteamID steamID)
            {
                var cancel = false;

                var player = PlayerTool.getPlayer(steamID);

                if (player == null)
                {
                    return(false);
                }

                var vehicle = player.movement.getVehicle();

                if (vehicle == null || vehicle.asset == null)
                {
                    return(false);
                }

                if (!vehicle.checkDriver(steamID))
                {
                    return(false);
                }

                var isLocked = vehicle.isLocked;
                var flag     = vehicle.asset.canBeLocked && !isLocked;

                if (isLocked == flag)
                {
                    return(false);
                }

                OnVehicleLockUpdating?.Invoke(vehicle, player, player.quests.groupID, flag, ref cancel);

                return(!cancel);
            }
示例#2
0
            private static bool PreVehicleLock(VehicleManager __instance, CSteamID steamID)
            {
                bool cancel = false;

                Player player = PlayerTool.getPlayer(steamID);

                if (player == null)
                {
                    return(false);
                }
                InteractableVehicle vehicle = player.movement.getVehicle();

                if (vehicle == null || vehicle.asset == null)
                {
                    return(false);
                }
                if (!vehicle.checkDriver(steamID))
                {
                    return(false);
                }
                bool isLocked = vehicle.isLocked;
                bool flag     = vehicle.asset.canBeLocked && !isLocked;

                if (isLocked == flag)
                {
                    return(false);
                }

                OnVehicleLockUpdating?.Invoke(vehicle, player, player.quests.groupID, flag, out cancel);

                return(!cancel);
            }
示例#3
0
            public static bool PreVehicleLock(CSteamID steamID)
            {
                var cancel = false;

                var player = PlayerTool.getPlayer(steamID);

                if (player == null)
                {
                    return(false);
                }

                var vehicle = player.movement.getVehicle();

                if (vehicle == null || vehicle.asset == null)
                {
                    return(false);
                }

                if (!vehicle.checkDriver(steamID))
                {
                    return(false);
                }

                var toLock = !vehicle.isLocked;

                if (toLock && !vehicle.asset.canBeLocked)
                {
                    return(false);
                }

                OnVehicleLockUpdating?.Invoke(vehicle, player, player.quests.groupID, toLock, ref cancel);

                return(!cancel);
            }