Initial commit: Tiny Tackle Heroes Unity project
This commit is contained in:
@@ -0,0 +1,73 @@
|
||||
using System;
|
||||
using BumpCombat.Progression;
|
||||
using UnityEngine;
|
||||
|
||||
namespace BumpCombat.Constants
|
||||
{
|
||||
[Serializable]
|
||||
public struct MissionTuning
|
||||
{
|
||||
[Tooltip("미션 목록에 표시할 이름")]
|
||||
public string DisplayName;
|
||||
[Tooltip("목표가 포함된 조건 설명. {0}은 목표 수, {1}은 측정 시간창입니다.")]
|
||||
public string ConditionFormat;
|
||||
[Min(1)] public int Target;
|
||||
[Min(0)] public int ExperienceReward;
|
||||
public bool RequiresGuardUnlock;
|
||||
public bool RequiresChargeUnlock;
|
||||
|
||||
public MissionTuning(
|
||||
string displayName,
|
||||
string conditionFormat,
|
||||
int target,
|
||||
int experienceReward,
|
||||
bool requiresGuardUnlock = false,
|
||||
bool requiresChargeUnlock = false)
|
||||
{
|
||||
DisplayName = displayName;
|
||||
ConditionFormat = conditionFormat;
|
||||
Target = target;
|
||||
ExperienceReward = experienceReward;
|
||||
RequiresGuardUnlock = requiresGuardUnlock;
|
||||
RequiresChargeUnlock = requiresChargeUnlock;
|
||||
}
|
||||
}
|
||||
|
||||
[CreateAssetMenu(menuName = "BumpCombat/Constants/Level Up")]
|
||||
public sealed class LevelUpConstants : ScriptableObject
|
||||
{
|
||||
[Header("경험치")]
|
||||
[Tooltip("레벨 1에서 다음 레벨까지 필요한 경험치"), Min(1)] public int BaseExperienceToNextLevel = 10;
|
||||
[Tooltip("레벨이 하나 오를 때마다 늘어나는 필요 경험치"), Min(0)] public int AdditionalExperiencePerLevel = 5;
|
||||
|
||||
[Header("레벨업 선택")]
|
||||
[Tooltip("레벨업 때 표시할 모디파이어 후보 수 (UI 지원 범위: 1~3)"), Range(1, 3)] public int OptionCount = 3;
|
||||
[Tooltip("레벨업 후보 모디파이어 정의 에셋")]
|
||||
public ModifierDefinition[] ModifierDefinitions = Array.Empty<ModifierDefinition>();
|
||||
|
||||
[Header("미션")]
|
||||
[Tooltip("파죽지세의 측정 시간창 (전투초)"), Min(0.1f)] public float RampageWindowSeconds = 3f;
|
||||
[Tooltip("순서: 일반 적 처치, XP 구슬, 범핑, 아티팩트, 후방 범핑, 다중 적중, 공격 취소, 가드, 실드, 강화기, 파죽지세")]
|
||||
public MissionTuning[] Missions =
|
||||
{
|
||||
new("첫 소탕", "소환수가 아닌 일반 몬스터 {0}마리 처치", 100, 10),
|
||||
new("성장의 발판", "경험치 구슬 {0}개 실제 습득", 50, 10),
|
||||
new("몸으로 돌파", "실제 피해가 발생한 몸통박치기 {0}회", 60, 10),
|
||||
new("아티팩트 활용", "서로 다른 아티팩트 발동 {0}회에서 각각 유효 적중", 10, 10),
|
||||
new("등을 노려라", "서로 다른 적 {0}마리에게 후방 몸통박치기 성공", 15, 15),
|
||||
new("한 번에 몰아서", "아티팩트 한 번의 발동으로 서로 다른 적 {0}마리 유효 적중", 5, 15),
|
||||
new("빈틈 차단", "일반 적의 준비/활성 공격을 후방 몸통박치기로 실제 취소 {0}회", 8, 15),
|
||||
new("정확한 방어", "서로 다른 가드 발동 {0}회에서 실제 공격 차단", 3, 15, true),
|
||||
new("색을 맞춰라", "맞는 색 아티팩트로 실드의 남은 요구 횟수 실제 차감 {0}회", 6, 15),
|
||||
new("강화의 순간", "서로 다른 충전 강화기 발동 {0}회에서 각각 유효 적중", 3, 15, false, true),
|
||||
new("파죽지세", "연속된 {1}전투초 안에 소환수가 아닌 적 {0}마리 처치", 10, 20),
|
||||
};
|
||||
|
||||
public MissionTuning GetMission(int index, MissionTuning fallback)
|
||||
{
|
||||
return Missions != null && index >= 0 && index < Missions.Length
|
||||
? Missions[index]
|
||||
: fallback;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user