Implement basic structure for combat system and refactor code
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using KernelPanic.Data;
|
||||
|
||||
namespace KernelPanic.Run
|
||||
{
|
||||
/// <summary>
|
||||
/// Provides post-wave reward choice generation contracts.
|
||||
/// </summary>
|
||||
public sealed class RewardService
|
||||
{
|
||||
public IReadOnlyList<RewardChoice> GeneratePostWaveChoices(RunConfig runConfig, int waveNumber)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Represents one selectable reward option after clearing a wave.
|
||||
/// </summary>
|
||||
public readonly struct RewardChoice
|
||||
{
|
||||
public RewardChoice(RewardChoiceType type, CardDefinition card)
|
||||
{
|
||||
Type = type;
|
||||
Card = card;
|
||||
}
|
||||
|
||||
public RewardChoiceType Type { get; }
|
||||
public CardDefinition Card { get; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Identifies the type of reward choice offered after a wave.
|
||||
/// </summary>
|
||||
public enum RewardChoiceType
|
||||
{
|
||||
AddCard,
|
||||
UpgradeCard,
|
||||
Skip
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user