Compare commits

..
11 Commits
Author SHA1 Message Date
dal4segnoandSisyphus 7016b3c575 [Docs] AGENTS.md 추가
프로젝트 가이드라인 및 코딩 컨벤션 문서

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-03-11 02:58:50 +09:00
dal4segnoandSisyphus 7c15b56201 [Scene] 테스트 씬 및 프리팹 업데이트
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-03-11 02:58:38 +09:00
dal4segnoandSisyphus f7bef8f504 [Config] 프로젝트 설정 업데이트
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-03-11 02:58:30 +09:00
dal4segnoandSisyphus 05816f2b8e [Assets] TextMesh Pro 폰트 에셋 데이터 정리
불필요한 폰트 캐시 데이터 정리로 용량 최적화

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-03-11 02:58:21 +09:00
dal4segnoandSisyphus a1f0f28964 [Config] 퀄리티 설정 단순화
- 모바일 퀄리티 레벨 삭제, PC만 유지

- 플랫폼 기본 퀄리티 매핑 제거

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-03-11 02:58:12 +09:00
dal4segnoandSisyphus ac5bfc548b [Skills] 근접 스킬에 이상상태 효과 추가
Melee_Slash 스킬에 이상상태 효과 2개 연결

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-03-11 02:58:03 +09:00
dal4segnoandSisyphus fd0ba9e9fd [Abnormality] 테스트 이상상태 이름 중복 수정
- abnormalityName: Abnormality -> Test Buff/Test Debuff로 변경

- duration: 99 -> 10으로 변경

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-03-11 02:57:46 +09:00
dal4segnoandClaude Opus 4.6 3d3591784f [UI] 이상 상태 슬롯 UI 개선
- 지속 시간 표시가 주기적으로 업데이트되도록 수정
- fill 이미지가 시간이 지날수록 채워지도록 변경
- 남은 시간 정수로만 표시
- 비활성화된 Cooltime 요소 자동 활성화
- Animator Controller 제거로 UI 정상 표시

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-11 02:40:44 +09:00
dal4segnoandClaude Opus 4.6 ec99e302ed [Abnormality] 이상 상태 시스템 구현
- 이상 상태 데이터 (버프/디버프) ScriptableObject 정의
- 런타임임 활성 이상 상태 관리 (ActiveAbnormality)
- 캐릭터터별 AbnormalityManager 컴포넌트로 이상 상태 적용/제거
- 스킬 효과(AbnormalityEffect)로 스킬에 이상 상태 연동
- UI 슬롯 및 목록 표시 구현 (버프/디버프 구분)
- 테스트 코드 및 씬 설정 추가

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-11 01:35:02 +09:00
dal4segnoandClaude Opus 4.6 8add066c3c [UI] 스킬 퀵슬롯 UI 구현
- SkillSlotUI: 개별 슬롯 (아이콘, 쿨다운 오버레이, 텍스트)
- SkillQuickSlotUI: 6개 슬롯 관리 및 PlayerSkillInput 연동
- Animator 제어 문제 해결: 수동 SetActive로 쿨다운 표시
- UI_Bar에 PlayerHUD, StatBar 컴포넌트 추가

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 20:58:28 +09:00
dal4segno 2ac491683f HP, MP, Skill HUD 변경
및 스킬 애니메이션 초기화 로직 강화
2026-03-10 17:29:33 +09:00
57 changed files with 9695 additions and 2110 deletions

No files matched your search

+8 -1
View File
@@ -5,7 +5,14 @@
"Bash(git fsck:*)", "Bash(git fsck:*)",
"Bash(git commit:*)", "Bash(git commit:*)",
"Bash(git read-tree:*)", "Bash(git read-tree:*)",
"Bash(git push:*)" "Bash(git push:*)",
"Bash(cd \"D:/Colosseum/Assets/Scripts/StatusEffects\" && sed -i 's/ActiveStatusEffect/ActiveStatusEffect/g' StatusEffectManager.cs)",
"Bash(cd \"D:/Colosseum/Assets/Scripts/UI\" && sed -i 's/ActiveStatusEffect/ActiveStatusEffect/g' StatusEffectUI.cs StatusEffectListUI.cs)",
"Bash(cd \"D:/Colosseum/Assets/Scripts\" && mv StatusEffects Abnormalities)",
"Bash(cd \"D:/Colosseum/Assets/Scripts/Abnormalities\" && mv StatusEffectData.cs AbnormalityData.cs && mv ActiveStatusEffect.cs ActiveAbnormality.cs && mv StatusEffectManager.cs AbnormalityManager.cs)",
"Bash(cd \"D:/Colosseum/Assets/Scripts/UI\" && mv StatusEffectUI.cs AbnormalitySlotUI.cs && mv StatusEffectListUI.cs AbnormalityListUI.cs)",
"Bash(git -C \"D:/Colosseum\" mv \"Assets/Scripts/Skills/Effects/BuffEffect.cs\" \"Assets/Scripts/Skills/Effects/AbnormalityEffect.cs\")",
"Bash(find /d/Colosseum -name \"*.controller\" 2>/dev/null | head -20)"
] ]
} }
} }
+329
View File
@@ -0,0 +1,329 @@
# Colosseum - Unity Game Project
## Project Overview
Multiplayer arena game built with **Unity 6000.3.10f1** and **Unity Netcode for GameObjects**.
- **Language**: C# 9.0
- **Target Framework**: .NET Standard 2.1
- **Root Namespace**: `Colosseum`
- **Assembly Definition**: `Colosseum.Game` (Assets/Scripts/Colosseum.Game.asmdef)
## Game Design Documentation
Design docs are maintained in Obsidian Vault: `C:\Users\dal4s\OneDrive\문서\Obsidian Vault\Colosseum`
### Game Concept
- **Genre**: Online multiplayer co-op action RPG (3rd person)
- **Theme**: Gladiator survival boss raid in Colosseum
- **Roles**: Multi-role system - players can hybridize (e.g., Tank 0.5 + DPS 0.5) instead of fixed Tank/DPS/Healer
### Stats System
| Stat | Abbr | Description | Derived Formula |
|------|------|-------------|-----------------|
| Strength | STR | Weapon damage | Physical Damage = STR × 2 |
| Dexterity | DEX | Ranged aim/damage, melee speed | Ranged Damage = DEX × 2 |
| Intelligence | INT | Magic damage | Magic Damage = INT × 2 |
| Vitality | VIT | Max health | Max HP = VIT × 10 |
| Wisdom | WIS | Healing power | Heal Power = WIS × 1.5 |
| Spirit | SPI | Max mana | Max MP = SPI × 5 |
### Damage Calculation
```
Final Damage = baseDamage + (statDamage × statScaling)
```
| DamageType | Base Stat | Description |
|------------|-----------|-------------|
| Physical | STR | Melee weapon damage |
| Magical | INT | Spell damage |
| Ranged | DEX | Bow/ranged damage |
| True | None | Fixed damage, no stat scaling |
### Stat Modifier System
Modifiers are applied in order:
1. **Flat**: Add fixed value
2. **PercentAdd**: Sum percentages, then multiply
3. **PercentMult**: Multiply individually
```
Final = (Base + FlatSum) × (1 + PercentAddSum) × PercentMult1 × PercentMult2...
```
### Skill System
- **Active Skills**: 6 slots (L-click, R-click, 1, 2, 3, 4)
- **Passive Skills**: Tree-based progression from center
- **Effects**: Triggered via animation events (`OnEffect(index)`)
- **Animation**: Start clip + optional end clip
## Build/Run Commands
This is a Unity project. Use Unity Editor for building and testing.
```bash
# Open in Unity Editor (requires Unity Hub)
# Build via: File > Build Settings > Build
# Run tests in Unity Editor
# Window > General > Test Runner > EditMode / PlayMode
```
### Build from Command Line (Windows)
```bash
# Build Windows standalone (adjust paths as needed)
"C:\Program Files\Unity\Hub\Editor\6000.3.10f1\Editor\Unity.exe" -batchmode -projectPath . -buildWindows64Player ./Builds/Windows/Colosseum.exe -quit
```
## Project Structure
```
Assets/
Scripts/
Abnormalities/ # Buff/debuff system
Editor/ # Unity editor extensions
Network/ # Network management
Player/ # Player controllers
Skills/ # Skill system
Effects/ # Skill effects (damage, heal, etc.)
Stats/ # Character statistics
UI/ # User interface
```
## Code Style Guidelines
### Namespaces
Follow `Colosseum.{Subnamespace}` pattern:
```csharp
namespace Colosseum.Player { }
namespace Colosseum.Skills { }
namespace Colosseum.Skills.Effects { }
namespace Colosseum.Stats { }
namespace Colosseum.Network { }
namespace Colosseum.Abnormalities { }
```
### Using Statements Order
Organize imports in this order, separated by blank lines:
1. System namespaces
2. UnityEngine namespaces
3. Unity.Netcode / Unity packages
4. Colosseum namespaces
```csharp
using System;
using System.Collections.Generic;
using UnityEngine;
using Unity.Netcode;
using Colosseum.Stats;
using Colosseum.Player;
```
### Naming Conventions
| Element | Convention | Example |
|---------|------------|---------|
| Classes | PascalCase | `PlayerNetworkController` |
| Interfaces | IPascalCase | `IDamageable` |
| Methods | PascalCase | `TakeDamageRpc()` |
| Public Properties | PascalCase | `MaxHealth`, `IsStunned` |
| Private Fields | camelCase | `currentHealth`, `characterStats` |
| Constants | PascalCase or SCREAMING_SNAKE | `SKILL_STATE_NAME`, `MaxValue` |
| Enum values | PascalCase | `DamageType.Physical` |
### Serialization & Inspector
Use `[SerializeField]` with `[Header]` and `[Tooltip]` for organization:
```csharp
[Header("References")]
[Tooltip("CharacterStats component (auto-searched if null)")]
[SerializeField] private CharacterStats characterStats;
[Header("Settings")]
[Min(0f)] [SerializeField] private float baseDamage = 10f;
[SerializeField] private DamageType damageType = DamageType.Physical;
```
### Documentation
Use XML documentation comments in **Korean**:
```csharp
/// <summary>
/// 플레이어 네트워크 상태 관리 (HP, MP 등)
/// </summary>
public class PlayerNetworkController : NetworkBehaviour
{
/// <summary>
/// 대미지 적용 (서버에서만 실행)
/// </summary>
[Rpc(SendTo.Server)]
public void TakeDamageRpc(float damage)
{
// ...
}
}
```
### Network Code Patterns
Use Unity Netcode patterns:
```csharp
// Network variables for synchronized state
private NetworkVariable<float> currentHealth = new NetworkVariable<float>(100f);
// Server RPCs for client-to-server calls
[Rpc(SendTo.Server)]
public void TakeDamageRpc(float damage)
{
currentHealth.Value = Mathf.Max(0f, currentHealth.Value - damage);
}
// Check authority before modifying
if (IsServer)
{
currentHealth.Value = MaxHealth;
}
```
### Expression Body Members
Use for simple properties and methods:
```csharp
public float MaxHealth => vitality.FinalValue * 10f;
public bool IsStunned => stunCount > 0;
public bool CanAct => !IsStunned;
```
### Switch Expressions
Prefer switch expressions for concise mapping:
```csharp
public CharacterStat GetStat(StatType statType)
{
return statType switch
{
StatType.Strength => strength,
StatType.Dexterity => dexterity,
StatType.Intelligence => intelligence,
_ => null,
};
}
```
### ScriptableObjects for Data
Use ScriptableObject for configuration data:
```csharp
[CreateAssetMenu(fileName = "NewSkill", menuName = "Colosseum/Skill")]
public class SkillData : ScriptableObject
{
[SerializeField] private string skillName;
[SerializeField] private List<SkillEffect> effects;
public string SkillName => skillName;
public IReadOnlyList<SkillEffect> Effects => effects;
}
```
### Error Handling
- Use `Debug.LogWarning()` for recoverable issues
- Use `Debug.LogError()` for critical failures
- Null-check parameters in public methods
```csharp
public void ApplyAbnormality(AbnormalityData data, GameObject source)
{
if (data == null)
{
Debug.LogWarning("[Abnormality] ApplyAbnormality called with null data");
return;
}
// ...
}
```
### Events
Use C# events with `Action<T>` or custom delegates:
```csharp
public event Action<ActiveAbnormality> OnAbnormalityAdded;
public event Action<ActiveAbnormality> OnAbnormalityRemoved;
public event Action OnAbnormalitiesChanged;
// Invoke with null-conditional
OnAbnormalityAdded?.Invoke(newAbnormality);
```
## Key Dependencies
| Package | Purpose |
|---------|---------|
| Unity.Netcode.Runtime | Multiplayer networking |
| Unity.InputSystem | New input system |
| Unity.TextMeshPro | Text rendering |
| Unity.Networking.Transport | Low-level networking |
## Common Patterns
### MonoBehaviour Components
```csharp
public class ExampleComponent : MonoBehaviour
{
[Header("References")]
[SerializeField] private Animator animator;
public Animator Animator => animator;
private void Awake()
{
if (animator == null)
animator = GetComponentInChildren<Animator>();
}
}
```
### NetworkBehaviour Components
```csharp
public class NetworkedComponent : NetworkBehaviour
{
private NetworkVariable<int> value = new NetworkVariable<int>();
public override void OnNetworkSpawn()
{
// Initialize networked state
}
public override void OnNetworkDespawn()
{
// Cleanup
}
}
```
## Notes
- All code comments and documentation should be in Korean
- Use `[Min()]` attribute for numeric minimums in Inspector
- Use `[TextArea]` for multi-line string fields
- Private fields should use `camelCase` (no `m_` or `_` prefix)
- Prefer `IReadOnlyList<T>` for exposing collections
+8
View File
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 72b7a9faa543d444882609fe047a2073
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,24 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: b08cc671f858a3b409170a5356e960a0, type: 3}
m_Name: Abnormality_Test_Buff
m_EditorClassIdentifier: Colosseum.Game::Colosseum.Abnormalities.AbnormalityData
abnormalityName: Test Buff
icon: {fileID: 21300000, guid: 173f7bf0258285c4f8bf01825ac02a11, type: 3}
duration: 10
level: 1
isDebuff: 0
statModifiers: []
periodicInterval: 0
periodicValue: 0
controlType: 0
slowMultiplier: 0.5
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: da5a38e4e2c383940a34d9d8080fbbe0
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,24 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: b08cc671f858a3b409170a5356e960a0, type: 3}
m_Name: Abnormality_Test_Debuff
m_EditorClassIdentifier: Colosseum.Game::Colosseum.Abnormalities.AbnormalityData
abnormalityName: Test Debuff
icon: {fileID: 21300000, guid: 173f7bf0258285c4f8bf01825ac02a11, type: 3}
duration: 10
level: 1
isDebuff: 1
statModifiers: []
periodicInterval: 0
periodicValue: 0
controlType: 0
slowMultiplier: 0.5
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: c4abb0f89779f294ab99562e085e8f3b
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:
@@ -55,6 +55,20 @@ ModelImporter:
bodyMask: 01000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000 bodyMask: 01000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000
curves: [] curves: []
events: events:
- time: 0.4590326
functionName: OnEffect
data:
objectReferenceParameter: {instanceID: 0}
floatParameter: 0
intParameter: 1
messageOptions: 0
- time: 0.46052074
functionName: OnEffect
data:
objectReferenceParameter: {instanceID: 0}
floatParameter: 0
intParameter: 2
messageOptions: 0
- time: 0.4627699 - time: 0.4627699
functionName: OnEffect functionName: OnEffect
data: data:
@@ -55,13 +55,34 @@ ModelImporter:
bodyMask: 01000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000 bodyMask: 01000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000
curves: [] curves: []
events: events:
- time: 0.49976447 - time: 0
functionName: OnEffect functionName: OnEffect
data: data:
objectReferenceParameter: {instanceID: 0} objectReferenceParameter: {instanceID: 0}
floatParameter: 0 floatParameter: 0
intParameter: 0 intParameter: 0
messageOptions: 0 messageOptions: 0
- time: 0.50297606
functionName: OnEffect
data:
objectReferenceParameter: {instanceID: 0}
floatParameter: 0
intParameter: 0
messageOptions: 0
- time: 0.5238095
functionName: OnEffect
data:
objectReferenceParameter: {instanceID: 0}
floatParameter: 0
intParameter: 1
messageOptions: 0
- time: 0.5429192
functionName: OnEffect
data:
objectReferenceParameter: {instanceID: 0}
floatParameter: 0
intParameter: 2
messageOptions: 0
- time: 0.9981159 - time: 0.9981159
functionName: OnSkillEnd functionName: OnSkillEnd
data: data:
Binary file not shown.

After

Width:  |  Height:  |  Size: 59 KiB

