public MissionDetails(MissionDefinition missionDefinition, DestinationDetails destinationDetails, long missionTime, float passRate) { this.missionDefinition = missionDefinition; this.destinationDetails = destinationDetails; this.missionTime = missionTime; this.passRate = passRate; }
public static MissionDetails generateNewMission(DestinationDetails destinationDetails) { //retrieve the matching mission definition (currently always exploration for testing) MissionDefinition missionDefinition = getMissionDefinition(MissionDefinition.MissionType.EXPLORATION); //generate mission information MissionDetails missionDetails = generateMissionDetails(missionDefinition, destinationDetails); return(missionDetails); }
public void generateNewMission() { //get the planet information DestinationDetails destinationDetails = addressManager.getDestinationDetails(); //generate a new set of mission details MissionDetails missionDetails = MissionUtil.generateNewMission(destinationDetails); //Debug.Log(missionDetails.ToString()); //store the new available mission to json addAvailableMission(missionDetails); //create a panel displaying the created missions details createAvailableMissionPanel(missionDetails); }
public DestinationDetails getDestinationDetails() { /*int[] address = addressInput.getAddress(); * * if(address == null) { * //Address invalid * return null; * }*/ int[] address = DestinationUtil.generateRandomAddress(7); //check the address is a valid selection if (!DestinationUtil.validateAddress(address)) { return(null); } //retrieve the destination details for the given address DestinationDetails destinationDetails = DestinationUtil.getDestinationData(address); return(destinationDetails); }
public static MissionDetails generateMissionDetails(MissionDefinition missionDefinition, DestinationDetails destinationDetails) { //generate the time it will take to complete this mission (5 seconds - 2 days) long missionTime = new System.Random().Next(5, 172800); //generate the pass rate chance of completing this mission float passRate = missionDefinition.basePassRate; //generate and return a new set of mission details using the generated data return(new MissionDetails(missionDefinition, destinationDetails, missionTime, passRate)); }
/// <summary> /// HTTP request. /// Instantiate the object using an HttpListenerContext. /// </summary> /// <param name="ctx">HttpListenerContext.</param> public HttpRequest(HttpListenerContext ctx) { if (ctx == null) { throw new ArgumentNullException(nameof(ctx)); } if (ctx.Request == null) { throw new ArgumentNullException(nameof(ctx.Request)); } ListenerContext = ctx; Keepalive = ctx.Request.KeepAlive; ContentLength = ctx.Request.ContentLength64; Useragent = ctx.Request.UserAgent; ContentType = ctx.Request.ContentType; _Uri = new Uri(ctx.Request.Url.ToString().Trim()); ThreadId = Thread.CurrentThread.ManagedThreadId; TimestampUtc = DateTime.Now.ToUniversalTime(); ProtocolVersion = "HTTP/" + ctx.Request.ProtocolVersion.ToString(); Source = new SourceDetails(ctx.Request.RemoteEndPoint.Address.ToString(), ctx.Request.RemoteEndPoint.Port); Destination = new DestinationDetails(ctx.Request.LocalEndPoint.Address.ToString(), ctx.Request.LocalEndPoint.Port, _Uri.Host); Method = (HttpMethod)Enum.Parse(typeof(HttpMethod), ctx.Request.HttpMethod, true); Url = new UrlDetails(ctx.Request.Url.ToString().Trim(), ctx.Request.RawUrl.ToString().Trim()); Query = new QueryDetails(Url.Full); Headers = new Dictionary <string, string>(); for (int i = 0; i < ctx.Request.Headers.Count; i++) { string key = ctx.Request.Headers.GetKey(i); string val = ctx.Request.Headers.Get(i); Headers = AddToDict(key, val, Headers); } foreach (KeyValuePair <string, string> curr in Headers) { if (String.IsNullOrEmpty(curr.Key)) { continue; } if (String.IsNullOrEmpty(curr.Value)) { continue; } if (curr.Key.ToLower().Equals("transfer-encoding")) { if (curr.Value.ToLower().Contains("chunked")) { ChunkedTransfer = true; } if (curr.Value.ToLower().Contains("gzip")) { Gzip = true; } if (curr.Value.ToLower().Contains("deflate")) { Deflate = true; } } } Data = ctx.Request.InputStream; }