public static void ShowTrafficCitationCreate(TrafficCitation citation, ComputerPlusEntity entity = null, TrafficCitationView.TrafficCitationActionEvent callbackDelegate = null) { TrafficCitation mCitation = null; if (citation == null && entity == null) { mCitation = Globals.PendingTrafficCitation != null ? Globals.PendingTrafficCitation : new TrafficCitation(); } else if (citation == null && entity.Validate()) { Function.Log("Creating Traffic Citation for ped in vehicle"); mCitation = TrafficCitation.CreateForPedInVehicle(entity); Globals.PendingTrafficCitation = mCitation; Function.Log("Created Traffic Citation for ped " + mCitation.FirstName); } else if (citation != null && citation == Globals.PendingTrafficCitation && !citation.FullName.Equals(entity.FullName)) { if (entity.Validate()) { mCitation = TrafficCitation.CreateForPedInVehicle(entity); } else { mCitation = new TrafficCitation(); } Globals.PendingTrafficCitation = mCitation; } else { mCitation = citation; } Globals.Navigation.Push(new TrafficCitationCreateContainer(mCitation, TrafficCitationView.ViewTypes.CREATE, callbackDelegate)); }
private static TrafficCitation generateRandomCitation(ComputerPlusEntity entity) { TrafficCitation newCitation = TrafficCitation.CreateForPedInVehicle(entity); newCitation.VehicleType = "N/A"; int randomSeconds = Globals.Random.Next(SECONDS_IN_A_DAY * 7, SECONDS_IN_A_DAY * 1200) * -1; newCitation.CitationTimeDate = DateTime.Now.ToUniversalTime().AddSeconds(randomSeconds); newCitation.CitationPos = Rage.World.GetRandomPositionOnStreet(); newCitation.CitationStreetAddress = Rage.World.GetStreetName(newCitation.CitationPos); newCitation.CitationCity = Functions.GetZoneAtPosition(newCitation.CitationPos).RealAreaName; newCitation.Citation = ComputerPedController.GetRandomCitation(); return(SaveTrafficCitation(newCitation)); }