Skip to content

Commit 45733c1

Browse files
committed
Updated README.md
1 parent bd03055 commit 45733c1

File tree

2 files changed

+178
-6
lines changed

2 files changed

+178
-6
lines changed

README.md

Lines changed: 89 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -101,17 +101,23 @@ _texture2D.Apply();
101101
#### `Common.Lerp`
102102

103103
```csharp
104+
using System;
104105
using RhythmGameUtilities;
105106

106107
var value = Common.Lerp(0, 10, 0.5f);
108+
109+
Console.WriteLine(value); // 5
107110
```
108111

109112
#### `Common.InverseLerp`
110113

111114
```csharp
115+
using System;
112116
using RhythmGameUtilities;
113117

114118
var value = Common.InverseLerp(0, 10, 5);
119+
120+
Console.WriteLine(value); // 0.5
115121
```
116122

117123
### `Parsers`
@@ -121,112 +127,192 @@ Read more about `.chart` files: <https://github.com/TheNathannator/GuitarGame_Ch
121127
#### `Parsers.ParseSectionsFromChart`
122128

123129
```csharp
130+
using System;
124131
using RhythmGameUtilities;
125132

126133
var sections = Parsers.ParseSectionsFromChart(contents);
134+
135+
Console.WriteLine(sections.Count); // 4
127136
```
128137

129138
#### `Parsers.ParseMetaDataFromChartSection`
130139

131140
```csharp
141+
using System;
132142
using RhythmGameUtilities;
133143

134144
var sections = Parsers.ParseSectionsFromChart(contents);
135145

136146
var metaData = Parsers.ParseMetaDataFromChartSection(sections[NamedSection.Song]);
147+
148+
Console.WriteLine(metaData["Name"]); // Example Song
149+
Console.WriteLine(metaData["Resolution"]); // 192
150+
Console.WriteLine(metaData["MusicStream"]); // Example Song.ogg
137151
```
138152

139153
#### `Parsers.ParseTimeSignaturesFromChartSection`
140154

141155
```csharp
156+
using System;
142157
using RhythmGameUtilities;
143158

144159
var sections = Parsers.ParseSectionsFromChart(contents);
145160

146161
var timeSignatures = Parsers.ParseTimeSignaturesFromChartSection(sections[NamedSection.SyncTrack]);
162+
163+
Console.WriteLine(timeSignatures.Count); // 4
147164
```
148165

149166
#### `Parsers.ParseBpmFromChartSection`
150167

151168
```csharp
169+
using System;
152170
using RhythmGameUtilities;
153171

154172
var sections = Parsers.ParseSectionsFromChart(contents);
155173

156174
var bpm = Parsers.ParseBpmFromChartSection(sections[NamedSection.SyncTrack]);
175+
176+
Console.WriteLine(bpm.Count); // 7
157177
```
158178

159179
#### `Parsers.ParseNotesFromChartSection`
160180

161181
```csharp
182+
using System;
162183
using RhythmGameUtilities;
163184

164185
var sections = Parsers.ParseSectionsFromChart(contents);
165186

166187
var notes = Parsers.ParseNotesFromChartSection(sections[$"{Difficulty.Expert}Single"]);
188+
189+
Console.WriteLine(notes.Count); // 8
167190
```
168191

169192
#### `Parsers.ParseLyricsFromChartSection`
170193

171194
```csharp
195+
using System;
172196
using RhythmGameUtilities;
173197

174198
var sections = Parsers.ParseSectionsFromChart(contents);
175199

176200
var lyrics = Parsers.ParseLyricsFromChartSection(sections[NamedSection.Events]);
201+
202+
Console.WriteLine(notes.Count); // 12
177203
```
178204

179205
### Utilities
180206

181207
#### `Utilities.ConvertTickToPosition`
182208

183209
```csharp
210+
using System;
184211
using RhythmGameUtilities;
185212

186213
const int tick = 2784;
187214
const int resolution = 192;
188215

189216
var position = Utilities.ConvertTickToPosition(tick, resolution);
217+
218+
Console.WriteLine(position); // 14.5
190219
```
191220

192221
#### `Utilities.ConvertSecondsToTicks`
193222

194223
```csharp
224+
using System;
195225
using RhythmGameUtilities;
196226

197-
const int seconds = 2784;
227+
const int seconds = 5;
198228
const int resolution = 192;
199-
const bpmChanges = new Dictionary<int, int>();
229+
230+
var bpmChanges = new Dictionary<int, int>
231+
{
232+
{ 0, 88000 },
233+
{ 3840, 112000 },
234+
{ 9984, 89600 },
235+
{ 22272, 112000 },
236+
{ 33792, 111500 },
237+
{ 34560, 112000 },
238+
{ 42240, 111980 }
239+
};
200240

201241
var ticks = Utilities.ConvertSecondsToTicks(seconds, resolution, bpmChanges);
242+
243+
Console.WriteLine(ticks); // 1408
202244
```
203245

204246
#### `Utilities.IsOnTheBeat`
205247

206248
```csharp
249+
using System;
207250
using RhythmGameUtilities;
208251

209252
const int bpm = 120;
210253
const int currentTime = 10;
211254

212255
if (Utilities.IsOnTheBeat(bpm, currentTime))
213256
{
214-
257+
Console.WriteLine("On the beat!");
215258
}
216259
```
217260

218261
#### `Utilities.RoundUpToTheNearestMultiplier`
219262

220263
```csharp
264+
using System;
221265
using RhythmGameUtilities;
222266

223267
var value = Utilities.RoundUpToTheNearestMultiplier(12, 10);
268+
269+
Console.WriteLine(value); // 20
224270
```
225271

226272
#### `Utilities.CalculateAccuracyRatio`
227273

274+
```csharp
275+
using System;
276+
using RhythmGameUtilities;
277+
278+
const int seconds = 2;
279+
const int resolution = 192;
280+
281+
var bpmChanges = new Dictionary<int, int> {
282+
{ 0, 120000 }
283+
};
284+
285+
var note = new Note { Position = 750 };
286+
var currentPosition = Utilities.ConvertSecondsToTicks(seconds, resolution, bpmChanges);
287+
const int delta = 50;
288+
289+
var value = Utilities.CalculateAccuracyRatio(note.Position, currentPosition, delta);
290+
291+
Console.WriteLine(value); // 0.64
292+
```
293+
228294
#### `Utilities.CalculateBeatBarsInternal`
229295

296+
```csharp
297+
const int resolution = 192;
298+
const int timeSignature = 4;
299+
300+
var bpmChanges = new Dictionary<int, int>
301+
{
302+
{ 0, 88000 },
303+
{ 3840, 112000 },
304+
{ 9984, 89600 },
305+
{ 22272, 112000 },
306+
{ 33792, 111500 },
307+
{ 34560, 112000 },
308+
{ 42240, 111980 }
309+
};
310+
311+
var beatBars = Utilities.CalculateBeatBars(bpmChanges, resolution, timeSignature, true);
312+
313+
Assert.That(beatBars.Count, Is.EqualTo(440));
314+
```
315+
230316
## Architecture
231317

232318
```mermaid

0 commit comments

Comments
 (0)