public AssemblyCandidate(candidate c) { activeRuleSetIndex = c.activeRuleSetIndex; graph = c.graph; foreach (var d in c.prevStates) { prevStates.Add(d); } foreach (var opt in c.recipe) { recipe.Add(opt); } foreach (var f in c.performanceParams) { performanceParams.Add(f); } foreach (var f in c.designParameters) { designParameters.Add(f); } foreach (var a in c.GenerationStatus) { GenerationStatus.Add(a); } Sequence = new AssemblySequence(); }
protected virtual void OnGenerationStatusChanged(DungeonGenerator generator, GenerationStatus status) { if (status == GenerationStatus.Complete) { FrameObjectWithCamera(generator.Root); } }
/// <summary> /// Initializes a new instance of the <see cref = "candidate" /> class. /// </summary> /// <param name = "_graph">The _graph.</param> /// <param name = "numRuleSets">The num rule sets.</param> public candidate(designGraph _graph, int numRuleSets) { graph = _graph; for (var i = 0; i != numRuleSets; i++) { GenerationStatus.Add(GenerationStatuses.Unspecified); } }
public SessionGenerationInfo(ITestProject testProject) { this.Session = CommonConst.TestGroupSession; this.Status = GenerationStatus.Idle; this.SequenceStatus = new SerializableMap <int, GenerationStatus>(2); SequenceStatus.Add(CommonConst.SetupIndex, GenerationStatus.Idle); SequenceStatus.Add(CommonConst.TeardownIndex, GenerationStatus.Idle); }
private void OnGenerationStatusChanged(DungeonGenerator generator, GenerationStatus status) { if (status == GenerationStatus.Failed) { UnityUtil.Destroy(lastDungeon); lastDungeon = generator.Root = null; } }
private ISessionGenerationInfo SetGenerationInfo(TestGenEventInfo eventInfo, GenerationStatus status) { _generationInfo.Status = status; foreach (int sequenceIndex in _generationInfo.SequenceStatus.Keys) { _generationInfo.SequenceStatus[sequenceIndex] = status; } return(_generationInfo); }
protected virtual void OnGenerationStatusChanged(DungeonGenerator generator, GenerationStatus status) { if (status == GenerationStatus.Complete) { FrameObjectWithCamera(generator.Root); transform.position = new Vector3(0, 1, 7); // Hard-coded spawn position velocity = Vector3.zero; } }
public ConversionData(string @from, string to, bool exactly = true, GenerationStatus status = GenerationStatus.Ok) { this.Status = status; this.From = @from; this.To = to; this.Exactly = exactly; }
public SessionGenerationInfo(ISessionGenerationInfo generationInfo) { this.Session = generationInfo.Session; this.Status = generationInfo.Status; this.SequenceStatus = new SerializableMap <int, GenerationStatus>(generationInfo.SequenceStatus.Count); foreach (KeyValuePair <int, GenerationStatus> infoPair in generationInfo.SequenceStatus) { this.SequenceStatus.Add(infoPair.Key, infoPair.Value); } }
internal void BeginTime(GenerationStatus status) { if (stopwatch.IsRunning) { EndTime(); } generationStatus = status; stopwatch.Reset(); stopwatch.Start(); }
private void UpdateListViewItemStatus(ListViewItem item, GenerationStatus status, Exception exception) { item.SubItems[statusColumn.Index].Text = status.ToString(); if (status == GenerationStatus.Error) { Logger.Error(exception); item.SubItems[messageColumn.Index].Text = "{0} (Double click for more.)".FormatString(exception.Message); item.SubItems[messageColumn.Index].Tag = exception; } }
private void OnDungeonGenerationStatusChanged(DungeonGenerator generator, GenerationStatus status) { if (status == GenerationStatus.Complete) { SetDungeon(generator.CurrentDungeon); } else if (status == GenerationStatus.Failed) { ClearDungeon(); } }
public SessionGenerationInfo(ISequenceGroup sequenceGroup, int session) { this.Session = session; this.Status = GenerationStatus.Idle; this.SequenceStatus = new SerializableMap <int, GenerationStatus>(sequenceGroup.Sequences.Count + 2); SequenceStatus.Add(CommonConst.SetupIndex, GenerationStatus.Idle); SequenceStatus.Add(CommonConst.TeardownIndex, GenerationStatus.Idle); for (int i = 0; i < sequenceGroup.Sequences.Count; i++) { SequenceStatus.Add(i, GenerationStatus.Idle); } }
public bool HandleTestGenMessage(TestGenMessage message) { GenerationStatus generationState = message.State; _generationInfo.Status = generationState; foreach (int sequenceIndex in _generationInfo.SequenceStatus.Keys) { _generationInfo.SequenceStatus[sequenceIndex] = generationState; } FlipHeatBeatIndex(); return(true); }
public bool HandleTestGenMessage(TestGenMessage message) { GenerationStatus generationState = message.State; _generationInfo.Status = generationState; ICollection <int> sequenceIndexes = new List <int>(_generationInfo.SequenceStatus.Keys); foreach (int sequenceIndex in sequenceIndexes) { _generationInfo.SequenceStatus[sequenceIndex] = generationState; } return(true); }
private void ChangeStatus(GenerationStatus status) { var previousStatus = Status; Status = status; if (status == GenerationStatus.Failed) { Clear(true); } if (previousStatus != status && OnGenerationStatusChanged != null) { OnGenerationStatusChanged(this, status); } }
private void OnGenerationStatusChanged(DungeonGenerator generator, GenerationStatus status) { if (status != GenerationStatus.Complete) { return; } infoText.Length = 0; infoText.AppendLine("Seed: " + generator.ChosenSeed); infoText.AppendLine(); infoText.Append("## TIME TAKEN ##"); infoText.AppendFormat("\n\tPre-Processing:\t\t{0:0.00} ms", generator.GenerationStats.PreProcessTime); infoText.AppendFormat("\n\tMain Path Generation:\t{0:0.00} ms", generator.GenerationStats.MainPathGenerationTime); infoText.AppendFormat("\n\tBranch Path Generation:\t{0:0.00} ms", generator.GenerationStats.BranchPathGenerationTime); infoText.AppendFormat("\n\tPost-Processing:\t\t{0:0.00} ms", generator.GenerationStats.PostProcessTime); infoText.Append("\n\t-------------------------------------------------------"); infoText.AppendFormat("\n\tTotal:\t\t\t{0:0.00} ms", generator.GenerationStats.TotalTime); infoText.AppendLine(); infoText.AppendLine(); infoText.AppendLine("## ROOM COUNT ##"); infoText.AppendFormat("\n\tMain Path: {0}", generator.GenerationStats.MainPathRoomCount); infoText.AppendFormat("\n\tBranch Paths: {0}", generator.GenerationStats.BranchPathRoomCount); infoText.Append("\n\t-------------------"); infoText.AppendFormat("\n\tTotal: {0}", generator.GenerationStats.TotalRoomCount); infoText.AppendLine(); infoText.AppendLine(); infoText.AppendFormat("Retry Count: {0}", generator.GenerationStats.TotalRetries); infoText.AppendLine(); infoText.AppendLine(); infoText.AppendLine("Press 'F1' to toggle this information"); infoText.AppendLine("Press 'R' to generate a new layout"); if (GetAdditionalText != null) { GetAdditionalText(infoText); } }
private void OnGenerationStatusChanged(DungeonGenerator generator, GenerationStatus status) { if (status != GenerationStatus.Complete) { return; } SceneManager.MoveGameObjectToScene(generator.CurrentDungeon.gameObject, this.gameObject.scene); StringBuilder stringBuilder = new StringBuilder(); stringBuilder.AppendLine("Seed: " + generator.ChosenSeed); stringBuilder.AppendLine("Generation time: " + generator.GenerationStats.TotalTime + " ms"); stringBuilder.AppendLine("Main room count: " + generator.GenerationStats.MainPathRoomCount); stringBuilder.AppendLine("Branch room count: " + generator.GenerationStats.BranchPathRoomCount); stringBuilder.AppendLine("Total room count: " + generator.GenerationStats.TotalRoomCount); stringBuilder.AppendLine("Retry count: " + generator.GenerationStats.TotalRetries); Debug.Log(stringBuilder.ToString()); GenerateNavMesh(); PlayerSpawner playerSpawner = GameObject.FindObjectOfType <PlayerSpawner>(); if (playerSpawner) { playerStart = playerSpawner.transform; PlayerControllerTest playerControllerTest = GameObject.FindObjectOfType <PlayerControllerTest>(); if (playerControllerTest) { playerControllerTest.transform.SetPositionAndRotation(playerStart.position, playerStart.rotation); AdjacentRoomCulling adjacentRoomCulling = playerControllerTest.head.gameObject.GetComponent <AdjacentRoomCulling>(); if (!adjacentRoomCulling) { adjacentRoomCulling = playerControllerTest.head.gameObject.AddComponent <AdjacentRoomCulling>(); } adjacentRoomCulling.enabled = dungeonCullAdjacentRoom; } } else { Debug.LogError("No player spawner found for dungeon!"); } }
private async Task UpdateStatus(int currentPermutation, int totalPermutations) { //Random rnd = new Random(); CurrentPermutation = currentPermutation; TotalPermutations = totalPermutations; var status = new GenerationStatus { ApproachId = ApproachId, CurrentPermutation = currentPermutation, TotalPermutations = totalPermutations, SavedPermutations = SavedPermutations }; var result = localStorage.SetItemAsync(status.GetKey(), status); if (!result.IsCompletedSuccessfully) { // if for some reason the status cannot be updated, we take some action //currently ignore } var multiplier = 1 / PercentComplete; TimeSpan ts = startWatch.Elapsed; var finalTimeSpan = ts.Multiply(multiplier).Subtract(ts); TimeRemaining = $"{finalTimeSpan.Days} days {finalTimeSpan.Hours} hours {finalTimeSpan.Minutes} minutes {finalTimeSpan.Seconds} seconds"; await InvokeAsync(StateHasChanged); await Task.Delay(1); //Console.WriteLine($"Status Updated: {currentPermutation}"); //The callback is async, however Blazor is single threaded //(meaning all work is in a timeshare on a single thread) //So, we need to yield so that the UI can update. }
private void OnGenerationStatusChanged(DungeonGenerator generator, GenerationStatus status) { if (status != GenerationStatus.Complete) { return; } analysis.IncrementSuccessCount(); analysis.Add(generator.GenerationStats); remainingIterations--; if (remainingIterations <= 0) { generator.OnGenerationStatusChanged -= OnGenerationStatusChanged; CompleteAnalysis(); } else { generateNextFrame = true; } }
private void OnGeneratorStatusChanged(DungeonGenerator generator, GenerationStatus status) { transform.position = Vector3.zero; }
protected ItemGenerationStatusEventArgs(Template template, TemplateOutputDefinitionFilenameResult result, GenerationStatus status, Exception error = null) : base(template, status, error) { this.Result = result; }
public TestGenMessage(SerializationInfo info, StreamingContext context) : base(info, context) { // this.SequenecIndex = (int) info.GetValue("SequenceIndex", typeof(int)); this.State = (GenerationStatus)info.GetValue("State", typeof(GenerationStatus)); }
public TestGenMessage(string name, int id, int sequenceIndex, GenerationStatus state) : base(name, id, MessageType.TestGen) { // this.SequenecIndex = sequenceIndex; this.State = state; }
protected TemplateGenerationStatusEventArgs(Template template, GenerationStatus status, Exception error = null) : base(status, error) { this.Template = template; }
protected virtual void OnDungeonGenerationStatusChanged(DungeonGenerator generator, GenerationStatus status) { // Detect any NavMeshAdapters that are attached and use them to generate a NavMesh once the dungeon is done if (status == GenerationStatus.Complete) { var navMeshGenerator = GetComponent <NavMeshAdapter>(); if (navMeshGenerator != null) { navMeshGenerator.Generate(generator.CurrentDungeon); } } }
protected GenerationStatusEventArgs(GenerationStatus status, Exception error = null) { this.Status = status; this.Error = error; }