- 빌드 입력, 룰셋, 회전 정책, 결과/리포트 모델을 포함한 데미지 계산 시뮬레이터 기반을 추가 - 단일 실행 창과 배치 전수 조사 창, 플레이어 데미지 스윕 메뉴를 추가 - DamageEffect 계산값 접근자를 열어 기존 전투 공식을 시뮬레이터에서 재사용하도록 정리
54 lines
1.9 KiB
C#
54 lines
1.9 KiB
C#
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>();
|
|
}
|
|
}
|
|
}
|