feat: 허수아비 계산 시뮬레이터 추가
- 빌드 입력, 룰셋, 회전 정책, 결과/리포트 모델을 포함한 데미지 계산 시뮬레이터 기반을 추가 - 단일 실행 창과 배치 전수 조사 창, 플레이어 데미지 스윕 메뉴를 추가 - DamageEffect 계산값 접근자를 열어 기존 전투 공식을 시뮬레이터에서 재사용하도록 정리
This commit is contained in:
@@ -0,0 +1,53 @@
|
||||
using System.Collections.Generic;
|
||||
|
||||
using UnityEngine;
|
||||
|
||||
namespace Colosseum.Combat.Simulation
|
||||
{
|
||||
/// <summary>
|
||||
/// 배치 시뮬레이션의 단일 결과 엔트리입니다.
|
||||
/// </summary>
|
||||
[System.Serializable]
|
||||
public sealed class SimulationBatchEntry
|
||||
{
|
||||
[SerializeField] private string buildLabel;
|
||||
[SerializeField] private SimulationResult result;
|
||||
|
||||
public string BuildLabel => buildLabel;
|
||||
public SimulationResult Result => result;
|
||||
|
||||
public SimulationBatchEntry(string buildLabel, SimulationResult result)
|
||||
{
|
||||
this.buildLabel = buildLabel ?? string.Empty;
|
||||
this.result = result;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 배치 시뮬레이션의 전체 결과입니다.
|
||||
/// </summary>
|
||||
[System.Serializable]
|
||||
public sealed class SimulationBatchResult
|
||||
{
|
||||
[SerializeField] private string batchName = string.Empty;
|
||||
[SerializeField] private int generatedBuildCount;
|
||||
[SerializeField] private bool truncated;
|
||||
[SerializeField] private List<SimulationBatchEntry> entries = new List<SimulationBatchEntry>();
|
||||
[SerializeField] private List<string> warnings = new List<string>();
|
||||
|
||||
public string BatchName => batchName;
|
||||
public int GeneratedBuildCount => generatedBuildCount;
|
||||
public bool Truncated => truncated;
|
||||
public IReadOnlyList<SimulationBatchEntry> Entries => entries;
|
||||
public IReadOnlyList<string> Warnings => warnings;
|
||||
|
||||
public void Initialize(string batchName, int generatedBuildCount, bool truncated, List<SimulationBatchEntry> entries, List<string> warnings)
|
||||
{
|
||||
this.batchName = batchName ?? string.Empty;
|
||||
this.generatedBuildCount = Mathf.Max(0, generatedBuildCount);
|
||||
this.truncated = truncated;
|
||||
this.entries = entries ?? new List<SimulationBatchEntry>();
|
||||
this.warnings = warnings ?? new List<string>();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user