diff --git a/Contexts/Contexts.csproj b/Contexts/Contexts.csproj index f5bdafa..f0aed56 100644 --- a/Contexts/Contexts.csproj +++ b/Contexts/Contexts.csproj @@ -7,13 +7,11 @@ - TRACE; -NO_SQL; + TRACE; - TRACE; -NO_SQL; + TRACE; diff --git a/Contexts/DatabaseContext.cs b/Contexts/DatabaseContext.cs index 8b8931c..3751a77 100644 --- a/Contexts/DatabaseContext.cs +++ b/Contexts/DatabaseContext.cs @@ -3,6 +3,8 @@ #else using Microsoft.EntityFrameworkCore; +using Model.Documentation; +using Model.Immortal.Notes; using Model.Website; using Model.Work.Git; using Model.Work.Tasks; @@ -20,7 +22,10 @@ public class DatabaseContext : DbContext { public DbSet PatchModels { get; set; } public DbSet WebPageModels { get; set; } public DbSet WebSectionModels { get; set; } - + + public DbSet DocumentationModels { get; set; } + public DbSet NoteModels { get; set; } + protected override void OnModelCreating(ModelBuilder modelBuilder) { modelBuilder.Entity(); modelBuilder.Entity(); diff --git a/IGP/Database.db b/IGP/Database.db index 4ffb4ed..bbc72b0 100644 Binary files a/IGP/Database.db and b/IGP/Database.db differ diff --git a/IGP/IGP.csproj b/IGP/IGP.csproj index c39dc69..2b71e84 100644 --- a/IGP/IGP.csproj +++ b/IGP/IGP.csproj @@ -36,4 +36,8 @@ + + <_ContentIncludedByDefault Remove="Pages\Notes\Pages\CoopHoldout.razor" /> + + diff --git a/IGP/Pages/Agile/AgilePage.razor b/IGP/Pages/Agile/AgilePage.razor index 5613364..3b04df5 100644 --- a/IGP/Pages/Agile/AgilePage.razor +++ b/IGP/Pages/Agile/AgilePage.razor @@ -29,7 +29,6 @@ End: @sprint.EndDate.Value.ToString("dd/MM/yyyy") } - @@ -64,6 +63,7 @@ } else { + } diff --git a/IGP/Pages/Notes/NotesPage.razor b/IGP/Pages/Notes/NotesPage.razor index b5403db..e6e5e74 100644 --- a/IGP/Pages/Notes/NotesPage.razor +++ b/IGP/Pages/Notes/NotesPage.razor @@ -1,48 +1,60 @@ @layout PageLayout +@inject INoteService NoteService +@implements IDisposable + @page "/notes" - - Notes -
-
Section:
-
- -
+
+
Section:
+
+ +
+
+ @foreach (var note in NoteService.NoteModels) { + if (note.IsHidden) { + continue; + } + if (selectedSection != "All" && note.Section != selectedSection) { + continue; + } + @if (note.IsPreAlpha) { + + Pre Alpha + This note refers to content that is in pre-alpha. It won't be accurate in future updates to IGP. + + } + +
+ @note.Section +
+ Last Updated on @note.LastUpdated +
+
+
@note.Name
+ +
@((MarkupString)note.Description)
+
+
+ } +
+
+ +} @code { - readonly List data = NoteModel.Notes.Values.ToList(); string selectedSection = "All"; + protected override void OnInitialized() + { + NoteService.Subscribe(StateHasChanged); + + NoteService.Load(); + } + + + public void Dispose() + { + NoteService.Unsubscribe(StateHasChanged); + + } + + void OnSectionChanged(ChangeEventArgs e) { selectedSection = e.Value.ToString(); StateHasChanged(); } - } \ No newline at end of file diff --git a/IGP/Pages/Notes/Pages/CoopHoldout.razor b/IGP/Pages/Notes/Pages/CoopHoldout.razor deleted file mode 100644 index 74f3171..0000000 --- a/IGP/Pages/Notes/Pages/CoopHoldout.razor +++ /dev/null @@ -1,57 +0,0 @@ -@page "/notes/coop-holdout" - -
- - - @if (note.IsPreAlpha) { - - Pre Alpha - This note refers to content that is in pre-alpha. It won't be accurate in future updates to IGP. - - } - -
-
- @note.Section -
- Last Updated on @note.LastUpdated -
-
-
@note.Name
-
@((MarkupString)note.Description)
-
-
-
- -
-
- -
- - -@code { - readonly NoteModel note = NoteModel.Notes["79d80c48-67d4-4945-a3ed-7c7803b5f6b5"]; -} \ No newline at end of file diff --git a/IGP/Pages/Notes/Pages/Example.md b/IGP/Pages/Notes/Pages/Example.md deleted file mode 100644 index a70e4ce..0000000 --- a/IGP/Pages/Notes/Pages/Example.md +++ /dev/null @@ -1,50 +0,0 @@ ---- -href: /notes/example title: Example ---- - -Information contained in this note is based on this YouTube, -Reference Video. - - -
Open Bases
- -On this map, you start with around 500 alloy and 100 ether. You are probably going to want to expand to the bases in the -marked order, given the density of defending enemies shown on the minimap. - -You should know that these are all standard bases that will mine out in 10 minutes. Giving a total of 18,000 alloy and -7,200 ether. Plus an additional 6,000 alloy from the starting Bastion. In the late game, you will have zero income, -aside from pyre. - - - -
Enemy Spawn Areas
- -The first enemy wave will spawn at 1 minute, and every 2 minutes after will spawn a new wave. These waves are small, and -won't be a threat until the 15-minute mark. - - -
Pyre Towers
- -You have till then to take all 5 of your bases, and set a defensive line at the outer Pyre towers. - -The spawn size post the 15-minute mark does become rather large. You may be tempted to fall back and abandon forward -bases, but the waves will stack if not dealt with. Eventually, more units than the game can handle, so ensure outer pyre -towers are held. Try to take them back if you lose them. - - -
Pyre Camps
- -When you have the time you are also going to need to take the 4 pyre camps spread around the map. It will probably be -ideal to split your army in half, to protect your two outer towers, and just have a small force of Ichors or Dervishes -to clear the camps quickly. - - -
Multipliers
- -If you have additional free time, you can take out the Altar of the Worthys on the edges of the map to double your -current more multiplier: 2, 4, 8, to the max of 16. Amber Wombs will also spawn, with a pack of enemies to defend them. -Killing an Amber Womb will increase your score, but also spawn random friendly and enemy units. With this spawning, it's -possible to go past the supply cap. - -But really, these optional objectives can be completely ignored, so you can just focus on surviving for as long as -possible. diff --git a/IGP/Program.cs b/IGP/Program.cs index 9c9f11e..5d1a660 100644 --- a/IGP/Program.cs +++ b/IGP/Program.cs @@ -49,6 +49,7 @@ builder.Services.AddSingleton(); builder.Services.AddSingleton(); builder.Services.AddSingleton(); builder.Services.AddSingleton(); +builder.Services.AddSingleton(); await builder.Build().RunAsync(); diff --git a/IGP/wwwroot/generated/ChangeModels.json b/IGP/wwwroot/generated/ChangeModels.json index 431faad..4aa2258 100644 --- a/IGP/wwwroot/generated/ChangeModels.json +++ b/IGP/wwwroot/generated/ChangeModels.json @@ -1 +1 @@ -[{"Id":1,"PatchModelId":1,"Name":"Shrink Header Navigation","Description":"The full header navigation is now only visible on desktop when hovered.","Commit":"Feature","Date":"2022-03-26T20:32:02","Important":"False"},{"Id":2,"PatchModelId":1,"Name":"Database UX Update","Description":"Desktop Database Filter UI has been updated. It\u0027s now always visible.","Commit":"Feature","Date":"2022-03-26T20:32:02","Important":"False"},{"Id":3,"PatchModelId":2,"Name":"Fixing Thrum Stats","Description":"Speed was too low. Health and Shields ratio is slightly different.","Commit":"Fix","Date":"2022-03-26T20:32:02","Important":"False"},{"Id":4,"PatchModelId":3,"Name":"Memory Tester","Description":"Fun quick feature added while I rewrite my database. Tests memory of units ranges and speeds.","Commit":"Feature","Date":"2022-03-26T20:32:02","Important":"False"},{"Id":5,"PatchModelId":3,"Name":"Privacy Policy Removed","Description":"Removed cringe privacy policy. It misses the issue. Will eventually add operational analytics and cookies, and add a more applicable Privacy Policy if needed. Not a priority though.","Commit":"Fix","Date":"2022-03-26T20:32:02","Important":"False"},{"Id":6,"PatchModelId":3,"Name":"Input Tripling","Description":"Fixed a bug where inputs could get tripled on the Build Calculator.","Commit":"Fix","Date":"2022-03-26T20:32:02","Important":"False"},{"Id":7,"PatchModelId":3,"Name":"Agile Changes","Description":"Updated Agile log to indicate the next 2 weeks will be spent on SQL","Commit":"Planning","Date":"2022-03-26T20:32:02","Important":"False"},{"Id":8,"PatchModelId":4,"Name":"Hiding WIP Pyre Feature","Description":"Whoops, WIP Pyre feature accidentally got committed to production. Now hidden.","Commit":"Fix","Date":"2022-03-26T20:32:02","Important":"False"},{"Id":9,"PatchModelId":5,"Name":"Build Calc Optimization","Description":"Improved speeds","Commit":"Fix","Date":"2022-03-26T20:32:02","Important":"False"},{"Id":10,"PatchModelId":5,"Name":"Change Log Filter","Description":"Change log now defaults to showing only important patches","Commit":"Feature","Date":"2022-03-26T20:32:02","Important":"False"},{"Id":11,"PatchModelId":5,"Name":"Motes Consumed","Description":"Motes now consumed in the build calculator when making a townhall.","Commit":"Fix","Date":"2022-03-26T20:32:02","Important":"False"},{"Id":12,"PatchModelId":6,"Name":"Agile UI Tweaks","Description":"Making the agile text look a bit better before stream.","Commit":"Style","Date":"2022-03-26T20:32:02","Important":"False"},{"Id":13,"PatchModelId":7,"Name":"Database Armor","Description":"Added missing armor display to database.","Commit":"Fix","Date":"2022-03-26T20:32:02","Important":"False"},{"Id":14,"PatchModelId":8,"Name":"Home Page","Description":"Added a quick placeholder-ish homepage.","Commit":"Feature","Date":"2022-03-26T20:32:02","Important":"False"},{"Id":15,"PatchModelId":8,"Name":"Database Army Default","Description":"Database UI now defaults to Army selection. Given most people are probably going to want to view the units.","Commit":"Fix","Date":"2022-03-26T20:32:02","Important":"False"},{"Id":16,"PatchModelId":9,"Name":"Mobile Menu Back","Description":"You can now click the page after selecting a Section, to go back to Section nav.","Commit":"Fix","Date":"2022-03-26T20:32:02","Important":"False"},{"Id":17,"PatchModelId":10,"Name":"Mobile Menu Fixed","Description":"Fixed the mobile menu not actually being positioned to the bottom of the screen on phones.","Commit":"Fix","Date":"2022-03-26T20:32:02","Important":"False"},{"Id":18,"PatchModelId":11,"Name":"Tablet Menu","Description":"Added a hamburger nav menu for tablets.","Commit":"Feature","Date":"2022-03-26T20:32:02","Important":"False"},{"Id":19,"PatchModelId":11,"Name":"Mobile Menu","Description":"Added a bottom nav menu for phones.","Commit":"Feature","Date":"2022-03-26T20:32:02","Important":"False"},{"Id":20,"PatchModelId":12,"Name":"0.0.6.8375a","Description":"Database updated to 0.0.6.8375a","Commit":"Game Patch","Date":"2022-03-26T20:32:02","Important":"True"},{"Id":21,"PatchModelId":12,"Name":"Database Descriptions","Description":"Added more text descriptions to buildings and etc..","Commit":"Feature","Date":"2022-03-26T20:32:02","Important":"False"},{"Id":22,"PatchModelId":12,"Name":"Guids","Description":"Now using Guids and strings over enums. View in /raw-database page.","Commit":"Feature","Date":"2022-03-26T20:32:02","Important":"False"},{"Id":23,"PatchModelId":12,"Name":"Mobile UI","Description":"Additional mobile UI improvements. Harass calculator now has fewer inputs that don\u0027t matter.","Commit":"Feature","Date":"2022-03-26T20:32:02","Important":"False"},{"Id":24,"PatchModelId":12,"Name":"Bug Tasks","Description":"Added feature/bug task indicator to agile view. Added consume mote bug in build calculator to next sprint. (Calculator not consuming motes on Town Hall building)","Commit":"Feature","Date":"2022-03-26T20:32:02","Important":"False"},{"Id":25,"PatchModelId":12,"Name":"Entity Display UI","Description":"Display UI improved. Build Calculator now uses the same Entity display UI as the Database.","Commit":"Style","Date":"2022-03-26T20:32:02","Important":"False"},{"Id":26,"PatchModelId":13,"Name":"Removed Embedded YouTube","Description":"Having embedded videos makes my privacy policy look completely untrue. Removed the video (it\u0027s now a link) and added a message on the privacy policy to point out that the error occured.","Commit":"Fix","Date":"2022-03-26T20:32:02","Important":"False"},{"Id":27,"PatchModelId":13,"Name":"Agile View Backlog","Description":"Added backlog rendering to the Agile View Page. Added priority level to better indicate what tasks have high or zero priority.","Commit":"Feature","Date":"2022-03-26T20:32:02","Important":"False"},{"Id":28,"PatchModelId":14,"Name":"Privacy Policy Page","Description":"The privacy policy is now a page rather than a blurb on the About page.","Commit":"Feature","Date":"2022-03-26T20:32:02","Important":"False"},{"Id":29,"PatchModelId":14,"Name":"Privacy Policy Update","Description":"I added information on how I use personal data. And a disclaimer that privacy can never be guaranteed.","Commit":"Privacy Policy","Date":"2022-03-26T20:32:02","Important":"False"},{"Id":30,"PatchModelId":14,"Name":"Minor Tweaks","Description":"Minor UI changes and text fixes.","Commit":"None","Date":"2022-03-26T20:32:02","Important":"False"},{"Id":31,"PatchModelId":15,"Name":"Homepage","Description":"Making Of page no longer shows on the homepage","Commit":"Fix","Date":"2022-03-26T20:32:02","Important":"False"},{"Id":32,"PatchModelId":15,"Name":"DevOnly Component","Description":"Added a DevOnly component to wrap UI content that should not be released to production. I.e. the Homepage bug.","Commit":"Feature","Date":"2022-03-26T20:32:02","Important":"False"},{"Id":33,"PatchModelId":16,"Name":"Agile View","Description":"Add an agile page to show current activities.","Commit":"Feature","Date":"2022-03-26T20:32:02","Important":"False"},{"Id":34,"PatchModelId":16,"Name":"Rendering Entire Database","Description":"I can now render the database without lag. Not sure what fixed it.","Commit":"Fix","Date":"2022-03-26T20:32:02","Important":"False"},{"Id":35,"PatchModelId":16,"Name":"Database Data","Description":"Added a ton of data to the database. Such as various descriptions. More work is still to be done.","Commit":"Feature","Date":"2022-03-26T20:32:02","Important":"False"},{"Id":36,"PatchModelId":16,"Name":"Database Ids","Description":"Database has less duplicated content. Army entities now link to their Upgrades and Abilities. More work is still to be done.","Commit":"Feature","Date":"2022-03-26T20:32:02","Important":"False"},{"Id":37,"PatchModelId":16,"Name":"Blades of the Godhead Requirement","Description":"Fixed the requirement incorrectly being the Eye of Aros. Now is properly Bearer of the Crown.","Commit":"Fix","Date":"2022-03-26T20:32:02","Important":"False"},{"Id":38,"PatchModelId":16,"Name":"UI Changes","Description":"Various UI changes and tweaks","Commit":"Style","Date":"2022-03-26T20:32:02","Important":"False"},{"Id":39,"PatchModelId":16,"Name":"Streams","Description":"Added a Streams page. It mentions plans to do Twitch streams on Sunday.","Commit":"Feature","Date":"2022-03-26T20:32:02","Important":"False"},{"Id":40,"PatchModelId":16,"Name":"IMMORTAL","Description":"Fixed \u0022IMMORTAL: Gates of Pyre\u0022 game title. Will no longer refer to it as \u0022Immortal: Gates of Pyre\u0022.","Commit":"Typo","Date":"2022-03-26T20:32:02","Important":"False"},{"Id":41,"PatchModelId":16,"Name":"Mobile Support","Description":"All the pages should now work on phones.","Commit":"Feature","Date":"2022-03-26T20:32:02","Important":"False"},{"Id":42,"PatchModelId":17,"Name":"Form Text","Description":"Fixed search bar in database, name and colour in build calculator, from not rendering \uD83D\uDE10","Commit":"Fix","Date":"2022-03-26T20:32:02","Important":"False"},{"Id":43,"PatchModelId":17,"Name":"UI Test Automation Road Map","Description":"Adding test automation to the roadmap","Commit":"Planning","Date":"2022-03-26T20:32:02","Important":"False"},{"Id":44,"PatchModelId":18,"Name":"Build Calculator Interval","Description":"600 is too laggy. Reducing to 360 until optimizations are done.","Commit":"Fix","Date":"2022-03-26T20:32:02","Important":"False"},{"Id":45,"PatchModelId":18,"Name":"Changelog Patch Date","Description":"Fixed date on previous patch in changelog. Should be one day earlier.","Commit":"Fix","Date":"2022-03-26T20:32:02","Important":"False"},{"Id":46,"PatchModelId":19,"Name":"UI Overhaul","Description":"Cleaned up and restyled a lot of UI. Like Page Containers, Alerts, Forms, Nav Buttons, and more.","Commit":"Style","Date":"2022-03-26T20:32:02","Important":"False"},{"Id":47,"PatchModelId":19,"Name":"Separate Pages","Description":"Navigation now uses different pages, instead of loading content onto the main page.","Commit":"Feature","Date":"2022-03-26T20:32:02","Important":"False"},{"Id":48,"PatchModelId":19,"Name":"Making Of","Description":"Adding Making Of page for design reference.","Commit":"Feature","Date":"2022-03-26T20:32:02","Important":"False"},{"Id":49,"PatchModelId":19,"Name":"Change Log","Description":"Adding Change Log page for viewing update history.","Commit":"Feature","Date":"2022-03-26T20:32:02","Important":"False"},{"Id":50,"PatchModelId":19,"Name":"Mobile Priority","Description":"Changed mobile support priority in roadmap from low and possible to high and planned, and updated description.","Commit":"Planning","Date":"2022-03-26T20:32:02","Important":"False"},{"Id":51,"PatchModelId":20,"Name":"Purple Colours","Description":"Added placeholder-ish purple color scheme.","Commit":"Style","Date":"2022-03-26T20:32:02","Important":"False"},{"Id":52,"PatchModelId":20,"Name":"SQL","Description":"Agile and Change Log pages now use JSON made from SQL","Commit":"Feature","Date":"2022-03-26T20:32:02","Important":"False"},{"Id":53,"PatchModelId":21,"Name":"Discord Link","Description":"Made a discord for the website, and added invite link to contact page","Commit":"Feature","Date":"2022-03-26T20:32:02","Important":"False"},{"Id":54,"PatchModelId":21,"Name":"Loading Improvemnts","Description":"Agile and Change Log loading improved","Commit":"Feature","Date":"2022-03-26T20:32:02","Important":"False"},{"Id":55,"PatchModelId":21,"Name":"Desktop Nav closing","Description":"Desktop nav menu now closes when a page link is clicked","Commit":"Feature","Date":"2022-03-26T20:32:02","Important":"False"},{"Id":56,"PatchModelId":22,"Name":"0.0.6.8900a","Description":"Database updated to 0.0.6.8900a","Commit":"Game Patch","Date":"2022-03-26T20:32:02","Important":"True"}] \ No newline at end of file +[{"Id":1,"PatchModelId":1,"Name":"Shrink Header Navigation","Description":"The full header navigation is now only visible on desktop when hovered.","Commit":"Feature","Date":"2022-03-26T20:32:02","Important":"False"},{"Id":2,"PatchModelId":1,"Name":"Database UX Update","Description":"Desktop Database Filter UI has been updated. It\u0027s now always visible.","Commit":"Feature","Date":"2022-03-26T20:32:02","Important":"False"},{"Id":3,"PatchModelId":2,"Name":"Fixing Thrum Stats","Description":"Speed was too low. Health and Shields ratio is slightly different.","Commit":"Fix","Date":"2022-03-26T20:32:02","Important":"False"},{"Id":4,"PatchModelId":3,"Name":"Memory Tester","Description":"Fun quick feature added while I rewrite my database. Tests memory of units ranges and speeds.","Commit":"Feature","Date":"2022-03-26T20:32:02","Important":"False"},{"Id":5,"PatchModelId":3,"Name":"Privacy Policy Removed","Description":"Removed cringe privacy policy. It misses the issue. Will eventually add operational analytics and cookies, and add a more applicable Privacy Policy if needed. Not a priority though.","Commit":"Fix","Date":"2022-03-26T20:32:02","Important":"False"},{"Id":6,"PatchModelId":3,"Name":"Input Tripling","Description":"Fixed a bug where inputs could get tripled on the Build Calculator.","Commit":"Fix","Date":"2022-03-26T20:32:02","Important":"False"},{"Id":7,"PatchModelId":3,"Name":"Agile Changes","Description":"Updated Agile log to indicate the next 2 weeks will be spent on SQL","Commit":"Planning","Date":"2022-03-26T20:32:02","Important":"False"},{"Id":8,"PatchModelId":4,"Name":"Hiding WIP Pyre Feature","Description":"Whoops, WIP Pyre feature accidentally got committed to production. Now hidden.","Commit":"Fix","Date":"2022-03-26T20:32:02","Important":"False"},{"Id":9,"PatchModelId":5,"Name":"Build Calc Optimization","Description":"Improved speeds","Commit":"Fix","Date":"2022-03-26T20:32:02","Important":"False"},{"Id":10,"PatchModelId":5,"Name":"Change Log Filter","Description":"Change log now defaults to showing only important patches","Commit":"Feature","Date":"2022-03-26T20:32:02","Important":"False"},{"Id":11,"PatchModelId":5,"Name":"Motes Consumed","Description":"Motes now consumed in the build calculator when making a townhall.","Commit":"Fix","Date":"2022-03-26T20:32:02","Important":"False"},{"Id":12,"PatchModelId":6,"Name":"Agile UI Tweaks","Description":"Making the agile text look a bit better before stream.","Commit":"Style","Date":"2022-03-26T20:32:02","Important":"False"},{"Id":13,"PatchModelId":7,"Name":"Database Armor","Description":"Added missing armor display to database.","Commit":"Fix","Date":"2022-03-26T20:32:02","Important":"False"},{"Id":14,"PatchModelId":8,"Name":"Home Page","Description":"Added a quick placeholder-ish homepage.","Commit":"Feature","Date":"2022-03-26T20:32:02","Important":"False"},{"Id":15,"PatchModelId":8,"Name":"Database Army Default","Description":"Database UI now defaults to Army selection. Given most people are probably going to want to view the units.","Commit":"Fix","Date":"2022-03-26T20:32:02","Important":"False"},{"Id":16,"PatchModelId":9,"Name":"Mobile Menu Back","Description":"You can now click the page after selecting a Section, to go back to Section nav.","Commit":"Fix","Date":"2022-03-26T20:32:02","Important":"False"},{"Id":17,"PatchModelId":10,"Name":"Mobile Menu Fixed","Description":"Fixed the mobile menu not actually being positioned to the bottom of the screen on phones.","Commit":"Fix","Date":"2022-03-26T20:32:02","Important":"False"},{"Id":18,"PatchModelId":11,"Name":"Tablet Menu","Description":"Added a hamburger nav menu for tablets.","Commit":"Feature","Date":"2022-03-26T20:32:02","Important":"False"},{"Id":19,"PatchModelId":11,"Name":"Mobile Menu","Description":"Added a bottom nav menu for phones.","Commit":"Feature","Date":"2022-03-26T20:32:02","Important":"False"},{"Id":20,"PatchModelId":12,"Name":"0.0.6.8375a","Description":"Database updated to 0.0.6.8375a","Commit":"Game Patch","Date":"2022-03-26T20:32:02","Important":"True"},{"Id":21,"PatchModelId":12,"Name":"Database Descriptions","Description":"Added more text descriptions to buildings and etc..","Commit":"Feature","Date":"2022-03-26T20:32:02","Important":"False"},{"Id":22,"PatchModelId":12,"Name":"Guids","Description":"Now using Guids and strings over enums. View in /raw-database page.","Commit":"Feature","Date":"2022-03-26T20:32:02","Important":"False"},{"Id":23,"PatchModelId":12,"Name":"Mobile UI","Description":"Additional mobile UI improvements. Harass calculator now has fewer inputs that don\u0027t matter.","Commit":"Feature","Date":"2022-03-26T20:32:02","Important":"False"},{"Id":24,"PatchModelId":12,"Name":"Bug Tasks","Description":"Added feature/bug task indicator to agile view. Added consume mote bug in build calculator to next sprint. (Calculator not consuming motes on Town Hall building)","Commit":"Feature","Date":"2022-03-26T20:32:02","Important":"False"},{"Id":25,"PatchModelId":12,"Name":"Entity Display UI","Description":"Display UI improved. Build Calculator now uses the same Entity display UI as the Database.","Commit":"Style","Date":"2022-03-26T20:32:02","Important":"False"},{"Id":26,"PatchModelId":13,"Name":"Removed Embedded YouTube","Description":"Having embedded videos makes my privacy policy look completely untrue. Removed the video (it\u0027s now a link) and added a message on the privacy policy to point out that the error occured.","Commit":"Fix","Date":"2022-03-26T20:32:02","Important":"False"},{"Id":27,"PatchModelId":13,"Name":"Agile View Backlog","Description":"Added backlog rendering to the Agile View Page. Added priority level to better indicate what tasks have high or zero priority.","Commit":"Feature","Date":"2022-03-26T20:32:02","Important":"False"},{"Id":28,"PatchModelId":14,"Name":"Privacy Policy Page","Description":"The privacy policy is now a page rather than a blurb on the About page.","Commit":"Feature","Date":"2022-03-26T20:32:02","Important":"False"},{"Id":29,"PatchModelId":14,"Name":"Privacy Policy Update","Description":"I added information on how I use personal data. And a disclaimer that privacy can never be guaranteed.","Commit":"Privacy Policy","Date":"2022-03-26T20:32:02","Important":"False"},{"Id":30,"PatchModelId":14,"Name":"Minor Tweaks","Description":"Minor UI changes and text fixes.","Commit":"None","Date":"2022-03-26T20:32:02","Important":"False"},{"Id":31,"PatchModelId":15,"Name":"Homepage","Description":"Making Of page no longer shows on the homepage","Commit":"Fix","Date":"2022-03-26T20:32:02","Important":"False"},{"Id":32,"PatchModelId":15,"Name":"DevOnly Component","Description":"Added a DevOnly component to wrap UI content that should not be released to production. I.e. the Homepage bug.","Commit":"Feature","Date":"2022-03-26T20:32:02","Important":"False"},{"Id":33,"PatchModelId":16,"Name":"Agile View","Description":"Add an agile page to show current activities.","Commit":"Feature","Date":"2022-03-26T20:32:02","Important":"False"},{"Id":34,"PatchModelId":16,"Name":"Rendering Entire Database","Description":"I can now render the database without lag. Not sure what fixed it.","Commit":"Fix","Date":"2022-03-26T20:32:02","Important":"False"},{"Id":35,"PatchModelId":16,"Name":"Database Data","Description":"Added a ton of data to the database. Such as various descriptions. More work is still to be done.","Commit":"Feature","Date":"2022-03-26T20:32:02","Important":"False"},{"Id":36,"PatchModelId":16,"Name":"Database Ids","Description":"Database has less duplicated content. Army entities now link to their Upgrades and Abilities. More work is still to be done.","Commit":"Feature","Date":"2022-03-26T20:32:02","Important":"False"},{"Id":37,"PatchModelId":16,"Name":"Blades of the Godhead Requirement","Description":"Fixed the requirement incorrectly being the Eye of Aros. Now is properly Bearer of the Crown.","Commit":"Fix","Date":"2022-03-26T20:32:02","Important":"False"},{"Id":38,"PatchModelId":16,"Name":"UI Changes","Description":"Various UI changes and tweaks","Commit":"Style","Date":"2022-03-26T20:32:02","Important":"False"},{"Id":39,"PatchModelId":16,"Name":"Streams","Description":"Added a Streams page. It mentions plans to do Twitch streams on Sunday.","Commit":"Feature","Date":"2022-03-26T20:32:02","Important":"False"},{"Id":40,"PatchModelId":16,"Name":"IMMORTAL","Description":"Fixed \u0022IMMORTAL: Gates of Pyre\u0022 game title. Will no longer refer to it as \u0022Immortal: Gates of Pyre\u0022.","Commit":"Typo","Date":"2022-03-26T20:32:02","Important":"False"},{"Id":41,"PatchModelId":16,"Name":"Mobile Support","Description":"All the pages should now work on phones.","Commit":"Feature","Date":"2022-03-26T20:32:02","Important":"False"},{"Id":42,"PatchModelId":17,"Name":"Form Text","Description":"Fixed search bar in database, name and colour in build calculator, from not rendering \uD83D\uDE10","Commit":"Fix","Date":"2022-03-26T20:32:02","Important":"False"},{"Id":43,"PatchModelId":17,"Name":"UI Test Automation Road Map","Description":"Adding test automation to the roadmap","Commit":"Planning","Date":"2022-03-26T20:32:02","Important":"False"},{"Id":44,"PatchModelId":18,"Name":"Build Calculator Interval","Description":"600 is too laggy. Reducing to 360 until optimizations are done.","Commit":"Fix","Date":"2022-03-26T20:32:02","Important":"False"},{"Id":45,"PatchModelId":18,"Name":"Changelog Patch Date","Description":"Fixed date on previous patch in changelog. Should be one day earlier.","Commit":"Fix","Date":"2022-03-26T20:32:02","Important":"False"},{"Id":46,"PatchModelId":19,"Name":"UI Overhaul","Description":"Cleaned up and restyled a lot of UI. Like Page Containers, Alerts, Forms, Nav Buttons, and more.","Commit":"Style","Date":"2022-03-26T20:32:02","Important":"False"},{"Id":47,"PatchModelId":19,"Name":"Separate Pages","Description":"Navigation now uses different pages, instead of loading content onto the main page.","Commit":"Feature","Date":"2022-03-26T20:32:02","Important":"False"},{"Id":48,"PatchModelId":19,"Name":"Making Of","Description":"Adding Making Of page for design reference.","Commit":"Feature","Date":"2022-03-26T20:32:02","Important":"False"},{"Id":49,"PatchModelId":19,"Name":"Change Log","Description":"Adding Change Log page for viewing update history.","Commit":"Feature","Date":"2022-03-26T20:32:02","Important":"False"},{"Id":50,"PatchModelId":19,"Name":"Mobile Priority","Description":"Changed mobile support priority in roadmap from low and possible to high and planned, and updated description.","Commit":"Planning","Date":"2022-03-26T20:32:02","Important":"False"},{"Id":51,"PatchModelId":20,"Name":"Purple Colours","Description":"Added placeholder-ish purple color scheme.","Commit":"Style","Date":"2022-03-26T20:32:02","Important":"False"},{"Id":52,"PatchModelId":20,"Name":"SQL","Description":"Agile and Change Log pages now use JSON made from SQL","Commit":"Feature","Date":"2022-03-26T20:32:02","Important":"False"},{"Id":53,"PatchModelId":21,"Name":"Discord Link","Description":"Made a discord for the website, and added invite link to contact page","Commit":"Feature","Date":"2022-03-26T20:32:02","Important":"False"},{"Id":54,"PatchModelId":21,"Name":"Loading Improvemnts","Description":"Agile and Change Log loading improved","Commit":"Feature","Date":"2022-03-26T20:32:02","Important":"False"},{"Id":55,"PatchModelId":21,"Name":"Desktop Nav closing","Description":"Desktop nav menu now closes when a page link is clicked","Commit":"Feature","Date":"2022-03-26T20:32:02","Important":"False"},{"Id":56,"PatchModelId":22,"Name":"0.0.6.8900a","Description":"Database updated to 0.0.6.8900a","Commit":"Game Patch","Date":"2022-03-26T20:32:02","Important":"True"},{"Id":57,"PatchModelId":23,"Name":"Database Links","Description":"Various entity references in the database now link to the entity via a dialog interface","Commit":"Feature","Date":"2022-03-26T20:32:02","Important":"False"}] \ No newline at end of file diff --git a/IGP/wwwroot/generated/DocumentationModels.json b/IGP/wwwroot/generated/DocumentationModels.json new file mode 100644 index 0000000..42736a8 --- /dev/null +++ b/IGP/wwwroot/generated/DocumentationModels.json @@ -0,0 +1 @@ +[{"Id":1,"CreatedDate":"2022-03-30T00:00:00","UpdatedDate":"2022-03-30T00:00:00","Name":"Setup","Section":"Getting Started","Description":"# Setup\n\nThis document will contain general setup notes for the project.\n\n## Prerequisite\n\nTo understand content in this document, it is recommended to have some software development experience. Particularly using GitHub and Visual Studio.\n\n- [GitHub Documentation](https://docs.github.com/en/get-started)\n\n- [Visual Studio Documentation](https://visualstudio.microsoft.com/vs/getting-started/)\n\nTo make updates to this website, it is recommended to understand HTML/CSS and C#.\n\n- [C# Documentation](https://docs.microsoft.com/en-us/dotnet/csharp/)\n- [Mozilla\u0027s HTML Documentation](https://developer.mozilla.org/en-US/docs/Learn/HTML/Introduction_to_HTML/Getting_started)\n- [W3SCHOOLS\u0027 HTML Documentation](https://www.w3schools.com/html/)\n\nFurther, you should understand the product and clients this website is for. So it is recommended to play \u0022Immortal: Gates of Pyre\u0022.\n- [IGP Website](https://gatesofpyre.com/) \n - **Please Note:** This product currently has restricted access with it is in a pre-alpha state. If you are not aware or interested in IGP, I recommend to wait for product release. Otherwise, check out their discord for steps of getting access.\n\n\n## Installation\n\nDownload and install Visual Studio preview.\n\nhttps://visualstudio.microsoft.com/vs/preview/\n\nWhen installing, ensure you have selected \u0022Workloads | **ASP.NET and web development**\u0022 and \u0022Individual components | **.NET WebAssembly build tools**\u0022.\n\n## Download Project\n\nGet this project from GitHub. \n\n\u0060\u0060\u0060bash\ngit clone https://github.com/JonathanMcCaffrey/IGP-Fan-Reference.git\n\u0060\u0060\u0060\n\n## Project Tree\n\u0060\u0060\u0060\nC:.\n\u251C\u2500\u2500\u2500.github\n\u2502 \u2514\u2500\u2500\u2500workflows # Workflows to deploy website\n\u251C\u2500\u2500\u2500Components # Components used be website\n\u251C\u2500\u2500\u2500Contexts\n\u251C\u2500\u2500\u2500IGP\n\u2502 \u251C\u2500\u2500\u2500Pages # Website pages\n\u2502 \u2514\u2500\u2500\u2500wwwroot \n\u2502 \u251C\u2500\u2500\u2500css\n\u2502 \u251C\u2500\u2500\u2500generated # Files generated by IGP_Convert. Do not edit\n\u2502 \u251C\u2500\u2500\u2500image\n\u2502 \u251C\u2500\u2500\u2500javascript\n\u2502 \u2514\u2500\u2500\u2500markdown\n\u2502 \u2514\u2500\u2500\u2500documentation # Documentation files\n\u251C\u2500\u2500\u2500IGP_Convert # Converts SQL into JSON for Blazor Wasm\n\u251C\u2500\u2500\u2500Model # Data models\n\u2514\u2500\u2500\u2500Services # Web services\n\u0060\u0060\u0060\n\n## Running\n\n- Open \u0060IGP/IGP.sln\u0060. \n- Click the green RUN button in Visual Studio.\n- A local copy of the IGP Website should have launched on your machine.\n\n\n## Publishing\n\n**Important:** publishing new version of the website will not occur until issue [39528](https://github.com/dotnet/aspnetcore/issues/39528) in dotnet/aspnetcore is resolved.\n\n\nCode committed to the \u0060main\u0060 branch will automatically be deployed to [production](https://www.igpfanreference.com/).\n\nCode committed to the \u0060develop\u0060 branch will automatically be deployed to [development](https://calm-mud-04916b210.1.azurestaticapps.net/).\n\n*This is handle via the files in \u0060.github/workflow\u0060. Look into these [GitHub Actions Documents](https://docs.github.com/en/actions) if curious about how this CI system works.*\n\n\n## Troubleshooting\n\nNothing that some good internet searches cannot resolved. But you can also contact the project maintainer on [IGP Fan Reference](https://discord.gg/uMq8bMGeeN) Discord.\n\n"}] \ No newline at end of file diff --git a/IGP/wwwroot/generated/NoteModels.json b/IGP/wwwroot/generated/NoteModels.json new file mode 100644 index 0000000..1a6c390 --- /dev/null +++ b/IGP/wwwroot/generated/NoteModels.json @@ -0,0 +1 @@ +[{"Id":1,"LastUpdated":"2022-02-18T00:00:00","Name":"Coop Holdout, Some distant place (Nuath)","Section":"Coop","Description":"Information contained in this note is based on this \u003Ca href=\u0022https://www.youtube.com/watch?v=XkAgOCIz3DE\u0022\u003EYouTube, Reference Video\u003C/a\u003E.\n\n\u003Cimg width=\u0022420\u0022 style=\u0022margin: auto; border:2px solid black;\u0022 src=\u0022image/notes/coop-holdout/OpenBases.png\u0022 /\u003E\n\u003Cdiv style=\u0022margin: auto; text-align:center;\u0022\u003E\u003Cb\u003EOpen Bases\u003C/b\u003E\u003C/div\u003E\n\nOn this map, you start with around 500 alloy and 100 ether. You are probably going to want to expand to the bases in the marked order, given the density of defending enemies shown on the minimap.\n\nYou should know that these are all standard bases that will mine out in 10 minutes. Giving a total of 18,000 alloy and 7,200 ether. Plus an additional 6,000 alloy from the starting Bastion. In the late game, you will have zero income, aside from pyre.\n\n\n\u003Cimg width=\u0022420\u0022 style=\u0022margin: auto; border:2px solid black;\u0022 src=\u0022image/notes/coop-holdout/EnemySpawns.png\u0022 /\u003E\n\u003Cdiv style=\u0022margin: auto; text-align:center;\u0022\u003E\u003Cb\u003EEnemy Spawn Areas\u003C/b\u003E\u003C/div\u003E\n\nThe first enemy wave will spawn at 1 minute, and every 2 minutes after will spawn a new wave. These waves are small, and won\u0027t be a threat until the 15-minute mark.\n\n\u003Cimg width=\u0022420\u0022 style=\u0022margin: auto; border:2px solid black;\u0022 src=\u0022image/notes/coop-holdout/DefendPoints.png\u0022 /\u003E\n\u003Cdiv style=\u0022margin: auto; text-align:center;\u0022\u003E\u003Cb\u003EPyre Towers\u003C/b\u003E\u003C/div\u003E\n\nYou have till then to take all 5 of your bases, and set a defensive line at the outer Pyre towers.\n\nThe spawn size post the 15-minute mark does become rather large. You may be tempted to fall back and abandon forward bases, but the waves will stack if not dealt with. Eventually, more units than the game can handle, so ensure outer pyre towers are held. Try to take them back if you lose them.\n\n\u003Cimg width=\u0022420\u0022 style=\u0022margin: auto; border:2px solid black;\u0022 src=\u0022image/notes/coop-holdout/Pyre.png\u0022 /\u003E\n\u003Cdiv style=\u0022margin: auto; text-align:center;\u0022\u003E\u003Cb\u003EPyre Camps\u003C/b\u003E\u003C/div\u003E\n\nWhen you have the time you are also going to need to take the 4 pyre camps spread around the map. It will probably be ideal to split your army in half, to protect your two outer towers, and just have a small force of Ichors or Dervishes to clear the camps quickly.\n\n\u003Cimg width=\u0022420\u0022 style=\u0022margin: auto; border:2px solid black;\u0022 src=\u0022image/notes/coop-holdout/Multipliers.png\u0022 /\u003E\n\u003Cdiv style=\u0022margin: auto; text-align:center;\u0022\u003E\u003Cb\u003EMultipliers\u003C/b\u003E\u003C/div\u003E\n\nIf you have additional free time, you can take out the Altar of the Worthys on the edges of the map to double your current more multiplier: 2, 4, 8, to the max of 16. Amber Wombs will also spawn, with a pack of enemies to defend them. Killing an Amber Womb will increase your score, but also spawn random friendly and enemy units. With this spawning, it\u0027s possible to go past the supply cap.\n\n\nBut really, these optional objectives can be completely ignored, so you can just focus on surviving for as long as possible.","IsHidden":false,"IsPreAlpha":false}] \ No newline at end of file diff --git a/IGP/wwwroot/generated/PatchModels.json b/IGP/wwwroot/generated/PatchModels.json index f7cdaca..8d240e1 100644 --- a/IGP/wwwroot/generated/PatchModels.json +++ b/IGP/wwwroot/generated/PatchModels.json @@ -1 +1 @@ -[{"Id":1,"Name":"Database UX Patch","Date":"2022-03-13T00:00:00","ChangeModels":[],"Important":"False"},{"Id":2,"Name":"Thrum Stats Hotfix","Date":"2022-03-12T00:00:00","ChangeModels":[],"Important":"False"},{"Id":3,"Name":"Memory Tester Patch","Date":"2022-03-01T00:00:00","ChangeModels":[],"Important":"False"},{"Id":4,"Name":"Hide Pyre Hotfix","Date":"2022-02-20T00:00:00","ChangeModels":[],"Important":"False"},{"Id":5,"Name":"Stream Patch","Date":"2022-02-20T00:00:00","ChangeModels":[],"Important":"False"},{"Id":6,"Name":"Agile UI Hotfix","Date":"2022-02-20T00:00:00","ChangeModels":[],"Important":"False"},{"Id":7,"Name":"Armor Patch","Date":"2022-02-19T00:00:00","ChangeModels":[],"Important":"False"},{"Id":8,"Name":"Home Page Patch","Date":"2022-02-19T00:00:00","ChangeModels":[],"Important":"False"},{"Id":9,"Name":"Mobile Menu Hotfix 2","Date":"2022-02-19T00:00:00","ChangeModels":[],"Important":"False"},{"Id":10,"Name":"Mobile Menu Hotfix","Date":"2022-02-19T00:00:00","ChangeModels":[],"Important":"False"},{"Id":11,"Name":"Mobile Menu Patch","Date":"2022-02-19T00:00:00","ChangeModels":[],"Important":"False"},{"Id":12,"Name":"0.0.6.8375a Patch","Date":"2022-02-18T00:00:00","ChangeModels":[],"Important":"True"},{"Id":13,"Name":"Google Tracking Hotfix","Date":"2022-02-18T00:00:00","ChangeModels":[],"Important":"False"},{"Id":14,"Name":"Privacy Policy Patch","Date":"2022-02-17T00:00:00","ChangeModels":[],"Important":"False"},{"Id":15,"Name":"Home Page Quick Hotfix","Date":"2022-02-16T00:00:00","ChangeModels":[],"Important":"False"},{"Id":16,"Name":"Early Agile Patch","Date":"2022-02-16T00:00:00","ChangeModels":[],"Important":"False"},{"Id":17,"Name":"Form Text Rendering Hotfix","Date":"2022-02-15T00:00:00","ChangeModels":[],"Important":"False"},{"Id":18,"Name":"Reducing Timing Interval Hotfix","Date":"2022-02-15T00:00:00","ChangeModels":[],"Important":"False"},{"Id":19,"Name":"Changelog Patch","Date":"2022-02-14T00:00:00","ChangeModels":[],"Important":"False"},{"Id":20,"Name":"SQL Patch","Date":"2022-03-26T00:00:00","ChangeModels":[],"Important":"False"},{"Id":21,"Name":"Stream Patch","Date":"2022-03-30T00:00:00","ChangeModels":[],"Important":"False"},{"Id":22,"Name":"0.0.6.8900a Patch","Date":"2022-03-30T00:00:00","ChangeModels":[],"Important":"True"}] \ No newline at end of file +[{"Id":1,"Name":"Database UX Patch","Date":"2022-03-13T00:00:00","ChangeModels":[],"Important":"False"},{"Id":2,"Name":"Thrum Stats Hotfix","Date":"2022-03-12T00:00:00","ChangeModels":[],"Important":"False"},{"Id":3,"Name":"Memory Tester Patch","Date":"2022-03-01T00:00:00","ChangeModels":[],"Important":"False"},{"Id":4,"Name":"Hide Pyre Hotfix","Date":"2022-02-20T00:00:00","ChangeModels":[],"Important":"False"},{"Id":5,"Name":"Stream Patch","Date":"2022-02-20T00:00:00","ChangeModels":[],"Important":"False"},{"Id":6,"Name":"Agile UI Hotfix","Date":"2022-02-20T00:00:00","ChangeModels":[],"Important":"False"},{"Id":7,"Name":"Armor Patch","Date":"2022-02-19T00:00:00","ChangeModels":[],"Important":"False"},{"Id":8,"Name":"Home Page Patch","Date":"2022-02-19T00:00:00","ChangeModels":[],"Important":"False"},{"Id":9,"Name":"Mobile Menu Hotfix 2","Date":"2022-02-19T00:00:00","ChangeModels":[],"Important":"False"},{"Id":10,"Name":"Mobile Menu Hotfix","Date":"2022-02-19T00:00:00","ChangeModels":[],"Important":"False"},{"Id":11,"Name":"Mobile Menu Patch","Date":"2022-02-19T00:00:00","ChangeModels":[],"Important":"False"},{"Id":12,"Name":"0.0.6.8375a Patch","Date":"2022-02-18T00:00:00","ChangeModels":[],"Important":"True"},{"Id":13,"Name":"Google Tracking Hotfix","Date":"2022-02-18T00:00:00","ChangeModels":[],"Important":"False"},{"Id":14,"Name":"Privacy Policy Patch","Date":"2022-02-17T00:00:00","ChangeModels":[],"Important":"False"},{"Id":15,"Name":"Home Page Quick Hotfix","Date":"2022-02-16T00:00:00","ChangeModels":[],"Important":"False"},{"Id":16,"Name":"Early Agile Patch","Date":"2022-02-16T00:00:00","ChangeModels":[],"Important":"False"},{"Id":17,"Name":"Form Text Rendering Hotfix","Date":"2022-02-15T00:00:00","ChangeModels":[],"Important":"False"},{"Id":18,"Name":"Reducing Timing Interval Hotfix","Date":"2022-02-15T00:00:00","ChangeModels":[],"Important":"False"},{"Id":19,"Name":"Changelog Patch","Date":"2022-02-14T00:00:00","ChangeModels":[],"Important":"False"},{"Id":20,"Name":"SQL Patch","Date":"2022-03-26T00:00:00","ChangeModels":[],"Important":"False"},{"Id":21,"Name":"Stream Patch","Date":"2022-03-30T00:00:00","ChangeModels":[],"Important":"False"},{"Id":22,"Name":"0.0.6.8900a Patch","Date":"2022-03-30T00:00:00","ChangeModels":[],"Important":"True"},{"Id":23,"Name":"Database Links Patch","Date":"2022-04-01T00:00:00","ChangeModels":[],"Important":"False"}] \ No newline at end of file diff --git a/IGP/wwwroot/generated/TaskModels.json b/IGP/wwwroot/generated/TaskModels.json index 5b841f2..2d8857e 100644 --- a/IGP/wwwroot/generated/TaskModels.json +++ b/IGP/wwwroot/generated/TaskModels.json @@ -1 +1 @@ -[{"Id":1,"SprintModelId":null,"Name":"Support Safari","Description":"Consider other web browsers.","Notes":"Added","Status":"Todo","Priority":"Low","Task":"Feature","Project":"Management","Created":"2022-02-20T00:00:00","Finished":"2022-02-20T00:00:00"},{"Id":2,"SprintModelId":2,"Name":"Filter Patch Notes","Description":"You should be showing people what they really want to see in the patch notes.","Notes":"Added","Status":"Done","Priority":"Blocker","Task":"Feature","Project":"Management","Created":"2022-02-20T00:00:00","Finished":"2022-02-20T00:00:00"},{"Id":3,"SprintModelId":null,"Name":"Consider Pyre","Description":"Add Pyre Income. Make it so you can take Pyre Camps and Pyre Miners","Notes":"Add notes...","Status":"In_Progress","Priority":"Medium","Task":"Feature","Project":"Management","Created":"2022-02-20T00:00:00","Finished":null},{"Id":4,"SprintModelId":null,"Name":"Optimizations","Description":"Build Calculator should be usable.","Notes":"Add notes...","Status":"Todo","Priority":"Medium","Task":"Feature","Project":"Management","Created":"2022-02-20T00:00:00","Finished":null},{"Id":5,"SprintModelId":null,"Name":"Change Attack Timing Interval","Description":"Be able to sett attack timing.","Notes":"Add notes...","Status":"Todo","Priority":"Medium","Task":"Feature","Project":"Management","Created":"2022-02-20T00:00:00","Finished":null},{"Id":6,"SprintModelId":null,"Name":"Add Pyre Spells","Description":"Make Pyre Spells castable and consume Pyre on build order","Notes":"Add notes...","Status":"In_Progress","Priority":"Medium","Task":"Feature","Project":"Management","Created":"2022-02-20T00:00:00","Finished":null},{"Id":7,"SprintModelId":null,"Name":"Default builds (Rush Thrones)","Description":"Add a dropdown list of default builds.","Notes":"Add notes...","Status":"Todo","Priority":"Medium","Task":"Feature","Project":"Management","Created":"2022-02-20T00:00:00","Finished":null},{"Id":8,"SprintModelId":null,"Name":"Load older builds","Description":"Be able to load older builds. How are you going to handle auto correct to current patch?","Notes":"Add notes...","Status":"Todo","Priority":"Medium","Task":"Feature","Project":"Management","Created":"2022-02-20T00:00:00","Finished":null},{"Id":9,"SprintModelId":null,"Name":"How to use Build Calculator step by step","Description":"Need docs","Notes":"Add notes...","Status":"Todo","Priority":"Medium","Task":"Feature","Project":"Management","Created":"2022-02-20T00:00:00","Finished":null},{"Id":10,"SprintModelId":null,"Name":"Compare Health and Damage","Description":"Refer to community example spreadsheet.","Notes":"Add notes...","Status":"Todo","Priority":"Medium","Task":"Feature","Project":"Management","Created":"2022-02-20T00:00:00","Finished":null},{"Id":11,"SprintModelId":null,"Name":"Compare Unit\u0027s Damage with it\u0027s own costs","Description":"Refer to community example spreadsheet.","Notes":"Add notes...","Status":"Todo","Priority":"Medium","Task":"Feature","Project":"Management","Created":"2022-02-20T00:00:00","Finished":null},{"Id":12,"SprintModelId":null,"Name":"View one unit stats from a link. Make YAML copy and paste","Description":"Design so people can easily copy and paste data into discord","Notes":"Lame. Not currently supported in Blazor. I could automate up a solution, or just manually implement the url parsing, but probably best to wait","Status":"Todo","Priority":"Medium","Task":"Feature","Project":"Management","Created":"2022-02-20T00:00:00","Finished":null},{"Id":13,"SprintModelId":2,"Name":"Look into SQL","Description":"You really should be using SQL.","Notes":"Agile and Change log pages now use SQL","Status":"Done","Priority":"Medium","Task":"Feature","Project":"Management","Created":"2022-02-20T00:00:00","Finished":null},{"Id":14,"SprintModelId":1,"Name":"Mobile Menu","Description":"You need a real mobile menu. Viewers don\u0027t scroll below the fold, so no one is going to know what happens when you click a button on phones.","Notes":"Added smaller menus for tablets and phones.","Status":"Done","Priority":"High","Task":"Feature","Project":"Management","Created":"2022-02-18T00:00:00","Finished":"2022-02-19T00:00:00"},{"Id":15,"SprintModelId":2,"Name":"Acropolis Consume Mote","Description":"The Mote is suppose to be consumed when making a Town Hall.","Notes":"Fixed","Status":"Done","Priority":"High","Task":"Bug","Project":"Management","Created":"2022-02-18T00:00:00","Finished":"2022-02-20T00:00:00"},{"Id":16,"SprintModelId":null,"Name":"Multiple Travel Time in Calculator","Description":"Travel time should be based on the amount of bases used. 3 bases is 3 travel times.","Notes":"Add notes...","Status":"Todo","Priority":"Low","Task":"Feature","Project":"Management","Created":"2022-02-18T00:00:00","Finished":null},{"Id":17,"SprintModelId":1,"Name":"Update Database to 0.0.6.8375a","Description":"Xacal tech change, and Hallower damage change. Update Godhead text.","Notes":"Done","Status":"Done","Priority":"None","Task":"Feature","Project":"Management","Created":"2022-02-18T00:00:00","Finished":"2022-02-18T00:00:00"},{"Id":18,"SprintModelId":null,"Name":"Patch History Viewer","Description":"Add an ability to compare patches, to see all nerfs and buffs made between them.","Notes":"Inspired by Zkay\u0027s post on discord, where he details a possible \u0027patch history viewer\u0027 implementation.","Status":"Fun_Idea","Priority":"None","Task":"Feature","Project":"Management","Created":"2022-02-16T00:00:00","Finished":null},{"Id":19,"SprintModelId":1,"Name":"Twitch Page","Description":"Did a ~3 hour test stream, and was personal quite happy with the quality. Make Twitch page, and stream patch, sprint planning and development on Sunday.","Notes":"Page added under General, and named \u0022Streams\u0022.","Status":"Done","Priority":"Medium","Task":"Feature","Project":"Management","Created":"2022-02-16T00:00:00","Finished":"2022-02-16T00:00:00"},{"Id":20,"SprintModelId":1,"Name":"Finish the database","Description":"Add more descriptions for everything. Reduce any data duplication with ids. Add upgrade connections. Add ability connections. Add passives and passives connections.","Notes":"Good enough for now","Status":"Done","Priority":"Medium","Task":"Feature","Project":"Management","Created":"2022-02-11T00:00:00","Finished":"2022-02-19T00:00:00"},{"Id":21,"SprintModelId":1,"Name":"Change Log View","Description":"Add a log to view last changes.","Notes":"Added changelog page. Shows Today, X Days Ago, or exact date if patch is over a week old.","Status":"Done","Priority":"Medium","Task":"Feature","Project":"Management","Created":"2022-02-14T00:00:00","Finished":"2022-02-14T00:00:00"},{"Id":22,"SprintModelId":1,"Name":"Agile View","Description":"Add the agile view.","Notes":"Finished.","Status":"Done","Priority":"Medium","Task":"Feature","Project":"Management","Created":"2022-02-11T00:00:00","Finished":"2022-02-17T00:00:00"},{"Id":23,"SprintModelId":1,"Name":"GUID for Ids","Description":"Stop using enums for ids, and start using guids. Enums are just too limited, I lose out on component and inheritance design with them. Replace all your enums with guids, rip off the bandaid.","Notes":"Add notes...","Status":"Done","Priority":"Medium","Task":"Feature","Project":"Management","Created":"2022-02-11T00:00:00","Finished":"2022-02-18T00:00:00"},{"Id":24,"SprintModelId":1,"Name":"Co-op overview","Description":"Write some sort of blog on co-op gameplay so you have something the feels very content-ish. Maybe make it a video.","Notes":"Finished and released early.","Status":"Done","Priority":"Medium","Task":"Feature","Project":"Management","Created":"2022-02-11T00:00:00","Finished":"2022-02-12T00:00:00"},{"Id":25,"SprintModelId":1,"Name":"Mobile UI","Description":"Make website work on mobile.","Notes":"Should be good. Will test on phone later.","Status":"Done","Priority":"Medium","Task":"Feature","Project":"Management","Created":"2022-02-15T00:00:00","Finished":"2022-02-18T00:00:00"},{"Id":26,"SprintModelId":1,"Name":"Add Making Of View","Description":"View to reference UI designs. Nicely encourages the pratice of making the UI code a lot cleaner.","Notes":"Good enough for now","Status":"Done","Priority":"Medium","Task":"Feature","Project":"Management","Created":"2022-02-11T00:00:00","Finished":"2022-02-19T00:00:00"},{"Id":27,"SprintModelId":3,"Name":"Close Nav Menu on Navigation","Description":"Close Nav Menu on Navigation","Notes":null,"Status":"Done","Priority":"High","Task":"Bug","Project":"Management","Created":"2022-03-27T00:00:00","Finished":"2022-03-27T00:00:00"},{"Id":28,"SprintModelId":3,"Name":"Add Passive Descriptions and Passive","Description":"Have to guess on a bunch of passives","Notes":null,"Status":"Done","Priority":"Medium","Task":"Feature","Project":"Management","Created":"2022-03-27T00:00:00","Finished":"2022-03-31T00:00:00"},{"Id":29,"SprintModelId":3,"Name":"Tooltips that show referenced units","Description":"I should see any referenced unit by hovering over it","Notes":"Links can now go to links which can go to links.","Status":"Done","Priority":"Medium","Task":"Feature","Project":"Management","Created":"2022-03-27T00:00:00","Finished":"2022-04-01T00:00:00"},{"Id":30,"SprintModelId":null,"Name":"Update Logo for Website","Description":"After color scheme is picked","Notes":null,"Status":"Todo","Priority":"Low","Task":"Feature","Project":"Management","Created":"2022-03-27T00:00:00","Finished":null},{"Id":31,"SprintModelId":3,"Name":"Documentation page","Description":"Add documents on how to maintain website","Notes":null,"Status":"Todo","Priority":"Low","Task":"Feature","Project":"Management","Created":"2022-03-27T00:00:00","Finished":null},{"Id":32,"SprintModelId":null,"Name":"Test Automation","Description":"Selenium Tests","Notes":"Start adding IDs to everything","Status":"Todo","Priority":"Low","Task":"Feature","Project":"Management","Created":"2022-03-27T00:00:00","Finished":null},{"Id":33,"SprintModelId":null,"Name":"Unit Test","Description":"Add some unit tests","Notes":null,"Status":"Todo","Priority":"Low","Task":"Feature","Project":"Management","Created":"2022-03-27T00:00:00","Finished":null},{"Id":34,"SprintModelId":null,"Name":"Fully Transfer everything to SQL","Description":"Need to regenerate the database once everthing is fully transfered","Notes":null,"Status":"Todo","Priority":"Medium","Task":"Feature","Project":"Management","Created":"2022-03-27T00:00:00","Finished":null},{"Id":35,"SprintModelId":3,"Name":"Adding a loading Component","Description":"For JSON loading","Notes":"Added loading component to Agile and Changelog screens","Status":"Done","Priority":"Medium","Task":"Feature","Project":"Management","Created":"2022-03-27T00:00:00","Finished":"2022-03-27T00:00:00"},{"Id":36,"SprintModelId":3,"Name":"Optimize Loading of Data","Description":"Currently loading non Agile stuff on Agile page","Notes":"Moved SQL database injection to app root","Status":"Done","Priority":"Medium","Task":"Feature","Project":"Management","Created":"2022-03-27T00:00:00","Finished":"2022-03-27T00:00:00"},{"Id":37,"SprintModelId":3,"Name":"Convert Notes to Markdown","Description":"Using Markdown and generating the Note pages seems like a better solution to SQL or hardcoding data","Notes":null,"Status":"Todo","Priority":"Medium","Task":"Feature","Project":"Management","Created":"2022-03-27T00:00:00","Finished":null}] \ No newline at end of file +[{"Id":1,"SprintModelId":null,"Name":"Support Safari","Description":"Consider other web browsers.","Notes":"Added","Status":"Todo","Priority":"Low","Task":"Feature","Project":"Management","Created":"2022-02-20T00:00:00","Finished":"2022-02-20T00:00:00"},{"Id":2,"SprintModelId":2,"Name":"Filter Patch Notes","Description":"You should be showing people what they really want to see in the patch notes.","Notes":"Added","Status":"Done","Priority":"Blocker","Task":"Feature","Project":"Management","Created":"2022-02-20T00:00:00","Finished":"2022-02-20T00:00:00"},{"Id":3,"SprintModelId":null,"Name":"Consider Pyre","Description":"Add Pyre Income. Make it so you can take Pyre Camps and Pyre Miners","Notes":"Add notes...","Status":"In_Progress","Priority":"Medium","Task":"Feature","Project":"Management","Created":"2022-02-20T00:00:00","Finished":null},{"Id":4,"SprintModelId":null,"Name":"Optimizations","Description":"Build Calculator should be usable.","Notes":"Add notes...","Status":"Todo","Priority":"Medium","Task":"Feature","Project":"Management","Created":"2022-02-20T00:00:00","Finished":null},{"Id":5,"SprintModelId":null,"Name":"Change Attack Timing Interval","Description":"Be able to sett attack timing.","Notes":"Add notes...","Status":"Todo","Priority":"Medium","Task":"Feature","Project":"Management","Created":"2022-02-20T00:00:00","Finished":null},{"Id":6,"SprintModelId":null,"Name":"Add Pyre Spells","Description":"Make Pyre Spells castable and consume Pyre on build order","Notes":"Add notes...","Status":"In_Progress","Priority":"Medium","Task":"Feature","Project":"Management","Created":"2022-02-20T00:00:00","Finished":null},{"Id":7,"SprintModelId":null,"Name":"Default builds (Rush Thrones)","Description":"Add a dropdown list of default builds.","Notes":"Add notes...","Status":"Todo","Priority":"Medium","Task":"Feature","Project":"Management","Created":"2022-02-20T00:00:00","Finished":null},{"Id":8,"SprintModelId":null,"Name":"Load older builds","Description":"Be able to load older builds. How are you going to handle auto correct to current patch?","Notes":"Add notes...","Status":"Todo","Priority":"Medium","Task":"Feature","Project":"Management","Created":"2022-02-20T00:00:00","Finished":null},{"Id":9,"SprintModelId":null,"Name":"How to use Build Calculator step by step","Description":"Need docs","Notes":"Add notes...","Status":"Todo","Priority":"Medium","Task":"Feature","Project":"Management","Created":"2022-02-20T00:00:00","Finished":null},{"Id":10,"SprintModelId":null,"Name":"Compare Health and Damage","Description":"Refer to community example spreadsheet.","Notes":"Add notes...","Status":"Todo","Priority":"Medium","Task":"Feature","Project":"Management","Created":"2022-02-20T00:00:00","Finished":null},{"Id":11,"SprintModelId":null,"Name":"Compare Unit\u0027s Damage with it\u0027s own costs","Description":"Refer to community example spreadsheet.","Notes":"Add notes...","Status":"Todo","Priority":"Medium","Task":"Feature","Project":"Management","Created":"2022-02-20T00:00:00","Finished":null},{"Id":12,"SprintModelId":null,"Name":"View one unit stats from a link. Make YAML copy and paste","Description":"Design so people can easily copy and paste data into discord","Notes":"Lame. Not currently supported in Blazor. I could automate up a solution, or just manually implement the url parsing, but probably best to wait","Status":"Todo","Priority":"Medium","Task":"Feature","Project":"Management","Created":"2022-02-20T00:00:00","Finished":null},{"Id":13,"SprintModelId":2,"Name":"Look into SQL","Description":"You really should be using SQL.","Notes":"Agile and Change log pages now use SQL","Status":"Done","Priority":"Medium","Task":"Feature","Project":"Management","Created":"2022-02-20T00:00:00","Finished":null},{"Id":14,"SprintModelId":1,"Name":"Mobile Menu","Description":"You need a real mobile menu. Viewers don\u0027t scroll below the fold, so no one is going to know what happens when you click a button on phones.","Notes":"Added smaller menus for tablets and phones.","Status":"Done","Priority":"High","Task":"Feature","Project":"Management","Created":"2022-02-18T00:00:00","Finished":"2022-02-19T00:00:00"},{"Id":15,"SprintModelId":2,"Name":"Acropolis Consume Mote","Description":"The Mote is suppose to be consumed when making a Town Hall.","Notes":"Fixed","Status":"Done","Priority":"High","Task":"Bug","Project":"Management","Created":"2022-02-18T00:00:00","Finished":"2022-02-20T00:00:00"},{"Id":16,"SprintModelId":null,"Name":"Multiple Travel Time in Calculator","Description":"Travel time should be based on the amount of bases used. 3 bases is 3 travel times.","Notes":"Add notes...","Status":"Todo","Priority":"Low","Task":"Feature","Project":"Management","Created":"2022-02-18T00:00:00","Finished":null},{"Id":17,"SprintModelId":1,"Name":"Update Database to 0.0.6.8375a","Description":"Xacal tech change, and Hallower damage change. Update Godhead text.","Notes":"Done","Status":"Done","Priority":"None","Task":"Feature","Project":"Management","Created":"2022-02-18T00:00:00","Finished":"2022-02-18T00:00:00"},{"Id":18,"SprintModelId":null,"Name":"Patch History Viewer","Description":"Add an ability to compare patches, to see all nerfs and buffs made between them.","Notes":"Inspired by Zkay\u0027s post on discord, where he details a possible \u0027patch history viewer\u0027 implementation.","Status":"Fun_Idea","Priority":"None","Task":"Feature","Project":"Management","Created":"2022-02-16T00:00:00","Finished":null},{"Id":19,"SprintModelId":1,"Name":"Twitch Page","Description":"Did a ~3 hour test stream, and was personal quite happy with the quality. Make Twitch page, and stream patch, sprint planning and development on Sunday.","Notes":"Page added under General, and named \u0022Streams\u0022.","Status":"Done","Priority":"Medium","Task":"Feature","Project":"Management","Created":"2022-02-16T00:00:00","Finished":"2022-02-16T00:00:00"},{"Id":20,"SprintModelId":1,"Name":"Finish the database","Description":"Add more descriptions for everything. Reduce any data duplication with ids. Add upgrade connections. Add ability connections. Add passives and passives connections.","Notes":"Good enough for now","Status":"Done","Priority":"Medium","Task":"Feature","Project":"Management","Created":"2022-02-11T00:00:00","Finished":"2022-02-19T00:00:00"},{"Id":21,"SprintModelId":1,"Name":"Change Log View","Description":"Add a log to view last changes.","Notes":"Added changelog page. Shows Today, X Days Ago, or exact date if patch is over a week old.","Status":"Done","Priority":"Medium","Task":"Feature","Project":"Management","Created":"2022-02-14T00:00:00","Finished":"2022-02-14T00:00:00"},{"Id":22,"SprintModelId":1,"Name":"Agile View","Description":"Add the agile view.","Notes":"Finished.","Status":"Done","Priority":"Medium","Task":"Feature","Project":"Management","Created":"2022-02-11T00:00:00","Finished":"2022-02-17T00:00:00"},{"Id":23,"SprintModelId":1,"Name":"GUID for Ids","Description":"Stop using enums for ids, and start using guids. Enums are just too limited, I lose out on component and inheritance design with them. Replace all your enums with guids, rip off the bandaid.","Notes":"Add notes...","Status":"Done","Priority":"Medium","Task":"Feature","Project":"Management","Created":"2022-02-11T00:00:00","Finished":"2022-02-18T00:00:00"},{"Id":24,"SprintModelId":1,"Name":"Co-op overview","Description":"Write some sort of blog on co-op gameplay so you have something the feels very content-ish. Maybe make it a video.","Notes":"Finished and released early.","Status":"Done","Priority":"Medium","Task":"Feature","Project":"Management","Created":"2022-02-11T00:00:00","Finished":"2022-02-12T00:00:00"},{"Id":25,"SprintModelId":1,"Name":"Mobile UI","Description":"Make website work on mobile.","Notes":"Should be good. Will test on phone later.","Status":"Done","Priority":"Medium","Task":"Feature","Project":"Management","Created":"2022-02-15T00:00:00","Finished":"2022-02-18T00:00:00"},{"Id":26,"SprintModelId":1,"Name":"Add Making Of View","Description":"View to reference UI designs. Nicely encourages the pratice of making the UI code a lot cleaner.","Notes":"Good enough for now","Status":"Done","Priority":"Medium","Task":"Feature","Project":"Management","Created":"2022-02-11T00:00:00","Finished":"2022-02-19T00:00:00"},{"Id":27,"SprintModelId":3,"Name":"Close Nav Menu on Navigation","Description":"Close Nav Menu on Navigation","Notes":null,"Status":"Done","Priority":"High","Task":"Bug","Project":"Management","Created":"2022-03-27T00:00:00","Finished":"2022-03-27T00:00:00"},{"Id":28,"SprintModelId":3,"Name":"Add Passive Descriptions and Passive","Description":"Have to guess on a bunch of passives","Notes":null,"Status":"Done","Priority":"Medium","Task":"Feature","Project":"Management","Created":"2022-03-27T00:00:00","Finished":"2022-03-31T00:00:00"},{"Id":29,"SprintModelId":3,"Name":"Tooltips that show referenced units","Description":"I should see any referenced unit by hovering over it","Notes":"Links can now go to links which can go to links.","Status":"Done","Priority":"Medium","Task":"Feature","Project":"Management","Created":"2022-03-27T00:00:00","Finished":"2022-04-01T00:00:00"},{"Id":30,"SprintModelId":null,"Name":"Update Logo for Website","Description":"After color scheme is picked","Notes":null,"Status":"Todo","Priority":"Low","Task":"Feature","Project":"Management","Created":"2022-03-27T00:00:00","Finished":null},{"Id":31,"SprintModelId":3,"Name":"Documentation page","Description":"Add documents on how to maintain website","Notes":null,"Status":"Todo","Priority":"Low","Task":"Feature","Project":"Management","Created":"2022-03-27T00:00:00","Finished":null},{"Id":32,"SprintModelId":null,"Name":"Test Automation","Description":"Selenium Tests","Notes":"Start adding IDs to everything","Status":"Todo","Priority":"Low","Task":"Feature","Project":"Management","Created":"2022-03-27T00:00:00","Finished":null},{"Id":33,"SprintModelId":null,"Name":"Unit Test","Description":"Add some unit tests","Notes":null,"Status":"Todo","Priority":"Low","Task":"Feature","Project":"Management","Created":"2022-03-27T00:00:00","Finished":null},{"Id":34,"SprintModelId":null,"Name":"Fully Transfer everything to SQL","Description":"Need to regenerate the database once everthing is fully transfered","Notes":null,"Status":"Todo","Priority":"Medium","Task":"Feature","Project":"Management","Created":"2022-03-27T00:00:00","Finished":null},{"Id":35,"SprintModelId":3,"Name":"Adding a loading Component","Description":"For JSON loading","Notes":"Added loading component to Agile and Changelog screens","Status":"Done","Priority":"Medium","Task":"Feature","Project":"Management","Created":"2022-03-27T00:00:00","Finished":"2022-03-27T00:00:00"},{"Id":36,"SprintModelId":3,"Name":"Optimize Loading of Data","Description":"Currently loading non Agile stuff on Agile page","Notes":"Moved SQL database injection to app root","Status":"Done","Priority":"Medium","Task":"Feature","Project":"Management","Created":"2022-03-27T00:00:00","Finished":"2022-03-27T00:00:00"},{"Id":37,"SprintModelId":3,"Name":"Convert Notes to Markdown","Description":"Using Markdown and generating the Note pages seems like a better solution to SQL or hardcoding data","Notes":null,"Status":"Done","Priority":"Medium","Task":"Feature","Project":"Management","Created":"2022-03-27T00:00:00","Finished":"2022-04-01T00:00:00"}] \ No newline at end of file diff --git a/IGP_Convert/Program.cs b/IGP_Convert/Program.cs index 1397a73..dcb18d4 100644 --- a/IGP_Convert/Program.cs +++ b/IGP_Convert/Program.cs @@ -18,4 +18,8 @@ using (var db = new DatabaseContext(options.Options)) { File.WriteAllTextAsync($"{webPath}/TaskModels.json", JsonSerializer.Serialize(db.TaskModels)); File.WriteAllTextAsync($"{webPath}/WebSectionModels.json", JsonSerializer.Serialize(db.WebSectionModels)); File.WriteAllTextAsync($"{webPath}/WebPageModels.json", JsonSerializer.Serialize(db.WebPageModels)); + + + File.WriteAllTextAsync($"{webPath}/DocumentationModels.json", JsonSerializer.Serialize(db.DocumentationModels)); + File.WriteAllTextAsync($"{webPath}/NoteModels.json", JsonSerializer.Serialize(db.NoteModels)); } \ No newline at end of file diff --git a/Model/Documentation/DocumentationModel.cs b/Model/Documentation/DocumentationModel.cs new file mode 100644 index 0000000..bfe5352 --- /dev/null +++ b/Model/Documentation/DocumentationModel.cs @@ -0,0 +1,13 @@ +using System; + +namespace Model.Documentation; + +public class DocumentationModel +{ + public int Id { get; set; } + public DateTime CreatedDate { get; set; } + public DateTime UpdatedDate { get; set; } + public string Name { get; set; } + public string Section { get; set; } + public string Description { get; set; } +} \ No newline at end of file diff --git a/Model/Notes/NoteModel.cs b/Model/Notes/NoteModel.cs index b795d41..2ddd8c7 100644 --- a/Model/Notes/NoteModel.cs +++ b/Model/Notes/NoteModel.cs @@ -4,97 +4,6 @@ using System.Collections.Generic; namespace Model.Immortal.Notes; public class NoteModel { - public static readonly List Data = new() { - new NoteModel { - Id = 1, - LastUpdated = new DateTime(2022, 02, 18), - Section = "Coop", - Name = "Coop Holdout, Some distant place (Nuath)", - IsPreAlpha = true, - Description = - @"Information contained in this note is based on this YouTube, Reference Video. - - -
Open Bases
- -On this map, you start with around 500 alloy and 100 ether. You are probably going to want to expand to the bases in the marked order, given the density of defending enemies shown on the minimap. - -You should know that these are all standard bases that will mine out in 10 minutes. Giving a total of 18,000 alloy and 7,200 ether. Plus an additional 6,000 alloy from the starting Bastion. In the late game, you will have zero income, aside from pyre. - - - -
Enemy Spawn Areas
- -The first enemy wave will spawn at 1 minute, and every 2 minutes after will spawn a new wave. These waves are small, and won't be a threat until the 15-minute mark. - - -
Pyre Towers
- -You have till then to take all 5 of your bases, and set a defensive line at the outer Pyre towers. - -The spawn size post the 15-minute mark does become rather large. You may be tempted to fall back and abandon forward bases, but the waves will stack if not dealt with. Eventually, more units than the game can handle, so ensure outer pyre towers are held. Try to take them back if you lose them. - - -
Pyre Camps
- -When you have the time you are also going to need to take the 4 pyre camps spread around the map. It will probably be ideal to split your army in half, to protect your two outer towers, and just have a small force of Ichors or Dervishes to clear the camps quickly. - - -
Multipliers
- -If you have additional free time, you can take out the Altar of the Worthys on the edges of the map to double your current more multiplier: 2, 4, 8, to the max of 16. Amber Wombs will also spawn, with a pack of enemies to defend them. Killing an Amber Womb will increase your score, but also spawn random friendly and enemy units. With this spawning, it's possible to go past the supply cap. - -But really, these optional objectives can be completely ignored, so you can just focus on surviving for as long as possible. -" - } - }; - - public static readonly Dictionary Notes = new() { - { - "79d80c48-67d4-4945-a3ed-7c7803b5f6b5", new NoteModel { - LastUpdated = new DateTime(2022, 02, 18), - Section = "Coop", - Name = "Coop Holdout, Some distant place (Nuath)", - IsPreAlpha = true, - Description = - @"Information contained in this note is based on this YouTube, Reference Video. - - -
Open Bases
- -On this map, you start with around 500 alloy and 100 ether. You are probably going to want to expand to the bases in the marked order, given the density of defending enemies shown on the minimap. - -You should know that these are all standard bases that will mine out in 10 minutes. Giving a total of 18,000 alloy and 7,200 ether. Plus an additional 6,000 alloy from the starting Bastion. In the late game, you will have zero income, aside from pyre. - - - -
Enemy Spawn Areas
- -The first enemy wave will spawn at 1 minute, and every 2 minutes after will spawn a new wave. These waves are small, and won't be a threat until the 15-minute mark. - - -
Pyre Towers
- -You have till then to take all 5 of your bases, and set a defensive line at the outer Pyre towers. - -The spawn size post the 15-minute mark does become rather large. You may be tempted to fall back and abandon forward bases, but the waves will stack if not dealt with. Eventually, more units than the game can handle, so ensure outer pyre towers are held. Try to take them back if you lose them. - - -
Pyre Camps
- -When you have the time you are also going to need to take the 4 pyre camps spread around the map. It will probably be ideal to split your army in half, to protect your two outer towers, and just have a small force of Ichors or Dervishes to clear the camps quickly. - - -
Multipliers
- -If you have additional free time, you can take out the Altar of the Worthys on the edges of the map to double your current more multiplier: 2, 4, 8, to the max of 16. Amber Wombs will also spawn, with a pack of enemies to defend them. Killing an Amber Womb will increase your score, but also spawn random friendly and enemy units. With this spawning, it's possible to go past the supply cap. - -But really, these optional objectives can be completely ignored, so you can just focus on surviving for as long as possible. -" - } - } - }; - public int Id { get; set; } public DateTime LastUpdated { get; set; } public string Name { get; set; } diff --git a/Services/Development/NoteService.cs b/Services/Development/NoteService.cs new file mode 100644 index 0000000..b939a57 --- /dev/null +++ b/Services/Development/NoteService.cs @@ -0,0 +1,68 @@ + + +using System.Net.Http.Json; +using Model.Immortal.Notes; +using Model.Work.Git; + +#if NO_SQL + +#else +using Contexts; +using Microsoft.EntityFrameworkCore; +#endif + +namespace Services.Work; + +public class NoteService : INoteService { + private readonly HttpClient httpClient; + + private bool isLoaded; + + + private event Action _onChange; + + private void NotifyDataChanged() { + _onChange?.Invoke(); + } + + public NoteService(HttpClient httpClient) { + this.httpClient = httpClient; + } + + public List NoteModels { get; set; } + + + public void Subscribe(Action action) { + _onChange += action; + } + + public void Unsubscribe(Action action) { + _onChange -= action; + } + + public bool IsLoaded() { + return isLoaded; + } + + + + public async Task Load() { + + if (isLoaded) { + return; + } + + NoteModels = (await httpClient.GetFromJsonAsync("generated/NoteModels.json")).ToList(); + + + isLoaded = true; + + NotifyDataChanged(); + } + + + public void Update() { + NotifyDataChanged(); + } + +} \ No newline at end of file diff --git a/Services/IServices.cs b/Services/IServices.cs index 4b505f7..f7539e8 100644 --- a/Services/IServices.cs +++ b/Services/IServices.cs @@ -10,6 +10,7 @@ using Model.Immortal.Economy; using Model.Immortal.Entity; using Model.Immortal.Entity.Data; using Model.Immortal.MemoryTester; +using Model.Immortal.Notes; using Model.Website; using Model.Website.Enums; using Model.Work.Git; @@ -82,6 +83,15 @@ public interface IAgileService { public bool IsLoaded(); } +public interface INoteService { + public List NoteModels { get; set; } + public void Subscribe(Action action); + public void Unsubscribe(Action action); + public void Update(); + public Task Load(); + public bool IsLoaded(); +} + public interface IGitService { #if NO_SQL