feat(Notes) notes are now markdown. Documents WIP
This commit is contained in:
@@ -1,48 +1,60 @@
|
||||
@layout PageLayout
|
||||
|
||||
@inject INoteService NoteService
|
||||
@implements IDisposable
|
||||
|
||||
@page "/notes"
|
||||
|
||||
<LayoutMediumContentComponent>
|
||||
<WebsiteTitleComponent>Notes</WebsiteTitleComponent>
|
||||
|
||||
<div class="section">
|
||||
<div for="noteSection">Section: </div>
|
||||
<div style="flex: 1"></div>
|
||||
<select @oninput="OnSectionChanged" style="background-color: #36393F; width: 250px; margin-right: 16px;" name="noteSection">
|
||||
<option value="All">All</option>
|
||||
@if (!NoteService.IsLoaded())
|
||||
{
|
||||
<LoadingComponent></LoadingComponent>
|
||||
}
|
||||
else
|
||||
{
|
||||
<LayoutMediumContentComponent>
|
||||
<WebsiteTitleComponent>Notes</WebsiteTitleComponent>
|
||||
|
||||
</select>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div for="noteSection">Section: </div>
|
||||
<div style="flex: 1"></div>
|
||||
<select @oninput="OnSectionChanged" style="background-color: #36393F; width: 250px; margin-right: 16px;" name="noteSection">
|
||||
<option value="All">All</option>
|
||||
|
||||
<div class="notesContainer">
|
||||
@foreach (var note in data) {
|
||||
if (note.IsHidden) {
|
||||
continue;
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="notesContainer">
|
||||
@foreach (var note in NoteService.NoteModels) {
|
||||
if (note.IsHidden) {
|
||||
continue;
|
||||
}
|
||||
if (selectedSection != "All" && note.Section != selectedSection) {
|
||||
continue;
|
||||
}
|
||||
@if (note.IsPreAlpha) {
|
||||
<AlertComponent Type=SeverityType.Warning>
|
||||
<Title>Pre Alpha</Title>
|
||||
<Message>This note refers to content that is in pre-alpha. It won't be accurate in future updates to IGP.</Message>
|
||||
</AlertComponent>
|
||||
}
|
||||
<PaperComponent>
|
||||
<div style="display: flex; flex-direction: row;">
|
||||
<span style="font-weight: bold; font-style:italic;">@note.Section</span>
|
||||
<div style="flex: 1"></div>
|
||||
<span style="font-weight: bold; font-style:italic;">Last Updated on @note.LastUpdated</span>
|
||||
</div>
|
||||
<div>
|
||||
<div id="@note.DEPRECATED_Id()" style="font-weight: bold; font-size: 1.4rem;">@note.Name</div>
|
||||
|
||||
<div style="white-space:break-spaces;">@((MarkupString)note.Description)</div>
|
||||
</div>
|
||||
</PaperComponent>
|
||||
}
|
||||
if (selectedSection != "All" && note.Section != selectedSection) {
|
||||
continue;
|
||||
}
|
||||
@if (note.IsPreAlpha) {
|
||||
<AlertComponent Type=SeverityType.Warning>
|
||||
<Title>Pre Alpha</Title>
|
||||
<Message>This note refers to content that is in pre-alpha. It won't be accurate in future updates to IGP.</Message>
|
||||
</AlertComponent>
|
||||
}
|
||||
<PaperComponent>
|
||||
<div style="display: flex; flex-direction: row;">
|
||||
<span style="font-weight: bold; font-style:italic;">@note.Section</span>
|
||||
<div style="flex: 1"></div>
|
||||
<span style="font-weight: bold; font-style:italic;">Last Updated on @note.LastUpdated</span>
|
||||
</div>
|
||||
<div>
|
||||
<div id="@note.DEPRECATED_Id()" style="font-weight: bold; font-size: 1.4rem;">@note.Name</div>
|
||||
<div style="white-space:break-spaces;">@((MarkupString)note.Description)</div>
|
||||
</div>
|
||||
</PaperComponent>
|
||||
}
|
||||
</div>
|
||||
</LayoutMediumContentComponent>
|
||||
|
||||
</div>
|
||||
</LayoutMediumContentComponent>
|
||||
|
||||
}
|
||||
<style>
|
||||
.section {
|
||||
display: flex;
|
||||
@@ -74,13 +86,26 @@
|
||||
</style>
|
||||
|
||||
@code {
|
||||
readonly List<NoteModel> 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();
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,57 +0,0 @@
|
||||
@page "/notes/coop-holdout"
|
||||
|
||||
<div class="page">
|
||||
<PageContainerComponent>
|
||||
<LayoutNoteContentComponent>
|
||||
@if (note.IsPreAlpha) {
|
||||
<AlertComponent>
|
||||
<Title>Pre Alpha</Title>
|
||||
<Message>This note refers to content that is in pre-alpha. It won't be accurate in future updates to IGP.</Message>
|
||||
</AlertComponent>
|
||||
}
|
||||
|
||||
<div class="paper">
|
||||
<div style="display: flex; flex-direction: row;">
|
||||
<span style="font-weight: bold; font-style:italic;">@note.Section</span>
|
||||
<div style="flex: 1"></div>
|
||||
<span style="font-weight: bold; font-style:italic;">Last Updated on @note.LastUpdated</span>
|
||||
</div>
|
||||
<div>
|
||||
<div id="@note.DEPRECATED_Id()" style="font-weight: bold; font-size: 1.4rem;">@note.Name</div>
|
||||
<div style="white-space:break-spaces;">@((MarkupString)note.Description)</div>
|
||||
</div>
|
||||
<br/>
|
||||
</div>
|
||||
|
||||
</LayoutNoteContentComponent>
|
||||
</PageContainerComponent>
|
||||
|
||||
</div>
|
||||
<style>
|
||||
.page {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
padding: 16px;
|
||||
gap: 16px;
|
||||
|
||||
}
|
||||
|
||||
.paper {
|
||||
padding: 24px;
|
||||
overflow-x:hidden;
|
||||
background-color:var(--paper);
|
||||
}
|
||||
|
||||
@@media only screen and (max-width: 1025px) {
|
||||
.page {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
padding: 2px;
|
||||
gap: 2px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
@code {
|
||||
readonly NoteModel note = NoteModel.Notes["79d80c48-67d4-4945-a3ed-7c7803b5f6b5"];
|
||||
}
|
||||
@@ -1,50 +0,0 @@
|
||||
---
|
||||
href: /notes/example title: Example
|
||||
---
|
||||
|
||||
Information contained in this note is based on this <a href="https://www.youtube.com/watch?v=XkAgOCIz3DE">YouTube,
|
||||
Reference Video</a>.
|
||||
|
||||
<img width="420" style="margin: auto; border:2px solid black;" src="notes/coop-holdout/OpenBases.png" />
|
||||
<div style="margin: auto; text-align:center;"><b>Open Bases</b></div>
|
||||
|
||||
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.
|
||||
|
||||
|
||||
<img width="420" style="margin: auto; border:2px solid black;" src="notes/coop-holdout/EnemySpawns.png" />
|
||||
<div style="margin: auto; text-align:center;"><b>Enemy Spawn Areas</b></div>
|
||||
|
||||
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.
|
||||
|
||||
<img width="420" style="margin: auto; border:2px solid black;" src="notes/coop-holdout/DefendPoints.png" />
|
||||
<div style="margin: auto; text-align:center;"><b>Pyre Towers</b></div>
|
||||
|
||||
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.
|
||||
|
||||
<img width="420" style="margin: auto; border:2px solid black;" src="notes/coop-holdout/Pyre.png" />
|
||||
<div style="margin: auto; text-align:center;"><b>Pyre Camps</b></div>
|
||||
|
||||
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.
|
||||
|
||||
<img width="420" style="margin: auto; border:2px solid black;" src="notes/coop-holdout/Multipliers.png" />
|
||||
<div style="margin: auto; text-align:center;"><b>Multipliers</b></div>
|
||||
|
||||
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.
|
||||
Reference in New Issue
Block a user