@@ -0,0 +1,108 @@
fileFormatVersion: 2
guid: 976db4f04c3bd4e469e9b8eb2c20e1ca
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 11
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: -1
aniso: -1
mipBias: -100
wrapU: 1
wrapV: 1
wrapW: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 0
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 80, y: 80, z: 80, w: 80}
spriteGenerateFallbackPhysicsShape: 0
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,655 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &3383354828365798028
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8742265258977334277}
- component: {fileID: 3698892055439276710}
- component: {fileID: 9068576939756357679}
- component: {fileID: 800351318774919540}
- component: {fileID: 5402880947663824673}
m_Layer: 5
m_Name: UI_AbnormalitySlot
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &8742265258977334277
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3383354828365798028}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 2211778034640404479}
- {fileID: 2830353451877067372}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 50, y: 50}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &3698892055439276710
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3383354828365798028}
m_CullTransparentMesh: 1
--- !u!114 &9068576939756357679
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3383354828365798028}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 0, g: 1, b: 0.14357352, a: 0}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 0
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 0}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!95 &800351318774919540
Animator:
serializedVersion: 7
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3383354828365798028}
m_Enabled: 1
m_Avatar: {fileID: 0}
m_Controller: {fileID: 0}
m_CullingMode: 0
m_UpdateMode: 0
m_ApplyRootMotion: 0
m_LinearVelocityBlending: 0
m_StabilizeFeet: 0
m_AnimatePhysics: 0
m_WarningMessage:
m_HasTransformHierarchy: 1
m_AllowConstantClipSamplingOptimization: 1
m_KeepAnimatorStateOnDisable: 0
m_WriteDefaultValuesOnDisable: 0
--- !u!114 &5402880947663824673
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3383354828365798028}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 287a45a81e69cbf48845f88759cf7eb4, type: 3}
m_Name:
m_EditorClassIdentifier:
iconImage: {fileID: 8225599256848301212}
durationFill: {fileID: 3807928883176071825}
durationText: {fileID: 2584127467159023136}
effectNameText: {fileID: 0}
backgroundImage: {fileID: 6218527427496975808}
buffColor: {r: 0.2, g: 0.6, b: 0.2, a: 0.8}
debuffColor: {r: 0.6, g: 0.2, b: 0.2, a: 0.8}
--- !u!1 &3546204093425322779
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2830353451877067372}
- component: {fileID: 8318959168881738735}
- component: {fileID: 5659953853696642109}
- component: {fileID: 3039300877730597146}
m_Layer: 5
m_Name: SPR_Frame
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &2830353451877067372
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3546204093425322779}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 8742265258977334277}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &8318959168881738735
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3546204093425322779}
m_CullTransparentMesh: 1
--- !u!114 &5659953853696642109
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3546204093425322779}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 0, g: 1, b: 0, a: 1}
m_RaycastTarget: 0
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 0
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 21300000, guid: 976db4f04c3bd4e469e9b8eb2c20e1ca, type: 3}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 4
--- !u!225 &3039300877730597146
CanvasGroup:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3546204093425322779}
m_Enabled: 1
m_Alpha: 1
m_Interactable: 0
m_BlocksRaycasts: 0
m_IgnoreParentGroups: 0
--- !u!1 &4902539774281912895
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2062133184972599418}
- component: {fileID: 5719122352651651396}
m_Layer: 5
m_Name: Item
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &2062133184972599418
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4902539774281912895}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 1336485923641369346}
m_Father: {fileID: 2211778034640404479}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!225 &5719122352651651396
CanvasGroup:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4902539774281912895}
m_Enabled: 1
m_Alpha: 1
m_Interactable: 0
m_BlocksRaycasts: 0
m_IgnoreParentGroups: 0
--- !u!1 &5010645131502399754
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 441187093428371753}
- component: {fileID: 7014205823490043849}
m_Layer: 5
m_Name: Normal
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &441187093428371753
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5010645131502399754}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 1901598294175631088}
m_Father: {fileID: 2211778034640404479}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &7014205823490043849
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5010645131502399754}
m_CullTransparentMesh: 1
--- !u!1 &7471771060503184807
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1901598294175631088}
- component: {fileID: 2489496512246523176}
- component: {fileID: 6218527427496975808}
m_Layer: 5
m_Name: SPR_Background
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1901598294175631088
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7471771060503184807}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 441187093428371753}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &2489496512246523176
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7471771060503184807}
m_CullTransparentMesh: 1
--- !u!114 &6218527427496975808
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7471771060503184807}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 0, g: 0.12990497, b: 0.23584908, a: 0.9019608}
m_RaycastTarget: 0
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 21300000, guid: 626f1122650d7b344a394cf52ebb14ec, type: 3}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 2.6
--- !u!1 &8154639474077861285
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2211778034640404479}
m_Layer: 5
m_Name: MASK
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &2211778034640404479
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8154639474077861285}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 441187093428371753}
- {fileID: 2062133184972599418}
m_Father: {fileID: 8742265258977334277}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!1001 &3573928083118294605
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
serializedVersion: 3
m_TransformParent: {fileID: 2062133184972599418}
m_Modifications:
- target: {fileID: 378688860670387420, guid: 76cc919941c27814fa50c37e4df08f89, type: 3}
propertyPath: m_Type
value: 3
objectReference: {fileID: 0}
- target: {fileID: 378688860670387420, guid: 76cc919941c27814fa50c37e4df08f89, type: 3}
propertyPath: m_Color.a
value: 0.39215687
objectReference: {fileID: 0}
- target: {fileID: 378688860670387420, guid: 76cc919941c27814fa50c37e4df08f89, type: 3}
propertyPath: m_Color.b
value: 0
objectReference: {fileID: 0}
- target: {fileID: 378688860670387420, guid: 76cc919941c27814fa50c37e4df08f89, type: 3}
propertyPath: m_Color.g
value: 0
objectReference: {fileID: 0}
- target: {fileID: 378688860670387420, guid: 76cc919941c27814fa50c37e4df08f89, type: 3}
propertyPath: m_Color.r
value: 0
objectReference: {fileID: 0}
- target: {fileID: 378688860670387420, guid: 76cc919941c27814fa50c37e4df08f89, type: 3}
propertyPath: m_FillAmount
value: 0.46
objectReference: {fileID: 0}
- target: {fileID: 378688860670387420, guid: 76cc919941c27814fa50c37e4df08f89, type: 3}
propertyPath: m_FillMethod
value: 4
objectReference: {fileID: 0}
- target: {fileID: 378688860670387420, guid: 76cc919941c27814fa50c37e4df08f89, type: 3}
propertyPath: m_FillOrigin
value: 2
objectReference: {fileID: 0}
- target: {fileID: 378688860670387420, guid: 76cc919941c27814fa50c37e4df08f89, type: 3}
propertyPath: m_FillClockwise
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1316615260321933421, guid: 76cc919941c27814fa50c37e4df08f89, type: 3}
propertyPath: m_text
value: 99
objectReference: {fileID: 0}
- target: {fileID: 1316615260321933421, guid: 76cc919941c27814fa50c37e4df08f89, type: 3}
propertyPath: m_fontSize
value: 16
objectReference: {fileID: 0}
- target: {fileID: 1316615260321933421, guid: 76cc919941c27814fa50c37e4df08f89, type: 3}
propertyPath: m_margin.x
value: -4.874298
objectReference: {fileID: 0}
- target: {fileID: 1316615260321933421, guid: 76cc919941c27814fa50c37e4df08f89, type: 3}
propertyPath: m_margin.z
value: -4.115387
objectReference: {fileID: 0}
- target: {fileID: 1316615260321933421, guid: 76cc919941c27814fa50c37e4df08f89, type: 3}
propertyPath: m_fontSizeBase
value: 16
objectReference: {fileID: 0}
- target: {fileID: 1316615260321933421, guid: 76cc919941c27814fa50c37e4df08f89, type: 3}
propertyPath: m_VerticalAlignment
value: 256
objectReference: {fileID: 0}
- target: {fileID: 1316615260321933421, guid: 76cc919941c27814fa50c37e4df08f89, type: 3}
propertyPath: m_HorizontalAlignment
value: 2
objectReference: {fileID: 0}
- target: {fileID: 1316615260321933421, guid: 76cc919941c27814fa50c37e4df08f89, type: 3}
propertyPath: 'm_ActiveFontFeatures.Array.data[0]'
value: 1801810542
objectReference: {fileID: 0}
- target: {fileID: 1819597544659277106, guid: 76cc919941c27814fa50c37e4df08f89, type: 3}
propertyPath: m_Controller
value:
objectReference: {fileID: 0}
- target: {fileID: 2527929489434551631, guid: 76cc919941c27814fa50c37e4df08f89, type: 3}
propertyPath: m_Pivot.x
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 2527929489434551631, guid: 76cc919941c27814fa50c37e4df08f89, type: 3}
propertyPath: m_Pivot.y
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 2527929489434551631, guid: 76cc919941c27814fa50c37e4df08f89, type: 3}
propertyPath: m_RootOrder
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2527929489434551631, guid: 76cc919941c27814fa50c37e4df08f89, type: 3}
propertyPath: m_AnchorMax.x
value: 1
objectReference: {fileID: 0}
- target: {fileID: 2527929489434551631, guid: 76cc919941c27814fa50c37e4df08f89, type: 3}
propertyPath: m_AnchorMax.y
value: 1
objectReference: {fileID: 0}
- target: {fileID: 2527929489434551631, guid: 76cc919941c27814fa50c37e4df08f89, type: 3}
propertyPath: m_AnchorMin.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2527929489434551631, guid: 76cc919941c27814fa50c37e4df08f89, type: 3}
propertyPath: m_AnchorMin.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2527929489434551631, guid: 76cc919941c27814fa50c37e4df08f89, type: 3}
propertyPath: m_SizeDelta.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2527929489434551631, guid: 76cc919941c27814fa50c37e4df08f89, type: 3}
propertyPath: m_SizeDelta.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2527929489434551631, guid: 76cc919941c27814fa50c37e4df08f89, type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2527929489434551631, guid: 76cc919941c27814fa50c37e4df08f89, type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2527929489434551631, guid: 76cc919941c27814fa50c37e4df08f89, type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2527929489434551631, guid: 76cc919941c27814fa50c37e4df08f89, type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 2527929489434551631, guid: 76cc919941c27814fa50c37e4df08f89, type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2527929489434551631, guid: 76cc919941c27814fa50c37e4df08f89, type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2527929489434551631, guid: 76cc919941c27814fa50c37e4df08f89, type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2527929489434551631, guid: 76cc919941c27814fa50c37e4df08f89, type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2527929489434551631, guid: 76cc919941c27814fa50c37e4df08f89, type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2527929489434551631, guid: 76cc919941c27814fa50c37e4df08f89, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2527929489434551631, guid: 76cc919941c27814fa50c37e4df08f89, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2527929489434551631, guid: 76cc919941c27814fa50c37e4df08f89, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2889380205718597033, guid: 76cc919941c27814fa50c37e4df08f89, type: 3}
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
- target: {fileID: 3471770531181138231, guid: 76cc919941c27814fa50c37e4df08f89, type: 3}
propertyPath: m_SizeDelta.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3471770531181138231, guid: 76cc919941c27814fa50c37e4df08f89, type: 3}
propertyPath: m_SizeDelta.y
value: 30
objectReference: {fileID: 0}
- target: {fileID: 3471770531181138231, guid: 76cc919941c27814fa50c37e4df08f89, type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3471770531181138231, guid: 76cc919941c27814fa50c37e4df08f89, type: 3}
propertyPath: m_AnchoredPosition.y
value: 15
objectReference: {fileID: 0}
- target: {fileID: 4290268768443257266, guid: 76cc919941c27814fa50c37e4df08f89, type: 3}
propertyPath: m_CullTransparentMesh
value: 1
objectReference: {fileID: 0}
- target: {fileID: 6658490951639871620, guid: 76cc919941c27814fa50c37e4df08f89, type: 3}
propertyPath: m_Name
value: CooldownItem
objectReference: {fileID: 0}
- target: {fileID: 8431704748052656868, guid: 76cc919941c27814fa50c37e4df08f89, type: 3}
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 76cc919941c27814fa50c37e4df08f89, type: 3}
--- !u!224 &1336485923641369346 stripped
RectTransform:
m_CorrespondingSourceObject: {fileID: 2527929489434551631, guid: 76cc919941c27814fa50c37e4df08f89, type: 3}
m_PrefabInstance: {fileID: 3573928083118294605}
m_PrefabAsset: {fileID: 0}
--- !u!114 &2584127467159023136 stripped
MonoBehaviour:
m_CorrespondingSourceObject: {fileID: 1316615260321933421, guid: 76cc919941c27814fa50c37e4df08f89, type: 3}
m_PrefabInstance: {fileID: 3573928083118294605}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!114 &3807928883176071825 stripped
MonoBehaviour:
m_CorrespondingSourceObject: {fileID: 378688860670387420, guid: 76cc919941c27814fa50c37e4df08f89, type: 3}
m_PrefabInstance: {fileID: 3573928083118294605}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!114 &8225599256848301212 stripped
MonoBehaviour:
m_CorrespondingSourceObject: {fileID: 4881363607392615121, guid: 76cc919941c27814fa50c37e4df08f89, type: 3}
m_PrefabInstance: {fileID: 3573928083118294605}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 60d898ecea82b6c429850e04d2e95b7c
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
File diff suppressed because it is too large. Load diff
@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 553b74bdb60f6af47b5d2c8928a2af07
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
File diff suppressed because it is too large. Load diff
@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 54087b4bd46db9e4fb7da13cf7a6cc69
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
+25 -3
View File
@@ -20,6 +20,7 @@ GameObject:
- component: {fileID: 6048740021537676210} - component: {fileID: 6048740021537676210}
- component: {fileID: 6912018896034183004} - component: {fileID: 6912018896034183004}
- component: {fileID: 6585367215453362640} - component: {fileID: 6585367215453362640}
- component: {fileID: 1242716222252539497}
m_Layer: 0 m_Layer: 0
m_Name: Player m_Name: Player
m_TagString: Untagged m_TagString: Untagged
@@ -134,6 +135,7 @@ MonoBehaviour:
gravity: -9.81 gravity: -9.81
jumpForce: 5 jumpForce: 5
skillController: {fileID: 0} skillController: {fileID: 0}
animator: {fileID: 0}
--- !u!114 &194806265065691022 --- !u!114 &194806265065691022
MonoBehaviour: MonoBehaviour:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@@ -193,8 +195,7 @@ MonoBehaviour:
m_Name: m_Name:
m_EditorClassIdentifier: Colosseum.Game::Colosseum.Player.PlayerNetworkController m_EditorClassIdentifier: Colosseum.Game::Colosseum.Player.PlayerNetworkController
ShowTopMostFoldoutHeaderGroup: 1 ShowTopMostFoldoutHeaderGroup: 1
maxHealth: 100 characterStats: {fileID: 0}
maxMana: 50
--- !u!114 &8606252901290138286 --- !u!114 &8606252901290138286
MonoBehaviour: MonoBehaviour:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@@ -248,7 +249,10 @@ Animator:
m_LinearVelocityBlending: 0 m_LinearVelocityBlending: 0
m_StabilizeFeet: 0 m_StabilizeFeet: 0
m_AnimatePhysics: 0 m_AnimatePhysics: 0
m_WarningMessage: m_WarningMessage: "\nBinding warning: Some generic clip(s) animate transforms that
are already bound by a Humanoid avatar. These transforms can only be changed
by Humanoid clips.\n\tTransform 'Toes_R'\n\tTransform 'Toes_R'\n\tFrom animation
clip 'A_Idle_Base_Sword'\n\tFrom animation clip 'A_Attack_LightCombo01A_Sword'"
m_HasTransformHierarchy: 1 m_HasTransformHierarchy: 1
m_AllowConstantClipSamplingOptimization: 1 m_AllowConstantClipSamplingOptimization: 1
m_KeepAnimatorStateOnDisable: 0 m_KeepAnimatorStateOnDisable: 0
@@ -287,6 +291,8 @@ MonoBehaviour:
baseController: {fileID: 9100000, guid: db718381bb2992e469c76c64015e065b, type: 2} baseController: {fileID: 9100000, guid: db718381bb2992e469c76c64015e065b, type: 2}
baseSkillClip: {fileID: -7717634560727564301, guid: 079bd00af1b92964d8973dcbf2dcd21f, type: 3} baseSkillClip: {fileID: -7717634560727564301, guid: 079bd00af1b92964d8973dcbf2dcd21f, type: 3}
debugMode: 1 debugMode: 1
showAreaDebug: 1
debugDrawDuration: 1
--- !u!114 &6585367215453362640 --- !u!114 &6585367215453362640
MonoBehaviour: MonoBehaviour:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@@ -308,6 +314,22 @@ MonoBehaviour:
- {fileID: 0} - {fileID: 0}
- {fileID: 0} - {fileID: 0}
skillController: {fileID: 6912018896034183004} skillController: {fileID: 6912018896034183004}
networkController: {fileID: 0}
--- !u!114 &1242716222252539497
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6473031571298860035}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 7a766b6ab825c1445a3385079bb32cc5, type: 3}
m_Name:
m_EditorClassIdentifier: Colosseum.Game::Colosseum.Abnormalities.AbnormalityManager
ShowTopMostFoldoutHeaderGroup: 1
characterStats: {fileID: 0}
networkController: {fileID: 0}
--- !u!1001 &7705728874586931617 --- !u!1001 &7705728874586931617
PrefabInstance: PrefabInstance:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
+687 -5
View File
@@ -119,6 +119,41 @@ NavMeshSettings:
debug: debug:
m_Flags: 0 m_Flags: 0
m_NavMeshData: {fileID: 0} m_NavMeshData: {fileID: 0}
--- !u!1 &115810401
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 115810402}
m_Layer: 5
m_Name: QuickSlot
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &115810402
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 115810401}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 1162990049}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0}
m_AnchorMax: {x: 0.5, y: 0}
m_AnchoredPosition: {x: 0, y: -315}
m_SizeDelta: {x: 800, y: 100}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!1 &260528172 --- !u!1 &260528172
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@@ -214,6 +249,8 @@ RectTransform:
m_ConstrainProportionsScale: 0 m_ConstrainProportionsScale: 0
m_Children: m_Children:
- {fileID: 1162990049} - {fileID: 1162990049}
- {fileID: 7078605117837265129}
- {fileID: 1269404371}
m_Father: {fileID: 0} m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0} m_AnchorMin: {x: 0, y: 0}
@@ -229,6 +266,18 @@ PrefabInstance:
serializedVersion: 3 serializedVersion: 3
m_TransformParent: {fileID: 1162990049} m_TransformParent: {fileID: 1162990049}
m_Modifications: m_Modifications:
- target: {fileID: 175175724983342716, guid: 99f359b6678b0064dbd20508482d6d64, type: 3}
propertyPath: m_AnchorMax.x
value: 0.7
objectReference: {fileID: 0}
- target: {fileID: 175175724983342716, guid: 99f359b6678b0064dbd20508482d6d64, type: 3}
propertyPath: m_AnchorMax.y
value: 1
objectReference: {fileID: 0}
- target: {fileID: 175175724983342716, guid: 99f359b6678b0064dbd20508482d6d64, type: 3}
propertyPath: m_AnchorMin.x
value: 0.7
objectReference: {fileID: 0}
- target: {fileID: 1384280946776679044, guid: 99f359b6678b0064dbd20508482d6d64, type: 3} - target: {fileID: 1384280946776679044, guid: 99f359b6678b0064dbd20508482d6d64, type: 3}
propertyPath: m_Pivot.x propertyPath: m_Pivot.x
value: 0.5 value: 0.5
@@ -351,11 +400,11 @@ PrefabInstance:
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 5400690622487782688, guid: 99f359b6678b0064dbd20508482d6d64, type: 3} - target: {fileID: 5400690622487782688, guid: 99f359b6678b0064dbd20508482d6d64, type: 3}
propertyPath: m_AnchorMax.x propertyPath: m_AnchorMax.x
value: 0 value: 0.7
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 5400690622487782688, guid: 99f359b6678b0064dbd20508482d6d64, type: 3} - target: {fileID: 5400690622487782688, guid: 99f359b6678b0064dbd20508482d6d64, type: 3}
propertyPath: m_AnchorMax.y propertyPath: m_AnchorMax.y
value: 0 value: 1
objectReference: {fileID: 0} objectReference: {fileID: 0}
m_RemovedComponents: [] m_RemovedComponents: []
m_RemovedGameObjects: [] m_RemovedGameObjects: []
@@ -378,6 +427,415 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: b5c5d0fa667f83d4399abb45ffcaea31, type: 3} m_Script: {fileID: 11500000, guid: b5c5d0fa667f83d4399abb45ffcaea31, type: 3}
m_Name: m_Name:
m_EditorClassIdentifier: Colosseum.Game::Colosseum.UI.StatBar m_EditorClassIdentifier: Colosseum.Game::Colosseum.UI.StatBar
--- !u!1001 &437791323
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
serializedVersion: 3
m_TransformParent: {fileID: 260528176}
m_Modifications:
- target: {fileID: 154243841272976527, guid: 54087b4bd46db9e4fb7da13cf7a6cc69, type: 3}
propertyPath: m_AnchorMax.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 154243841272976527, guid: 54087b4bd46db9e4fb7da13cf7a6cc69, type: 3}
propertyPath: m_AnchorMin.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 154243841272976527, guid: 54087b4bd46db9e4fb7da13cf7a6cc69, type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 154243841272976527, guid: 54087b4bd46db9e4fb7da13cf7a6cc69, type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 222507439395443271, guid: 54087b4bd46db9e4fb7da13cf7a6cc69, type: 3}
propertyPath: m_Enabled
value: 0
objectReference: {fileID: 0}
- target: {fileID: 586372648083603388, guid: 54087b4bd46db9e4fb7da13cf7a6cc69, type: 3}
propertyPath: debugMode
value: 1
objectReference: {fileID: 0}
- target: {fileID: 957626152331407387, guid: 54087b4bd46db9e4fb7da13cf7a6cc69, type: 3}
propertyPath: m_AnchorMax.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 957626152331407387, guid: 54087b4bd46db9e4fb7da13cf7a6cc69, type: 3}
propertyPath: m_AnchorMin.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 957626152331407387, guid: 54087b4bd46db9e4fb7da13cf7a6cc69, type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 957626152331407387, guid: 54087b4bd46db9e4fb7da13cf7a6cc69, type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1272571897642577178, guid: 54087b4bd46db9e4fb7da13cf7a6cc69, type: 3}
propertyPath: m_AnchorMax.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1272571897642577178, guid: 54087b4bd46db9e4fb7da13cf7a6cc69, type: 3}
propertyPath: m_AnchorMin.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1272571897642577178, guid: 54087b4bd46db9e4fb7da13cf7a6cc69, type: 3}
propertyPath: m_SizeDelta.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1272571897642577178, guid: 54087b4bd46db9e4fb7da13cf7a6cc69, type: 3}
propertyPath: m_SizeDelta.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1272571897642577178, guid: 54087b4bd46db9e4fb7da13cf7a6cc69, type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1272571897642577178, guid: 54087b4bd46db9e4fb7da13cf7a6cc69, type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1891729575772637703, guid: 54087b4bd46db9e4fb7da13cf7a6cc69, type: 3}
propertyPath: m_SizeDelta.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2357173840241603351, guid: 54087b4bd46db9e4fb7da13cf7a6cc69, type: 3}
propertyPath: m_Enabled
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2383653489108562105, guid: 54087b4bd46db9e4fb7da13cf7a6cc69, type: 3}
propertyPath: m_SizeDelta.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2414817517628536287, guid: 54087b4bd46db9e4fb7da13cf7a6cc69, type: 3}
propertyPath: m_AnchorMax.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2414817517628536287, guid: 54087b4bd46db9e4fb7da13cf7a6cc69, type: 3}
propertyPath: m_AnchorMin.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2414817517628536287, guid: 54087b4bd46db9e4fb7da13cf7a6cc69, type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2414817517628536287, guid: 54087b4bd46db9e4fb7da13cf7a6cc69, type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3299919758736932218, guid: 54087b4bd46db9e4fb7da13cf7a6cc69, type: 3}
propertyPath: m_SizeDelta.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3449630887236982659, guid: 54087b4bd46db9e4fb7da13cf7a6cc69, type: 3}
propertyPath: m_Enabled
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3605634177138740298, guid: 54087b4bd46db9e4fb7da13cf7a6cc69, type: 3}
propertyPath: m_AnchorMax.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3605634177138740298, guid: 54087b4bd46db9e4fb7da13cf7a6cc69, type: 3}
propertyPath: m_AnchorMin.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3605634177138740298, guid: 54087b4bd46db9e4fb7da13cf7a6cc69, type: 3}
propertyPath: m_SizeDelta.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3605634177138740298, guid: 54087b4bd46db9e4fb7da13cf7a6cc69, type: 3}
propertyPath: m_SizeDelta.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3605634177138740298, guid: 54087b4bd46db9e4fb7da13cf7a6cc69, type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3605634177138740298, guid: 54087b4bd46db9e4fb7da13cf7a6cc69, type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3665211212153714218, guid: 54087b4bd46db9e4fb7da13cf7a6cc69, type: 3}
propertyPath: m_Name
value: UI_Bar
objectReference: {fileID: 0}
- target: {fileID: 4422562543140382942, guid: 54087b4bd46db9e4fb7da13cf7a6cc69, type: 3}
propertyPath: m_AnchorMax.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4422562543140382942, guid: 54087b4bd46db9e4fb7da13cf7a6cc69, type: 3}
propertyPath: m_AnchorMin.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4422562543140382942, guid: 54087b4bd46db9e4fb7da13cf7a6cc69, type: 3}
propertyPath: m_SizeDelta.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4422562543140382942, guid: 54087b4bd46db9e4fb7da13cf7a6cc69, type: 3}
propertyPath: m_SizeDelta.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4422562543140382942, guid: 54087b4bd46db9e4fb7da13cf7a6cc69, type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4422562543140382942, guid: 54087b4bd46db9e4fb7da13cf7a6cc69, type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4759263938882641124, guid: 54087b4bd46db9e4fb7da13cf7a6cc69, type: 3}
propertyPath: m_AnchorMax.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4759263938882641124, guid: 54087b4bd46db9e4fb7da13cf7a6cc69, type: 3}
propertyPath: m_AnchorMin.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4759263938882641124, guid: 54087b4bd46db9e4fb7da13cf7a6cc69, type: 3}
propertyPath: m_SizeDelta.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4759263938882641124, guid: 54087b4bd46db9e4fb7da13cf7a6cc69, type: 3}
propertyPath: m_SizeDelta.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4759263938882641124, guid: 54087b4bd46db9e4fb7da13cf7a6cc69, type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4759263938882641124, guid: 54087b4bd46db9e4fb7da13cf7a6cc69, type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5020688963902780252, guid: 54087b4bd46db9e4fb7da13cf7a6cc69, type: 3}
propertyPath: m_AnchorMax.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5020688963902780252, guid: 54087b4bd46db9e4fb7da13cf7a6cc69, type: 3}
propertyPath: m_AnchorMin.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5020688963902780252, guid: 54087b4bd46db9e4fb7da13cf7a6cc69, type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5020688963902780252, guid: 54087b4bd46db9e4fb7da13cf7a6cc69, type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5292514280569519775, guid: 54087b4bd46db9e4fb7da13cf7a6cc69, type: 3}
propertyPath: m_AnchorMax.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5292514280569519775, guid: 54087b4bd46db9e4fb7da13cf7a6cc69, type: 3}
propertyPath: m_AnchorMin.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5292514280569519775, guid: 54087b4bd46db9e4fb7da13cf7a6cc69, type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5292514280569519775, guid: 54087b4bd46db9e4fb7da13cf7a6cc69, type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5324836091554642937, guid: 54087b4bd46db9e4fb7da13cf7a6cc69, type: 3}
propertyPath: m_SizeDelta.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5386836880661972576, guid: 54087b4bd46db9e4fb7da13cf7a6cc69, type: 3}
propertyPath: m_AnchorMax.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5386836880661972576, guid: 54087b4bd46db9e4fb7da13cf7a6cc69, type: 3}
propertyPath: m_AnchorMax.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5815230577690829753, guid: 54087b4bd46db9e4fb7da13cf7a6cc69, type: 3}
propertyPath: m_Enabled
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6784599209343945149, guid: 54087b4bd46db9e4fb7da13cf7a6cc69, type: 3}
propertyPath: m_SizeDelta.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7078605118272955058, guid: 54087b4bd46db9e4fb7da13cf7a6cc69, type: 3}
propertyPath: m_Pivot.x
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 7078605118272955058, guid: 54087b4bd46db9e4fb7da13cf7a6cc69, type: 3}
propertyPath: m_Pivot.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7078605118272955058, guid: 54087b4bd46db9e4fb7da13cf7a6cc69, type: 3}
propertyPath: m_AnchorMax.x
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 7078605118272955058, guid: 54087b4bd46db9e4fb7da13cf7a6cc69, type: 3}
propertyPath: m_AnchorMax.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7078605118272955058, guid: 54087b4bd46db9e4fb7da13cf7a6cc69, type: 3}
propertyPath: m_AnchorMin.x
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 7078605118272955058, guid: 54087b4bd46db9e4fb7da13cf7a6cc69, type: 3}
propertyPath: m_AnchorMin.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7078605118272955058, guid: 54087b4bd46db9e4fb7da13cf7a6cc69, type: 3}
propertyPath: m_SizeDelta.x
value: 1000
objectReference: {fileID: 0}
- target: {fileID: 7078605118272955058, guid: 54087b4bd46db9e4fb7da13cf7a6cc69, type: 3}
propertyPath: m_SizeDelta.y
value: 160
objectReference: {fileID: 0}
- target: {fileID: 7078605118272955058, guid: 54087b4bd46db9e4fb7da13cf7a6cc69, type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7078605118272955058, guid: 54087b4bd46db9e4fb7da13cf7a6cc69, type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7078605118272955058, guid: 54087b4bd46db9e4fb7da13cf7a6cc69, type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7078605118272955058, guid: 54087b4bd46db9e4fb7da13cf7a6cc69, type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 7078605118272955058, guid: 54087b4bd46db9e4fb7da13cf7a6cc69, type: 3}
propertyPath: m_LocalRotation.x
value: -0
objectReference: {fileID: 0}
- target: {fileID: 7078605118272955058, guid: 54087b4bd46db9e4fb7da13cf7a6cc69, type: 3}
propertyPath: m_LocalRotation.y
value: -0
objectReference: {fileID: 0}
- target: {fileID: 7078605118272955058, guid: 54087b4bd46db9e4fb7da13cf7a6cc69, type: 3}
propertyPath: m_LocalRotation.z
value: -0
objectReference: {fileID: 0}
- target: {fileID: 7078605118272955058, guid: 54087b4bd46db9e4fb7da13cf7a6cc69, type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7078605118272955058, guid: 54087b4bd46db9e4fb7da13cf7a6cc69, type: 3}
propertyPath: m_AnchoredPosition.y
value: 40
objectReference: {fileID: 0}
- target: {fileID: 7078605118272955058, guid: 54087b4bd46db9e4fb7da13cf7a6cc69, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7078605118272955058, guid: 54087b4bd46db9e4fb7da13cf7a6cc69, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7078605118272955058, guid: 54087b4bd46db9e4fb7da13cf7a6cc69, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7290362850952805949, guid: 54087b4bd46db9e4fb7da13cf7a6cc69, type: 3}
propertyPath: m_SizeDelta.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7437893700502000836, guid: 54087b4bd46db9e4fb7da13cf7a6cc69, type: 3}
propertyPath: m_Enabled
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7657599853370186409, guid: 54087b4bd46db9e4fb7da13cf7a6cc69, type: 3}
propertyPath: m_SizeDelta.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7775305708725639431, guid: 54087b4bd46db9e4fb7da13cf7a6cc69, type: 3}
propertyPath: m_Enabled
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7895989214680908246, guid: 54087b4bd46db9e4fb7da13cf7a6cc69, type: 3}
propertyPath: m_AnchorMax.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7895989214680908246, guid: 54087b4bd46db9e4fb7da13cf7a6cc69, type: 3}
propertyPath: m_AnchorMax.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8225402012417639457, guid: 54087b4bd46db9e4fb7da13cf7a6cc69, type: 3}
propertyPath: m_AnchorMax.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8225402012417639457, guid: 54087b4bd46db9e4fb7da13cf7a6cc69, type: 3}
propertyPath: m_AnchorMin.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8225402012417639457, guid: 54087b4bd46db9e4fb7da13cf7a6cc69, type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8225402012417639457, guid: 54087b4bd46db9e4fb7da13cf7a6cc69, type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8468773744509512601, guid: 54087b4bd46db9e4fb7da13cf7a6cc69, type: 3}
propertyPath: m_AnchorMax.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8468773744509512601, guid: 54087b4bd46db9e4fb7da13cf7a6cc69, type: 3}
propertyPath: m_AnchorMin.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8468773744509512601, guid: 54087b4bd46db9e4fb7da13cf7a6cc69, type: 3}
propertyPath: m_SizeDelta.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8468773744509512601, guid: 54087b4bd46db9e4fb7da13cf7a6cc69, type: 3}
propertyPath: m_SizeDelta.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8468773744509512601, guid: 54087b4bd46db9e4fb7da13cf7a6cc69, type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8468773744509512601, guid: 54087b4bd46db9e4fb7da13cf7a6cc69, type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8744015103177123418, guid: 54087b4bd46db9e4fb7da13cf7a6cc69, type: 3}
propertyPath: m_AnchorMax.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8744015103177123418, guid: 54087b4bd46db9e4fb7da13cf7a6cc69, type: 3}
propertyPath: m_AnchorMin.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8744015103177123418, guid: 54087b4bd46db9e4fb7da13cf7a6cc69, type: 3}
propertyPath: m_SizeDelta.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8744015103177123418, guid: 54087b4bd46db9e4fb7da13cf7a6cc69, type: 3}
propertyPath: m_SizeDelta.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8744015103177123418, guid: 54087b4bd46db9e4fb7da13cf7a6cc69, type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8744015103177123418, guid: 54087b4bd46db9e4fb7da13cf7a6cc69, type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 54087b4bd46db9e4fb7da13cf7a6cc69, type: 3}
--- !u!1001 &481770354 --- !u!1001 &481770354
PrefabInstance: PrefabInstance:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@@ -386,6 +844,18 @@ PrefabInstance:
serializedVersion: 3 serializedVersion: 3
m_TransformParent: {fileID: 1162990049} m_TransformParent: {fileID: 1162990049}
m_Modifications: m_Modifications:
- target: {fileID: 175175724983342716, guid: d8795051068c4f84e84c227a6618e587, type: 3}
propertyPath: m_AnchorMax.x
value: 0.7
objectReference: {fileID: 0}
- target: {fileID: 175175724983342716, guid: d8795051068c4f84e84c227a6618e587, type: 3}
propertyPath: m_AnchorMax.y
value: 1
objectReference: {fileID: 0}
- target: {fileID: 175175724983342716, guid: d8795051068c4f84e84c227a6618e587, type: 3}
propertyPath: m_AnchorMin.x
value: 0.7
objectReference: {fileID: 0}
- target: {fileID: 1384280946776679044, guid: d8795051068c4f84e84c227a6618e587, type: 3} - target: {fileID: 1384280946776679044, guid: d8795051068c4f84e84c227a6618e587, type: 3}
propertyPath: m_Pivot.x propertyPath: m_Pivot.x
value: 0.5 value: 0.5
@@ -488,11 +958,11 @@ PrefabInstance:
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 5400690622487782688, guid: d8795051068c4f84e84c227a6618e587, type: 3} - target: {fileID: 5400690622487782688, guid: d8795051068c4f84e84c227a6618e587, type: 3}
propertyPath: m_AnchorMax.x propertyPath: m_AnchorMax.x
value: 0 value: 0.7
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 5400690622487782688, guid: d8795051068c4f84e84c227a6618e587, type: 3} - target: {fileID: 5400690622487782688, guid: d8795051068c4f84e84c227a6618e587, type: 3}
propertyPath: m_AnchorMax.y propertyPath: m_AnchorMax.y
value: 0 value: 1
objectReference: {fileID: 0} objectReference: {fileID: 0}
m_RemovedComponents: [] m_RemovedComponents: []
m_RemovedGameObjects: m_RemovedGameObjects:
@@ -652,6 +1122,68 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
m_Name: m_Name:
m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TextMeshProUGUI m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TextMeshProUGUI
--- !u!1 &972424299
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 972424300}
- component: {fileID: 972424301}
m_Layer: 5
m_Name: Bad Abnormalities
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &972424300
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 972424299}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 1269404371}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 400, y: 100}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &972424301
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 972424299}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3}
m_Name:
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.HorizontalLayoutGroup
m_Padding:
m_Left: 0
m_Right: 0
m_Top: 0
m_Bottom: 0
m_ChildAlignment: 0
m_Spacing: 0
m_ChildForceExpandWidth: 1
m_ChildForceExpandHeight: 1
m_ChildControlWidth: 0
m_ChildControlHeight: 0
m_ChildScaleWidth: 0
m_ChildScaleHeight: 0
m_ReverseArrangement: 0
--- !u!1 &998115954 --- !u!1 &998115954
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@@ -795,7 +1327,7 @@ GameObject:
m_Icon: {fileID: 0} m_Icon: {fileID: 0}
m_NavMeshLayer: 0 m_NavMeshLayer: 0
m_StaticEditorFlags: 0 m_StaticEditorFlags: 0
m_IsActive: 1 m_IsActive: 0
--- !u!224 &1162990049 --- !u!224 &1162990049
RectTransform: RectTransform:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@@ -810,6 +1342,7 @@ RectTransform:
m_Children: m_Children:
- {fileID: 281797460} - {fileID: 281797460}
- {fileID: 481770355} - {fileID: 481770355}
- {fileID: 115810402}
m_Father: {fileID: 260528176} m_Father: {fileID: 260528176}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0} m_AnchorMin: {x: 0, y: 0}
@@ -858,6 +1391,88 @@ MonoBehaviour:
useColorTransition: 0 useColorTransition: 0
smoothTransition: 1 smoothTransition: 1
lerpSpeed: 15 lerpSpeed: 15
--- !u!1 &1269404370
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1269404371}
- component: {fileID: 1269404372}
- component: {fileID: 1269404373}
m_Layer: 5
m_Name: Abnormalities
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1269404371
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1269404370}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 1873670928}
- {fileID: 972424300}
m_Father: {fileID: 260528176}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0}
m_AnchorMax: {x: 0.5, y: 0}
m_AnchoredPosition: {x: -520, y: 120}
m_SizeDelta: {x: 400, y: 200}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &1269404372
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1269404370}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3}
m_Name:
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.VerticalLayoutGroup
m_Padding:
m_Left: 0
m_Right: 0
m_Top: 0
m_Bottom: 0
m_ChildAlignment: 0
m_Spacing: 0
m_ChildForceExpandWidth: 1
m_ChildForceExpandHeight: 1
m_ChildControlWidth: 0
m_ChildControlHeight: 0
m_ChildScaleWidth: 0
m_ChildScaleHeight: 0
m_ReverseArrangement: 0
--- !u!114 &1269404373
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1269404370}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 15447f4a4d271354fb52bbdf1a526c6e, type: 3}
m_Name:
m_EditorClassIdentifier:
buffContainer: {fileID: 1873670928}
debuffContainer: {fileID: 972424300}
slotPrefab: {fileID: 5402880947663824673, guid: 60d898ecea82b6c429850e04d2e95b7c, type: 3}
maxSlots: 10
autoFindPlayer: 1
--- !u!1 &1432187382 --- !u!1 &1432187382
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@@ -1106,6 +1721,68 @@ Transform:
m_Children: [] m_Children: []
m_Father: {fileID: 0} m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &1873670927
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1873670928}
- component: {fileID: 1873670929}
m_Layer: 5
m_Name: Good Abnormalities
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1873670928
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1873670927}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 1269404371}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 400, y: 100}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &1873670929
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1873670927}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3}
m_Name:
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.HorizontalLayoutGroup
m_Padding:
m_Left: 0
m_Right: 0
m_Top: 0
m_Bottom: 0
m_ChildAlignment: 0
m_Spacing: 0
m_ChildForceExpandWidth: 1
m_ChildForceExpandHeight: 1
m_ChildControlWidth: 0
m_ChildControlHeight: 0
m_ChildScaleWidth: 0
m_ChildScaleHeight: 0
m_ReverseArrangement: 0
--- !u!1 &2122318093 --- !u!1 &2122318093
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@@ -1243,6 +1920,11 @@ MonoBehaviour:
m_VarianceClampScale: 0.9 m_VarianceClampScale: 0.9
m_ContrastAdaptiveSharpening: 0 m_ContrastAdaptiveSharpening: 0
m_Version: 2 m_Version: 2
--- !u!224 &7078605117837265129 stripped
RectTransform:
m_CorrespondingSourceObject: {fileID: 7078605118272955058, guid: 54087b4bd46db9e4fb7da13cf7a6cc69, type: 3}
m_PrefabInstance: {fileID: 437791323}
m_PrefabAsset: {fileID: 0}
--- !u!1660057539 &9223372036854775807 --- !u!1660057539 &9223372036854775807
SceneRoots: SceneRoots:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
+8
View File
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: bc6434195fb88a443939a5a0b2747f0a
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,101 @@
using System;
using System.Collections.Generic;
using UnityEngine;
using Colosseum.Stats;
namespace Colosseum.Abnormalities
{
/// <summary>
/// 제어 효과 타입
/// </summary>
public enum ControlType
{
None, // 제어 효과 없음
Stun, // 기절 (이동, 스킬 사용 불가)
Silence, // 침묵 (스킬 사용 불가)
Slow // 둔화 (이동 속도 감소)
}
/// <summary>
/// 스탯 수정자 엔트리
/// </summary>
[Serializable]
public class AbnormalityStatModifier
{
[Tooltip("수정할 스탯 타입")]
public StatType statType;
[Tooltip("수정값")]
public float value;
[Tooltip("수정 타입 (Flat: 고정값, PercentAdd: 퍼센트 합산, PercentMult: 퍼센트 곱셈)")]
public StatModType modType;
public AbnormalityStatModifier() { }
public AbnormalityStatModifier(StatType statType, float value, StatModType modType)
{
this.statType = statType;
this.value = value;
this.modType = modType;
}
}
/// <summary>
/// 이상 상태 정의 ScriptableObject
/// 버프/디버프의 데이터를 정의합니다.
/// </summary>
[CreateAssetMenu(fileName = "AbnormalityData", menuName = "Colosseum/Abnormalities/Abnormality")]
public class AbnormalityData : ScriptableObject
{
[Header("기본 정보")]
[Tooltip("이상 상태 이름")]
public string abnormalityName = "Abnormality";
[Tooltip("아이콘")]
public Sprite icon;
[Tooltip("지속 시간 (초, 0 이하면 영구)")]
public float duration = 5f;
[Tooltip("효과 레벨 (중복 처리용, 높으면 우선)")]
public int level = 1;
[Tooltip("디버프 여부")]
public bool isDebuff = false;
[Header("스탯 수정자")]
[Tooltip("스탯에 적용할 수정자 목록")]
public List<AbnormalityStatModifier> statModifiers = new List<AbnormalityStatModifier>();
[Header("주기적 효과 (DoT/HoT)")]
[Tooltip("주기적 효과 간격 (초, 0이면 비활성)")]
public float periodicInterval = 0f;
[Tooltip("주기적 효과값 (양수=힐, 음수=데미지)")]
public float periodicValue = 0f;
[Header("제어 효과 (CC)")]
[Tooltip("제어 효과 타입")]
public ControlType controlType = ControlType.None;
[Tooltip("둔화 배율 (Slow일 때, 0.5 = 50% 감소)")]
[Range(0f, 1f)]
public float slowMultiplier = 0.5f;
/// <summary>
/// 영구 효과인지 확인
/// </summary>
public bool IsPermanent => duration <= 0f;
/// <summary>
/// 주기적 효과가 있는지 확인
/// </summary>
public bool HasPeriodicEffect => periodicInterval > 0f && periodicValue != 0f;
/// <summary>
/// 제어 효과가 있는지 확인
/// </summary>
public bool HasControlEffect => controlType != ControlType.None;
}
}
@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: b08cc671f858a3b409170a5356e960a0
@@ -0,0 +1,494 @@
using System;
using System.Collections.Generic;
using UnityEngine;
using Unity.Netcode;
using Colosseum.Stats;
using Colosseum.Player;
namespace Colosseum.Abnormalities
{
/// <summary>
/// 캐릭터에 부착되어 이상 상태를 관리하는 컴포넌트
/// 버프/디버프의 적용, 제거, 주기적 효과를 처리합니다.
/// </summary>
public class AbnormalityManager : NetworkBehaviour
{
[Header("References")]
[Tooltip("CharacterStats 컴포넌트 (없으면 자동 검색)")]
[SerializeField] private CharacterStats characterStats;
[Tooltip("PlayerNetworkController 컴포넌트 (HP/MP 관리용)")]
[SerializeField] private PlayerNetworkController networkController;
// 활성화된 이상 상태 목록
private readonly List<ActiveAbnormality> activeAbnormalities = new List<ActiveAbnormality>();
// 제어 효과 상태
private int stunCount;
private int silenceCount;
private float slowMultiplier = 1f;
// 네트워크 동기화용 데이터
private NetworkList<AbnormalitySyncData> syncedAbnormalities;
/// <summary>
/// 기절 상태 여부
/// </summary>
public bool IsStunned => stunCount > 0;
/// <summary>
/// 침묵 상태 여부
/// </summary>
public bool IsSilenced => silenceCount > 0;
/// <summary>
/// 이동 속도 배율 (1.0 = 기본, 0.5 = 50% 감소)
/// </summary>
public float MoveSpeedMultiplier => slowMultiplier;
/// <summary>
/// 행동 가능 여부 (기절이 아닐 때)
/// </summary>
public bool CanAct => !IsStunned;
/// <summary>
/// 스킬 사용 가능 여부
/// </summary>
public bool CanUseSkills => !IsStunned && !IsSilenced;
/// <summary>
/// 활성화된 이상 상태 목록 (읽기 전용)
/// </summary>
public IReadOnlyList<ActiveAbnormality> ActiveAbnormalities => activeAbnormalities;
// 이벤트
public event Action<ActiveAbnormality> OnAbnormalityAdded;
public event Action<ActiveAbnormality> OnAbnormalityRemoved;
public event Action OnAbnormalitiesChanged;
/// <summary>
/// 네트워크 동기화용 이상 상태 데이터 구조체
/// </summary>
private struct AbnormalitySyncData : INetworkSerializable, IEquatable<AbnormalitySyncData>
{
public int AbnormalityId;
public float RemainingDuration;
public ulong SourceClientId;
public void NetworkSerialize<T>(BufferSerializer<T> serializer) where T : IReaderWriter
{
serializer.SerializeValue(ref AbnormalityId);
serializer.SerializeValue(ref RemainingDuration);
serializer.SerializeValue(ref SourceClientId);
}
public bool Equals(AbnormalitySyncData other)
{
return AbnormalityId == other.AbnormalityId;
}
}
private void Awake()
{
if (characterStats == null)
characterStats = GetComponent<CharacterStats>();
if (networkController == null)
networkController = GetComponent<PlayerNetworkController>();
syncedAbnormalities = new NetworkList<AbnormalitySyncData>();
}
public override void OnNetworkSpawn()
{
syncedAbnormalities.OnListChanged += OnSyncedAbnormalitiesChanged;
}
public override void OnNetworkDespawn()
{
syncedAbnormalities.OnListChanged -= OnSyncedAbnormalitiesChanged;
}
private void Update()
{
if (!IsServer) return;
UpdateAbnormalities(Time.deltaTime);
}
/// <summary>
/// 이상 상태 적용
/// </summary>
/// <param name="data">적용할 이상 상태 데이터</param>
/// <param name="source">효과 시전자</param>
public void ApplyAbnormality(AbnormalityData data, GameObject source)
{
if (data == null)
{
Debug.LogWarning("[Abnormality] ApplyAbnormality called with null data");
return;
}
if (IsServer)
{
ApplyAbnormalityInternal(data, source);
}
else
{
var sourceNetId = source != null && source.TryGetComponent<NetworkObject>(out var netObj) ? netObj.NetworkObjectId : 0UL;
ApplyAbnormalityServerRpc(data.GetInstanceID(), sourceNetId);
}
}
[Rpc(SendTo.Server)]
private void ApplyAbnormalityServerRpc(int dataId, ulong sourceNetworkId)
{
var data = FindAbnormalityDataById(dataId);
if (data == null)
{
Debug.LogWarning($"[Abnormality] Could not find data with ID: {dataId}");
return;
}
GameObject source = null;
if (sourceNetworkId != 0UL && NetworkManager.Singleton.SpawnManager.SpawnedObjects.TryGetValue(sourceNetworkId, out var netObj))
{
source = netObj.gameObject;
}
ApplyAbnormalityInternal(data, source);
}
private void ApplyAbnormalityInternal(AbnormalityData data, GameObject source)
{
var existing = FindExistingAbnormality(data);
if (existing != null)
{
if (existing.Data == data)
{
existing.RefreshDuration();
UpdateSyncedAbnormalityDuration(existing);
Debug.Log($"[Abnormality] Refreshed {data.abnormalityName} on {gameObject.name}");
return;
}
if (data.level > existing.Data.level)
{
RemoveAbnormalityInternal(existing);
}
else
{
Debug.Log($"[Abnormality] Ignored {data.abnormalityName} (level {data.level}) - existing level {existing.Data.level} is higher or equal");
return;
}
}
var newAbnormality = new ActiveAbnormality(data, source);
activeAbnormalities.Add(newAbnormality);
ApplyStatModifiers(newAbnormality);
ApplyControlEffect(data);
SyncAbnormalityAdd(newAbnormality, source);
OnAbnormalityAdded?.Invoke(newAbnormality);
OnAbnormalitiesChanged?.Invoke();
Debug.Log($"[Abnormality] Applied {data.abnormalityName} (level {data.level}) to {gameObject.name} for {data.duration}s");
}
/// <summary>
/// 이상 상태 제거
/// </summary>
/// <param name="data">제거할 이상 상태 데이터</param>
public void RemoveAbnormality(AbnormalityData data)
{
if (data == null) return;
if (IsServer)
{
var abnormality = FindExistingAbnormality(data);
if (abnormality != null)
{
RemoveAbnormalityInternal(abnormality);
}
}
else
{
RemoveAbnormalityServerRpc(data.GetInstanceID());
}
}
[Rpc(SendTo.Server)]
private void RemoveAbnormalityServerRpc(int dataId)
{
var abnormality = activeAbnormalities.Find(a => a.Data.GetInstanceID() == dataId);
if (abnormality != null)
{
RemoveAbnormalityInternal(abnormality);
}
}
private void RemoveAbnormalityInternal(ActiveAbnormality abnormality)
{
RemoveStatModifiers(abnormality);
RemoveControlEffect(abnormality.Data);
SyncAbnormalityRemove(abnormality);
activeAbnormalities.Remove(abnormality);
OnAbnormalityRemoved?.Invoke(abnormality);
OnAbnormalitiesChanged?.Invoke();
Debug.Log($"[Abnormality] Removed {abnormality.Data.abnormalityName} from {gameObject.name}");
}
/// <summary>
/// 모든 이상 상태 제거
/// </summary>
public void RemoveAllAbnormalities()
{
if (!IsServer)
{
RemoveAllAbnormalitiesServerRpc();
return;
}
while (activeAbnormalities.Count > 0)
{
RemoveAbnormalityInternal(activeAbnormalities[0]);
}
}
[Rpc(SendTo.Server)]
private void RemoveAllAbnormalitiesServerRpc()
{
RemoveAllAbnormalities();
}
/// <summary>
/// 특정 출처의 모든 이상 상태 제거
/// </summary>
public void RemoveAbnormalitiesFromSource(GameObject source)
{
if (!IsServer)
{
var sourceNetId = source != null && source.TryGetComponent<NetworkObject>(out var netObj) ? netObj.NetworkObjectId : 0UL;
RemoveAbnormalitiesFromSourceServerRpc(sourceNetId);
return;
}
for (int i = activeAbnormalities.Count - 1; i >= 0; i--)
{
if (activeAbnormalities[i].Source == source)
{
RemoveAbnormalityInternal(activeAbnormalities[i]);
}
}
}
[Rpc(SendTo.Server)]
private void RemoveAbnormalitiesFromSourceServerRpc(ulong sourceNetworkId)
{
for (int i = activeAbnormalities.Count - 1; i >= 0; i--)
{
var abnormality = activeAbnormalities[i];
var sourceNetId = abnormality.Source != null && abnormality.Source.TryGetComponent<NetworkObject>(out var netObj) ? netObj.NetworkObjectId : 0UL;
if (sourceNetId == sourceNetworkId)
{
RemoveAbnormalityInternal(abnormality);
}
}
}
private void UpdateAbnormalities(float deltaTime)
{
for (int i = activeAbnormalities.Count - 1; i >= 0; i--)
{
var abnormality = activeAbnormalities[i];
if (abnormality.CanTriggerPeriodic())
{
TriggerPeriodicEffect(abnormality);
}
if (abnormality.Tick(deltaTime))
{
RemoveAbnormalityInternal(abnormality);
}
}
}
private void TriggerPeriodicEffect(ActiveAbnormality abnormality)
{
if (networkController == null) return;
float value = abnormality.Data.periodicValue;
if (value > 0)
{
networkController.RestoreHealthRpc(value);
Debug.Log($"[Abnormality] Periodic heal: +{value} HP from {abnormality.Data.abnormalityName}");
}
else if (value < 0)
{
networkController.TakeDamageRpc(-value);
Debug.Log($"[Abnormality] Periodic damage: {-value} HP from {abnormality.Data.abnormalityName}");
}
}
private ActiveAbnormality FindExistingAbnormality(AbnormalityData data)
{
return activeAbnormalities.Find(a => a.Data.abnormalityName == data.abnormalityName);
}
private void ApplyStatModifiers(ActiveAbnormality abnormality)
{
if (characterStats == null) return;
foreach (var entry in abnormality.Data.statModifiers)
{
var stat = characterStats.GetStat(entry.statType);
if (stat != null)
{
var modifier = new StatModifier(entry.value, entry.modType, abnormality);
abnormality.AppliedModifiers.Add(modifier);
stat.AddModifier(modifier);
}
}
}
private void RemoveStatModifiers(ActiveAbnormality abnormality)
{
if (characterStats == null) return;
foreach (StatType statType in Enum.GetValues(typeof(StatType)))
{
var stat = characterStats.GetStat(statType);
stat?.RemoveAllModifiersFromSource(abnormality);
}
abnormality.AppliedModifiers.Clear();
}
private void ApplyControlEffect(AbnormalityData data)
{
switch (data.controlType)
{
case ControlType.Stun:
stunCount++;
break;
case ControlType.Silence:
silenceCount++;
break;
case ControlType.Slow:
slowMultiplier = Mathf.Min(slowMultiplier, data.slowMultiplier);
break;
}
}
private void RemoveControlEffect(AbnormalityData data)
{
switch (data.controlType)
{
case ControlType.Stun:
stunCount = Mathf.Max(0, stunCount - 1);
break;
case ControlType.Silence:
silenceCount = Mathf.Max(0, silenceCount - 1);
break;
case ControlType.Slow:
RecalculateSlowMultiplier();
break;
}
}
private void RecalculateSlowMultiplier()
{
slowMultiplier = 1f;
foreach (var abnormality in activeAbnormalities)
{
if (abnormality.Data.controlType == ControlType.Slow)
{
slowMultiplier = Mathf.Min(slowMultiplier, abnormality.Data.slowMultiplier);
}
}
}
private void SyncAbnormalityAdd(ActiveAbnormality abnormality, GameObject source)
{
var sourceClientId = source != null && source.TryGetComponent<NetworkObject>(out var netObj) ? netObj.OwnerClientId : 0UL;
var syncData = new AbnormalitySyncData
{
AbnormalityId = abnormality.Data.GetInstanceID(),
RemainingDuration = abnormality.RemainingDuration,
SourceClientId = sourceClientId
};
syncedAbnormalities.Add(syncData);
}
private void UpdateSyncedAbnormalityDuration(ActiveAbnormality abnormality)
{
for (int i = 0; i < syncedAbnormalities.Count; i++)
{
if (syncedAbnormalities[i].AbnormalityId == abnormality.Data.GetInstanceID())
{
var syncData = syncedAbnormalities[i];
syncData.RemainingDuration = abnormality.RemainingDuration;
syncedAbnormalities[i] = syncData;
break;
}
}
}
private void SyncAbnormalityRemove(ActiveAbnormality abnormality)
{
for (int i = 0; i < syncedAbnormalities.Count; i++)
{
if (syncedAbnormalities[i].AbnormalityId == abnormality.Data.GetInstanceID())
{
syncedAbnormalities.RemoveAt(i);
break;
}
}
}
private void OnSyncedAbnormalitiesChanged(NetworkListEvent<AbnormalitySyncData> changeEvent)
{
OnAbnormalitiesChanged?.Invoke();
}
private AbnormalityData FindAbnormalityDataById(int instanceId)
{
var allData = Resources.FindObjectsOfTypeAll<AbnormalityData>();
foreach (var data in allData)
{
if (data.GetInstanceID() == instanceId)
return data;
}
return null;
}
/// <summary>
/// 특정 이름의 이상 상태가 활성화되어 있는지 확인
/// </summary>
public bool HasAbnormality(string name)
{
return activeAbnormalities.Exists(a => a.Data.abnormalityName == name);
}
/// <summary>
/// 특정 데이터의 이상 상태가 활성화되어 있는지 확인
/// </summary>
public bool HasAbnormality(AbnormalityData data)
{
return activeAbnormalities.Exists(a => a.Data.abnormalityName == data.abnormalityName);
}
}
}
@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 7a766b6ab825c1445a3385079bb32cc5
@@ -0,0 +1,134 @@
using System;
using System.Collections.Generic;
using UnityEngine;
using Colosseum.Stats;
namespace Colosseum.Abnormalities
{
/// <summary>
/// 런타임 활성 이상 상태 인스턴스
/// AbnormalityData의 인스턴스로, 실제 적용 중인 이상 상태를 관리합니다.
/// </summary>
public class ActiveAbnormality
{
/// <summary>
/// 이상 상태 데이터
/// </summary>
public AbnormalityData Data { get; }
/// <summary>
/// 효과를 건 대상 (버프/디버프 시전자)
/// </summary>
public GameObject Source { get; }
/// <summary>
/// 남은 지속 시간
/// </summary>
public float RemainingDuration { get; set; }
/// <summary>
/// 적용된 스탯 수정자 목록
/// </summary>
public List<StatModifier> AppliedModifiers { get; }
/// <summary>
/// 주기적 효과 타이머
/// </summary>
public float PeriodicTimer { get; set; }
/// <summary>
/// 고유 식별자 (네트워크 동기화용)
/// </summary>
public Guid Id { get; }
/// <summary>
/// 활성 이상 상태 생성
/// </summary>
/// <param name="data">이상 상태 데이터</param>
/// <param name="source">효과 시전자</param>
public ActiveAbnormality(AbnormalityData data, GameObject source)
{
Data = data;
Source = source;
RemainingDuration = data.duration;
PeriodicTimer = 0f;
Id = Guid.NewGuid();
AppliedModifiers = new List<StatModifier>();
}
/// <summary>
/// 지속 시간 갱신
/// </summary>
public void RefreshDuration()
{
RemainingDuration = Data.duration;
PeriodicTimer = 0f;
}
/// <summary>
/// 시간 경과 처리
/// </summary>
/// <param name="deltaTime">경과 시간</param>
/// <returns>효과가 만료되었으면 true</returns>
public bool Tick(float deltaTime)
{
// 영구 효과는 시간 감소 없음
if (Data.IsPermanent)
return false;
RemainingDuration -= deltaTime;
// 주기적 효과 타이머 업데이트
if (Data.HasPeriodicEffect)
{
PeriodicTimer += deltaTime;
}
return RemainingDuration <= 0f;
}
/// <summary>
/// 주기적 효과 발동 가능 여부 확인
/// </summary>
/// <returns>발동 가능하면 true</returns>
public bool CanTriggerPeriodic()
{
if (!Data.HasPeriodicEffect)
return false;
if (PeriodicTimer >= Data.periodicInterval)
{
PeriodicTimer -= Data.periodicInterval;
return true;
}
return false;
}
/// <summary>
/// 진행률 (0~1)
/// </summary>
public float Progress
{
get
{
if (Data.IsPermanent)
return 1f;
return Mathf.Clamp01(1f - (RemainingDuration / Data.duration));
}
}
/// <summary>
/// 남은 시간 비율 (1~0, UI 표시용)
/// </summary>
public float RemainingRatio
{
get
{
if (Data.IsPermanent)
return 1f;
return Mathf.Clamp01(RemainingDuration / Data.duration);
}
}
}
}
@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: b90fb3ef8cb13be4383eb397857cfa2b
@@ -0,0 +1,46 @@
using UnityEngine;
using Colosseum.Abnormalities;
namespace Colosseum.Skills.Effects
{
/// <summary>
/// 이상 상태 효과
/// AbnormalityManager를 통해 대상에게 이상 상태를 적용합니다.
/// </summary>
[CreateAssetMenu(fileName = "AbnormalityEffect", menuName = "Colosseum/Skills/Effects/Abnormality")]
public class AbnormalityEffect : SkillEffect
{
[Header("Abnormality")]
[Tooltip("적용할 이상 상태 데이터")]
[SerializeField] private AbnormalityData abnormalityData;
protected override void ApplyEffect(GameObject caster, GameObject target)
{
if (target == null) return;
if (abnormalityData == null)
{
Debug.LogWarning($"[AbnormalityEffect] AbnormalityData is not assigned");
return;
}
var abnormalityManager = target.GetComponent<AbnormalityManager>();
if (abnormalityManager == null)
{
Debug.LogWarning($"[AbnormalityEffect] Target {target.name} has no AbnormalityManager");
return;
}
abnormalityManager.ApplyAbnormality(abnormalityData, caster);
Debug.Log($"[AbnormalityEffect] Applied {abnormalityData.abnormalityName} to {target.name} from {caster?.name ?? "unknown"}");
}
/// <summary>
/// 이상 상태 데이터 설정 (런타임용)
/// </summary>
public void SetAbnormalityData(AbnormalityData data)
{
abnormalityData = data;
}
}
}
@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: bf750718c64c4bd48af905d2927351de
@@ -1,32 +0,0 @@
using UnityEngine;
namespace Colosseum.Skills.Effects
{
/// <summary>
/// 버프/디버프 효과
/// </summary>
[CreateAssetMenu(fileName = "BuffEffect", menuName = "Colosseum/Skills/Effects/Buff")]
public class BuffEffect : SkillEffect
{
[Header("Buff Settings")]
[SerializeField] private string buffName = "Buff";
[Min(0f)] [SerializeField] private float duration = 5f;
[Header("Stat Modifiers")]
[Range(0f, 10f)] [SerializeField] private float moveSpeedMultiplier = 1f;
[Range(0f, 10f)] [SerializeField] private float attackPowerMultiplier = 1f;
[Range(0f, 10f)] [SerializeField] private float defenseMultiplier = 1f;
protected override void ApplyEffect(GameObject caster, GameObject target)
{
if (target == null) return;
// TODO: 실제 버프 시스템 연동
// var buffSystem = target.GetComponent<BuffSystem>();
// buffSystem?.ApplyBuff(new BuffData(buffName, duration, moveSpeedMultiplier, attackPowerMultiplier, defenseMultiplier));
Debug.Log($"[Buff] {buffName} on {target.name} for {duration}s " +
$"(Speed: {moveSpeedMultiplier}x, ATK: {attackPowerMultiplier}x, DEF: {defenseMultiplier}x)");
}
}
}
@@ -1,2 +0,0 @@
fileFormatVersion: 2
guid: 32bab3b586da0d7469f63e03f18ee29f
+4 -2
View File
@@ -154,7 +154,8 @@ namespace Colosseum.Skills
overrideController[baseSkillClip] = clip; overrideController[baseSkillClip] = clip;
animator.runtimeAnimatorController = overrideController; animator.runtimeAnimatorController = overrideController;
// 같은 상태라도 처음부터 재생되도록 강제 리셋 // 애니메이터 완전 리셋 후 재생
animator.Rebind();
animator.Update(0f); animator.Update(0f);
animator.Play(SKILL_STATE_NAME, 0, 0f); animator.Play(SKILL_STATE_NAME, 0, 0f);
} }
@@ -174,7 +175,8 @@ namespace Colosseum.Skills
overrideController[baseSkillClip] = clip; overrideController[baseSkillClip] = clip;
animator.runtimeAnimatorController = overrideController; animator.runtimeAnimatorController = overrideController;
// 같은 상태라도 처음부터 재생되도록 강제 리셋 // 애니메이터 완전 리셋 후 재생
animator.Rebind();
animator.Update(0f); animator.Update(0f);
animator.Play(SKILL_STATE_NAME, 0, 0f); animator.Play(SKILL_STATE_NAME, 0, 0f);
} }
+8
View File
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 148d81d9974baed45b212857d96aed37
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
+338
View File
@@ -0,0 +1,338 @@
using System.Collections.Generic;
using UnityEngine;
using Colosseum.Abnormalities;
namespace Colosseum.UI
{
/// <summary>
/// 이상 상태 목록 UI 관리자
/// 버프/디버프 목록을 표시하고 관리합니다.
/// </summary>
public class AbnormalityListUI : MonoBehaviour
{
[Header("Containers")]
[Tooltip("버프 컨테이너")]
[SerializeField] private Transform buffContainer;
[Tooltip("디버프 컨테이너")]
[SerializeField] private Transform debuffContainer;
[Header("Prefab")]
[Tooltip("이상 상태 슬롯 프리팹")]
[SerializeField] private AbnormalitySlotUI slotPrefab;
[Header("Settings")]
[Tooltip("최대 표시 개수")]
[SerializeField] private int maxSlots = 10;
[Tooltip("자동으로 플레이어 추적")]
[SerializeField] private bool autoFindPlayer = true;
// 추적 중인 AbnormalityManager
private AbnormalityManager targetManager;
// 생성된 슬롯 풀
private readonly List<AbnormalitySlotUI> slotPool = new List<AbnormalitySlotUI>();
// 현재 활성화된 슬롯 목록
private readonly List<AbnormalitySlotUI> activeSlots = new List<AbnormalitySlotUI>();
// 이전 프레임의 효과 수 (변경 감지용)
private int lastAbnormalityCount = -1;
private void Start()
{
Debug.Log("[AbnormalityListUI] Start() called");
if (autoFindPlayer)
{
// 로컬 플레이어 찾기
FindLocalPlayer();
}
// 슬롯 풀 초기화
InitializeSlotPool();
Debug.Log($"[AbnormalityListUI] slotPrefab: {(slotPrefab != null ? slotPrefab.name : "NULL")}");
Debug.Log($"[AbnormalityListUI] buffContainer: {(buffContainer != null ? buffContainer.name : "NULL")}");
Debug.Log($"[AbnormalityListUI] debuffContainer: {(debuffContainer != null ? debuffContainer.name : "NULL")}");
}
private void OnDestroy()
{
// 이벤트 구독 해제
if (targetManager != null)
{
targetManager.OnAbnormalityAdded -= OnAbnormalityAdded;
targetManager.OnAbnormalityRemoved -= OnAbnormalityRemoved;
targetManager.OnAbnormalitiesChanged -= OnAbnormalitiesChanged;
}
}
private void Update()
{
// 타겟이 없으면 주기적으로 플레이어 찾기
if (targetManager == null && autoFindPlayer && Time.frameCount % 30 == 0)
{
FindLocalPlayer();
}
// 주기적으로 UI 갱신 (성능 최적화를 위해 매 프레임이 아닌 일정 간격으로)
if (Time.frameCount % 10 == 0) // 10프레임마다 한 번
{
RefreshUI();
}
}
/// <summary>
/// 로컬 플레이어 찾기
/// </summary>
private void FindLocalPlayer()
{
var playerObjects = FindObjectsByType<AbnormalityManager>(FindObjectsSortMode.None);
Debug.Log($"[AbnormalityListUI] Found {playerObjects.Length} AbnormalityManager(s)");
foreach (var manager in playerObjects)
{
// 네트워크 오브젝트인 경우 로컬 플레이어 확인
if (manager.TryGetComponent<Unity.Netcode.NetworkObject>(out var netObj))
{
Debug.Log($"[AbnormalityListUI] Checking {manager.gameObject.name}, IsOwner: {netObj.IsOwner}");
if (netObj.IsOwner)
{
Debug.Log($"[AbnormalityListUI] Setting target to local player: {manager.gameObject.name}");
SetTarget(manager);
return;
}
}
}
// 네트워크 오브젝트가 없거나 로컬 플레이어를 찾지 못한 경우
// 첫 번째 플레이어 사용 (싱글플레이어용)
if (playerObjects.Length > 0)
{
Debug.Log($"[AbnormalityListUI] No local player found, using first manager: {playerObjects[0].gameObject.name}");
SetTarget(playerObjects[0]);
}
else
{
Debug.LogWarning("[AbnormalityListUI] No AbnormalityManager found!");
}
}
/// <summary>
/// 추적 대상 설정
/// </summary>
/// <param name="manager">추적할 AbnormalityManager</param>
public void SetTarget(AbnormalityManager manager)
{
Debug.Log($"[AbnormalityListUI] SetTarget called with: {(manager != null ? manager.gameObject.name : "null")}");
// 기존 구독 해제
if (targetManager != null)
{
targetManager.OnAbnormalityAdded -= OnAbnormalityAdded;
targetManager.OnAbnormalityRemoved -= OnAbnormalityRemoved;
targetManager.OnAbnormalitiesChanged -= OnAbnormalitiesChanged;
}
targetManager = manager;
// 새로운 대상 구독
if (targetManager != null)
{
targetManager.OnAbnormalityAdded += OnAbnormalityAdded;
targetManager.OnAbnormalityRemoved += OnAbnormalityRemoved;
targetManager.OnAbnormalitiesChanged += OnAbnormalitiesChanged;
Debug.Log("[AbnormalityListUI] Events subscribed successfully");
}
// 즉시 UI 갱신
ForceRefreshUI();
}
/// <summary>
/// 슬롯 풀 초기화
/// </summary>
private void InitializeSlotPool()
{
if (slotPrefab == null)
{
Debug.LogWarning("[AbnormalityListUI] Slot prefab is not assigned");
return;
}
// 필요한 만큼 슬롯 미리 생성
for (int i = 0; i < maxSlots; i++)
{
var slot = CreateSlot();
slot.gameObject.SetActive(false);
slotPool.Add(slot);
}
}
/// <summary>
/// 새 슬롯 생성
/// </summary>
private AbnormalitySlotUI CreateSlot()
{
var go = Instantiate(slotPrefab.gameObject, transform);
return go.GetComponent<AbnormalitySlotUI>();
}
/// <summary>
/// 슬롯 가져오기 (풀에서 또는 새로 생성)
/// </summary>
private AbnormalitySlotUI GetSlot()
{
// 풀에서 비활성화된 슬롯 찾기
foreach (var slot in slotPool)
{
if (!slot.gameObject.activeSelf)
{
return slot;
}
}
// 풀에 없으면 새로 생성
if (slotPool.Count < maxSlots)
{
var newSlot = CreateSlot();
slotPool.Add(newSlot);
return newSlot;
}
return null;
}
/// <summary>
/// 슬롯 반환 (비활성화)
/// </summary>
private void ReturnSlot(AbnormalitySlotUI slot)
{
slot.gameObject.SetActive(false);
activeSlots.Remove(slot);
}
/// <summary>
/// 이상 상태 추가 시 호출
/// </summary>
private void OnAbnormalityAdded(ActiveAbnormality abnormality)
{
Debug.Log($"[AbnormalityListUI] OnAbnormalityAdded event received: {abnormality.Data.abnormalityName}");
ForceRefreshUI();
}
/// <summary>
/// 이상 상태 제거 시 호출
/// </summary>
private void OnAbnormalityRemoved(ActiveAbnormality abnormality)
{
Debug.Log($"[AbnormalityListUI] OnAbnormalityRemoved event received: {abnormality.Data.abnormalityName}");
ForceRefreshUI();
}
/// <summary>
/// 이상 상태 변경 시 호출
/// </summary>
private void OnAbnormalitiesChanged()
{
Debug.Log("[AbnormalityListUI] OnAbnormalitiesChanged event received");
ForceRefreshUI();
}
/// <summary>
/// UI 강제 갱신
/// </summary>
public void ForceRefreshUI()
{
if (targetManager == null)
{
Debug.LogWarning("[AbnormalityListUI] ForceRefreshUI called but targetManager is null");
return;
}
// 모든 슬롯 반환
foreach (var slot in activeSlots.ToArray())
{
ReturnSlot(slot);
}
activeSlots.Clear();
// 활성화된 이상 상태 표시
var abnormalities = targetManager.ActiveAbnormalities;
Debug.Log($"[AbnormalityListUI] ForceRefreshUI: {abnormalities.Count} abnormalities found");
foreach (var abnormality in abnormalities)
{
var slot = GetSlot();
if (slot == null)
{
Debug.LogWarning("[AbnormalityListUI] Could not get slot from pool");
continue;
}
// 버프/디버프에 따라 적절한 컨테이너에 배치
Transform container = abnormality.Data.isDebuff ? debuffContainer : buffContainer;
if (container == null) container = transform;
Debug.Log($"[AbnormalityListUI] Adding slot for: {abnormality.Data.abnormalityName}, isDebuff: {abnormality.Data.isDebuff}, container: {container.name}");
slot.transform.SetParent(container, false);
slot.Initialize(abnormality);
slot.gameObject.SetActive(true);
activeSlots.Add(slot);
}
lastAbnormalityCount = abnormalities.Count;
}
/// <summary>
/// UI 주기적 갱신 (변경 감지 시에만)
/// </summary>
private void RefreshUI()
{
if (targetManager == null) return;
int currentCount = targetManager.ActiveAbnormalities.Count;
// 이상 상태 수가 변경되었으면 갱신
if (currentCount != lastAbnormalityCount)
{
ForceRefreshUI();
}
// 활성 슬롯들의 지속 시간 업데이트
UpdateSlotDurations();
}
/// <summary>
/// 모든 활성 슬롯의 지속 시간 업데이트
/// </summary>
private void UpdateSlotDurations()
{
foreach (var slot in activeSlots)
{
if (slot != null && slot.TrackedAbnormality != null)
{
var abnormality = slot.TrackedAbnormality;
slot.UpdateDisplay(abnormality.RemainingDuration, abnormality.Data.duration);
}
}
}
/// <summary>
/// 모든 슬롯 숨기기
/// </summary>
public void HideAll()
{
foreach (var slot in activeSlots.ToArray())
{
ReturnSlot(slot);
}
activeSlots.Clear();
}
}
}
@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 15447f4a4d271354fb52bbdf1a526c6e
+152
View File
@@ -0,0 +1,152 @@
using UnityEngine;
using UnityEngine.UI;
using TMPro;
using Colosseum.Abnormalities;
namespace Colosseum.UI
{
/// <summary>
/// 개별 이상 상태 UI 슬롯
/// 버프/디버프 아이콘, 지속 시간 등을 표시합니다.
/// </summary>
public class AbnormalitySlotUI : MonoBehaviour
{
[Header("UI References")]
[Tooltip("이상 상태 아이콘")]
[SerializeField] private Image iconImage;
[Tooltip("지속 시간 채우기 이미지 (시계 방향)")]
[SerializeField] private Image durationFill;
[Tooltip("남은 시간 텍스트")]
[SerializeField] private TMP_Text durationText;
[Tooltip("효과 이름 텍스트")]
[SerializeField] private TMP_Text effectNameText;
[Tooltip("배경 이미지 (버프/디버프 구분용)")]
[SerializeField] private Image backgroundImage;
[Header("Colors")]
[Tooltip("버프 배경 색상")]
[SerializeField] private Color buffColor = new Color(0.2f, 0.6f, 0.2f, 0.8f);
[Tooltip("디버프 배경 색상")]
[SerializeField] private Color debuffColor = new Color(0.6f, 0.2f, 0.2f, 0.8f);
private ActiveAbnormality trackedAbnormality;
/// <summary>
/// 추적 중인 활성 이상 상태
/// </summary>
public ActiveAbnormality TrackedAbnormality => trackedAbnormality;
/// <summary>
/// UI 초기화
/// </summary>
/// <param name="abnormality">표시할 활성 이상 상태</param>
public void Initialize(ActiveAbnormality abnormality)
{
trackedAbnormality = abnormality;
if (abnormality?.Data == null)
{
Debug.LogWarning("[AbnormalitySlotUI] Initialize called with null abnormality or data");
return;
}
Debug.Log($"[AbnormalitySlotUI] Initialize: {abnormality.Data.abnormalityName}, icon: {abnormality.Data.icon?.name ?? "null"}");
Debug.Log($"[AbnormalitySlotUI] UI References - iconImage: {(iconImage != null ? "OK" : "NULL")}, durationFill: {(durationFill != null ? "OK" : "NULL")}, durationText: {(durationText != null ? "OK" : "NULL")}, backgroundImage: {(backgroundImage != null ? "OK" : "NULL")}");
// Cooltime 요소 활성화 (부모 게임오브젝트들이 비활성화되어 있을 수 있음)
EnableDurationElements();
// 아이콘 설정
if (iconImage != null)
{
iconImage.sprite = abnormality.Data.icon;
iconImage.enabled = abnormality.Data.icon != null;
}
// 이름 설정
if (effectNameText != null)
{
effectNameText.text = abnormality.Data.abnormalityName;
}
else
{
Debug.LogWarning("[AbnormalitySlotUI] effectNameText is null");
}
// 배경 색상 설정 (버프/디버프 구분)
if (backgroundImage != null)
{
backgroundImage.color = abnormality.Data.isDebuff ? debuffColor : buffColor;
}
// 초기 상태 업데이트
UpdateDisplay(abnormality.RemainingDuration, abnormality.Data.duration);
}
/// <summary>
/// UI 표시 업데이트
/// </summary>
/// <param name="remainingDuration">남은 지속 시간</param>
/// <param name="totalDuration">전체 지속 시간</param>
public void UpdateDisplay(float remainingDuration, float totalDuration)
{
// 지속 시간 채우기 이미지 업데이트 (시간이 지날수록 채워짐)
if (durationFill != null && totalDuration > 0)
{
durationFill.fillAmount = 1f - (remainingDuration / totalDuration);
}
// 남은 시간 텍스트 업데이트 (정수만 표시)
if (durationText != null)
{
if (remainingDuration > 60f)
{
durationText.text = $"{(int)(remainingDuration / 60f)}:{(int)(remainingDuration % 60f):D2}";
}
else if (remainingDuration > 0f)
{
durationText.text = $"{Mathf.CeilToInt(remainingDuration)}";
}
else
{
durationText.text = string.Empty;
}
}
}
/// <summary>
/// 지속 시간 관련 UI 요소들의 부모 게임오브젝트를 활성화합니다.
/// </summary>
private void EnableDurationElements()
{
// durationFill의 모든 부모 게임오브젝트 활성화
if (durationFill != null)
{
Transform parent = durationFill.transform.parent;
while (parent != null && parent != transform)
{
parent.gameObject.SetActive(true);
parent = parent.parent;
}
}
// durationText의 모든 부모 게임오브젝트 활성화
if (durationText != null)
{
Transform parent = durationText.transform.parent;
while (parent != null && parent != transform)
{
parent.gameObject.SetActive(true);
parent = parent.parent;
}
}
}
}
}
@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 287a45a81e69cbf48845f88759cf7eb4
+116
View File
@@ -0,0 +1,116 @@
using UnityEngine;
using Colosseum.Abnormalities;
namespace Colosseum.UI
{
/// <summary>
/// 이상 상태 시스템 테스트 스크립트
/// Q 키: 버프 적용, E 키: 디버프 적용
/// 로그를 통해 OnEffect 이벤트 호출 및 이상 상태 적용 과정을 추적합니다.
/// </summary>
public class AbnormalitySystemTest : MonoBehaviour
{
private AbnormalityManager abnormalityManager;
private AbnormalityData testBuff;
private AbnormalityData testDebuff;
private float testTimer;
void Start()
{
// 플레이어에서 AbnormalityManager 찾기
abnormalityManager = GetComponent<AbnormalityManager>();
if (abnormalityManager == null)
{
Debug.LogError("[AbnormalitySystemTest] AbnormalityManager not found on player!");
return;
}
// 테스트용 이상 상태 데이터 생성 (에셋 생성)
testBuff = ScriptableObject.CreateInstance<AbnormalityData>();
testBuff.abnormalityName = "Test Buff";
testBuff.duration = 5f;
testBuff.isDebuff = false;
testDebuff = ScriptableObject.CreateInstance<AbnormalityData>();
testDebuff.abnormalityName = "Test Debuff";
testDebuff.duration = 5f;
testDebuff.isDebuff = true;
// 이벤트 구독
abnormalityManager.OnAbnormalityAdded += OnAbnormalityAdded;
abnormalityManager.OnAbnormalityRemoved += OnAbnormalityRemoved;
Debug.Log("=== Abnormality System Test Started ===");
Debug.Log("Press Q to apply buff, Press E to apply debuff");
Debug.Log($"Initial Active Abnormalities Count: {abnormalityManager.ActiveAbnormalities.Count}");
}
void Update()
{
testTimer += Time.deltaTime;
// Q 키로 버프 적용 (3초마다 1회만)
if (Input.GetKeyDown(KeyCode.Q) && testTimer >= 3f)
{
testTimer = 0f;
ApplyTestBuff();
}
// E 키로 디버프 적용 (3초마다 1회만)
if (Input.GetKeyDown(KeyCode.E) && testTimer >= 3f)
{
testTimer = 0f;
ApplyTestDebuff();
}
}
private void ApplyTestBuff()
{
if (testBuff == null || abnormalityManager == null)
{
Debug.LogWarning("[AbnormalitySystemTest] Cannot apply buff - data or manager is null");
return;
}
Debug.Log($"[AbnormalitySystemTest] >>> Applying BUFF: {testBuff.abnormalityName} to {gameObject.name}");
abnormalityManager.ApplyAbnormality(testBuff, gameObject);
}
private void ApplyTestDebuff()
{
if (testDebuff == null || abnormalityManager == null)
{
Debug.LogWarning("[AbnormalitySystemTest] Cannot apply debuff - data or manager is null");
return;
}
Debug.Log($"[AbnormalitySystemTest] >>> Applying DEBUFF: {testDebuff.abnormalityName} to {gameObject.name}");
abnormalityManager.ApplyAbnormality(testDebuff, gameObject);
}
private void OnAbnormalityAdded(ActiveAbnormality abnormality)
{
Debug.Log($"[AbnormalitySystemTest] <<< ABNORMALITY ADDED: {abnormality.Data.abnormalityName} | isDebuff: {abnormality.Data.isDebuff} | Duration: {abnormality.Data.duration}s | Remaining: {abnormality.RemainingDuration:F1}s");
}
private void OnAbnormalityRemoved(ActiveAbnormality abnormality)
{
Debug.Log($"[AbnormalitySystemTest] <<< ABNORMALITY REMOVED: {abnormality.Data.abnormalityName}");
}
void OnDestroy()
{
// 이벤트 구독 해제
if (abnormalityManager != null)
{
abnormalityManager.OnAbnormalityAdded -= OnAbnormalityAdded;
abnormalityManager.OnAbnormalityRemoved -= OnAbnormalityRemoved;
}
// 정리
if (testBuff != null) Destroy(testBuff);
if (testDebuff != null) Destroy(testDebuff);
}
}
}
@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: a1b2c3d4e5f6a7b8c9a0d1e5e3
+142
View File
@@ -0,0 +1,142 @@
using UnityEngine;
using Colosseum.Player;
using Colosseum.Skills;
namespace Colosseum.UI
{
/// <summary>
/// 스킬 퀵슬롯 UI 관리자.
/// PlayerSkillInput과 연동하여 쿨타임, 마나 등을 표시합니다.
/// </summary>
public class SkillQuickSlotUI : MonoBehaviour
{
[Header("Skill Slots")]
[Tooltip("6개의 스킬 슬롯 UI (인덱스 순서대로)")]
[SerializeField] private SkillSlotUI[] skillSlots = new SkillSlotUI[6];
[Header("Debug")]
[SerializeField] private bool debugMode = false;
[Header("Keybind Labels")]
[Tooltip("키바인딩 표시 텍스트 (기본: Q, W, E, R, A, S)")]
[SerializeField] private string[] keyLabels = { "Q", "W", "E", "R", "A", "S" };
private PlayerSkillInput playerSkillInput;
private PlayerNetworkController networkController;
private void Start()
{
// 로컬 플레이어 찾기
FindLocalPlayer();
}
private void FindLocalPlayer()
{
var players = FindObjectsByType<PlayerSkillInput>(FindObjectsSortMode.None);
if (players.Length == 0)
{
Debug.LogWarning("[SkillQuickSlotUI] No PlayerSkillInput found in scene");
return;
}
foreach (var player in players)
{
if (player.IsOwner)
{
playerSkillInput = player;
networkController = player.GetComponent<PlayerNetworkController>();
Debug.Log($"[SkillQuickSlotUI] Found local player: {player.name}");
InitializeSlots();
return;
}
}
Debug.LogWarning("[SkillQuickSlotUI] No local player found (IsOwner = false)");
}
private void InitializeSlots()
{
if (playerSkillInput == null) return;
int initializedCount = 0;
for (int i = 0; i < skillSlots.Length && i < keyLabels.Length; i++)
{
SkillData skill = playerSkillInput.GetSkill(i);
string keyLabel = i < keyLabels.Length ? keyLabels[i] : (i + 1).ToString();
if (skillSlots[i] != null)
{
skillSlots[i].Initialize(i, skill, keyLabel);
if (skill != null) initializedCount++;
}
else
{
Debug.LogWarning($"[SkillQuickSlotUI] Slot {i} is not assigned");
}
}
Debug.Log($"[SkillQuickSlotUI] Initialized {initializedCount} skill slots");
}
private void Update()
{
if (playerSkillInput == null)
{
// 플레이어가 아직 없으면 다시 찾기 시도
FindLocalPlayer();
return;
}
UpdateSlotStates();
}
private float debugLogTimer = 0f;
private void UpdateSlotStates()
{
bool shouldLog = debugMode && Time.time > debugLogTimer;
if (shouldLog) debugLogTimer = Time.time + 1f;
for (int i = 0; i < skillSlots.Length; i++)
{
if (skillSlots[i] == null) continue;
SkillData skill = playerSkillInput.GetSkill(i);
if (skill == null) continue;
float remainingCooldown = playerSkillInput.GetRemainingCooldown(i);
float totalCooldown = skill.Cooldown;
bool hasEnoughMana = networkController == null || networkController.Mana >= skill.ManaCost;
if (shouldLog && remainingCooldown > 0f)
{
Debug.Log($"[SkillQuickSlotUI] Slot {i}: {skill.SkillName}, CD: {remainingCooldown:F1}/{totalCooldown:F1}");
}
skillSlots[i].UpdateState(remainingCooldown, totalCooldown, hasEnoughMana);
}
}
/// <summary>
/// 플레이어 참조 수동 설정 (씬 전환 등에서 사용)
/// </summary>
public void SetPlayer(PlayerSkillInput player)
{
playerSkillInput = player;
networkController = player?.GetComponent<PlayerNetworkController>();
InitializeSlots();
}
/// <summary>
/// 특정 슬롯의 스킬 변경
/// </summary>
public void UpdateSkillSlot(int slotIndex, SkillData skill)
{
if (slotIndex < 0 || slotIndex >= skillSlots.Length) return;
string keyLabel = slotIndex < keyLabels.Length ? keyLabels[slotIndex] : (slotIndex + 1).ToString();
skillSlots[slotIndex].Initialize(slotIndex, skill, keyLabel);
}
}
}
@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 637160b507db7634aba029b1624bc4a5
+175
View File
@@ -0,0 +1,175 @@
using UnityEngine;
using UnityEngine.UI;
using TMPro;
using Colosseum.Skills;
namespace Colosseum.UI
{
/// <summary>
/// 개별 스킬 슬롯 UI
/// </summary>
public class SkillSlotUI : MonoBehaviour
{
[Header("References")]
[SerializeField] private Image iconImage;
[SerializeField] private Image cooldownOverlay;
[SerializeField] private TMP_Text cooldownText;
[SerializeField] private TMP_Text keybindText;
[Header("Settings")]
[SerializeField] private Color availableColor = Color.white;
[SerializeField] private Color cooldownColor = new Color(0.2f, 0.2f, 0.2f, 0.9f);
[SerializeField] private Color noManaColor = new Color(0.5f, 0.2f, 0.2f, 0.8f);
private SkillData skill;
private int slotIndex;
private bool useIconForCooldown = false;
private Animator cooldownAnimator; // 쿨다운 오버레이를 제어하는 Animator
private GameObject cooldownContainer; // 쿨다운 오버레이의 부모 GameObject (Cooldown)
public int SlotIndex => slotIndex;
private void Awake()
{
if (cooldownOverlay == null)
{
useIconForCooldown = true;
}
else if (cooldownOverlay.type != Image.Type.Filled)
{
useIconForCooldown = true;
}
else
{
// 쿨다운 오버레이의 상위 GameObject에 있는 Animator 찾기
// 구조: CooldownItem (Animator) -> Cooldown -> SPR_Cooldown (Image)
cooldownAnimator = cooldownOverlay.GetComponentInParent<Animator>();
// Animator가 Cooldown GameObject를 제어하므로
// 쿨다운 표시를 위해 Animator를 비활성화하고 수동으로 제어
if (cooldownAnimator != null)
{
cooldownAnimator.enabled = false;
// Animator가 제어하던 Cooldown GameObject 찾기
// SPR_Cooldown의 부모가 Cooldown
cooldownContainer = cooldownOverlay.transform.parent?.gameObject;
}
// 쿨다운 오버레이 초기화
cooldownOverlay.fillAmount = 0f;
cooldownOverlay.enabled = false;
// Cooldown 컨테이너 비활성화
if (cooldownContainer != null)
{
cooldownContainer.SetActive(false);
}
}
}
public void Initialize(int index, SkillData skillData, string keyLabel)
{
slotIndex = index;
skill = skillData;
if (keybindText != null)
keybindText.text = keyLabel;
if (skill != null && iconImage != null)
{
iconImage.sprite = skill.Icon;
iconImage.enabled = true;
iconImage.color = availableColor;
}
else if (iconImage != null)
{
iconImage.enabled = false;
}
Debug.Log($"[SkillSlotUI] Init slot {index}: skill={skillData?.SkillName}, useIcon={useIconForCooldown}");
}
public void UpdateState(float cooldownRemaining, float cooldownTotal, bool hasEnoughMana)
{
if (skill == null)
{
if (cooldownContainer != null) cooldownContainer.SetActive(false);
if (cooldownOverlay != null) cooldownOverlay.enabled = false;
if (cooldownText != null) cooldownText.text = "";
return;
}
if (cooldownRemaining > 0f)
{
float ratio = cooldownRemaining / cooldownTotal;
if (useIconForCooldown && iconImage != null)
{
// 아이콘 색상으로 쿨다운 표시
float brightness = Mathf.Lerp(0.3f, 1f, 1f - ratio);
iconImage.color = new Color(brightness, brightness, brightness, 1f);
}
else if (cooldownOverlay != null)
{
// Cooldown 컨테이너 활성화
if (cooldownContainer != null && !cooldownContainer.activeSelf)
{
cooldownContainer.SetActive(true);
}
// Image 컴포넌트 활성화
cooldownOverlay.enabled = true;
cooldownOverlay.fillAmount = ratio;
}
if (cooldownText != null)
{
cooldownText.text = cooldownRemaining < 1f
? $"{cooldownRemaining:F1}"
: $"{Mathf.CeilToInt(cooldownRemaining)}";
}
}
else
{
// 쿨다운 완료
if (useIconForCooldown && iconImage != null)
{
iconImage.color = hasEnoughMana ? availableColor : noManaColor;
}
else if (cooldownOverlay != null)
{
// Image 컴포넌트 비활성화
cooldownOverlay.enabled = false;
// Cooldown 컨테이너 비활성화
if (cooldownContainer != null)
{
cooldownContainer.SetActive(false);
}
}
if (cooldownText != null)
{
cooldownText.text = "";
}
}
}
public void SetSkill(SkillData skillData)
{
skill = skillData;
if (skill != null && iconImage != null)
{
iconImage.sprite = skill.Icon;
iconImage.enabled = true;
iconImage.color = availableColor;
}
else if (iconImage != null)
{
iconImage.enabled = false;
}
}
}
}
+2
View File
@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: bad7358e0082af244b16b0a515710fbc
+2 -2
View File
@@ -14,11 +14,11 @@ MonoBehaviour:
m_EditorClassIdentifier: Colosseum.Game::Colosseum.Skills.SkillData m_EditorClassIdentifier: Colosseum.Game::Colosseum.Skills.SkillData
skillName: "\uAD6C\uB974\uAE30" skillName: "\uAD6C\uB974\uAE30"
description: description:
icon: {fileID: 0} icon: {fileID: 21300000, guid: 2b3889a2bb9beb444adf6734821e1c02, type: 3}
skillClip: {fileID: -14460799136228694, guid: d6d51384d6dd17a419c1d8e2a1c0c875, type: 3} skillClip: {fileID: -14460799136228694, guid: d6d51384d6dd17a419c1d8e2a1c0c875, type: 3}
endClip: {fileID: 0} endClip: {fileID: 0}
useRootMotion: 1 useRootMotion: 1
ignoreRootMotionY: 1 ignoreRootMotionY: 1
cooldown: 1 cooldown: 10
manaCost: 0 manaCost: 0
effects: [] effects: []
+26
View File
@@ -0,0 +1,26 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: bf750718c64c4bd48af905d2927351de, type: 3}
m_Name: Melee_Slash_1
m_EditorClassIdentifier: Colosseum.Game::Colosseum.Skills.Effects.AbnormalityEffect
targetType: 0
targetTeam: 0
areaCenter: 0
areaShape: 0
targetLayers:
serializedVersion: 2
m_Bits: 0
areaRadius: 3
fanOriginDistance: 0
fanRadius: 3
fanHalfAngle: 45
abnormalityData: {fileID: 11400000, guid: da5a38e4e2c383940a34d9d8080fbbe0, type: 2}
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 75bac55a016a0da46899806f58b76ce3
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:
+26
View File
@@ -0,0 +1,26 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: bf750718c64c4bd48af905d2927351de, type: 3}
m_Name: Melee_Slash_2
m_EditorClassIdentifier: Colosseum.Game::Colosseum.Skills.Effects.AbnormalityEffect
targetType: 0
targetTeam: 0
areaCenter: 0
areaShape: 0
targetLayers:
serializedVersion: 2
m_Bits: 0
areaRadius: 3
fanOriginDistance: 0
fanRadius: 3
fanHalfAngle: 45
abnormalityData: {fileID: 11400000, guid: c4abb0f89779f294ab99562e085e8f3b, type: 2}
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 0e496b26a1dbf40488ce54cb4fe9c27b
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:
+2
View File
@@ -23,3 +23,5 @@ MonoBehaviour:
manaCost: 5 manaCost: 5
effects: effects:
- {fileID: 11400000, guid: e23fca57309ab2b4faa5c380118cd07e, type: 2} - {fileID: 11400000, guid: e23fca57309ab2b4faa5c380118cd07e, type: 2}
- {fileID: 11400000, guid: 75bac55a016a0da46899806f58b76ce3, type: 2}
- {fileID: 11400000, guid: 0e496b26a1dbf40488ce54cb4fe9c27b, type: 2}
@@ -169,255 +169,8 @@ MonoBehaviour:
m_SourceFontFilePath: m_SourceFontFilePath:
m_AtlasPopulationMode: 1 m_AtlasPopulationMode: 1
InternalDynamicOS: 0 InternalDynamicOS: 0
m_GlyphTable: m_GlyphTable: []
- m_Index: 3 m_CharacterTable: []
m_Metrics:
m_Width: 0
m_Height: 0
m_HorizontalBearingX: 0
m_HorizontalBearingY: 0
m_HorizontalAdvance: 21.09375
m_GlyphRect:
m_X: 0
m_Y: 0
m_Width: 0
m_Height: 0
m_Scale: 1
m_AtlasIndex: 0
m_ClassDefinitionType: 0
- m_Index: 43
m_Metrics:
m_Width: 38.046875
m_Height: 70
m_HorizontalBearingX: 3.828125
m_HorizontalBearingY: 70
m_HorizontalAdvance: 45.703125
m_GlyphRect:
m_X: 138
m_Y: 10
m_Width: 39
m_Height: 70
m_Scale: 1
m_AtlasIndex: 0
m_ClassDefinitionType: 0
- m_Index: 51
m_Metrics:
m_Width: 37.609375
m_Height: 70
m_HorizontalBearingX: 3.828125
m_HorizontalBearingY: 70
m_HorizontalAdvance: 42.1875
m_GlyphRect:
m_X: 70
m_Y: 130
m_Width: 39
m_Height: 70
m_Scale: 1
m_AtlasIndex: 0
m_ClassDefinitionType: 0
- m_Index: 66
m_Metrics:
m_Width: 28.609375
m_Height: 10.203125
m_HorizontalBearingX: 0.4375
m_HorizontalBearingY: 0
m_HorizontalAdvance: 29.484375
m_GlyphRect:
m_X: 89
m_Y: 10
m_Width: 30
m_Height: 11
m_Scale: 1
m_AtlasIndex: 0
m_ClassDefinitionType: 0
- m_Index: 68
m_Metrics:
m_Width: 38.8125
m_Height: 67.5
m_HorizontalBearingX: 1.796875
m_HorizontalBearingY: 66.703125
m_HorizontalAdvance: 44.125
m_GlyphRect:
m_X: 69
m_Y: 43
m_Width: 40
m_Height: 68
m_Scale: 1
m_AtlasIndex: 0
m_ClassDefinitionType: 0
- m_Index: 72
m_Metrics:
m_Width: 38.765625
m_Height: 67.5
m_HorizontalBearingX: 2.71875
m_HorizontalBearingY: 66.703125
m_HorizontalAdvance: 43.953125
m_GlyphRect:
m_X: 10
m_Y: 43
m_Width: 40
m_Height: 68
m_Scale: 1
m_AtlasIndex: 0
m_ClassDefinitionType: 0
- m_Index: 75
m_Metrics:
m_Width: 39.328125
m_Height: 77.65625
m_HorizontalBearingX: 3.6875
m_HorizontalBearingY: 77.65625
m_HorizontalAdvance: 46.53125
m_GlyphRect:
m_X: 10
m_Y: 130
m_Width: 41
m_Height: 78
m_Scale: 1
m_AtlasIndex: 0
m_ClassDefinitionType: 0
- m_Index: 76
m_Metrics:
m_Width: 15.734375
m_Height: 77.734375
m_HorizontalBearingX: 3.6875
m_HorizontalBearingY: 77.734375
m_HorizontalAdvance: 23.109375
m_GlyphRect:
m_X: 10
m_Y: 314
m_Width: 17
m_Height: 78
m_Scale: 1
m_AtlasIndex: 0
m_ClassDefinitionType: 0
- m_Index: 79
m_Metrics:
m_Width: 16
m_Height: 77.65625
m_HorizontalBearingX: 3.6875
m_HorizontalBearingY: 77.65625
m_HorizontalAdvance: 23.375
m_GlyphRect:
m_X: 196
m_Y: 10
m_Width: 17
m_Height: 78
m_Scale: 1
m_AtlasIndex: 0
m_ClassDefinitionType: 0
- m_Index: 81
m_Metrics:
m_Width: 38.71875
m_Height: 66.703125
m_HorizontalBearingX: 3.6875
m_HorizontalBearingY: 66.703125
m_HorizontalAdvance: 45.921875
m_GlyphRect:
m_X: 10
m_Y: 411
m_Width: 40
m_Height: 67
m_Scale: 1
m_AtlasIndex: 0
m_ClassDefinitionType: 0
- m_Index: 82
m_Metrics:
m_Width: 39.40625
m_Height: 67.5
m_HorizontalBearingX: 2.6875
m_HorizontalBearingY: 66.703125
m_HorizontalAdvance: 44.734375
m_GlyphRect:
m_X: 10
m_Y: 227
m_Width: 41
m_Height: 68
m_Scale: 1
m_AtlasIndex: 0
m_ClassDefinitionType: 0
- m_Index: 87
m_Metrics:
m_Width: 20.53125
m_Height: 78.1875
m_HorizontalBearingX: 2.015625
m_HorizontalBearingY: 77.390625
m_HorizontalAdvance: 25
m_GlyphRect:
m_X: 128
m_Y: 99
m_Width: 21
m_Height: 79
m_Scale: 1
m_AtlasIndex: 0
m_ClassDefinitionType: 0
- m_Index: 392
m_Metrics:
m_Width: 58.890625
m_Height: 13.09375
m_HorizontalBearingX: 2.59375
m_HorizontalBearingY: 13.140625
m_HorizontalAdvance: 64.03125
m_GlyphRect:
m_X: 10
m_Y: 10
m_Width: 60
m_Height: 14
m_Scale: 1
m_AtlasIndex: 0
m_ClassDefinitionType: 0
m_CharacterTable:
- m_ElementType: 1
m_Unicode: 32
m_GlyphIndex: 3
m_Scale: 1
- m_ElementType: 1
m_Unicode: 72
m_GlyphIndex: 43
m_Scale: 1
- m_ElementType: 1
m_Unicode: 80
m_GlyphIndex: 51
m_Scale: 1
- m_ElementType: 1
m_Unicode: 95
m_GlyphIndex: 66
m_Scale: 1
- m_ElementType: 1
m_Unicode: 97
m_GlyphIndex: 68
m_Scale: 1
- m_ElementType: 1
m_Unicode: 101
m_GlyphIndex: 72
m_Scale: 1
- m_ElementType: 1
m_Unicode: 104
m_GlyphIndex: 75
m_Scale: 1
- m_ElementType: 1
m_Unicode: 105
m_GlyphIndex: 76
m_Scale: 1
- m_ElementType: 1
m_Unicode: 108
m_GlyphIndex: 79
m_Scale: 1
- m_ElementType: 1
m_Unicode: 110
m_GlyphIndex: 81
m_Scale: 1
- m_ElementType: 1
m_Unicode: 111
m_GlyphIndex: 82
m_Scale: 1
- m_ElementType: 1
m_Unicode: 116
m_GlyphIndex: 87
m_Scale: 1
- m_ElementType: 1
m_Unicode: 8230
m_GlyphIndex: 392
m_Scale: 1
m_AtlasTextures: m_AtlasTextures:
- {fileID: 28933816116536082} - {fileID: 28933816116536082}
m_AtlasTextureIndex: 0 m_AtlasTextureIndex: 0
@@ -428,96 +181,12 @@ MonoBehaviour:
m_AtlasHeight: 1024 m_AtlasHeight: 1024
m_AtlasPadding: 9 m_AtlasPadding: 9
m_AtlasRenderMode: 4165 m_AtlasRenderMode: 4165
m_UsedGlyphRects: m_UsedGlyphRects: []
- m_X: 0
m_Y: 0
m_Width: 79
m_Height: 33
- m_X: 79
m_Y: 0
m_Width: 49
m_Height: 30
- m_X: 128
m_Y: 0
m_Width: 58
m_Height: 89
- m_X: 0
m_Y: 33
m_Width: 59
m_Height: 87
- m_X: 59
m_Y: 33
m_Width: 59
m_Height: 87
- m_X: 186
m_Y: 0
m_Width: 36
m_Height: 97
- m_X: 118
m_Y: 89
m_Width: 40
m_Height: 98
- m_X: 0
m_Y: 120
m_Width: 60
m_Height: 97
- m_X: 60
m_Y: 120
m_Width: 58
m_Height: 89
- m_X: 0
m_Y: 217
m_Width: 60
m_Height: 87
- m_X: 0
m_Y: 304
m_Width: 36
m_Height: 97
- m_X: 0
m_Y: 401
m_Width: 59
m_Height: 86
m_FreeGlyphRects: m_FreeGlyphRects:
- m_X: 79
m_Y: 30
m_Width: 49
m_Height: 3
- m_X: 222
m_Y: 0
m_Width: 801
m_Height: 1023
- m_X: 118
m_Y: 30
m_Width: 10
m_Height: 59
- m_X: 158
m_Y: 97
m_Width: 865
m_Height: 926
- m_X: 158
m_Y: 89
m_Width: 28
m_Height: 934
- m_X: 60
m_Y: 209
m_Width: 963
m_Height: 814
- m_X: 118
m_Y: 187
m_Width: 905
m_Height: 836
- m_X: 0 - m_X: 0
m_Y: 487 m_Y: 0
m_Width: 1023 m_Width: 1023
m_Height: 536 m_Height: 1023
- m_X: 36
m_Y: 304
m_Width: 987
m_Height: 97
- m_X: 59
m_Y: 304
m_Width: 964
m_Height: 719
m_FontFeatureTable: m_FontFeatureTable:
m_MultipleSubstitutionRecords: [] m_MultipleSubstitutionRecords: []
m_LigatureSubstitutionRecords: [] m_LigatureSubstitutionRecords: []
@@ -613,9 +282,9 @@ Texture2D:
Hash: 00000000000000000000000000000000 Hash: 00000000000000000000000000000000
m_IsAlphaChannelOptional: 0 m_IsAlphaChannelOptional: 0
serializedVersion: 4 serializedVersion: 4
m_Width: 1024 m_Width: 1
m_Height: 1024 m_Height: 1
m_CompleteImageSize: 1048576 m_CompleteImageSize: 1
m_MipsStripped: 0 m_MipsStripped: 0
m_TextureFormat: 1 m_TextureFormat: 1
m_MipCount: 1 m_MipCount: 1
@@ -640,8 +309,8 @@ Texture2D:
m_LightmapFormat: 0 m_LightmapFormat: 0
m_ColorSpace: 0 m_ColorSpace: 0
m_PlatformBlob: m_PlatformBlob:
image data: 1048576 image data: 1
_typelessdata: 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000105090b0b1313131313131313131313131313130a0a080a0e1010131313131313131313131313131311110f0b0709091313131313131313131313131313130c0c090601000000000000000000000000020507080909090909090909090909090909090909090909090909090909090906060300000000000000000000000000000306080913131313131313131313131313131309080603070a0c0d131313131313131313131313131312110f0b0701000000000000000000000004080a0a1313131313131313131313131313130f0e0c09040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060c111517181f1f1f1f1f1f1f1f1f1f1f1f1f1f1f171614161a1c1d1f1f1f1f1f1f1f1f1f1f1f1f1f1f1e1d1b171315161f1f1f1f1f1f1f1f1f1f1f1f1f1f1f191816120d0700000000000000000003090e1214151616161616161616161616161616161616161616161616161616161613120f0b0600000000000000000000030a0f1215152020202020202020202020202020201615130f1316191a20202020202020202020202020201e1d1b17120c050000000000000000050b101416172020202020202020202020202020201c1b19151009020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000Line truncated _typelessdata: 00
m_StreamData: m_StreamData:
serializedVersion: 2 serializedVersion: 2
offset: 0 offset: 0
File diff suppressed because it is too large. Load diff
@@ -169,236 +169,8 @@ MonoBehaviour:
m_SourceFontFilePath: m_SourceFontFilePath:
m_AtlasPopulationMode: 1 m_AtlasPopulationMode: 1
InternalDynamicOS: 0 InternalDynamicOS: 0
m_GlyphTable: m_GlyphTable: []
- m_Index: 3 m_CharacterTable: []
m_Metrics:
m_Width: 0
m_Height: 0
m_HorizontalBearingX: 0
m_HorizontalBearingY: 0
m_HorizontalAdvance: 88.15625
m_GlyphRect:
m_X: 0
m_Y: 0
m_Width: 0
m_Height: 0
m_Scale: 1
m_AtlasIndex: 0
m_ClassDefinitionType: 0
- m_Index: 43
m_Metrics:
m_Width: 76.53125
m_Height: 107.6875
m_HorizontalBearingX: 7.40625
m_HorizontalBearingY: 115.203125
m_HorizontalAdvance: 88.15625
m_GlyphRect:
m_X: 109
m_Y: 11
m_Width: 77
m_Height: 109
m_Scale: 1
m_AtlasIndex: 0
m_ClassDefinitionType: 0
- m_Index: 51
m_Metrics:
m_Width: 76.53125
m_Height: 107.6875
m_HorizontalBearingX: 7.40625
m_HorizontalBearingY: 115.203125
m_HorizontalAdvance: 88.15625
m_GlyphRect:
m_X: 11
m_Y: 697
m_Width: 77
m_Height: 109
m_Scale: 1
m_AtlasIndex: 0
m_ClassDefinitionType: 0
- m_Index: 66
m_Metrics:
m_Width: 76.53125
m_Height: 14.078125
m_HorizontalBearingX: 7.40625
m_HorizontalBearingY: 21.59375
m_HorizontalAdvance: 88.15625
m_GlyphRect:
m_X: 11
m_Y: 11
m_Width: 77
m_Height: 15
m_Scale: 1
m_AtlasIndex: 0
m_ClassDefinitionType: 0
- m_Index: 68
m_Metrics:
m_Width: 76.53125
m_Height: 107.6875
m_HorizontalBearingX: 7.40625
m_HorizontalBearingY: 115.203125
m_HorizontalAdvance: 88.15625
m_GlyphRect:
m_X: 11
m_Y: 177
m_Width: 77
m_Height: 109
m_Scale: 1
m_AtlasIndex: 0
m_ClassDefinitionType: 0
- m_Index: 72
m_Metrics:
m_Width: 76.53125
m_Height: 107.6875
m_HorizontalBearingX: 7.40625
m_HorizontalBearingY: 115.203125
m_HorizontalAdvance: 88.15625
m_GlyphRect:
m_X: 11
m_Y: 47
m_Width: 77
m_Height: 109
m_Scale: 1
m_AtlasIndex: 0
m_ClassDefinitionType: 0
- m_Index: 75
m_Metrics:
m_Width: 76.53125
m_Height: 107.6875
m_HorizontalBearingX: 7.40625
m_HorizontalBearingY: 115.203125
m_HorizontalAdvance: 88.15625
m_GlyphRect:
m_X: 11
m_Y: 567
m_Width: 77
m_Height: 109
m_Scale: 1
m_AtlasIndex: 0
m_ClassDefinitionType: 0
- m_Index: 76
m_Metrics:
m_Width: 45.25
m_Height: 107.6875
m_HorizontalBearingX: 23.046875
m_HorizontalBearingY: 115.203125
m_HorizontalAdvance: 88.15625
m_GlyphRect:
m_X: 207
m_Y: 11
m_Width: 46
m_Height: 109
m_Scale: 1
m_AtlasIndex: 0
m_ClassDefinitionType: 0
- m_Index: 79
m_Metrics:
m_Width: 76.53125
m_Height: 107.6875
m_HorizontalBearingX: 7.40625
m_HorizontalBearingY: 115.203125
m_HorizontalAdvance: 88.15625
m_GlyphRect:
m_X: 11
m_Y: 307
m_Width: 77
m_Height: 109
m_Scale: 1
m_AtlasIndex: 0
m_ClassDefinitionType: 0
- m_Index: 81
m_Metrics:
m_Width: 76.53125
m_Height: 107.6875
m_HorizontalBearingX: 7.40625
m_HorizontalBearingY: 115.203125
m_HorizontalAdvance: 88.15625
m_GlyphRect:
m_X: 274
m_Y: 11
m_Width: 77
m_Height: 109
m_Scale: 1
m_AtlasIndex: 0
m_ClassDefinitionType: 0
- m_Index: 82
m_Metrics:
m_Width: 76.53125
m_Height: 107.6875
m_HorizontalBearingX: 7.40625
m_HorizontalBearingY: 115.203125
m_HorizontalAdvance: 88.15625
m_GlyphRect:
m_X: 11
m_Y: 827
m_Width: 77
m_Height: 109
m_Scale: 1
m_AtlasIndex: 0
m_ClassDefinitionType: 0
- m_Index: 87
m_Metrics:
m_Width: 76.53125
m_Height: 107.6875
m_HorizontalBearingX: 7.40625
m_HorizontalBearingY: 115.203125
m_HorizontalAdvance: 88.15625
m_GlyphRect:
m_X: 11
m_Y: 437
m_Width: 77
m_Height: 109
m_Scale: 1
m_AtlasIndex: 0
m_ClassDefinitionType: 0
m_CharacterTable:
- m_ElementType: 1
m_Unicode: 32
m_GlyphIndex: 3
m_Scale: 1
- m_ElementType: 1
m_Unicode: 72
m_GlyphIndex: 43
m_Scale: 1
- m_ElementType: 1
m_Unicode: 80
m_GlyphIndex: 51
m_Scale: 1
- m_ElementType: 1
m_Unicode: 95
m_GlyphIndex: 66
m_Scale: 1
- m_ElementType: 1
m_Unicode: 97
m_GlyphIndex: 68
m_Scale: 1
- m_ElementType: 1
m_Unicode: 101
m_GlyphIndex: 72
m_Scale: 1
- m_ElementType: 1
m_Unicode: 104
m_GlyphIndex: 75
m_Scale: 1
- m_ElementType: 1
m_Unicode: 105
m_GlyphIndex: 76
m_Scale: 1
- m_ElementType: 1
m_Unicode: 108
m_GlyphIndex: 79
m_Scale: 1
- m_ElementType: 1
m_Unicode: 110
m_GlyphIndex: 81
m_Scale: 1
- m_ElementType: 1
m_Unicode: 111
m_GlyphIndex: 82
m_Scale: 1
- m_ElementType: 1
m_Unicode: 116
m_GlyphIndex: 87
m_Scale: 1
m_AtlasTextures: m_AtlasTextures:
- {fileID: 28981121099961358} - {fileID: 28981121099961358}
m_AtlasTextureIndex: 0 m_AtlasTextureIndex: 0
@@ -409,63 +181,11 @@ MonoBehaviour:
m_AtlasHeight: 1024 m_AtlasHeight: 1024
m_AtlasPadding: 10 m_AtlasPadding: 10
m_AtlasRenderMode: 4165 m_AtlasRenderMode: 4165
m_UsedGlyphRects: m_UsedGlyphRects: []
- m_X: 0
m_Y: 0
m_Width: 98
m_Height: 36
- m_X: 98
m_Y: 0
m_Width: 98
m_Height: 130
- m_X: 0
m_Y: 36
m_Width: 98
m_Height: 130
- m_X: 0
m_Y: 166
m_Width: 98
m_Height: 130
- m_X: 0
m_Y: 296
m_Width: 98
m_Height: 130
- m_X: 0
m_Y: 426
m_Width: 98
m_Height: 130
- m_X: 0
m_Y: 556
m_Width: 98
m_Height: 130
- m_X: 0
m_Y: 686
m_Width: 98
m_Height: 130
- m_X: 0
m_Y: 816
m_Width: 98
m_Height: 130
- m_X: 196
m_Y: 0
m_Width: 67
m_Height: 130
- m_X: 263
m_Y: 0
m_Width: 98
m_Height: 130
m_FreeGlyphRects: m_FreeGlyphRects:
- m_X: 98
m_Y: 130
m_Width: 925
m_Height: 893
- m_X: 0 - m_X: 0
m_Y: 946
m_Width: 1023
m_Height: 77
- m_X: 361
m_Y: 0 m_Y: 0
m_Width: 662 m_Width: 1023
m_Height: 1023 m_Height: 1023
m_FontFeatureTable: m_FontFeatureTable:
m_MultipleSubstitutionRecords: [] m_MultipleSubstitutionRecords: []
@@ -562,9 +282,9 @@ Texture2D:
Hash: 00000000000000000000000000000000 Hash: 00000000000000000000000000000000
m_IsAlphaChannelOptional: 0 m_IsAlphaChannelOptional: 0
serializedVersion: 4 serializedVersion: 4
m_Width: 1024 m_Width: 1
m_Height: 1024 m_Height: 1
m_CompleteImageSize: 1048576 m_CompleteImageSize: 1
m_MipsStripped: 0 m_MipsStripped: 0
m_TextureFormat: 1 m_TextureFormat: 1
m_MipCount: 1 m_MipCount: 1
@@ -589,8 +309,8 @@ Texture2D:
m_LightmapFormat: 0 m_LightmapFormat: 0
m_ColorSpace: 0 m_ColorSpace: 0
m_PlatformBlob: m_PlatformBlob:
image data: 1048576 image data: 1
_typelessdata: 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040709090b0b0b0b0b0b0b0b0b0b0b0b0b09060b0b0b0b0b0b0b0b0b0b0b0b0b0b06080b0b0b0b0b0b0b0b0b0b0b0b0b0a0a0b0b0b0b0b0b0b0b0b0b0b0b0b0b07070b0b0b0b0b0b0b0b0b0b0b0b0b0b0a0906020000000000000000000000000000040709090b0b0b0b0b0b0b0b0b0b0b0b0b090806040000000000000000000000000000000000000000000000000000000000000000000000000000000000020507070b0b0b0b0b0b0b0b0b0b0b0b0b0b0a090602000000000000000000000000000206090b0b0b0b0b0b0b0b0b0b0b0b0b0b0b06080b0b0b0b0b0b0b0b0b0b0b0b0b0a0a0a0b0b0b0b0b0b0b0b0b0b0b0b0b07070503000000000000000000000000000000040709090b0b0b0b0b0b0b0b0b0b0b0b0b090806040000000000000000000000000000000000000000000000000000000000000000000000000000000000020507070b0b0b0b0b0b0b0b0b0b0b0b0b0b0a090602000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b0f121415171717171717171717171717171512171717171717171717171717171712141717171717171717171717171716161617171717171717171717171717131317171717171717171717171717171614110d080200000000000000000000060b0f121415171717171717171717171717171414120f0b060000000000000000000000000000000000000000000000000000000000000000000000000004090d10121317171717171717171717171717171614110d080200000000000000000002080d1114161717171717171717171717171717121417171717171717171717171717161516171717171717171717171717171312110e09040000000000000000000000060b0f121415171717171717171717171717171414120f0b060000000000000000000000000000000000000000000000000000000000000000000000000004090d10121317171717171717171717171717171614110d08020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000Line truncated _typelessdata: 00
m_StreamData: m_StreamData:
serializedVersion: 2 serializedVersion: 2
offset: 0 offset: 0
@@ -169,255 +169,8 @@ MonoBehaviour:
m_SourceFontFilePath: m_SourceFontFilePath:
m_AtlasPopulationMode: 1 m_AtlasPopulationMode: 1
InternalDynamicOS: 0 InternalDynamicOS: 0
m_GlyphTable: m_GlyphTable: []
- m_Index: 3 m_CharacterTable: []
m_Metrics:
m_Width: 0
m_Height: 0
m_HorizontalBearingX: 0
m_HorizontalBearingY: 0
m_HorizontalAdvance: 18.015625
m_GlyphRect:
m_X: 0
m_Y: 0
m_Width: 0
m_Height: 0
m_Scale: 1
m_AtlasIndex: 0
m_ClassDefinitionType: 0
- m_Index: 43
m_Metrics:
m_Width: 43.546875
m_Height: 79.109375
m_HorizontalBearingX: 4.703125
m_HorizontalBearingY: 79.109375
m_HorizontalAdvance: 52.953125
m_GlyphRect:
m_X: 145
m_Y: 10
m_Width: 45
m_Height: 80
m_Scale: 1
m_AtlasIndex: 0
m_ClassDefinitionType: 0
- m_Index: 51
m_Metrics:
m_Width: 38.84375
m_Height: 79.109375
m_HorizontalBearingX: 4.703125
m_HorizontalBearingY: 79.109375
m_HorizontalAdvance: 44.90625
m_GlyphRect:
m_X: 348
m_Y: 10
m_Width: 40
m_Height: 80
m_Scale: 1
m_AtlasIndex: 0
m_ClassDefinitionType: 0
- m_Index: 66
m_Metrics:
m_Width: 35.421875
m_Height: 9.796875
m_HorizontalBearingX: 0.265625
m_HorizontalBearingY: 9.796875
m_HorizontalAdvance: 36.4375
m_GlyphRect:
m_X: 90
m_Y: 10
m_Width: 36
m_Height: 10
m_Scale: 1
m_AtlasIndex: 0
m_ClassDefinitionType: 0
- m_Index: 68
m_Metrics:
m_Width: 38.234375
m_Height: 59.953125
m_HorizontalBearingX: 2.546875
m_HorizontalBearingY: 58.671875
m_HorizontalAdvance: 42.890625
m_GlyphRect:
m_X: 10
m_Y: 43
m_Width: 39
m_Height: 61
m_Scale: 1
m_AtlasIndex: 0
m_ClassDefinitionType: 0
- m_Index: 72
m_Metrics:
m_Width: 35.25
m_Height: 59.953125
m_HorizontalBearingX: 3.421875
m_HorizontalBearingY: 58.671875
m_HorizontalAdvance: 41.3125
m_GlyphRect:
m_X: 90
m_Y: 39
m_Width: 36
m_Height: 61
m_Scale: 1
m_AtlasIndex: 0
m_ClassDefinitionType: 0
- m_Index: 75
m_Metrics:
m_Width: 36.21875
m_Height: 79.109375
m_HorizontalBearingX: 4.125
m_HorizontalBearingY: 79.109375
m_HorizontalAdvance: 44.171875
m_GlyphRect:
m_X: 292
m_Y: 10
m_Width: 37
m_Height: 80
m_Scale: 1
m_AtlasIndex: 0
m_ClassDefinitionType: 0
- m_Index: 76
m_Metrics:
m_Width: 14.8125
m_Height: 76.203125
m_HorizontalBearingX: 4.21875
m_HorizontalBearingY: 76.203125
m_HorizontalAdvance: 23.25
m_GlyphRect:
m_X: 244
m_Y: 107
m_Width: 16
m_Height: 77
m_Scale: 1
m_AtlasIndex: 0
m_ClassDefinitionType: 0
- m_Index: 79
m_Metrics:
m_Width: 14.8125
m_Height: 79.109375
m_HorizontalBearingX: 4.21875
m_HorizontalBearingY: 79.109375
m_HorizontalAdvance: 23.25
m_GlyphRect:
m_X: 209
m_Y: 10
m_Width: 16
m_Height: 80
m_Scale: 1
m_AtlasIndex: 0
m_ClassDefinitionType: 0
- m_Index: 81
m_Metrics:
m_Width: 36.21875
m_Height: 58.625
m_HorizontalBearingX: 4.125
m_HorizontalBearingY: 58.625
m_HorizontalAdvance: 44.171875
m_GlyphRect:
m_X: 145
m_Y: 109
m_Width: 37
m_Height: 59
m_Scale: 1
m_AtlasIndex: 0
m_ClassDefinitionType: 0
- m_Index: 82
m_Metrics:
m_Width: 35.90625
m_Height: 59.90625
m_HorizontalBearingX: 3.421875
m_HorizontalBearingY: 58.625
m_HorizontalAdvance: 42.765625
m_GlyphRect:
m_X: 407
m_Y: 10
m_Width: 37
m_Height: 61
m_Scale: 1
m_AtlasIndex: 0
m_ClassDefinitionType: 0
- m_Index: 87
m_Metrics:
m_Width: 27.328125
m_Height: 76.859375
m_HorizontalBearingX: 0.921875
m_HorizontalBearingY: 76.203125
m_HorizontalAdvance: 29.359375
m_GlyphRect:
m_X: 244
m_Y: 10
m_Width: 29
m_Height: 78
m_Scale: 1
m_AtlasIndex: 0
m_ClassDefinitionType: 0
- m_Index: 401
m_Metrics:
m_Width: 60.171875
m_Height: 13.9375
m_HorizontalBearingX: 4.34375
m_HorizontalBearingY: 13.9375
m_HorizontalAdvance: 68.8125
m_GlyphRect:
m_X: 10
m_Y: 10
m_Width: 61
m_Height: 14
m_Scale: 1
m_AtlasIndex: 0
m_ClassDefinitionType: 0
m_CharacterTable:
- m_ElementType: 1
m_Unicode: 32
m_GlyphIndex: 3
m_Scale: 1
- m_ElementType: 1
m_Unicode: 72
m_GlyphIndex: 43
m_Scale: 1
- m_ElementType: 1
m_Unicode: 80
m_GlyphIndex: 51
m_Scale: 1
- m_ElementType: 1
m_Unicode: 95
m_GlyphIndex: 66
m_Scale: 1
- m_ElementType: 1
m_Unicode: 97
m_GlyphIndex: 68
m_Scale: 1
- m_ElementType: 1
m_Unicode: 101
m_GlyphIndex: 72
m_Scale: 1
- m_ElementType: 1
m_Unicode: 104
m_GlyphIndex: 75
m_Scale: 1
- m_ElementType: 1
m_Unicode: 105
m_GlyphIndex: 76
m_Scale: 1
- m_ElementType: 1
m_Unicode: 108
m_GlyphIndex: 79
m_Scale: 1
- m_ElementType: 1
m_Unicode: 110
m_GlyphIndex: 81
m_Scale: 1
- m_ElementType: 1
m_Unicode: 111
m_GlyphIndex: 82
m_Scale: 1
- m_ElementType: 1
m_Unicode: 116
m_GlyphIndex: 87
m_Scale: 1
- m_ElementType: 1
m_Unicode: 8230
m_GlyphIndex: 401
m_Scale: 1
m_AtlasTextures: m_AtlasTextures:
- {fileID: 28256370963634744} - {fileID: 28256370963634744}
m_AtlasTextureIndex: 0 m_AtlasTextureIndex: 0
@@ -428,96 +181,12 @@ MonoBehaviour:
m_AtlasHeight: 1024 m_AtlasHeight: 1024
m_AtlasPadding: 9 m_AtlasPadding: 9
m_AtlasRenderMode: 4165 m_AtlasRenderMode: 4165
m_UsedGlyphRects: m_UsedGlyphRects: []
- m_X: 0
m_Y: 0
m_Width: 80
m_Height: 33
- m_X: 80
m_Y: 0
m_Width: 55
m_Height: 29
- m_X: 135
m_Y: 0
m_Width: 64
m_Height: 99
- m_X: 80
m_Y: 29
m_Width: 55
m_Height: 80
- m_X: 0
m_Y: 33
m_Width: 58
m_Height: 80
- m_X: 199
m_Y: 0
m_Width: 35
m_Height: 99
- m_X: 234
m_Y: 0
m_Width: 48
m_Height: 97
- m_X: 282
m_Y: 0
m_Width: 56
m_Height: 99
- m_X: 338
m_Y: 0
m_Width: 59
m_Height: 99
- m_X: 397
m_Y: 0
m_Width: 56
m_Height: 80
- m_X: 234
m_Y: 97
m_Width: 35
m_Height: 96
- m_X: 135
m_Y: 99
m_Width: 56
m_Height: 78
m_FreeGlyphRects: m_FreeGlyphRects:
- m_X: 58 - m_X: 0
m_Y: 33
m_Width: 22
m_Height: 990
- m_X: 397
m_Y: 80
m_Width: 626
m_Height: 943
- m_X: 453
m_Y: 0 m_Y: 0
m_Width: 570
m_Height: 1023
- m_X: 269
m_Y: 99
m_Width: 754
m_Height: 924
- m_X: 0
m_Y: 193
m_Width: 1023 m_Width: 1023
m_Height: 830 m_Height: 1023
- m_X: 269
m_Y: 97
m_Width: 13
m_Height: 926
- m_X: 191
m_Y: 99
m_Width: 43
m_Height: 924
- m_X: 0
m_Y: 177
m_Width: 234
m_Height: 846
- m_X: 0
m_Y: 113
m_Width: 135
m_Height: 910
- m_X: 58
m_Y: 109
m_Width: 77
m_Height: 914
m_FontFeatureTable: m_FontFeatureTable:
m_MultipleSubstitutionRecords: [] m_MultipleSubstitutionRecords: []
m_LigatureSubstitutionRecords: [] m_LigatureSubstitutionRecords: []
@@ -1588,9 +1257,9 @@ Texture2D:
Hash: 00000000000000000000000000000000 Hash: 00000000000000000000000000000000
m_IsAlphaChannelOptional: 0 m_IsAlphaChannelOptional: 0
serializedVersion: 4 serializedVersion: 4
m_Width: 1024 m_Width: 1
m_Height: 1024 m_Height: 1
m_CompleteImageSize: 1048576 m_CompleteImageSize: 1
m_MipsStripped: 0 m_MipsStripped: 0
m_TextureFormat: 1 m_TextureFormat: 1
m_MipCount: 1 m_MipCount: 1
@@ -1615,8 +1284,8 @@ Texture2D:
m_LightmapFormat: 0 m_LightmapFormat: 0
m_ColorSpace: 0 m_ColorSpace: 0
m_PlatformBlob: m_PlatformBlob:
image data: 1048576 image data: 1
_typelessdata: 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004080c0e0f131313131313131313131313130f0e0c080405090d0f10131313131313131313131313130e0d0b0803050a0d1010131313131313131313131313130d0c0a0702000000000000000000000005090d0f10131313131313131313131313131313131313131313131313131313131313131313130f0e0c09040000000000000000000000000407090a1313131313131313131313131313130f0f0d0904000000060b0e10111313131313131313131313131313130a090704000000000000000000000000050a0d1010131313131313131313131313131313060400000000000000000000000000000000000000000000000000000000020507080a0d0e0e0f0e0e0e0d0c0a080606030000000000000000000000000001070b0f1112131313131313131313131313131212100c060a0c0c13131313131313131313131313130b0a0805000000000000000000000000000407090a13131313131313131313131313131310100d0a0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000105070809090a090807060401000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002090f14181b1c202020202020202020202020201b1b18140f1015191c1c202020202020202020202020201b1a17140e11161a1c1d202020202020202020202020201a1917130e070000000000000000030a1015191c1d202020202020202020202020202020202020202020202020202020202020202020201c1b19151009020000000000000000050b101416172020202020202020202020202020201c1b19151009040b11171a1d1e202020202020202020202020202020161613100b040000000000000000030a11161a1c1d20202020202020202020202020202013100c0701000000000000000000000000000000000000000000000004090e11141417191a1b1b1b1b1a1a19171513120f0b0600000000000000000000050c12171b1d1e202020202020202020202020201f1e1c18121618192020202020202020202020202020181714110c06000000000000000000050b101416172020202020202020202020202020201d1c1a16110a030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020608080d11141416161716151413100d0706040100000000000000Line truncated _typelessdata: 00
m_StreamData: m_StreamData:
serializedVersion: 2 serializedVersion: 2
offset: 0 offset: 0
@@ -169,255 +169,8 @@ MonoBehaviour:
m_SourceFontFilePath: m_SourceFontFilePath:
m_AtlasPopulationMode: 1 m_AtlasPopulationMode: 1
InternalDynamicOS: 0 InternalDynamicOS: 0
m_GlyphTable: m_GlyphTable: []
- m_Index: 4 m_CharacterTable: []
m_Metrics:
m_Width: 0
m_Height: 0
m_HorizontalBearingX: 0
m_HorizontalBearingY: 0
m_HorizontalAdvance: 22.40625
m_GlyphRect:
m_X: 0
m_Y: 0
m_Width: 0
m_Height: 0
m_Scale: 1
m_AtlasIndex: 0
m_ClassDefinitionType: 0
- m_Index: 44
m_Metrics:
m_Width: 52.0625
m_Height: 63.984375
m_HorizontalBearingX: 5.71875
m_HorizontalBearingY: 63.984375
m_HorizontalAdvance: 63.59375
m_GlyphRect:
m_X: 146
m_Y: 10
m_Width: 53
m_Height: 64
m_Scale: 1
m_AtlasIndex: 0
m_ClassDefinitionType: 0
- m_Index: 52
m_Metrics:
m_Width: 49
m_Height: 63.984375
m_HorizontalBearingX: 5.71875
m_HorizontalBearingY: 63.984375
m_HorizontalAdvance: 58.046875
m_GlyphRect:
m_X: 251
m_Y: 10
m_Width: 50
m_Height: 64
m_Scale: 1
m_AtlasIndex: 0
m_ClassDefinitionType: 0
- m_Index: 67
m_Metrics:
m_Width: 40.03125
m_Height: 9.9375
m_HorizontalBearingX: 0.046875
m_HorizontalBearingY: 0
m_HorizontalAdvance: 40.171875
m_GlyphRect:
m_X: 86
m_Y: 10
m_Width: 41
m_Height: 10
m_Scale: 1
m_AtlasIndex: 0
m_ClassDefinitionType: 0
- m_Index: 69
m_Metrics:
m_Width: 42.28125
m_Height: 49.296875
m_HorizontalBearingX: 2.984375
m_HorizontalBearingY: 48.421875
m_HorizontalAdvance: 48.25
m_GlyphRect:
m_X: 73
m_Y: 44
m_Width: 44
m_Height: 50
m_Scale: 1
m_AtlasIndex: 0
m_ClassDefinitionType: 0
- m_Index: 73
m_Metrics:
m_Width: 43.140625
m_Height: 49.296875
m_HorizontalBearingX: 3.171875
m_HorizontalBearingY: 48.421875
m_HorizontalAdvance: 48.640625
m_GlyphRect:
m_X: 10
m_Y: 44
m_Width: 44
m_Height: 50
m_Scale: 1
m_AtlasIndex: 0
m_ClassDefinitionType: 0
- m_Index: 76
m_Metrics:
m_Width: 41.078125
m_Height: 67.5
m_HorizontalBearingX: 4.578125
m_HorizontalBearingY: 67.5
m_HorizontalAdvance: 50.359375
m_GlyphRect:
m_X: 10
m_Y: 113
m_Width: 42
m_Height: 68
m_Scale: 1
m_AtlasIndex: 0
m_ClassDefinitionType: 0
- m_Index: 77
m_Metrics:
m_Width: 14.234375
m_Height: 66.40625
m_HorizontalBearingX: 4.796875
m_HorizontalBearingY: 66.40625
m_HorizontalAdvance: 23.859375
m_GlyphRect:
m_X: 320
m_Y: 10
m_Width: 16
m_Height: 67
m_Scale: 1
m_AtlasIndex: 0
m_ClassDefinitionType: 0
- m_Index: 80
m_Metrics:
m_Width: 12.75
m_Height: 67.5
m_HorizontalBearingX: 5.53125
m_HorizontalBearingY: 67.5
m_HorizontalAdvance: 23.859375
m_GlyphRect:
m_X: 218
m_Y: 10
m_Width: 14
m_Height: 68
m_Scale: 1
m_AtlasIndex: 0
m_ClassDefinitionType: 0
- m_Index: 82
m_Metrics:
m_Width: 41.046875
m_Height: 48.421875
m_HorizontalBearingX: 4.609375
m_HorizontalBearingY: 48.421875
m_HorizontalAdvance: 50.40625
m_GlyphRect:
m_X: 251
m_Y: 93
m_Width: 42
m_Height: 49
m_Scale: 1
m_AtlasIndex: 0
m_ClassDefinitionType: 0
- m_Index: 83
m_Metrics:
m_Width: 45.03125
m_Height: 49.296875
m_HorizontalBearingX: 2.90625
m_HorizontalBearingY: 48.421875
m_HorizontalAdvance: 50.890625
m_GlyphRect:
m_X: 71
m_Y: 113
m_Width: 46
m_Height: 50
m_Scale: 1
m_AtlasIndex: 0
m_ClassDefinitionType: 0
- m_Index: 88
m_Metrics:
m_Width: 28.265625
m_Height: 60.109375
m_HorizontalBearingX: 0.4375
m_HorizontalBearingY: 59.234375
m_HorizontalAdvance: 30.40625
m_GlyphRect:
m_X: 136
m_Y: 93
m_Width: 29
m_Height: 61
m_Scale: 1
m_AtlasIndex: 0
m_ClassDefinitionType: 0
- m_Index: 399
m_Metrics:
m_Width: 55.546875
m_Height: 13.53125
m_HorizontalBearingX: 5.84375
m_HorizontalBearingY: 13.046875
m_HorizontalAdvance: 66.578125
m_GlyphRect:
m_X: 10
m_Y: 10
m_Width: 57
m_Height: 15
m_Scale: 1
m_AtlasIndex: 0
m_ClassDefinitionType: 0
m_CharacterTable:
- m_ElementType: 1
m_Unicode: 32
m_GlyphIndex: 4
m_Scale: 1
- m_ElementType: 1
m_Unicode: 72
m_GlyphIndex: 44
m_Scale: 1
- m_ElementType: 1
m_Unicode: 80
m_GlyphIndex: 52
m_Scale: 1
- m_ElementType: 1
m_Unicode: 95
m_GlyphIndex: 67
m_Scale: 1
- m_ElementType: 1
m_Unicode: 97
m_GlyphIndex: 69
m_Scale: 1
- m_ElementType: 1
m_Unicode: 101
m_GlyphIndex: 73
m_Scale: 1
- m_ElementType: 1
m_Unicode: 104
m_GlyphIndex: 76
m_Scale: 1
- m_ElementType: 1
m_Unicode: 105
m_GlyphIndex: 77
m_Scale: 1
- m_ElementType: 1
m_Unicode: 108
m_GlyphIndex: 80
m_Scale: 1
- m_ElementType: 1
m_Unicode: 110
m_GlyphIndex: 82
m_Scale: 1
- m_ElementType: 1
m_Unicode: 111
m_GlyphIndex: 83
m_Scale: 1
- m_ElementType: 1
m_Unicode: 116
m_GlyphIndex: 88
m_Scale: 1
- m_ElementType: 1
m_Unicode: 8230
m_GlyphIndex: 399
m_Scale: 1
m_AtlasTextures: m_AtlasTextures:
- {fileID: 28204114720316640} - {fileID: 28204114720316640}
m_AtlasTextureIndex: 0 m_AtlasTextureIndex: 0
@@ -428,100 +181,12 @@ MonoBehaviour:
m_AtlasHeight: 1024 m_AtlasHeight: 1024
m_AtlasPadding: 9 m_AtlasPadding: 9
m_AtlasRenderMode: 4165 m_AtlasRenderMode: 4165
m_UsedGlyphRects: m_UsedGlyphRects: []
- m_X: 0
m_Y: 0
m_Width: 76
m_Height: 34
- m_X: 76
m_Y: 0
m_Width: 60
m_Height: 29
- m_X: 136
m_Y: 0
m_Width: 72
m_Height: 83
- m_X: 0
m_Y: 34
m_Width: 63
m_Height: 69
- m_X: 63
m_Y: 34
m_Width: 63
m_Height: 69
- m_X: 208
m_Y: 0
m_Width: 33
m_Height: 87
- m_X: 126
m_Y: 83
m_Width: 48
m_Height: 80
- m_X: 0
m_Y: 103
m_Width: 61
m_Height: 87
- m_X: 241
m_Y: 0
m_Width: 69
m_Height: 83
- m_X: 61
m_Y: 103
m_Width: 65
m_Height: 69
- m_X: 310
m_Y: 0
m_Width: 35
m_Height: 86
- m_X: 241
m_Y: 83
m_Width: 61
m_Height: 68
m_FreeGlyphRects: m_FreeGlyphRects:
- m_X: 76
m_Y: 29
m_Width: 60
m_Height: 5
- m_X: 126
m_Y: 29
m_Width: 10
m_Height: 54
- m_X: 174
m_Y: 83
m_Width: 34
m_Height: 940
- m_X: 0 - m_X: 0
m_Y: 190
m_Width: 1023
m_Height: 833
- m_X: 61
m_Y: 172
m_Width: 962
m_Height: 851
- m_X: 126
m_Y: 163
m_Width: 897
m_Height: 860
- m_X: 345
m_Y: 0 m_Y: 0
m_Width: 678 m_Width: 1023
m_Height: 1023 m_Height: 1023
- m_X: 174
m_Y: 151
m_Width: 849
m_Height: 872
- m_X: 174
m_Y: 87
m_Width: 67
m_Height: 936
- m_X: 302
m_Y: 86
m_Width: 721
m_Height: 937
- m_X: 302
m_Y: 83
m_Width: 8
m_Height: 940
m_FontFeatureTable: m_FontFeatureTable:
m_MultipleSubstitutionRecords: [] m_MultipleSubstitutionRecords: []
m_LigatureSubstitutionRecords: m_LigatureSubstitutionRecords:
@@ -8361,9 +8026,9 @@ Texture2D:
Hash: 00000000000000000000000000000000 Hash: 00000000000000000000000000000000
m_IsAlphaChannelOptional: 0 m_IsAlphaChannelOptional: 0
serializedVersion: 4 serializedVersion: 4
m_Width: 1024 m_Width: 1
m_Height: 1024 m_Height: 1
m_CompleteImageSize: 1048576 m_CompleteImageSize: 1
m_MipsStripped: 0 m_MipsStripped: 0
m_TextureFormat: 1 m_TextureFormat: 1
m_MipCount: 1 m_MipCount: 1
@@ -8388,8 +8053,8 @@ Texture2D:
m_LightmapFormat: 0 m_LightmapFormat: 0
m_ColorSpace: 0 m_ColorSpace: 0
m_PlatformBlob: m_PlatformBlob:
image data: 1048576 image data: 1
_typelessdata: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507080b0c0c0b08070502000000000000000000020608080b0c0c0a070705010000000000000000010507070a0c0c0b080806020000000000000000000000000000000001070b0f111212121212121212121212121212121212121212121212121212121212121212121212121212121207070501000000000000000000000000000407090a13131313131313131313131312110f0b0701000000000000000000000000000000000105090b0b13131313131313131313131310100d0a05000000000000000000000002060a0c0c1313131313131313131313130a090704000000000000000000000000000407090a13131313131313131313131312110f0b0701000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002060a0c0c1313131313131313131313130a09070400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002090e111414181919181514120e09030000000000030a0f121415181919171413110d08020000000002080d111314171919181514120f0a0300000000000000000000000000050c12171b1e1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1413110d0802000000000000000000050b101416172020202020202020202020201f1e1b17120c050000000000000000000000000000060c111517182020202020202020202020201d1c1a16110a030000000000000000070d12161819202020202020202020202020171614100b05000000000000000000050b101416172020202020202020202020201f1e1b17120c05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070d12161819202020202020202020202020171614100b0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000Line truncated _typelessdata: 00
m_StreamData: m_StreamData:
serializedVersion: 2 serializedVersion: 2
offset: 0 offset: 0
@@ -215,255 +215,8 @@ MonoBehaviour:
m_SourceFontFilePath: m_SourceFontFilePath:
m_AtlasPopulationMode: 1 m_AtlasPopulationMode: 1
InternalDynamicOS: 0 InternalDynamicOS: 0
m_GlyphTable: m_GlyphTable: []
- m_Index: 3 m_CharacterTable: []
m_Metrics:
m_Width: 0
m_Height: 0
m_HorizontalBearingX: 0
m_HorizontalBearingY: 0
m_HorizontalAdvance: 24
m_GlyphRect:
m_X: 0
m_Y: 0
m_Width: 0
m_Height: 0
m_Scale: 1
m_AtlasIndex: 0
m_ClassDefinitionType: 0
- m_Index: 43
m_Metrics:
m_Width: 49
m_Height: 59
m_HorizontalBearingX: 7
m_HorizontalBearingY: 59
m_HorizontalAdvance: 62
m_GlyphRect:
m_X: 163
m_Y: 10
m_Width: 49
m_Height: 59
m_Scale: 1
m_AtlasIndex: 0
m_ClassDefinitionType: 0
- m_Index: 51
m_Metrics:
m_Width: 46
m_Height: 59
m_HorizontalBearingX: 7
m_HorizontalBearingY: 59
m_HorizontalAdvance: 57
m_GlyphRect:
m_X: 259
m_Y: 10
m_Width: 46
m_Height: 59
m_Scale: 1
m_AtlasIndex: 0
m_ClassDefinitionType: 0
- m_Index: 66
m_Metrics:
m_Width: 51
m_Height: 6
m_HorizontalBearingX: -2
m_HorizontalBearingY: -12
m_HorizontalAdvance: 48
m_GlyphRect:
m_X: 93
m_Y: 10
m_Width: 51
m_Height: 6
m_Scale: 1
m_AtlasIndex: 0
m_ClassDefinitionType: 0
- m_Index: 68
m_Metrics:
m_Width: 45
m_Height: 47
m_HorizontalBearingX: 3
m_HorizontalBearingY: 46
m_HorizontalAdvance: 48
m_GlyphRect:
m_X: 10
m_Y: 38
m_Width: 45
m_Height: 47
m_Scale: 1
m_AtlasIndex: 0
m_ClassDefinitionType: 0
- m_Index: 72
m_Metrics:
m_Width: 42
m_Height: 47
m_HorizontalBearingX: 3
m_HorizontalBearingY: 46
m_HorizontalAdvance: 48
m_GlyphRect:
m_X: 93
m_Y: 35
m_Width: 42
m_Height: 47
m_Scale: 1
m_AtlasIndex: 0
m_ClassDefinitionType: 0
- m_Index: 75
m_Metrics:
m_Width: 38
m_Height: 62
m_HorizontalBearingX: 5
m_HorizontalBearingY: 62
m_HorizontalAdvance: 48
m_GlyphRect:
m_X: 74
m_Y: 101
m_Width: 38
m_Height: 62
m_Scale: 1
m_AtlasIndex: 0
m_ClassDefinitionType: 0
- m_Index: 76
m_Metrics:
m_Width: 9
m_Height: 62
m_HorizontalBearingX: 5
m_HorizontalBearingY: 62
m_HorizontalAdvance: 19
m_GlyphRect:
m_X: 196
m_Y: 88
m_Width: 9
m_Height: 62
m_Scale: 1
m_AtlasIndex: 0
m_ClassDefinitionType: 0
- m_Index: 79
m_Metrics:
m_Width: 9
m_Height: 62
m_HorizontalBearingX: 5
m_HorizontalBearingY: 62
m_HorizontalAdvance: 19
m_GlyphRect:
m_X: 231
m_Y: 10
m_Width: 9
m_Height: 62
m_Scale: 1
m_AtlasIndex: 0
m_ClassDefinitionType: 0
- m_Index: 81
m_Metrics:
m_Width: 38
m_Height: 46
m_HorizontalBearingX: 5
m_HorizontalBearingY: 46
m_HorizontalAdvance: 48
m_GlyphRect:
m_X: 10
m_Y: 170
m_Width: 38
m_Height: 46
m_Scale: 1
m_AtlasIndex: 0
m_ClassDefinitionType: 0
- m_Index: 82
m_Metrics:
m_Width: 42
m_Height: 47
m_HorizontalBearingX: 3
m_HorizontalBearingY: 46
m_HorizontalAdvance: 48
m_GlyphRect:
m_X: 10
m_Y: 104
m_Width: 42
m_Height: 47
m_Scale: 1
m_AtlasIndex: 0
m_ClassDefinitionType: 0
- m_Index: 87
m_Metrics:
m_Width: 23
m_Height: 56
m_HorizontalBearingX: 1
m_HorizontalBearingY: 55
m_HorizontalAdvance: 24
m_GlyphRect:
m_X: 154
m_Y: 88
m_Width: 23
m_Height: 56
m_Scale: 1
m_AtlasIndex: 0
m_ClassDefinitionType: 0
- m_Index: 2030
m_Metrics:
m_Width: 64
m_Height: 9
m_HorizontalBearingX: 11
m_HorizontalBearingY: 9
m_HorizontalAdvance: 86
m_GlyphRect:
m_X: 10
m_Y: 10
m_Width: 64
m_Height: 9
m_Scale: 1
m_AtlasIndex: 0
m_ClassDefinitionType: 0
m_CharacterTable:
- m_ElementType: 1
m_Unicode: 32
m_GlyphIndex: 3
m_Scale: 1
- m_ElementType: 1
m_Unicode: 72
m_GlyphIndex: 43
m_Scale: 1
- m_ElementType: 1
m_Unicode: 80
m_GlyphIndex: 51
m_Scale: 1
- m_ElementType: 1
m_Unicode: 95
m_GlyphIndex: 66
m_Scale: 1
- m_ElementType: 1
m_Unicode: 97
m_GlyphIndex: 68
m_Scale: 1
- m_ElementType: 1
m_Unicode: 101
m_GlyphIndex: 72
m_Scale: 1
- m_ElementType: 1
m_Unicode: 104
m_GlyphIndex: 75
m_Scale: 1
- m_ElementType: 1
m_Unicode: 105
m_GlyphIndex: 76
m_Scale: 1
- m_ElementType: 1
m_Unicode: 108
m_GlyphIndex: 79
m_Scale: 1
- m_ElementType: 1
m_Unicode: 110
m_GlyphIndex: 81
m_Scale: 1
- m_ElementType: 1
m_Unicode: 111
m_GlyphIndex: 82
m_Scale: 1
- m_ElementType: 1
m_Unicode: 116
m_GlyphIndex: 87
m_Scale: 1
- m_ElementType: 1
m_Unicode: 8230
m_GlyphIndex: 2030
m_Scale: 1
m_AtlasTextures: m_AtlasTextures:
- {fileID: 28268798066460806} - {fileID: 28268798066460806}
m_AtlasTextureIndex: 0 m_AtlasTextureIndex: 0
@@ -474,108 +227,12 @@ MonoBehaviour:
m_AtlasHeight: 512 m_AtlasHeight: 512
m_AtlasPadding: 9 m_AtlasPadding: 9
m_AtlasRenderMode: 4169 m_AtlasRenderMode: 4169
m_UsedGlyphRects: m_UsedGlyphRects: []
- m_X: 0
m_Y: 0
m_Width: 83
m_Height: 28
- m_X: 83
m_Y: 0
m_Width: 70
m_Height: 25
- m_X: 153
m_Y: 0
m_Width: 68
m_Height: 78
- m_X: 83
m_Y: 25
m_Width: 61
m_Height: 66
- m_X: 0
m_Y: 28
m_Width: 64
m_Height: 66
- m_X: 221
m_Y: 0
m_Width: 28
m_Height: 81
- m_X: 144
m_Y: 78
m_Width: 42
m_Height: 75
- m_X: 64
m_Y: 91
m_Width: 57
m_Height: 81
- m_X: 249
m_Y: 0
m_Width: 65
m_Height: 78
- m_X: 0
m_Y: 94
m_Width: 61
m_Height: 66
- m_X: 186
m_Y: 78
m_Width: 28
m_Height: 81
- m_X: 0
m_Y: 160
m_Width: 57
m_Height: 65
m_FreeGlyphRects: m_FreeGlyphRects:
- m_X: 144
m_Y: 25
m_Width: 9
m_Height: 53
- m_X: 64
m_Y: 28
m_Width: 19
m_Height: 63
- m_X: 121
m_Y: 91
m_Width: 23
m_Height: 420
- m_X: 249
m_Y: 78
m_Width: 262
m_Height: 433
- m_X: 314
m_Y: 0
m_Width: 197
m_Height: 511
- m_X: 61
m_Y: 94
m_Width: 3
m_Height: 417
- m_X: 214
m_Y: 81
m_Width: 297
m_Height: 430
- m_X: 214
m_Y: 78
m_Width: 7
m_Height: 433
- m_X: 121
m_Y: 159
m_Width: 390
m_Height: 352
- m_X: 121
m_Y: 153
m_Width: 65
m_Height: 358
- m_X: 0 - m_X: 0
m_Y: 225 m_Y: 0
m_Width: 511 m_Width: 511
m_Height: 286 m_Height: 511
- m_X: 57
m_Y: 172
m_Width: 454
m_Height: 339
- m_X: 57
m_Y: 160
m_Width: 7
m_Height: 351
m_FontFeatureTable: m_FontFeatureTable:
m_MultipleSubstitutionRecords: [] m_MultipleSubstitutionRecords: []
m_LigatureSubstitutionRecords: [] m_LigatureSubstitutionRecords: []
@@ -881,9 +538,9 @@ Texture2D:
Hash: 00000000000000000000000000000000 Hash: 00000000000000000000000000000000
m_IsAlphaChannelOptional: 0 m_IsAlphaChannelOptional: 0
serializedVersion: 4 serializedVersion: 4
m_Width: 512 m_Width: 1
m_Height: 512 m_Height: 1
m_CompleteImageSize: 262144 m_CompleteImageSize: 1
m_MipsStripped: 0 m_MipsStripped: 0
m_TextureFormat: 1 m_TextureFormat: 1
m_MipCount: 1 m_MipCount: 1
@@ -908,8 +565,8 @@ Texture2D:
m_LightmapFormat: 0 m_LightmapFormat: 0
m_ColorSpace: 0 m_ColorSpace: 0
m_PlatformBlob: m_PlatformBlob:
image data: 262144 image data: 1
_typelessdata: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004080a0b1313131313131311110e0b060100000000000000000004090e11121313131313131313070705010000000000000000000000060a0e1011131313131313130b0a080400000000000000000000000000020507080c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0b0a0805000000000000000000000002080c1012121313131313131307070501000000000000000000000000000000000000000000000002070c0f111213131313131313080705020000000000000000000000000003060809131313131313130b0a0805000000000000000000000002080c1012121313131313131307070501000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050c11141717202020202020201e1d1b17120c0400000000000000080f151a1d1f20202020202020201413110d080200000000000000040b11161a1d1e20202020202020171714110c0500000000000000000003090e12141519191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919181715110c060000000000000000060d13181c1e1f202020202020201413110d08020000000000000000000000000000000000000000060d13181c1e1f202020202020201414110e0802000000000000000000040a0f13151620202020202020181715110c060000000000000000060d13181c1e1f202020202020201413110d08020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000810171c2123242d2d2d2d2d2d2d2b2a27231d160e06000000000009121920262a2c2c2d2d2d2d2d2d2d21201d19130c050000000000050d151c2227292a2d2d2d2d2d2d2d2423211c17100800000000000000060d141a1e2122262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262424211d1710090000000000000710181f24282b2c2d2d2d2d2d2d2d21201d19130c05000000000000000000000000000000000000070f171e24282b2c2d2d2d2d2d2d2d21201e19140d0500000000000000070f151b1f22222d2d2d2d2d2d2d2424211d1710090000000000000710181f24282b2c2d2d2d2d2d2d2d21201d19130c050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008121a22282d3031393939393939393837332e2820180e0400000008121b242b31363839393939393939392e2d2a251e160e05000000040d171f272e3336373939393939393931302d28221a12080000000000060f181f262a2d2e3232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323231302d28221b120900000000061019222930353839393939393939392e2d2a251e160e0500000000000000000000000000000000060f1921292f343738393939393939392e2d2a251e170e05000000000007101920272b2e2f3939393939393931302d28221b120900000000061019222930353839393939393939392e2d2a251e160e05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000Line truncated _typelessdata: 00
m_StreamData: m_StreamData:
serializedVersion: 2 serializedVersion: 2
offset: 0 offset: 0
+1 -1
View File
@@ -83,7 +83,7 @@ PlayerSettings:
androidApplicationEntry: 2 androidApplicationEntry: 2
defaultIsNativeResolution: 1 defaultIsNativeResolution: 1
macRetinaSupport: 1 macRetinaSupport: 1
runInBackground: 0 runInBackground: 1
muteOtherAudioSources: 0 muteOtherAudioSources: 0
Prepare IOS For Recording: 0 Prepare IOS For Recording: 0
Force IOS Speakers When Recording: 0 Force IOS Speakers When Recording: 0
+2 -74
View File
@@ -4,62 +4,8 @@
QualitySettings: QualitySettings:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
serializedVersion: 5 serializedVersion: 5
m_CurrentQuality: 1 m_CurrentQuality: 0
m_QualitySettings: m_QualitySettings:
- serializedVersion: 5
name: Mobile
pixelLightCount: 2
shadows: 2
shadowResolution: 1
shadowProjection: 1
shadowCascades: 2
shadowDistance: 40
shadowNearPlaneOffset: 3
shadowCascade2Split: 0.33333334
shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
shadowmaskMode: 0
skinWeights: 2
globalTextureMipmapLimit: 0
textureMipmapLimitSettings: []
anisotropicTextures: 1
antiAliasing: 0
softParticles: 0
softVegetation: 1
realtimeReflectionProbes: 0
billboardsFaceCameraPosition: 1
useLegacyDetailDistribution: 1
adaptiveVsync: 0
vSyncCount: 0
realtimeGICPUUsage: 100
adaptiveVsyncExtraA: 0
adaptiveVsyncExtraB: 0
lodBias: 1
meshLodThreshold: 1
maximumLODLevel: 0
enableLODCrossFade: 1
streamingMipmapsActive: 0
streamingMipmapsAddAllCameras: 1
streamingMipmapsMemoryBudget: 512
streamingMipmapsRenderersPerFrame: 512
streamingMipmapsMaxLevelReduction: 2
streamingMipmapsMaxFileIORequests: 1024
particleRaycastBudget: 256
asyncUploadTimeSlice: 2
asyncUploadBufferSize: 16
asyncUploadPersistentBuffer: 1
resolutionScalingFixedDPIFactor: 1
customRenderPipeline: {fileID: 11400000, guid: 5e6cbd92db86f4b18aec3ed561671858, type: 2}
terrainQualityOverrides: 0
terrainPixelError: 1
terrainDetailDensityScale: 1
terrainBasemapDistance: 1000
terrainDetailDistance: 80
terrainTreeDistance: 5000
terrainBillboardStart: 50
terrainFadeLength: 5
terrainMaxTrees: 50
excludedTargetPlatforms:
- Standalone
- serializedVersion: 5 - serializedVersion: 5
name: PC name: PC
pixelLightCount: 2 pixelLightCount: 2
@@ -116,22 +62,4 @@ QualitySettings:
- Android - Android
- iPhone - iPhone
m_TextureMipmapLimitGroupNames: [] m_TextureMipmapLimitGroupNames: []
m_PerPlatformDefaultQuality: m_PerPlatformDefaultQuality: {}
Android: 0
AndroidXR: 0
GameCoreScarlett: 1
GameCoreXboxOne: 1
Lumin: 0
MetaQuest: 0
Nintendo Switch: 1
Nintendo Switch 2: 1
PS4: 1
PS5: 1
Server: 0
Stadia: 0
Standalone: 1
WebGL: 0
Windows Store Apps: 0
XboxOne: 0
iPhone: 0
tvOS: 0
+1 -1
View File
@@ -4,7 +4,7 @@
UnityConnectSettings: UnityConnectSettings:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
serializedVersion: 1 serializedVersion: 1
m_Enabled: 0 m_Enabled: 1
m_TestMode: 0 m_TestMode: 0
m_EventOldUrl: https://api.uca.cloud.unity3d.com/v1/events m_EventOldUrl: https://api.uca.cloud.unity3d.com/v1/events
m_EventUrl: https://cdp.cloud.unity3d.com/v1/events m_EventUrl: https://cdp.cloud.unity3d.com/v1/events