Compare commits
16 Commits
d28ff21213
...
f3a995d297
| Author | SHA1 | Date | |
|---|---|---|---|
| f3a995d297 | |||
| 91a4d51c5e | |||
| 1955e1fab0 | |||
| 041a83a015 | |||
| 6954e8b80b | |||
| 5238b65dc2 | |||
| e31ecadc81 | |||
| e7e3708c44 | |||
| 067fca11c9 | |||
| 11235e6b2c | |||
| 27c2fdf881 | |||
| aeb4fc2847 | |||
| 00233ee977 | |||
| 0a1aeea825 | |||
| 62306a34a2 | |||
| 5e61dbf7e6 |
13
.gitignore
vendored
13
.gitignore
vendored
@@ -74,3 +74,16 @@ crashlytics-build.properties
|
||||
/[Aa]ssets/[Ss]treamingAssets/aa/*
|
||||
|
||||
.vscode
|
||||
|
||||
|
||||
# External packages (not tracked)
|
||||
Assets/External/SidekickCharacters/
|
||||
Assets/External/SyntyPackageHelper 1/
|
||||
Assets/DownloadCache/
|
||||
|
||||
# Sketchfab files
|
||||
Assets/External_Used/Models/Human-Custom.sk
|
||||
Assets/External_Used/Models/Human-Custom.sk.meta
|
||||
|
||||
# Wwise audio project
|
||||
Colosseum.slnx
|
||||
|
||||
@@ -27,6 +27,53 @@ AnimatorState:
|
||||
m_MirrorParameter:
|
||||
m_CycleOffsetParameter:
|
||||
m_TimeParameter:
|
||||
--- !u!1101 &-7355565198356877363
|
||||
AnimatorStateTransition:
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name:
|
||||
m_Conditions: []
|
||||
m_DstStateMachine: {fileID: 0}
|
||||
m_DstState: {fileID: 8846385207969213533}
|
||||
m_Solo: 0
|
||||
m_Mute: 0
|
||||
m_IsExit: 0
|
||||
serializedVersion: 3
|
||||
m_TransitionDuration: 0.25
|
||||
m_TransitionOffset: 0
|
||||
m_ExitTime: 0.8557693
|
||||
m_HasExitTime: 1
|
||||
m_HasFixedDuration: 1
|
||||
m_InterruptionSource: 0
|
||||
m_OrderedInterruption: 1
|
||||
m_CanTransitionToSelf: 1
|
||||
--- !u!1101 &-6146543620670552976
|
||||
AnimatorStateTransition:
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name:
|
||||
m_Conditions:
|
||||
- m_ConditionMode: 1
|
||||
m_ConditionEvent: Die
|
||||
m_EventTreshold: 0
|
||||
m_DstStateMachine: {fileID: 0}
|
||||
m_DstState: {fileID: 4717780193306342999}
|
||||
m_Solo: 0
|
||||
m_Mute: 0
|
||||
m_IsExit: 0
|
||||
serializedVersion: 3
|
||||
m_TransitionDuration: 0.25
|
||||
m_TransitionOffset: 0
|
||||
m_ExitTime: 0.75
|
||||
m_HasExitTime: 0
|
||||
m_HasFixedDuration: 1
|
||||
m_InterruptionSource: 0
|
||||
m_OrderedInterruption: 1
|
||||
m_CanTransitionToSelf: 1
|
||||
--- !u!1107 &-5279407469294999195
|
||||
AnimatorStateMachine:
|
||||
serializedVersion: 6
|
||||
@@ -44,13 +91,20 @@ AnimatorStateMachine:
|
||||
m_Position: {x: 290, y: 180, z: 0}
|
||||
- serializedVersion: 1
|
||||
m_State: {fileID: -2487449162152911812}
|
||||
m_Position: {x: -210, y: 350, z: 0}
|
||||
m_Position: {x: -220, y: 350, z: 0}
|
||||
- serializedVersion: 1
|
||||
m_State: {fileID: 4717780193306342999}
|
||||
m_Position: {x: -220, y: 180, z: 0}
|
||||
- serializedVersion: 1
|
||||
m_State: {fileID: 8846385207969213533}
|
||||
m_Position: {x: -220, y: 80, z: 0}
|
||||
m_ChildStateMachines: []
|
||||
m_AnyStateTransitions: []
|
||||
m_AnyStateTransitions:
|
||||
- {fileID: -6146543620670552976}
|
||||
m_EntryTransitions: []
|
||||
m_StateMachineTransitions: {}
|
||||
m_StateMachineBehaviours: []
|
||||
m_AnyStatePosition: {x: -190, y: 270, z: 0}
|
||||
m_AnyStatePosition: {x: -200, y: 270, z: 0}
|
||||
m_EntryPosition: {x: 50, y: 120, z: 0}
|
||||
m_ExitPosition: {x: 800, y: 120, z: 0}
|
||||
m_ParentStateMachinePosition: {x: 800, y: 20, z: 0}
|
||||
@@ -192,6 +246,12 @@ AnimatorController:
|
||||
m_DefaultInt: 0
|
||||
m_DefaultBool: 0
|
||||
m_Controller: {fileID: 9100000}
|
||||
- m_Name: Die
|
||||
m_Type: 9
|
||||
m_DefaultFloat: 0
|
||||
m_DefaultInt: 0
|
||||
m_DefaultBool: 0
|
||||
m_Controller: {fileID: 9100000}
|
||||
m_AnimatorLayers:
|
||||
- serializedVersion: 5
|
||||
m_Name: Base Layer
|
||||
@@ -230,6 +290,82 @@ AnimatorStateTransition:
|
||||
m_InterruptionSource: 0
|
||||
m_OrderedInterruption: 1
|
||||
m_CanTransitionToSelf: 1
|
||||
--- !u!1102 &4717780193306342999
|
||||
AnimatorState:
|
||||
serializedVersion: 6
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Die
|
||||
m_Speed: 1
|
||||
m_CycleOffset: 0
|
||||
m_Transitions:
|
||||
- {fileID: -7355565198356877363}
|
||||
m_StateMachineBehaviours: []
|
||||
m_Position: {x: 50, y: 50, z: 0}
|
||||
m_IKOnFeet: 0
|
||||
m_WriteDefaultValues: 1
|
||||
m_Mirror: 0
|
||||
m_SpeedParameterActive: 0
|
||||
m_MirrorParameterActive: 0
|
||||
m_CycleOffsetParameterActive: 0
|
||||
m_TimeParameterActive: 0
|
||||
m_Motion: {fileID: 8003560683512829103, guid: dce2c044329372a439fffb8c2850a005, type: 3}
|
||||
m_Tag:
|
||||
m_SpeedParameter:
|
||||
m_MirrorParameter:
|
||||
m_CycleOffsetParameter:
|
||||
m_TimeParameter:
|
||||
--- !u!1101 &7571880184799686224
|
||||
AnimatorStateTransition:
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name:
|
||||
m_Conditions: []
|
||||
m_DstStateMachine: {fileID: 0}
|
||||
m_DstState: {fileID: 8846385207969213533}
|
||||
m_Solo: 0
|
||||
m_Mute: 0
|
||||
m_IsExit: 0
|
||||
serializedVersion: 3
|
||||
m_TransitionDuration: 0.25
|
||||
m_TransitionOffset: 0
|
||||
m_ExitTime: 1
|
||||
m_HasExitTime: 1
|
||||
m_HasFixedDuration: 0
|
||||
m_InterruptionSource: 0
|
||||
m_OrderedInterruption: 1
|
||||
m_CanTransitionToSelf: 1
|
||||
--- !u!1102 &8846385207969213533
|
||||
AnimatorState:
|
||||
serializedVersion: 6
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Death Loop
|
||||
m_Speed: 1
|
||||
m_CycleOffset: 0
|
||||
m_Transitions:
|
||||
- {fileID: 7571880184799686224}
|
||||
m_StateMachineBehaviours: []
|
||||
m_Position: {x: 50, y: 50, z: 0}
|
||||
m_IKOnFeet: 0
|
||||
m_WriteDefaultValues: 1
|
||||
m_Mirror: 0
|
||||
m_SpeedParameterActive: 0
|
||||
m_MirrorParameterActive: 0
|
||||
m_CycleOffsetParameterActive: 0
|
||||
m_TimeParameterActive: 0
|
||||
m_Motion: {fileID: 2473861289378347930, guid: c1982a19fac5e77439ec3efd79eeace2, type: 3}
|
||||
m_Tag:
|
||||
m_SpeedParameter:
|
||||
m_MirrorParameter:
|
||||
m_CycleOffsetParameter:
|
||||
m_TimeParameter:
|
||||
--- !u!1101 &8997152603305261974
|
||||
AnimatorStateTransition:
|
||||
m_ObjectHideFlags: 1
|
||||
|
||||
@@ -76,10 +76,14 @@ AnimatorStateMachine:
|
||||
- serializedVersion: 1
|
||||
m_State: {fileID: -2487449162152911812}
|
||||
m_Position: {x: -210, y: 350, z: 0}
|
||||
- serializedVersion: 1
|
||||
m_State: {fileID: -1032254959699123210}
|
||||
m_Position: {x: -450, y: 270, z: 0}
|
||||
m_ChildStateMachines: []
|
||||
m_AnyStateTransitions:
|
||||
- {fileID: -754003289131015157}
|
||||
- {fileID: 469741948129995159}
|
||||
- {fileID: 6228136561094308872}
|
||||
m_EntryTransitions: []
|
||||
m_StateMachineTransitions: {}
|
||||
m_StateMachineBehaviours: []
|
||||
@@ -180,6 +184,32 @@ BlendTree:
|
||||
m_UseAutomaticThresholds: 1
|
||||
m_NormalizedBlendValues: 0
|
||||
m_BlendType: 0
|
||||
--- !u!1102 &-1032254959699123210
|
||||
AnimatorState:
|
||||
serializedVersion: 6
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Die
|
||||
m_Speed: 1
|
||||
m_CycleOffset: 0
|
||||
m_Transitions: []
|
||||
m_StateMachineBehaviours: []
|
||||
m_Position: {x: 50, y: 50, z: 0}
|
||||
m_IKOnFeet: 0
|
||||
m_WriteDefaultValues: 1
|
||||
m_Mirror: 0
|
||||
m_SpeedParameterActive: 0
|
||||
m_MirrorParameterActive: 0
|
||||
m_CycleOffsetParameterActive: 0
|
||||
m_TimeParameterActive: 0
|
||||
m_Motion: {fileID: 8003560683512829103, guid: dce2c044329372a439fffb8c2850a005, type: 3}
|
||||
m_Tag:
|
||||
m_SpeedParameter:
|
||||
m_MirrorParameter:
|
||||
m_CycleOffsetParameter:
|
||||
m_TimeParameter:
|
||||
--- !u!1101 &-754003289131015157
|
||||
AnimatorStateTransition:
|
||||
m_ObjectHideFlags: 1
|
||||
@@ -287,6 +317,12 @@ AnimatorController:
|
||||
m_DefaultInt: 0
|
||||
m_DefaultBool: 0
|
||||
m_Controller: {fileID: 9100000}
|
||||
- m_Name: Die
|
||||
m_Type: 9
|
||||
m_DefaultFloat: 0
|
||||
m_DefaultInt: 0
|
||||
m_DefaultBool: 0
|
||||
m_Controller: {fileID: 9100000}
|
||||
m_AnimatorLayers:
|
||||
- serializedVersion: 5
|
||||
m_Name: Base Layer
|
||||
@@ -376,6 +412,31 @@ AnimatorStateTransition:
|
||||
m_InterruptionSource: 0
|
||||
m_OrderedInterruption: 1
|
||||
m_CanTransitionToSelf: 1
|
||||
--- !u!1101 &6228136561094308872
|
||||
AnimatorStateTransition:
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name:
|
||||
m_Conditions:
|
||||
- m_ConditionMode: 1
|
||||
m_ConditionEvent: Die
|
||||
m_EventTreshold: 0
|
||||
m_DstStateMachine: {fileID: 0}
|
||||
m_DstState: {fileID: -1032254959699123210}
|
||||
m_Solo: 0
|
||||
m_Mute: 0
|
||||
m_IsExit: 0
|
||||
serializedVersion: 3
|
||||
m_TransitionDuration: 0.25
|
||||
m_TransitionOffset: 0
|
||||
m_ExitTime: 0.75
|
||||
m_HasExitTime: 0
|
||||
m_HasFixedDuration: 1
|
||||
m_InterruptionSource: 0
|
||||
m_OrderedInterruption: 1
|
||||
m_CanTransitionToSelf: 1
|
||||
--- !u!1102 &7693173606830535998
|
||||
AnimatorState:
|
||||
serializedVersion: 6
|
||||
|
||||
8
Assets/DownloadCache.meta
Normal file
8
Assets/DownloadCache.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b3524abfa3d4c9f498584b333e716880
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
8
Assets/External/SidekickCharacters.meta
vendored
Normal file
8
Assets/External/SidekickCharacters.meta
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 569053ce0f2871a4db2a276329664b9f
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
8
Assets/External/SyntyPackageHelper 1.meta
vendored
Normal file
8
Assets/External/SyntyPackageHelper 1.meta
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e324deda8be0b2049b8617581b86b5a6
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/External_Used/Animations/Death_Default.fbx
Normal file
BIN
Assets/External_Used/Animations/Death_Default.fbx
Normal file
Binary file not shown.
1564
Assets/External_Used/Animations/Death_Default.fbx.meta
Normal file
1564
Assets/External_Used/Animations/Death_Default.fbx.meta
Normal file
File diff suppressed because it is too large
Load Diff
BIN
Assets/External_Used/Animations/Death_Default_Loop.fbx
Normal file
BIN
Assets/External_Used/Animations/Death_Default_Loop.fbx
Normal file
Binary file not shown.
1564
Assets/External_Used/Animations/Death_Default_Loop.fbx.meta
Normal file
1564
Assets/External_Used/Animations/Death_Default_Loop.fbx.meta
Normal file
File diff suppressed because it is too large
Load Diff
@@ -55,14 +55,7 @@ ModelImporter:
|
||||
bodyMask: 01000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000
|
||||
curves: []
|
||||
events:
|
||||
- time: 0
|
||||
functionName: OnEffect
|
||||
data:
|
||||
objectReferenceParameter: {instanceID: 0}
|
||||
floatParameter: 0
|
||||
intParameter: 0
|
||||
messageOptions: 0
|
||||
- time: 0.50297606
|
||||
- time: 0.4984817
|
||||
functionName: OnEffect
|
||||
data:
|
||||
objectReferenceParameter: {instanceID: 0}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
BIN
Assets/External_Used/Models/SM_Wep_Sword_01.fbx
Normal file
BIN
Assets/External_Used/Models/SM_Wep_Sword_01.fbx
Normal file
Binary file not shown.
83
Assets/External_Used/Models/SM_Wep_Sword_01.fbx.meta
Normal file
83
Assets/External_Used/Models/SM_Wep_Sword_01.fbx.meta
Normal file
@@ -0,0 +1,83 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c6e2f484ffcec214da9c765711b562f4
|
||||
timeCreated: 1554785616
|
||||
licenseType: Store
|
||||
ModelImporter:
|
||||
serializedVersion: 19
|
||||
fileIDToRecycleName:
|
||||
100000: //RootNode
|
||||
400000: //RootNode
|
||||
2300000: //RootNode
|
||||
3300000: //RootNode
|
||||
4300000: SM_Wep_Sword_01
|
||||
9500000: //RootNode
|
||||
materials:
|
||||
importMaterials: 0
|
||||
materialName: 0
|
||||
materialSearch: 1
|
||||
animations:
|
||||
legacyGenerateAnimations: 4
|
||||
bakeSimulation: 0
|
||||
resampleCurves: 1
|
||||
optimizeGameObjects: 0
|
||||
motionNodeName:
|
||||
rigImportErrors:
|
||||
rigImportWarnings:
|
||||
animationImportErrors:
|
||||
animationImportWarnings:
|
||||
animationRetargetingWarnings:
|
||||
animationDoRetargetingWarnings: 0
|
||||
animationCompression: 1
|
||||
animationRotationError: 0.5
|
||||
animationPositionError: 0.5
|
||||
animationScaleError: 0.5
|
||||
animationWrapMode: 0
|
||||
extraExposedTransformPaths: []
|
||||
clipAnimations: []
|
||||
isReadable: 0
|
||||
meshes:
|
||||
lODScreenPercentages: []
|
||||
globalScale: 1
|
||||
meshCompression: 0
|
||||
addColliders: 0
|
||||
importBlendShapes: 0
|
||||
swapUVChannels: 0
|
||||
generateSecondaryUV: 0
|
||||
useFileUnits: 1
|
||||
optimizeMeshForGPU: 0
|
||||
keepQuads: 0
|
||||
weldVertices: 0
|
||||
secondaryUVAngleDistortion: 8
|
||||
secondaryUVAreaDistortion: 15.000001
|
||||
secondaryUVHardAngle: 88
|
||||
secondaryUVPackMargin: 4
|
||||
useFileScale: 1
|
||||
tangentSpace:
|
||||
normalSmoothAngle: 0
|
||||
normalImportMode: 1
|
||||
tangentImportMode: 3
|
||||
importAnimation: 0
|
||||
copyAvatar: 0
|
||||
humanDescription:
|
||||
serializedVersion: 2
|
||||
human: []
|
||||
skeleton: []
|
||||
armTwist: 0.5
|
||||
foreArmTwist: 0.5
|
||||
upperLegTwist: 0.5
|
||||
legTwist: 0.5
|
||||
armStretch: 0.05
|
||||
legStretch: 0.05
|
||||
feetSpacing: 0
|
||||
rootMotionBoneName:
|
||||
rootMotionBoneRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
hasTranslationDoF: 0
|
||||
hasExtraRoot: 0
|
||||
skeletonHasParents: 1
|
||||
lastHumanDescriptionAvatarSource: {instanceID: 0}
|
||||
animationType: 0
|
||||
humanoidOversampling: 1
|
||||
additionalBone: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -35,7 +35,8 @@ MonoBehaviour:
|
||||
- rid: 8805855836547056135
|
||||
- rid: 8805855836547056335
|
||||
- rid: 8805855841097090010
|
||||
m_VersionTimestamp: 639088753701246820
|
||||
- rid: 8805855941168464100
|
||||
m_VersionTimestamp: 639092245458294623
|
||||
m_CommandBuffer:
|
||||
m_Commands: []
|
||||
m_RuntimeBlackboardAsset: {fileID: 6694785542709420471}
|
||||
@@ -102,6 +103,16 @@ MonoBehaviour:
|
||||
IsExposed: 1
|
||||
m_IsShared: 0
|
||||
m_Value: {fileID: 11400000, guid: 4f40629d4d334434285e8fdec3714536, type: 2}
|
||||
- rid: 8805855941168464100
|
||||
type: {class: 'TypedVariableModel`1[[System.Boolean, mscorlib]]', ns: Unity.Behavior.GraphFramework, asm: Unity.Behavior.GraphFramework}
|
||||
data:
|
||||
ID:
|
||||
m_Value0: 2997173512430605425
|
||||
m_Value1: 14990413519379198129
|
||||
Name: Die
|
||||
IsExposed: 1
|
||||
m_IsShared: 0
|
||||
m_Value: 0
|
||||
--- !u!114 &-3933356984444701103
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -134,8 +145,8 @@ MonoBehaviour:
|
||||
rid: 8805855836547055694
|
||||
BlackboardGroupReferences: []
|
||||
Root:
|
||||
rid: 8805855846311395537
|
||||
m_VersionTimestamp: 639088753702668748
|
||||
rid: 8805855941168464690
|
||||
m_VersionTimestamp: 639092257330260006
|
||||
- rid: 8805855836547055694
|
||||
type: {class: BlackboardReference, ns: Unity.Behavior, asm: Unity.Behavior}
|
||||
data:
|
||||
@@ -146,13 +157,70 @@ MonoBehaviour:
|
||||
type: {class: Blackboard, ns: Unity.Behavior, asm: Unity.Behavior}
|
||||
data:
|
||||
m_Variables:
|
||||
- rid: 8805855846311395539
|
||||
- rid: 8805855846311395540
|
||||
- rid: 8805855846311395541
|
||||
- rid: 8805855846311395542
|
||||
- rid: 8805855846311395543
|
||||
- rid: 8805855846311395544
|
||||
- rid: 8805855846311395537
|
||||
- rid: 8805855941168464571
|
||||
- rid: 8805855941168464572
|
||||
- rid: 8805855941168464573
|
||||
- rid: 8805855941168464574
|
||||
- rid: 8805855941168464575
|
||||
- rid: 8805855941168464576
|
||||
- rid: 8805855941168464577
|
||||
- rid: 8805855941168464571
|
||||
type: {class: 'BlackboardVariable`1[[UnityEngine.GameObject, UnityEngine.CoreModule]]', ns: Unity.Behavior, asm: Unity.Behavior}
|
||||
data:
|
||||
GUID:
|
||||
m_Value0: 1
|
||||
m_Value1: 0
|
||||
Name: Self
|
||||
m_Value: {fileID: 0}
|
||||
- rid: 8805855941168464572
|
||||
type: {class: 'BlackboardVariable`1[[System.Single, mscorlib]]', ns: Unity.Behavior, asm: Unity.Behavior}
|
||||
data:
|
||||
GUID:
|
||||
m_Value0: 6179663786753870576
|
||||
m_Value1: 13045418693957266795
|
||||
Name: AttackRange
|
||||
m_Value: 3
|
||||
- rid: 8805855941168464573
|
||||
type: {class: 'BlackboardVariable`1[[UnityEngine.GameObject, UnityEngine.CoreModule]]', ns: Unity.Behavior, asm: Unity.Behavior}
|
||||
data:
|
||||
GUID:
|
||||
m_Value0: 7475528897857689991
|
||||
m_Value1: 9373801459200419976
|
||||
Name: Target
|
||||
m_Value: {fileID: 0}
|
||||
- rid: 8805855941168464574
|
||||
type: {class: 'BlackboardVariable`1[[System.Single, mscorlib]]', ns: Unity.Behavior, asm: Unity.Behavior}
|
||||
data:
|
||||
GUID:
|
||||
m_Value0: 16869927256715422330
|
||||
m_Value1: 821422556084951432
|
||||
Name: SightRange
|
||||
m_Value: 20
|
||||
- rid: 8805855941168464575
|
||||
type: {class: 'BlackboardVariable`1[[System.Single, mscorlib]]', ns: Unity.Behavior, asm: Unity.Behavior}
|
||||
data:
|
||||
GUID:
|
||||
m_Value0: 8799674741299202428
|
||||
m_Value1: 6075552970323151189
|
||||
Name: MoveSpeed
|
||||
m_Value: 0
|
||||
- rid: 8805855941168464576
|
||||
type: {class: 'BlackboardVariable`1[[Colosseum.Skills.SkillData, Colosseum.Game]]', ns: Unity.Behavior, asm: Unity.Behavior}
|
||||
data:
|
||||
GUID:
|
||||
m_Value0: 15894527964846533412
|
||||
m_Value1: 3771131609012049390
|
||||
Name: Default Attack Skill
|
||||
m_Value: {fileID: 11400000, guid: 4f40629d4d334434285e8fdec3714536, type: 2}
|
||||
- rid: 8805855941168464577
|
||||
type: {class: 'BlackboardVariable`1[[System.Boolean, mscorlib]]', ns: Unity.Behavior, asm: Unity.Behavior}
|
||||
data:
|
||||
GUID:
|
||||
m_Value0: 2997173512430605425
|
||||
m_Value1: 14990413519379198129
|
||||
Name: Die
|
||||
m_Value: 0
|
||||
- rid: 8805855941168464690
|
||||
type: {class: Start, ns: Unity.Behavior, asm: Unity.Behavior}
|
||||
data:
|
||||
ID:
|
||||
@@ -163,10 +231,46 @@ MonoBehaviour:
|
||||
m_Parent:
|
||||
rid: -2
|
||||
m_Child:
|
||||
rid: 8805855846311395538
|
||||
Repeat: 1
|
||||
rid: 8805855941168464691
|
||||
Repeat: 0
|
||||
AllowMultipleRepeatsPerTick: 0
|
||||
- rid: 8805855846311395538
|
||||
- rid: 8805855941168464691
|
||||
type: {class: RepeaterModifier, ns: Unity.Behavior, asm: Unity.Behavior}
|
||||
data:
|
||||
ID:
|
||||
m_Value0: 16903089648015682040
|
||||
m_Value1: 5621269674286214316
|
||||
Graph:
|
||||
rid: 8805855836547055693
|
||||
m_Parent:
|
||||
rid: 8805855941168464690
|
||||
m_Child:
|
||||
rid: 8805855941168464692
|
||||
m_AllowMultipleRepeatsPerTick: 0
|
||||
- rid: 8805855941168464692
|
||||
type: {class: BranchingConditionComposite, ns: Unity.Behavior, asm: Unity.Behavior}
|
||||
data:
|
||||
ID:
|
||||
m_Value0: 3882872508468950798
|
||||
m_Value1: 3938133446346283639
|
||||
Graph:
|
||||
rid: 8805855836547055693
|
||||
m_Parent:
|
||||
rid: 8805855941168464691
|
||||
m_Children:
|
||||
- rid: 8805855941168464693
|
||||
m_RegisteredObservers: []
|
||||
m_Conditions:
|
||||
- rid: 8805855941168464694
|
||||
m_RequiresAllConditions: 0
|
||||
True:
|
||||
rid: -2
|
||||
False:
|
||||
rid: 8805855941168464693
|
||||
m_CurrentChild:
|
||||
rid: -2
|
||||
m_ObserverType: 0
|
||||
- rid: 8805855941168464693
|
||||
type: {class: SequenceComposite, ns: Unity.Behavior, asm: Unity.Behavior}
|
||||
data:
|
||||
ID:
|
||||
@@ -175,60 +279,23 @@ MonoBehaviour:
|
||||
Graph:
|
||||
rid: 8805855836547055693
|
||||
m_Parent:
|
||||
rid: 8805855846311395537
|
||||
rid: 8805855941168464692
|
||||
m_Children:
|
||||
- rid: 8805855846311395545
|
||||
- rid: 8805855846311395546
|
||||
- rid: 8805855941168464695
|
||||
- rid: 8805855941168464696
|
||||
m_RegisteredObservers: []
|
||||
- rid: 8805855846311395539
|
||||
type: {class: 'BlackboardVariable`1[[UnityEngine.GameObject, UnityEngine.CoreModule]]', ns: Unity.Behavior, asm: Unity.Behavior}
|
||||
- rid: 8805855941168464694
|
||||
type: {class: VariableComparisonCondition, ns: Unity.Behavior, asm: Unity.Behavior}
|
||||
data:
|
||||
GUID:
|
||||
m_Value0: 1
|
||||
m_Value1: 0
|
||||
Name: Self
|
||||
m_Value: {fileID: 0}
|
||||
- rid: 8805855846311395540
|
||||
type: {class: 'BlackboardVariable`1[[System.Single, mscorlib]]', ns: Unity.Behavior, asm: Unity.Behavior}
|
||||
data:
|
||||
GUID:
|
||||
m_Value0: 6179663786753870576
|
||||
m_Value1: 13045418693957266795
|
||||
Name: AttackRange
|
||||
m_Value: 3
|
||||
- rid: 8805855846311395541
|
||||
type: {class: 'BlackboardVariable`1[[UnityEngine.GameObject, UnityEngine.CoreModule]]', ns: Unity.Behavior, asm: Unity.Behavior}
|
||||
data:
|
||||
GUID:
|
||||
m_Value0: 7475528897857689991
|
||||
m_Value1: 9373801459200419976
|
||||
Name: Target
|
||||
m_Value: {fileID: 0}
|
||||
- rid: 8805855846311395542
|
||||
type: {class: 'BlackboardVariable`1[[System.Single, mscorlib]]', ns: Unity.Behavior, asm: Unity.Behavior}
|
||||
data:
|
||||
GUID:
|
||||
m_Value0: 16869927256715422330
|
||||
m_Value1: 821422556084951432
|
||||
Name: SightRange
|
||||
m_Value: 20
|
||||
- rid: 8805855846311395543
|
||||
type: {class: 'BlackboardVariable`1[[System.Single, mscorlib]]', ns: Unity.Behavior, asm: Unity.Behavior}
|
||||
data:
|
||||
GUID:
|
||||
m_Value0: 8799674741299202428
|
||||
m_Value1: 6075552970323151189
|
||||
Name: MoveSpeed
|
||||
m_Value: 0
|
||||
- rid: 8805855846311395544
|
||||
type: {class: 'BlackboardVariable`1[[Colosseum.Skills.SkillData, Colosseum.Game]]', ns: Unity.Behavior, asm: Unity.Behavior}
|
||||
data:
|
||||
GUID:
|
||||
m_Value0: 15894527964846533412
|
||||
m_Value1: 3771131609012049390
|
||||
Name: Default Attack Skill
|
||||
m_Value: {fileID: 11400000, guid: 4f40629d4d334434285e8fdec3714536, type: 2}
|
||||
- rid: 8805855846311395545
|
||||
Graph:
|
||||
rid: 8805855836547055693
|
||||
Variable:
|
||||
rid: 8805855941168464577
|
||||
Operator:
|
||||
rid: 8805855941168464697
|
||||
ComparisonValue:
|
||||
rid: 8805855941168464698
|
||||
- rid: 8805855941168464695
|
||||
type: {class: SetTargetInRangeAction, ns: , asm: Colosseum.Game}
|
||||
data:
|
||||
ID:
|
||||
@@ -237,14 +304,14 @@ MonoBehaviour:
|
||||
Graph:
|
||||
rid: 8805855836547055693
|
||||
m_Parent:
|
||||
rid: 8805855846311395538
|
||||
rid: 8805855941168464693
|
||||
Target:
|
||||
rid: 8805855846311395541
|
||||
rid: 8805855941168464573
|
||||
Tag:
|
||||
rid: 8805855846311395547
|
||||
rid: 8805855941168464699
|
||||
Range:
|
||||
rid: 8805855846311395548
|
||||
- rid: 8805855846311395546
|
||||
rid: 8805855941168464700
|
||||
- rid: 8805855941168464696
|
||||
type: {class: BranchingConditionComposite, ns: Unity.Behavior, asm: Unity.Behavior}
|
||||
data:
|
||||
ID:
|
||||
@@ -253,22 +320,38 @@ MonoBehaviour:
|
||||
Graph:
|
||||
rid: 8805855836547055693
|
||||
m_Parent:
|
||||
rid: 8805855846311395538
|
||||
rid: 8805855941168464693
|
||||
m_Children:
|
||||
- rid: 8805855846311395549
|
||||
- rid: 8805855846311395550
|
||||
- rid: 8805855941168464701
|
||||
- rid: 8805855941168464702
|
||||
m_RegisteredObservers: []
|
||||
m_Conditions:
|
||||
- rid: 8805855846311395551
|
||||
- rid: 8805855941168464703
|
||||
m_RequiresAllConditions: 0
|
||||
True:
|
||||
rid: 8805855846311395549
|
||||
rid: 8805855941168464701
|
||||
False:
|
||||
rid: 8805855846311395550
|
||||
rid: 8805855941168464702
|
||||
m_CurrentChild:
|
||||
rid: -2
|
||||
m_ObserverType: 0
|
||||
- rid: 8805855846311395547
|
||||
- rid: 8805855941168464697
|
||||
type: {class: 'BlackboardVariable`1[[Unity.Behavior.ConditionOperator, Unity.Behavior]]', ns: Unity.Behavior, asm: Unity.Behavior}
|
||||
data:
|
||||
GUID:
|
||||
m_Value0: 0
|
||||
m_Value1: 0
|
||||
Name:
|
||||
m_Value: 0
|
||||
- rid: 8805855941168464698
|
||||
type: {class: 'BlackboardVariable`1[[System.Boolean, mscorlib]]', ns: Unity.Behavior, asm: Unity.Behavior}
|
||||
data:
|
||||
GUID:
|
||||
m_Value0: 0
|
||||
m_Value1: 0
|
||||
Name:
|
||||
m_Value: 1
|
||||
- rid: 8805855941168464699
|
||||
type: {class: 'BlackboardVariable`1[[System.String, mscorlib]]', ns: Unity.Behavior, asm: Unity.Behavior}
|
||||
data:
|
||||
GUID:
|
||||
@@ -276,7 +359,7 @@ MonoBehaviour:
|
||||
m_Value1: 0
|
||||
Name:
|
||||
m_Value: Player
|
||||
- rid: 8805855846311395548
|
||||
- rid: 8805855941168464700
|
||||
type: {class: 'BlackboardVariable`1[[System.Single, mscorlib]]', ns: Unity.Behavior, asm: Unity.Behavior}
|
||||
data:
|
||||
GUID:
|
||||
@@ -284,7 +367,7 @@ MonoBehaviour:
|
||||
m_Value1: 0
|
||||
Name:
|
||||
m_Value: 10
|
||||
- rid: 8805855846311395549
|
||||
- rid: 8805855941168464701
|
||||
type: {class: BranchingConditionComposite, ns: Unity.Behavior, asm: Unity.Behavior}
|
||||
data:
|
||||
ID:
|
||||
@@ -293,22 +376,22 @@ MonoBehaviour:
|
||||
Graph:
|
||||
rid: 8805855836547055693
|
||||
m_Parent:
|
||||
rid: 8805855846311395546
|
||||
rid: 8805855941168464696
|
||||
m_Children:
|
||||
- rid: 8805855846311395552
|
||||
- rid: 8805855846311395553
|
||||
- rid: 8805855941168464704
|
||||
- rid: 8805855941168464705
|
||||
m_RegisteredObservers: []
|
||||
m_Conditions:
|
||||
- rid: 8805855846311395554
|
||||
- rid: 8805855941168464706
|
||||
m_RequiresAllConditions: 0
|
||||
True:
|
||||
rid: 8805855846311395552
|
||||
rid: 8805855941168464704
|
||||
False:
|
||||
rid: 8805855846311395553
|
||||
rid: 8805855941168464705
|
||||
m_CurrentChild:
|
||||
rid: -2
|
||||
m_ObserverType: 0
|
||||
- rid: 8805855846311395550
|
||||
- rid: 8805855941168464702
|
||||
type: {class: WaitAction, ns: , asm: Colosseum.Game}
|
||||
data:
|
||||
ID:
|
||||
@@ -317,21 +400,21 @@ MonoBehaviour:
|
||||
Graph:
|
||||
rid: 8805855836547055693
|
||||
m_Parent:
|
||||
rid: 8805855846311395546
|
||||
rid: 8805855941168464696
|
||||
Duration:
|
||||
rid: 8805855846311395555
|
||||
- rid: 8805855846311395551
|
||||
rid: 8805855941168464707
|
||||
- rid: 8805855941168464703
|
||||
type: {class: VariableComparisonCondition, ns: Unity.Behavior, asm: Unity.Behavior}
|
||||
data:
|
||||
Graph:
|
||||
rid: 8805855836547055693
|
||||
Variable:
|
||||
rid: 8805855846311395541
|
||||
rid: 8805855941168464573
|
||||
Operator:
|
||||
rid: 8805855846311395556
|
||||
rid: 8805855941168464708
|
||||
ComparisonValue:
|
||||
rid: 8805855846311395557
|
||||
- rid: 8805855846311395552
|
||||
rid: 8805855941168464709
|
||||
- rid: 8805855941168464704
|
||||
type: {class: SequenceComposite, ns: Unity.Behavior, asm: Unity.Behavior}
|
||||
data:
|
||||
ID:
|
||||
@@ -340,12 +423,12 @@ MonoBehaviour:
|
||||
Graph:
|
||||
rid: 8805855836547055693
|
||||
m_Parent:
|
||||
rid: 8805855846311395549
|
||||
rid: 8805855941168464701
|
||||
m_Children:
|
||||
- rid: 8805855846311395558
|
||||
- rid: 8805855846311395559
|
||||
- rid: 8805855941168464710
|
||||
- rid: 8805855941168464711
|
||||
m_RegisteredObservers: []
|
||||
- rid: 8805855846311395553
|
||||
- rid: 8805855941168464705
|
||||
type: {class: ParallelAllComposite, ns: Unity.Behavior, asm: Unity.Behavior}
|
||||
data:
|
||||
ID:
|
||||
@@ -354,25 +437,25 @@ MonoBehaviour:
|
||||
Graph:
|
||||
rid: 8805855836547055693
|
||||
m_Parent:
|
||||
rid: 8805855846311395549
|
||||
rid: 8805855941168464701
|
||||
m_Children:
|
||||
- rid: 8805855846311395560
|
||||
- rid: 8805855846311395561
|
||||
- rid: 8805855941168464712
|
||||
- rid: 8805855941168464713
|
||||
m_RegisteredObservers: []
|
||||
- rid: 8805855846311395554
|
||||
- rid: 8805855941168464706
|
||||
type: {class: CheckDistanceCondition, ns: Unity.Behavior, asm: Unity.Behavior}
|
||||
data:
|
||||
Graph:
|
||||
rid: 8805855836547055693
|
||||
Transform:
|
||||
rid: 8805855846311395562
|
||||
rid: 8805855941168464714
|
||||
Target:
|
||||
rid: 8805855846311395563
|
||||
rid: 8805855941168464715
|
||||
Operator:
|
||||
rid: 8805855846311395564
|
||||
rid: 8805855941168464716
|
||||
Threshold:
|
||||
rid: 8805855846311395540
|
||||
- rid: 8805855846311395555
|
||||
rid: 8805855941168464572
|
||||
- rid: 8805855941168464707
|
||||
type: {class: 'BlackboardVariable`1[[System.Single, mscorlib]]', ns: Unity.Behavior, asm: Unity.Behavior}
|
||||
data:
|
||||
GUID:
|
||||
@@ -380,7 +463,7 @@ MonoBehaviour:
|
||||
m_Value1: 0
|
||||
Name:
|
||||
m_Value: 1
|
||||
- rid: 8805855846311395556
|
||||
- rid: 8805855941168464708
|
||||
type: {class: 'BlackboardVariable`1[[Unity.Behavior.ConditionOperator, Unity.Behavior]]', ns: Unity.Behavior, asm: Unity.Behavior}
|
||||
data:
|
||||
GUID:
|
||||
@@ -388,7 +471,7 @@ MonoBehaviour:
|
||||
m_Value1: 0
|
||||
Name:
|
||||
m_Value: 1
|
||||
- rid: 8805855846311395557
|
||||
- rid: 8805855941168464709
|
||||
type: {class: 'BlackboardVariable`1[[UnityEngine.GameObject, UnityEngine.CoreModule]]', ns: Unity.Behavior, asm: Unity.Behavior}
|
||||
data:
|
||||
GUID:
|
||||
@@ -396,7 +479,7 @@ MonoBehaviour:
|
||||
m_Value1: 0
|
||||
Name:
|
||||
m_Value: {fileID: 0}
|
||||
- rid: 8805855846311395558
|
||||
- rid: 8805855941168464710
|
||||
type: {class: RotateToTargetAction, ns: , asm: Colosseum.Game}
|
||||
data:
|
||||
ID:
|
||||
@@ -405,14 +488,14 @@ MonoBehaviour:
|
||||
Graph:
|
||||
rid: 8805855836547055693
|
||||
m_Parent:
|
||||
rid: 8805855846311395552
|
||||
rid: 8805855941168464704
|
||||
Target:
|
||||
rid: 8805855846311395541
|
||||
rid: 8805855941168464573
|
||||
RotationSpeed:
|
||||
rid: 8805855846311395565
|
||||
rid: 8805855941168464717
|
||||
AngleThreshold:
|
||||
rid: 8805855846311395566
|
||||
- rid: 8805855846311395559
|
||||
rid: 8805855941168464718
|
||||
- rid: 8805855941168464711
|
||||
type: {class: UseSkillAction, ns: , asm: Colosseum.Game}
|
||||
data:
|
||||
ID:
|
||||
@@ -421,10 +504,10 @@ MonoBehaviour:
|
||||
Graph:
|
||||
rid: 8805855836547055693
|
||||
m_Parent:
|
||||
rid: 8805855846311395552
|
||||
rid: 8805855941168464704
|
||||
"\uC2A4\uD0AC":
|
||||
rid: 8805855846311395544
|
||||
- rid: 8805855846311395560
|
||||
rid: 8805855941168464576
|
||||
- rid: 8805855941168464712
|
||||
type: {class: RotateToTargetAction, ns: , asm: Colosseum.Game}
|
||||
data:
|
||||
ID:
|
||||
@@ -433,14 +516,14 @@ MonoBehaviour:
|
||||
Graph:
|
||||
rid: 8805855836547055693
|
||||
m_Parent:
|
||||
rid: 8805855846311395553
|
||||
rid: 8805855941168464705
|
||||
Target:
|
||||
rid: 8805855846311395541
|
||||
rid: 8805855941168464573
|
||||
RotationSpeed:
|
||||
rid: 8805855846311395567
|
||||
rid: 8805855941168464719
|
||||
AngleThreshold:
|
||||
rid: 8805855846311395568
|
||||
- rid: 8805855846311395561
|
||||
rid: 8805855941168464720
|
||||
- rid: 8805855941168464713
|
||||
type: {class: ChaseTargetAction, ns: , asm: Colosseum.Game}
|
||||
data:
|
||||
ID:
|
||||
@@ -449,14 +532,14 @@ MonoBehaviour:
|
||||
Graph:
|
||||
rid: 8805855836547055693
|
||||
m_Parent:
|
||||
rid: 8805855846311395553
|
||||
rid: 8805855941168464705
|
||||
Target:
|
||||
rid: 8805855846311395541
|
||||
rid: 8805855941168464573
|
||||
Speed:
|
||||
rid: 8805855846311395569
|
||||
rid: 8805855941168464721
|
||||
StopDistance:
|
||||
rid: 8805855846311395570
|
||||
- rid: 8805855846311395562
|
||||
rid: 8805855941168464722
|
||||
- rid: 8805855941168464714
|
||||
type: {class: 'GameObjectToComponentBlackboardVariable`1[[UnityEngine.Transform, UnityEngine.CoreModule]]', ns: Unity.Behavior, asm: Unity.Behavior}
|
||||
data:
|
||||
GUID:
|
||||
@@ -465,8 +548,8 @@ MonoBehaviour:
|
||||
Name:
|
||||
m_Value: {fileID: 0}
|
||||
m_LinkedVariable:
|
||||
rid: 8805855846311395539
|
||||
- rid: 8805855846311395563
|
||||
rid: 8805855941168464571
|
||||
- rid: 8805855941168464715
|
||||
type: {class: 'GameObjectToComponentBlackboardVariable`1[[UnityEngine.Transform, UnityEngine.CoreModule]]', ns: Unity.Behavior, asm: Unity.Behavior}
|
||||
data:
|
||||
GUID:
|
||||
@@ -475,8 +558,8 @@ MonoBehaviour:
|
||||
Name:
|
||||
m_Value: {fileID: 0}
|
||||
m_LinkedVariable:
|
||||
rid: 8805855846311395541
|
||||
- rid: 8805855846311395564
|
||||
rid: 8805855941168464573
|
||||
- rid: 8805855941168464716
|
||||
type: {class: 'BlackboardVariable`1[[Unity.Behavior.ConditionOperator, Unity.Behavior]]', ns: Unity.Behavior, asm: Unity.Behavior}
|
||||
data:
|
||||
GUID:
|
||||
@@ -484,7 +567,7 @@ MonoBehaviour:
|
||||
m_Value1: 0
|
||||
Name:
|
||||
m_Value: 5
|
||||
- rid: 8805855846311395565
|
||||
- rid: 8805855941168464717
|
||||
type: {class: 'BlackboardVariable`1[[System.Single, mscorlib]]', ns: Unity.Behavior, asm: Unity.Behavior}
|
||||
data:
|
||||
GUID:
|
||||
@@ -492,7 +575,7 @@ MonoBehaviour:
|
||||
m_Value1: 0
|
||||
Name:
|
||||
m_Value: 10
|
||||
- rid: 8805855846311395566
|
||||
- rid: 8805855941168464718
|
||||
type: {class: 'BlackboardVariable`1[[System.Single, mscorlib]]', ns: Unity.Behavior, asm: Unity.Behavior}
|
||||
data:
|
||||
GUID:
|
||||
@@ -500,7 +583,7 @@ MonoBehaviour:
|
||||
m_Value1: 0
|
||||
Name:
|
||||
m_Value: 5
|
||||
- rid: 8805855846311395567
|
||||
- rid: 8805855941168464719
|
||||
type: {class: 'BlackboardVariable`1[[System.Single, mscorlib]]', ns: Unity.Behavior, asm: Unity.Behavior}
|
||||
data:
|
||||
GUID:
|
||||
@@ -508,7 +591,7 @@ MonoBehaviour:
|
||||
m_Value1: 0
|
||||
Name:
|
||||
m_Value: 10
|
||||
- rid: 8805855846311395568
|
||||
- rid: 8805855941168464720
|
||||
type: {class: 'BlackboardVariable`1[[System.Single, mscorlib]]', ns: Unity.Behavior, asm: Unity.Behavior}
|
||||
data:
|
||||
GUID:
|
||||
@@ -516,7 +599,7 @@ MonoBehaviour:
|
||||
m_Value1: 0
|
||||
Name:
|
||||
m_Value: 5
|
||||
- rid: 8805855846311395569
|
||||
- rid: 8805855941168464721
|
||||
type: {class: 'BlackboardVariable`1[[System.Single, mscorlib]]', ns: Unity.Behavior, asm: Unity.Behavior}
|
||||
data:
|
||||
GUID:
|
||||
@@ -524,7 +607,7 @@ MonoBehaviour:
|
||||
m_Value1: 0
|
||||
Name:
|
||||
m_Value: 0
|
||||
- rid: 8805855846311395570
|
||||
- rid: 8805855941168464722
|
||||
type: {class: 'BlackboardVariable`1[[System.Single, mscorlib]]', ns: Unity.Behavior, asm: Unity.Behavior}
|
||||
data:
|
||||
GUID:
|
||||
@@ -561,7 +644,11 @@ MonoBehaviour:
|
||||
- rid: 8805855841097089766
|
||||
- rid: 8805855846311395415
|
||||
- rid: 8805855846311395454
|
||||
m_VersionTimestamp: 639088753702668748
|
||||
- rid: 8805855941168464148
|
||||
- rid: 8805855941168464149
|
||||
- rid: 8805855941168464150
|
||||
- rid: 8805855941168464612
|
||||
m_VersionTimestamp: 639092257330260006
|
||||
m_SerializedVersion: 2
|
||||
m_DebugInfo: {fileID: -6758363554468061369}
|
||||
m_RuntimeGraph: {fileID: -3933356984444701103}
|
||||
@@ -710,6 +797,16 @@ MonoBehaviour:
|
||||
Tooltip:
|
||||
NamedChildren: []
|
||||
IsPlaceholder: 0
|
||||
- Name: Repeat
|
||||
Story:
|
||||
RuntimeTypeString: Unity.Behavior.RepeaterModifier, Unity.Behavior, Version=0.0.0.0,
|
||||
Culture=neutral, PublicKeyToken=null
|
||||
RuntimeTypeID:
|
||||
m_Value0: 3696095273264312494
|
||||
m_Value1: 14191201703811421854
|
||||
Variables: []
|
||||
NamedChildren: []
|
||||
IsPlaceholder: 0
|
||||
m_Blackboards: []
|
||||
m_MainBlackboardAuthoringAsset: {fileID: -6591390698989283165}
|
||||
m_CommandBuffer:
|
||||
@@ -726,7 +823,7 @@ MonoBehaviour:
|
||||
- rid: 8805855836547055698
|
||||
type: {class: StartNodeModel, ns: Unity.Behavior, asm: Unity.Behavior.Authoring}
|
||||
data:
|
||||
Position: {x: 300.00003, y: -65.20001}
|
||||
Position: {x: 211.99992, y: -365.45004}
|
||||
ID:
|
||||
m_Value0: 8361680655506702021
|
||||
m_Value1: 11075116708293476273
|
||||
@@ -740,7 +837,7 @@ MonoBehaviour:
|
||||
m_Value0: 3335272451348827663
|
||||
m_Value1: 11549843281177505721
|
||||
m_FieldValues: []
|
||||
Repeat: 1
|
||||
Repeat: 0
|
||||
AllowMultipleRepeatsPerTick: 0
|
||||
- rid: 8805855836547055699
|
||||
type: {class: PortModel, ns: Unity.Behavior.GraphFramework, asm: Unity.Behavior.GraphFramework}
|
||||
@@ -751,7 +848,7 @@ MonoBehaviour:
|
||||
m_NodeModel:
|
||||
rid: 8805855836547055698
|
||||
m_Connections:
|
||||
- rid: 8805855841097089468
|
||||
- rid: 8805855941168464613
|
||||
- rid: 8805855841097089283
|
||||
type: {class: 'TypedVariableModel`1[[UnityEngine.GameObject, UnityEngine.CoreModule]]', ns: Unity.Behavior.GraphFramework, asm: Unity.Behavior.GraphFramework}
|
||||
data:
|
||||
@@ -1083,7 +1180,7 @@ MonoBehaviour:
|
||||
m_NodeModel:
|
||||
rid: 8805855841097089467
|
||||
m_Connections:
|
||||
- rid: 8805855836547055699
|
||||
- rid: 8805855941168464154
|
||||
- rid: 8805855841097089469
|
||||
type: {class: PortModel, ns: Unity.Behavior.GraphFramework, asm: Unity.Behavior.GraphFramework}
|
||||
data:
|
||||
@@ -1794,6 +1891,254 @@ MonoBehaviour:
|
||||
IsExposed: 1
|
||||
m_IsShared: 0
|
||||
m_Value: {fileID: 11400000, guid: b7f09e0e899c8fc4bb2cc9204cc6eb4a, type: 2}
|
||||
- rid: 8805855941168464148
|
||||
type: {class: FloatingPortNodeModel, ns: Unity.Behavior.GraphFramework, asm: Unity.Behavior.GraphFramework}
|
||||
data:
|
||||
Position: {x: 15.813689, y: -35.53409}
|
||||
ID:
|
||||
m_Value0: 7940545116008444959
|
||||
m_Value1: 7530289849580528934
|
||||
Parents: []
|
||||
PortModels:
|
||||
- rid: 8805855941168464151
|
||||
- rid: 8805855941168464152
|
||||
ParentNodeID:
|
||||
m_Value0: 3882872508468950798
|
||||
m_Value1: 3938133446346283639
|
||||
PortName: True
|
||||
- rid: 8805855941168464149
|
||||
type: {class: FloatingPortNodeModel, ns: Unity.Behavior.GraphFramework, asm: Unity.Behavior.GraphFramework}
|
||||
data:
|
||||
Position: {x: 431.27527, y: -39.538033}
|
||||
ID:
|
||||
m_Value0: 17027785473523230719
|
||||
m_Value1: 11573909034072681315
|
||||
Parents: []
|
||||
PortModels:
|
||||
- rid: 8805855941168464153
|
||||
- rid: 8805855941168464154
|
||||
ParentNodeID:
|
||||
m_Value0: 3882872508468950798
|
||||
m_Value1: 3938133446346283639
|
||||
PortName: False
|
||||
- rid: 8805855941168464150
|
||||
type: {class: BranchingConditionNodeModel, ns: Unity.Behavior, asm: Unity.Behavior.Authoring}
|
||||
data:
|
||||
Position: {x: 211.1149, y: -155.69766}
|
||||
ID:
|
||||
m_Value0: 3882872508468950798
|
||||
m_Value1: 3938133446346283639
|
||||
Parents: []
|
||||
PortModels:
|
||||
- rid: 8805855941168464155
|
||||
- rid: 8805855941168464156
|
||||
- rid: 8805855941168464157
|
||||
NodeType:
|
||||
m_SerializableType: Unity.Behavior.BranchingConditionComposite, Unity.Behavior,
|
||||
Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||
NodeTypeID:
|
||||
m_Value0: 12334964803190848789
|
||||
m_Value1: 14608808926743427008
|
||||
m_FieldValues: []
|
||||
<ConditionModels>k__BackingField:
|
||||
- ConditionType:
|
||||
m_SerializableType: Unity.Behavior.VariableComparisonCondition, Unity.Behavior,
|
||||
Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||
ConditionTypeID:
|
||||
m_Value0: 4706153636540939941
|
||||
m_Value1: 1154942553909992356
|
||||
NodeModel:
|
||||
rid: 8805855941168464150
|
||||
m_FieldValues:
|
||||
- rid: 8805855941168464174
|
||||
- rid: 8805855941168464175
|
||||
- rid: 8805855941168464203
|
||||
OperatorFieldModel:
|
||||
rid: 8805855941168464175
|
||||
<RequiresAllConditionsTrue>k__BackingField: 0
|
||||
<ShouldTruncateNodeUI>k__BackingField: 0
|
||||
<ObserverType>k__BackingField: 0
|
||||
- rid: 8805855941168464151
|
||||
type: {class: PortModel, ns: Unity.Behavior.GraphFramework, asm: Unity.Behavior.GraphFramework}
|
||||
data:
|
||||
m_Name: InputPort
|
||||
m_PortDataFlowType: 0
|
||||
m_IsFloating: 1
|
||||
m_NodeModel:
|
||||
rid: 8805855941168464148
|
||||
m_Connections:
|
||||
- rid: 8805855941168464156
|
||||
- rid: 8805855941168464152
|
||||
type: {class: PortModel, ns: Unity.Behavior.GraphFramework, asm: Unity.Behavior.GraphFramework}
|
||||
data:
|
||||
m_Name: OutputPort
|
||||
m_PortDataFlowType: 1
|
||||
m_IsFloating: 0
|
||||
m_NodeModel:
|
||||
rid: 8805855941168464148
|
||||
m_Connections: []
|
||||
- rid: 8805855941168464153
|
||||
type: {class: PortModel, ns: Unity.Behavior.GraphFramework, asm: Unity.Behavior.GraphFramework}
|
||||
data:
|
||||
m_Name: InputPort
|
||||
m_PortDataFlowType: 0
|
||||
m_IsFloating: 1
|
||||
m_NodeModel:
|
||||
rid: 8805855941168464149
|
||||
m_Connections:
|
||||
- rid: 8805855941168464157
|
||||
- rid: 8805855941168464154
|
||||
type: {class: PortModel, ns: Unity.Behavior.GraphFramework, asm: Unity.Behavior.GraphFramework}
|
||||
data:
|
||||
m_Name: OutputPort
|
||||
m_PortDataFlowType: 1
|
||||
m_IsFloating: 0
|
||||
m_NodeModel:
|
||||
rid: 8805855941168464149
|
||||
m_Connections:
|
||||
- rid: 8805855841097089468
|
||||
- rid: 8805855941168464155
|
||||
type: {class: PortModel, ns: Unity.Behavior.GraphFramework, asm: Unity.Behavior.GraphFramework}
|
||||
data:
|
||||
m_Name: InputPort
|
||||
m_PortDataFlowType: 0
|
||||
m_IsFloating: 0
|
||||
m_NodeModel:
|
||||
rid: 8805855941168464150
|
||||
m_Connections:
|
||||
- rid: 8805855941168464614
|
||||
- rid: 8805855941168464156
|
||||
type: {class: PortModel, ns: Unity.Behavior.GraphFramework, asm: Unity.Behavior.GraphFramework}
|
||||
data:
|
||||
m_Name: True
|
||||
m_PortDataFlowType: 1
|
||||
m_IsFloating: 1
|
||||
m_NodeModel:
|
||||
rid: 8805855941168464150
|
||||
m_Connections:
|
||||
- rid: 8805855941168464151
|
||||
- rid: 8805855941168464157
|
||||
type: {class: PortModel, ns: Unity.Behavior.GraphFramework, asm: Unity.Behavior.GraphFramework}
|
||||
data:
|
||||
m_Name: False
|
||||
m_PortDataFlowType: 1
|
||||
m_IsFloating: 1
|
||||
m_NodeModel:
|
||||
rid: 8805855941168464150
|
||||
m_Connections:
|
||||
- rid: 8805855941168464153
|
||||
- rid: 8805855941168464174
|
||||
type: {class: BehaviorGraphNodeModel/FieldModel, ns: Unity.Behavior, asm: Unity.Behavior.Authoring}
|
||||
data:
|
||||
FieldName: Variable
|
||||
Type:
|
||||
m_SerializableType: System.Object, mscorlib, Version=4.0.0.0, Culture=neutral,
|
||||
PublicKeyToken=b77a5c561934e089
|
||||
LocalValue:
|
||||
rid: 8805855941168464204
|
||||
LinkedVariable:
|
||||
rid: 8805855941168464202
|
||||
- rid: 8805855941168464175
|
||||
type: {class: BehaviorGraphNodeModel/FieldModel, ns: Unity.Behavior, asm: Unity.Behavior.Authoring}
|
||||
data:
|
||||
FieldName: Operator
|
||||
Type:
|
||||
m_SerializableType: Unity.Behavior.ConditionOperator, Unity.Behavior, Version=0.0.0.0,
|
||||
Culture=neutral, PublicKeyToken=null
|
||||
LocalValue:
|
||||
rid: 8805855941168464178
|
||||
LinkedVariable:
|
||||
rid: -2
|
||||
- rid: 8805855941168464178
|
||||
type: {class: 'BlackboardVariable`1[[Unity.Behavior.ConditionOperator, Unity.Behavior]]', ns: Unity.Behavior, asm: Unity.Behavior}
|
||||
data:
|
||||
GUID:
|
||||
m_Value0: 0
|
||||
m_Value1: 0
|
||||
Name:
|
||||
m_Value: 0
|
||||
- rid: 8805855941168464202
|
||||
type: {class: 'TypedVariableModel`1[[System.Boolean, mscorlib]]', ns: Unity.Behavior.GraphFramework, asm: Unity.Behavior.GraphFramework}
|
||||
data:
|
||||
ID:
|
||||
m_Value0: 2997173512430605425
|
||||
m_Value1: 14990413519379198129
|
||||
Name: Die
|
||||
IsExposed: 1
|
||||
m_IsShared: 0
|
||||
m_Value: 0
|
||||
- rid: 8805855941168464203
|
||||
type: {class: BehaviorGraphNodeModel/FieldModel, ns: Unity.Behavior, asm: Unity.Behavior.Authoring}
|
||||
data:
|
||||
FieldName: ComparisonValue
|
||||
Type:
|
||||
m_SerializableType: System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral,
|
||||
PublicKeyToken=b77a5c561934e089
|
||||
LocalValue:
|
||||
rid: 8805855941168464205
|
||||
LinkedVariable:
|
||||
rid: -2
|
||||
- rid: 8805855941168464204
|
||||
type: {class: 'BlackboardVariable`1[[System.Boolean, mscorlib]]', ns: Unity.Behavior, asm: Unity.Behavior}
|
||||
data:
|
||||
GUID:
|
||||
m_Value0: 0
|
||||
m_Value1: 0
|
||||
Name:
|
||||
m_Value: 0
|
||||
- rid: 8805855941168464205
|
||||
type: {class: 'BlackboardVariable`1[[System.Boolean, mscorlib]]', ns: Unity.Behavior, asm: Unity.Behavior}
|
||||
data:
|
||||
GUID:
|
||||
m_Value0: 0
|
||||
m_Value1: 0
|
||||
Name:
|
||||
m_Value: 1
|
||||
- rid: 8805855941168464612
|
||||
type: {class: RepeatNodeModel, ns: Unity.Behavior, asm: Unity.Behavior.Authoring}
|
||||
data:
|
||||
Position: {x: 211.47302, y: -249.38625}
|
||||
ID:
|
||||
m_Value0: 16903089648015682040
|
||||
m_Value1: 5621269674286214316
|
||||
Parents: []
|
||||
PortModels:
|
||||
- rid: 8805855941168464613
|
||||
- rid: 8805855941168464614
|
||||
NodeType:
|
||||
m_SerializableType: Unity.Behavior.RepeaterModifier, Unity.Behavior, Version=0.0.0.0,
|
||||
Culture=neutral, PublicKeyToken=null
|
||||
NodeTypeID:
|
||||
m_Value0: 3696095273264312494
|
||||
m_Value1: 14191201703811421854
|
||||
m_FieldValues: []
|
||||
AllowMultipleRepeatsPerTick: 0
|
||||
<ConditionModels>k__BackingField: []
|
||||
<RequiresAllConditionsTrue>k__BackingField: 0
|
||||
<ShouldTruncateNodeUI>k__BackingField: 0
|
||||
m_RepeatMode: 0
|
||||
<ObserverType>k__BackingField: 0
|
||||
<ReturnFailureOnConditionFail>k__BackingField: 1
|
||||
- rid: 8805855941168464613
|
||||
type: {class: PortModel, ns: Unity.Behavior.GraphFramework, asm: Unity.Behavior.GraphFramework}
|
||||
data:
|
||||
m_Name: InputPort
|
||||
m_PortDataFlowType: 0
|
||||
m_IsFloating: 0
|
||||
m_NodeModel:
|
||||
rid: 8805855941168464612
|
||||
m_Connections:
|
||||
- rid: 8805855836547055699
|
||||
- rid: 8805855941168464614
|
||||
type: {class: PortModel, ns: Unity.Behavior.GraphFramework, asm: Unity.Behavior.GraphFramework}
|
||||
data:
|
||||
m_Name: OutputPort
|
||||
m_PortDataFlowType: 1
|
||||
m_IsFloating: 0
|
||||
m_NodeModel:
|
||||
rid: 8805855941168464612
|
||||
m_Connections:
|
||||
- rid: 8805855941168464155
|
||||
--- !u!114 &6694785542709420471
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -1806,7 +2151,7 @@ MonoBehaviour:
|
||||
m_Script: {fileID: 11500000, guid: 5c02bb70996b49eba31d0c206e28da24, type: 3}
|
||||
m_Name: Behavior Graph Blackboard
|
||||
m_EditorClassIdentifier: Unity.Behavior::Unity.Behavior.RuntimeBlackboardAsset
|
||||
VersionTimestamp: 639088753701246820
|
||||
VersionTimestamp: 639092245458294623
|
||||
AssetID:
|
||||
m_Value0: 11861793134961942170
|
||||
m_Value1: 6108181331610501546
|
||||
@@ -1818,6 +2163,7 @@ MonoBehaviour:
|
||||
- rid: 8805855836547056143
|
||||
- rid: 8805855836547056345
|
||||
- rid: 8805855841097090030
|
||||
- rid: 8805855941168464124
|
||||
m_SharedBlackboardVariableGuids: []
|
||||
references:
|
||||
version: 2
|
||||
@@ -1870,3 +2216,11 @@ MonoBehaviour:
|
||||
m_Value1: 3771131609012049390
|
||||
Name: Default Attack Skill
|
||||
m_Value: {fileID: 11400000, guid: 4f40629d4d334434285e8fdec3714536, type: 2}
|
||||
- rid: 8805855941168464124
|
||||
type: {class: 'BlackboardVariable`1[[System.Boolean, mscorlib]]', ns: Unity.Behavior, asm: Unity.Behavior}
|
||||
data:
|
||||
GUID:
|
||||
m_Value0: 2997173512430605425
|
||||
m_Value1: 14990413519379198129
|
||||
Name: Die
|
||||
m_Value: 0
|
||||
|
||||
245
Assets/Prefabs/Bosses/BossTemplate.prefab
Normal file
245
Assets/Prefabs/Bosses/BossTemplate.prefab
Normal file
@@ -0,0 +1,245 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &100000
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 400000}
|
||||
- component: {fileID: 9500000}
|
||||
- component: {fileID: 11400000}
|
||||
- component: {fileID: 11400001}
|
||||
- component: {fileID: 19500000}
|
||||
- component: {fileID: 11400002}
|
||||
- component: {fileID: 13600000}
|
||||
- component: {fileID: 11400003}
|
||||
- component: {fileID: 11400004}
|
||||
- component: {fileID: 11400005}
|
||||
- component: {fileID: 11400006}
|
||||
m_Layer: 0
|
||||
m_Name: BossTemplate
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &400000
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 100000}
|
||||
serializedVersion: 2
|
||||
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: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!95 &9500000
|
||||
Animator:
|
||||
serializedVersion: 7
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 100000}
|
||||
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 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 100000}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: d5a57f767e5e46a458fc5d3c628d0cbb, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Unity.Netcode.Runtime::Unity.Netcode.NetworkObject
|
||||
GlobalObjectIdHash: 0
|
||||
InScenePlacedSourceGlobalObjectIdHash: 0
|
||||
DeferredDespawnTick: 0
|
||||
Ownership: 1
|
||||
AlwaysReplicateAsRoot: 0
|
||||
SynchronizeTransform: 1
|
||||
ActiveSceneSynchronization: 0
|
||||
SceneMigrationSynchronization: 0
|
||||
SpawnWithObservers: 1
|
||||
DontDestroyWithOwner: 0
|
||||
AutoObjectParentSync: 1
|
||||
SyncOwnerTransformWhenParented: 1
|
||||
AllowOwnerToParent: 0
|
||||
--- !u!114 &11400001
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 100000}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 4a49d1cf004a0c944be905fe6fabf936, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Colosseum.Game::Colosseum.Enemy.BossEnemy
|
||||
ShowTopMostFoldoutHeaderGroup: 1
|
||||
characterStats: {fileID: 11400002}
|
||||
animator: {fileID: 9500000}
|
||||
navMeshAgent: {fileID: 19500000}
|
||||
enemyData: {fileID: 0}
|
||||
phases: []
|
||||
initialBehaviorGraph: {fileID: 0}
|
||||
phaseTransitionInvincibilityTime: 2
|
||||
phaseTransitionDuration: 3
|
||||
debugMode: 0
|
||||
--- !u!195 &19500000
|
||||
NavMeshAgent:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 100000}
|
||||
m_Enabled: 1
|
||||
m_AgentTypeID: 0
|
||||
m_Radius: 0.5
|
||||
m_Speed: 3.5
|
||||
m_Acceleration: 8
|
||||
avoidancePriority: 50
|
||||
m_AngularSpeed: 120
|
||||
m_StoppingDistance: 0
|
||||
m_AutoTraverseOffMeshLink: 1
|
||||
m_AutoBraking: 1
|
||||
m_AutoRepath: 1
|
||||
m_Height: 2
|
||||
m_BaseOffset: 0
|
||||
m_WalkableMask: 4294967295
|
||||
m_ObstacleAvoidanceType: 4
|
||||
--- !u!114 &11400002
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 100000}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: fae0149926eea244dad932b67ee76f7b, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Colosseum.Game::Colosseum.Stats.CharacterStats
|
||||
strength:
|
||||
baseValue: 10
|
||||
dexterity:
|
||||
baseValue: 10
|
||||
intelligence:
|
||||
baseValue: 10
|
||||
vitality:
|
||||
baseValue: 10
|
||||
wisdom:
|
||||
baseValue: 10
|
||||
spirit:
|
||||
baseValue: 10
|
||||
--- !u!136 &13600000
|
||||
CapsuleCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 100000}
|
||||
m_Material: {fileID: 0}
|
||||
m_IncludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_ExcludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_LayerOverridePriority: 0
|
||||
m_IsTrigger: 0
|
||||
m_ProvidesContacts: 0
|
||||
m_Enabled: 1
|
||||
serializedVersion: 2
|
||||
m_Radius: 0.5
|
||||
m_Height: 2
|
||||
m_Direction: 1
|
||||
m_Center: {x: 0, y: 1, z: 0}
|
||||
--- !u!114 &11400003
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 100000}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 5443105bfa8e570438bb5dc62c58aca9, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Colosseum.Game::Colosseum.Enemy.EnemyAnimationController
|
||||
ShowTopMostFoldoutHeaderGroup: 1
|
||||
speedParam: Speed
|
||||
attackTriggerParam: Attack
|
||||
skillTriggerParam: Skill
|
||||
speedSmoothTime: 0.1
|
||||
stopThreshold: 0.05
|
||||
--- !u!114 &11400004
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 100000}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 59b4feaa06ce4c74f97ed5b57ddd74d1, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Colosseum.Game::Colosseum.Skills.SkillController
|
||||
animator: {fileID: 9500000}
|
||||
baseController: {fileID: 0}
|
||||
baseSkillClip: {fileID: 0}
|
||||
debugMode: 0
|
||||
showAreaDebug: 1
|
||||
debugDrawDuration: 1
|
||||
--- !u!114 &11400005
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 100000}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: d1f7d13276f272b428bddd4d9aa5b3d8, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Colosseum.Game::Colosseum.Team
|
||||
teamType: 2
|
||||
--- !u!114 &11400006
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 100000}
|
||||
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}
|
||||
7
Assets/Prefabs/Bosses/BossTemplate.prefab.meta
Normal file
7
Assets/Prefabs/Bosses/BossTemplate.prefab.meta
Normal file
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 0cd47707143f91346868bfc349e4c4e0
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
8
Assets/Prefabs/Player/Human-Custom.meta
Normal file
8
Assets/Prefabs/Player/Human-Custom.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 2e20c24bae72cea4b9edcd8c46bf7c71
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
5753
Assets/Prefabs/Player/Human-Custom/Human-Custom.prefab
Normal file
5753
Assets/Prefabs/Player/Human-Custom/Human-Custom.prefab
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ddb893375f0dbd64ea2274bcde4672af
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
1502
Assets/Prefabs/Player/Human-Custom/Human-Custom.sk
Normal file
1502
Assets/Prefabs/Player/Human-Custom/Human-Custom.sk
Normal file
File diff suppressed because it is too large
Load Diff
7
Assets/Prefabs/Player/Human-Custom/Human-Custom.sk.meta
Normal file
7
Assets/Prefabs/Player/Human-Custom/Human-Custom.sk.meta
Normal file
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e9db0d12e90aa8d4ca158b53178ff9e8
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
8
Assets/Prefabs/Player/Human-Custom/Materials.meta
Normal file
8
Assets/Prefabs/Player/Human-Custom/Materials.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 298973b23428b454cb8450973728d637
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
196
Assets/Prefabs/Player/Human-Custom/Materials/Human-Custom.mat
Normal file
196
Assets/Prefabs/Player/Human-Custom/Materials/Human-Custom.mat
Normal file
@@ -0,0 +1,196 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &-6988589790562594410
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 11
|
||||
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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Unity.RenderPipelines.Universal.Editor::UnityEditor.Rendering.Universal.AssetVersion
|
||||
version: 10
|
||||
--- !u!114 &-1092918317606464121
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 11
|
||||
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: 639247ca83abc874e893eb93af2b5e44, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Unity.ShaderGraph.Editor::UnityEditor.Rendering.BuiltIn.AssetVersion
|
||||
version: 0
|
||||
--- !u!21 &2100000
|
||||
Material:
|
||||
serializedVersion: 8
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Human-Custom
|
||||
m_Shader: {fileID: -6465566751694194690, guid: db628544640279b41a4a7aa5d75c0322, type: 3}
|
||||
m_Parent: {fileID: 0}
|
||||
m_ModifiedSerializedProperties: 0
|
||||
m_ValidKeywords: []
|
||||
m_InvalidKeywords: []
|
||||
m_LightmapFlags: 2
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: -1
|
||||
stringTagMap: {}
|
||||
disabledShaderPasses:
|
||||
- MOTIONVECTORS
|
||||
m_LockedProperties:
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- _BloodMaskTexture:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _BumpMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ColorMap:
|
||||
m_Texture: {fileID: 2800000, guid: 927aba41a86039f47acd0f6e5fdc8923, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _CutsMaskTexture:
|
||||
m_Texture: {fileID: 2800000, guid: 75ccb45ed310e81409b3f9d13dce709d, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DarkMaskTexture:
|
||||
m_Texture: {fileID: 2800000, guid: 08475d8495d3e8c45b04efee61a5f57e, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DecalMap:
|
||||
m_Texture: {fileID: 2800000, guid: 9b81938a0fb0eed49998fe071f3542ce, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailAlbedoMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailMask:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailNormalMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DirtMaskTexture:
|
||||
m_Texture: {fileID: 2800000, guid: e7c56d4419b4d144ca3f5af3ee0c81cb, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _EmissionMap:
|
||||
m_Texture: {fileID: 2800000, guid: 9b81938a0fb0eed49998fe071f3542ce, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _EyeEdgeMaskTexture:
|
||||
m_Texture: {fileID: 2800000, guid: 9f2a0abb1a72f0c449829a589d13d7f0, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MainTex:
|
||||
m_Texture: {fileID: 2800000, guid: 8476071d75ce7644e92ce96aff0e7e45, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MetallicGlossMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MetallicMap:
|
||||
m_Texture: {fileID: 2800000, guid: 9355e2c6fbbf433459fd984f6ab2710d, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _OcclusionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _OpacityMap:
|
||||
m_Texture: {fileID: 2800000, guid: 9bd3c57211d1dc349b85770ba5143ba2, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ParallaxMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ReflectionMap:
|
||||
m_Texture: {fileID: 2800000, guid: b1b7b6d2944530e4289fb60e3e8bb392, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _SkinMaskTexture:
|
||||
m_Texture: {fileID: 2800000, guid: 7fa654420cbe02f4090af7728ca0115b, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _SmoothnessMap:
|
||||
m_Texture: {fileID: 2800000, guid: a9afe302bb810e741a33702651691a01, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _texcoord:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_Lightmaps:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_LightmapsInd:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_ShadowMasks:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Ints: []
|
||||
m_Floats:
|
||||
- _AlphaCutoff: 0.5
|
||||
- _BUILTIN_QueueControl: 0
|
||||
- _BUILTIN_QueueOffset: 0
|
||||
- _BloodAmount: 0.5
|
||||
- _BumpScale: 1
|
||||
- _Cutoff: 0.5
|
||||
- _CutsAmount: 0
|
||||
- _DarkAmount: 0.5
|
||||
- _DetailNormalMapScale: 1
|
||||
- _DirtAmount: 0.081
|
||||
- _DstBlend: 0
|
||||
- _EnvironmentReflections: 1
|
||||
- _EyelinerAmount: 0
|
||||
- _FeminieAmount: 0
|
||||
- _GlossMapScale: 1
|
||||
- _Glossiness: 0.5
|
||||
- _GlossyReflections: 1
|
||||
- _Metallic: 0
|
||||
- _Mode: 0
|
||||
- _OcclusionStrength: 1
|
||||
- _Parallax: 0.02
|
||||
- _QueueControl: 0
|
||||
- _QueueOffset: 0
|
||||
- _ReceiveShadows: 1
|
||||
- _SkinColorAmount: 0
|
||||
- _SmoothnessTextureChannel: 0
|
||||
- _SpecularHighlights: 1
|
||||
- _SrcBlend: 1
|
||||
- _UVSec: 0
|
||||
- _ZWrite: 1
|
||||
- __dirty: 0
|
||||
m_Colors:
|
||||
- _BloodColor: {r: 0.43396226, g: 0.14737415, b: 0.14192465, a: 0}
|
||||
- _Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _CutsColor: {r: 0.33333328, g: 0.33333328, b: 0.33333328, a: 0}
|
||||
- _DarkColor: {r: 0, g: 0, b: 0, a: 0}
|
||||
- _DirtColor: {r: 0.4716981, g: 0.35202244, b: 0.23881568, a: 0}
|
||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
- _Grey: {r: 0.59748423, g: 0.59748423, b: 0.59748423, a: 0}
|
||||
- _SkinColor: {r: 0, g: 0, b: 0, a: 0}
|
||||
m_BuildTextureStacks: []
|
||||
m_AllowLocking: 1
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 69b7cf69836c34649bf0c881c5c5c3a7
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 2100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
8
Assets/Prefabs/Player/Human-Custom/Meshes.meta
Normal file
8
Assets/Prefabs/Player/Human-Custom/Meshes.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 1b707fb8990dc63449f068ec58b1d742
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
2858
Assets/Prefabs/Player/Human-Custom/Meshes/Human-Custom-avatar.asset
Normal file
2858
Assets/Prefabs/Player/Human-Custom/Meshes/Human-Custom-avatar.asset
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d929f787137059c459b9b4d2bd40da61
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 9000000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
212520
Assets/Prefabs/Player/Human-Custom/Meshes/Human-Custom.asset
Normal file
212520
Assets/Prefabs/Player/Human-Custom/Meshes/Human-Custom.asset
Normal file
File diff suppressed because one or more lines are too long
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 62bf78b2835e795498a237fcab75d47f
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 4300000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
8
Assets/Prefabs/Player/Human-Custom/Textures.meta
Normal file
8
Assets/Prefabs/Player/Human-Custom/Textures.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 6257ed430a7dc644dadd40b81f646bd1
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 758 B |
@@ -0,0 +1,117 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 927aba41a86039f47acd0f6e5fdc8923
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 13
|
||||
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
|
||||
flipGreenChannel: 0
|
||||
isReadable: 0
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
vTOnly: 0
|
||||
ignoreMipmapLimit: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 0
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 1
|
||||
wrapV: 1
|
||||
wrapW: 1
|
||||
nPOTScale: 1
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 0
|
||||
spriteExtrude: 1
|
||||
spriteMeshType: 1
|
||||
alignment: 0
|
||||
spritePivot: {x: 0.5, y: 0.5}
|
||||
spritePixelsToUnits: 100
|
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||
spriteGenerateFallbackPhysicsShape: 1
|
||||
alphaUsage: 1
|
||||
alphaIsTransparency: 0
|
||||
spriteTessellationDetail: -1
|
||||
textureType: 0
|
||||
textureShape: 1
|
||||
singleChannelComponent: 0
|
||||
flipbookRows: 1
|
||||
flipbookColumns: 1
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
ignorePngGamma: 0
|
||||
applyGammaDecoding: 0
|
||||
swizzle: 50462976
|
||||
cookieLightType: 0
|
||||
platformSettings:
|
||||
- serializedVersion: 4
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 32
|
||||
resizeAlgorithm: 1
|
||||
textureFormat: 3
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 4
|
||||
buildTarget: Standalone
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
customData:
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID:
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
spriteCustomMetadata:
|
||||
entries: []
|
||||
nameFileIdTable: {}
|
||||
mipmapLimitGroupName:
|
||||
pSDRemoveMatte: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -1,96 +1,5 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &211504524078169162
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 425108118890909732}
|
||||
- component: {fileID: 641669166220653710}
|
||||
m_Layer: 0
|
||||
m_Name: Prop_R
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &425108118890909732
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 211504524078169162}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 5, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 876336192716036432}
|
||||
m_Father: {fileID: 7709863043280880487}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &641669166220653710
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 211504524078169162}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 04570063543744548b5cc95cea8bbff6, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Assembly-CSharp::Synty.Tools.SyntyPropBoneTool.PropBone
|
||||
_wasSpawnedBySyntyTool: 1
|
||||
--- !u!1 &5510832058398597268
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 876336192716036432}
|
||||
- component: {fileID: 5875348249504489215}
|
||||
m_Layer: 0
|
||||
m_Name: Prop_R_Socket
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &876336192716036432
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5510832058398597268}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0.000000048428777, y: -0.000000026077034, z: 0.70619637, w: -0.70801604}
|
||||
m_LocalPosition: {x: -4.9871373, y: -4.999995, z: 0.000009025123}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 425108118890909732}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &5875348249504489215
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5510832058398597268}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 04570063543744548b5cc95cea8bbff6, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Assembly-CSharp::Synty.Tools.SyntyPropBoneTool.PropBone
|
||||
_wasSpawnedBySyntyTool: 1
|
||||
--- !u!1 &6473031571298860035
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -135,7 +44,7 @@ Transform:
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 7701595578038390519}
|
||||
- {fileID: 786837278690046811}
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!143 &8278636880930099738
|
||||
@@ -198,7 +107,7 @@ MonoBehaviour:
|
||||
m_Script: {fileID: 11500000, guid: d5a57f767e5e46a458fc5d3c628d0cbb, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Unity.Netcode.Runtime::Unity.Netcode.NetworkObject
|
||||
GlobalObjectIdHash: 291279334
|
||||
GlobalObjectIdHash: 652883547
|
||||
InScenePlacedSourceGlobalObjectIdHash: 0
|
||||
DeferredDespawnTick: 0
|
||||
Ownership: 1
|
||||
@@ -325,6 +234,10 @@ MonoBehaviour:
|
||||
NameHash: 137525990
|
||||
Synchronize: 1
|
||||
ParameterType: 9
|
||||
- name: Die
|
||||
NameHash: 20298039
|
||||
Synchronize: 1
|
||||
ParameterType: 9
|
||||
AnimatorParametersExpanded: 0
|
||||
--- !u!95 &3426985706796420257
|
||||
Animator:
|
||||
@@ -335,7 +248,7 @@ Animator:
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6473031571298860035}
|
||||
m_Enabled: 1
|
||||
m_Avatar: {fileID: 9000000, guid: 038320a534bd8b444b43734860d1a211, type: 3}
|
||||
m_Avatar: {fileID: 9000000, guid: d929f787137059c459b9b4d2bd40da61, type: 2}
|
||||
m_Controller: {fileID: 9100000, guid: db718381bb2992e469c76c64015e065b, type: 2}
|
||||
m_CullingMode: 0
|
||||
m_UpdateMode: 0
|
||||
@@ -343,10 +256,7 @@ Animator:
|
||||
m_LinearVelocityBlending: 0
|
||||
m_StabilizeFeet: 0
|
||||
m_AnimatePhysics: 0
|
||||
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_WarningMessage:
|
||||
m_HasTransformHierarchy: 1
|
||||
m_AllowConstantClipSamplingOptimization: 1
|
||||
m_KeepAnimatorStateOnDisable: 0
|
||||
@@ -457,7 +367,7 @@ MonoBehaviour:
|
||||
intelligence:
|
||||
baseValue: 10
|
||||
vitality:
|
||||
baseValue: 5
|
||||
baseValue: 500
|
||||
wisdom:
|
||||
baseValue: 100
|
||||
spirit:
|
||||
@@ -476,13 +386,13 @@ MonoBehaviour:
|
||||
m_EditorClassIdentifier: Colosseum.Game::Colosseum.Weapons.WeaponEquipment
|
||||
ShowTopMostFoldoutHeaderGroup: 1
|
||||
characterStats: {fileID: -5132198055668300151}
|
||||
rightHandName: Prop_R_Socket
|
||||
rightHandName: prop_r
|
||||
leftHandName: Hand_L
|
||||
backName: Spine
|
||||
hipName: Hip
|
||||
twoHandedName:
|
||||
startingWeapon: {fileID: 11400000, guid: 646964ccbda84e947b97537d7f7813aa, type: 2}
|
||||
--- !u!1001 &7705728874586931617
|
||||
--- !u!1001 &361239394574523229
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 2
|
||||
@@ -490,107 +400,86 @@ PrefabInstance:
|
||||
serializedVersion: 3
|
||||
m_TransformParent: {fileID: 4340744812167131579}
|
||||
m_Modifications:
|
||||
- target: {fileID: 1121787054825102, guid: 0b61a3665c5cd5142bf27be7c52500cf, type: 3}
|
||||
propertyPath: m_IsActive
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1265346787747520, guid: 0b61a3665c5cd5142bf27be7c52500cf, type: 3}
|
||||
propertyPath: m_Name
|
||||
value: Chr_FantasyHero_Preset_14
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4978357419315030, guid: 0b61a3665c5cd5142bf27be7c52500cf, type: 3}
|
||||
- target: {fileID: 1146176029965363206, guid: ddb893375f0dbd64ea2274bcde4672af, type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4978357419315030, guid: 0b61a3665c5cd5142bf27be7c52500cf, type: 3}
|
||||
- target: {fileID: 1146176029965363206, guid: ddb893375f0dbd64ea2274bcde4672af, type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4978357419315030, guid: 0b61a3665c5cd5142bf27be7c52500cf, type: 3}
|
||||
- target: {fileID: 1146176029965363206, guid: ddb893375f0dbd64ea2274bcde4672af, type: 3}
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4978357419315030, guid: 0b61a3665c5cd5142bf27be7c52500cf, type: 3}
|
||||
- target: {fileID: 1146176029965363206, guid: ddb893375f0dbd64ea2274bcde4672af, type: 3}
|
||||
propertyPath: m_LocalRotation.w
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4978357419315030, guid: 0b61a3665c5cd5142bf27be7c52500cf, type: 3}
|
||||
- target: {fileID: 1146176029965363206, guid: ddb893375f0dbd64ea2274bcde4672af, type: 3}
|
||||
propertyPath: m_LocalRotation.x
|
||||
value: -0
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4978357419315030, guid: 0b61a3665c5cd5142bf27be7c52500cf, type: 3}
|
||||
- target: {fileID: 1146176029965363206, guid: ddb893375f0dbd64ea2274bcde4672af, type: 3}
|
||||
propertyPath: m_LocalRotation.y
|
||||
value: -0
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4978357419315030, guid: 0b61a3665c5cd5142bf27be7c52500cf, type: 3}
|
||||
- target: {fileID: 1146176029965363206, guid: ddb893375f0dbd64ea2274bcde4672af, type: 3}
|
||||
propertyPath: m_LocalRotation.z
|
||||
value: -0
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4978357419315030, guid: 0b61a3665c5cd5142bf27be7c52500cf, type: 3}
|
||||
- target: {fileID: 1146176029965363206, guid: ddb893375f0dbd64ea2274bcde4672af, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4978357419315030, guid: 0b61a3665c5cd5142bf27be7c52500cf, type: 3}
|
||||
- target: {fileID: 1146176029965363206, guid: ddb893375f0dbd64ea2274bcde4672af, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4978357419315030, guid: 0b61a3665c5cd5142bf27be7c52500cf, type: 3}
|
||||
- target: {fileID: 1146176029965363206, guid: ddb893375f0dbd64ea2274bcde4672af, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 933129746491078306, guid: 0b61a3665c5cd5142bf27be7c52500cf, type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: -6.583011
|
||||
- target: {fileID: 2686076106378794738, guid: ddb893375f0dbd64ea2274bcde4672af, type: 3}
|
||||
propertyPath: m_Name
|
||||
value: Human-Custom
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 933129746491078306, guid: 0b61a3665c5cd5142bf27be7c52500cf, type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: -6.5999885
|
||||
- target: {fileID: 6512590306137610667, guid: ddb893375f0dbd64ea2274bcde4672af, type: 3}
|
||||
propertyPath: m_LocalRotation.w
|
||||
value: 0.5015509
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 933129746491078306, guid: 0b61a3665c5cd5142bf27be7c52500cf, type: 3}
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: 0.00000084909516
|
||||
- target: {fileID: 6512590306137610667, guid: ddb893375f0dbd64ea2274bcde4672af, type: 3}
|
||||
propertyPath: m_LocalRotation.x
|
||||
value: -0.51583874
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4083275338838575672, guid: 0b61a3665c5cd5142bf27be7c52500cf, type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 6.6
|
||||
- target: {fileID: 6512590306137610667, guid: ddb893375f0dbd64ea2274bcde4672af, type: 3}
|
||||
propertyPath: m_LocalRotation.y
|
||||
value: -0.49844423
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4083275338838575672, guid: 0b61a3665c5cd5142bf27be7c52500cf, type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: -0
|
||||
- target: {fileID: 6512590306137610667, guid: ddb893375f0dbd64ea2274bcde4672af, type: 3}
|
||||
propertyPath: m_LocalRotation.z
|
||||
value: 0.48364282
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4083275338838575672, guid: 0b61a3665c5cd5142bf27be7c52500cf, type: 3}
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: 0
|
||||
- target: {fileID: 6512590306137610667, guid: ddb893375f0dbd64ea2274bcde4672af, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.x
|
||||
value: -177.977
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6512590306137610667, guid: ddb893375f0dbd64ea2274bcde4672af, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.y
|
||||
value: 88.333
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6512590306137610667, guid: ddb893375f0dbd64ea2274bcde4672af, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.z
|
||||
value: -90
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6854449968133871964, guid: 0b61a3665c5cd5142bf27be7c52500cf, type: 3}
|
||||
propertyPath: propBoneConfig
|
||||
value:
|
||||
objectReference: {fileID: 11400000, guid: 711015ea15f411b4292b25e68fe06e2d, type: 2}
|
||||
- target: {fileID: 6854449968133871964, guid: 0b61a3665c5cd5142bf27be7c52500cf, type: 3}
|
||||
propertyPath: _propBoneBindings.Array.data[0].bone
|
||||
value:
|
||||
objectReference: {fileID: 425108118890909732}
|
||||
- target: {fileID: 6854449968133871964, guid: 0b61a3665c5cd5142bf27be7c52500cf, type: 3}
|
||||
propertyPath: _propBoneBindings.Array.data[0].socket
|
||||
value:
|
||||
objectReference: {fileID: 876336192716036432}
|
||||
m_RemovedComponents:
|
||||
- {fileID: -5600325556184611898, guid: 0b61a3665c5cd5142bf27be7c52500cf, type: 3}
|
||||
m_RemovedGameObjects:
|
||||
- {fileID: 5663282852335883768, guid: 0b61a3665c5cd5142bf27be7c52500cf, type: 3}
|
||||
m_AddedGameObjects:
|
||||
- targetCorrespondingSourceObject: {fileID: 4169362731877062, guid: 0b61a3665c5cd5142bf27be7c52500cf, type: 3}
|
||||
insertIndex: -1
|
||||
addedObject: {fileID: 425108118890909732}
|
||||
- {fileID: 6894328532986472068, guid: ddb893375f0dbd64ea2274bcde4672af, type: 3}
|
||||
m_RemovedGameObjects: []
|
||||
m_AddedGameObjects: []
|
||||
m_AddedComponents: []
|
||||
m_SourcePrefab: {fileID: 100100000, guid: 0b61a3665c5cd5142bf27be7c52500cf, type: 3}
|
||||
--- !u!4 &7701595578038390519 stripped
|
||||
m_SourcePrefab: {fileID: 100100000, guid: ddb893375f0dbd64ea2274bcde4672af, type: 3}
|
||||
--- !u!4 &786837278690046811 stripped
|
||||
Transform:
|
||||
m_CorrespondingSourceObject: {fileID: 4978357419315030, guid: 0b61a3665c5cd5142bf27be7c52500cf, type: 3}
|
||||
m_PrefabInstance: {fileID: 7705728874586931617}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!4 &7709863043280880487 stripped
|
||||
Transform:
|
||||
m_CorrespondingSourceObject: {fileID: 4169362731877062, guid: 0b61a3665c5cd5142bf27be7c52500cf, type: 3}
|
||||
m_PrefabInstance: {fileID: 7705728874586931617}
|
||||
m_CorrespondingSourceObject: {fileID: 1146176029965363206, guid: ddb893375f0dbd64ea2274bcde4672af, type: 3}
|
||||
m_PrefabInstance: {fileID: 361239394574523229}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
|
||||
@@ -1851,6 +1851,83 @@ Transform:
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &1433547822
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1433547825}
|
||||
- component: {fileID: 1433547823}
|
||||
- component: {fileID: 1433547824}
|
||||
m_Layer: 0
|
||||
m_Name: GameManager
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!114 &1433547823
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1433547822}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: d5a57f767e5e46a458fc5d3c628d0cbb, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Unity.Netcode.Runtime::Unity.Netcode.NetworkObject
|
||||
GlobalObjectIdHash: 2791975254
|
||||
InScenePlacedSourceGlobalObjectIdHash: 0
|
||||
DeferredDespawnTick: 0
|
||||
Ownership: 1
|
||||
AlwaysReplicateAsRoot: 0
|
||||
SynchronizeTransform: 1
|
||||
ActiveSceneSynchronization: 0
|
||||
SceneMigrationSynchronization: 0
|
||||
SpawnWithObservers: 1
|
||||
DontDestroyWithOwner: 0
|
||||
AutoObjectParentSync: 1
|
||||
SyncOwnerTransformWhenParented: 1
|
||||
AllowOwnerToParent: 0
|
||||
--- !u!114 &1433547824
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1433547822}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 7bde02fc6ca2ab0468bb3ce777206089, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Colosseum.Game::Colosseum.GameManager
|
||||
ShowTopMostFoldoutHeaderGroup: 1
|
||||
gameOverUIPrefab: {fileID: 1938792592198155266, guid: e065144df1b7fcc479fd319fb571e171, type: 3}
|
||||
victoryUIPrefab: {fileID: 1938792592198155266, guid: e065144df1b7fcc479fd319fb571e171, type: 3}
|
||||
victoryEffectPrefab: {fileID: 0}
|
||||
gameOverRestartDelay: 5
|
||||
victoryToLobbyDelay: 5
|
||||
debugMode: 1
|
||||
--- !u!4 &1433547825
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1433547822}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: -0.70615, y: 0.005, z: 11.36636}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &1716412285 stripped
|
||||
MonoBehaviour:
|
||||
m_CorrespondingSourceObject: {fileID: 8269532055776948113, guid: d8795051068c4f84e84c227a6618e587, type: 3}
|
||||
@@ -2141,7 +2218,7 @@ PrefabInstance:
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3122493901255878198, guid: 56986b707b0dc09439cb35ff2f87dcc9, type: 3}
|
||||
propertyPath: m_LocalRotation.w
|
||||
value: 1
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3122493901255878198, guid: 56986b707b0dc09439cb35ff2f87dcc9, type: 3}
|
||||
propertyPath: m_LocalRotation.x
|
||||
@@ -2149,7 +2226,7 @@ PrefabInstance:
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3122493901255878198, guid: 56986b707b0dc09439cb35ff2f87dcc9, type: 3}
|
||||
propertyPath: m_LocalRotation.y
|
||||
value: 0
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3122493901255878198, guid: 56986b707b0dc09439cb35ff2f87dcc9, type: 3}
|
||||
propertyPath: m_LocalRotation.z
|
||||
@@ -2161,7 +2238,7 @@ PrefabInstance:
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3122493901255878198, guid: 56986b707b0dc09439cb35ff2f87dcc9, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.y
|
||||
value: 0
|
||||
value: 180
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3122493901255878198, guid: 56986b707b0dc09439cb35ff2f87dcc9, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.z
|
||||
@@ -2331,3 +2408,4 @@ SceneRoots:
|
||||
- {fileID: 260528176}
|
||||
- {fileID: 1990079618}
|
||||
- {fileID: 1324642684}
|
||||
- {fileID: 1433547825}
|
||||
|
||||
@@ -3,6 +3,7 @@ using Unity.Behavior;
|
||||
using UnityEngine;
|
||||
using Action = Unity.Behavior.Action;
|
||||
using Unity.Properties;
|
||||
using Colosseum.Combat;
|
||||
|
||||
[Serializable, GeneratePropertyBag]
|
||||
[NodeDescription(name: "FindTarget", story: "[타겟] 탐색", category: "Action", id: "bb947540549026f3c5625c6d19213311")]
|
||||
@@ -21,15 +22,29 @@ public partial class FindTargetAction : Action
|
||||
return Status.Failure;
|
||||
}
|
||||
|
||||
GameObject foundTarget = GameObject.FindGameObjectWithTag(Tag.Value);
|
||||
// 모든 타겟 후보 검색
|
||||
GameObject[] candidates = GameObject.FindGameObjectsWithTag(Tag.Value);
|
||||
|
||||
if (foundTarget == null)
|
||||
if (candidates == null || candidates.Length == 0)
|
||||
{
|
||||
return Status.Failure;
|
||||
}
|
||||
|
||||
Target.Value = foundTarget;
|
||||
// 사망하지 않은 타겟 찾기
|
||||
foreach (GameObject candidate in candidates)
|
||||
{
|
||||
IDamageable damageable = candidate.GetComponent<IDamageable>();
|
||||
|
||||
// IDamageable이 없거나 살아있는 경우 타겟으로 선택
|
||||
if (damageable == null || !damageable.IsDead)
|
||||
{
|
||||
Target.Value = candidate;
|
||||
return Status.Success;
|
||||
}
|
||||
}
|
||||
|
||||
// 살아있는 타겟이 없음
|
||||
return Status.Failure;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
22
Assets/Scripts/AI/BehaviorActions/Actions/IsDieCondition.cs
Normal file
22
Assets/Scripts/AI/BehaviorActions/Actions/IsDieCondition.cs
Normal file
@@ -0,0 +1,22 @@
|
||||
using System;
|
||||
using Unity.Behavior;
|
||||
using UnityEngine;
|
||||
|
||||
[Serializable, Unity.Properties.GeneratePropertyBag]
|
||||
[Condition(name: "isDie", story: "죽었는지 확인", category: "Conditions", id: "8067176f9f490e7d974824f8087de448")]
|
||||
public partial class IsDieCondition : Condition
|
||||
{
|
||||
|
||||
public override bool IsTrue()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
public override void OnStart()
|
||||
{
|
||||
}
|
||||
|
||||
public override void OnEnd()
|
||||
{
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 3d2c81704b2be4c4289bcf5555059b87
|
||||
@@ -3,6 +3,7 @@ using Unity.Behavior;
|
||||
using UnityEngine;
|
||||
using Action = Unity.Behavior.Action;
|
||||
using Unity.Properties;
|
||||
using Colosseum.Combat;
|
||||
|
||||
[Serializable, GeneratePropertyBag]
|
||||
[NodeDescription(name: "SetTargetInRange", story: "[거리] 내에 [대상이] 있는지 확인", category: "Action", id: "93b7a5d823a58618d5371c01ef894948")]
|
||||
@@ -32,12 +33,19 @@ public partial class SetTargetInRangeAction : Action
|
||||
return Status.Failure;
|
||||
}
|
||||
|
||||
// 가장 가까운 타겟 찾기
|
||||
// 가장 가까운 살아있는 타겟 찾기
|
||||
GameObject nearestTarget = null;
|
||||
float nearestDistance = Range.Value; // Range 내에서만 검색
|
||||
|
||||
foreach (GameObject potentialTarget in targets)
|
||||
{
|
||||
// 사망한 타겟은 제외
|
||||
IDamageable damageable = potentialTarget.GetComponent<IDamageable>();
|
||||
if (damageable != null && damageable.IsDead)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
float distance = Vector3.Distance(
|
||||
GameObject.transform.position,
|
||||
potentialTarget.transform.position
|
||||
|
||||
@@ -3,11 +3,12 @@ using UnityEngine;
|
||||
using Unity.Behavior;
|
||||
using Unity.Properties;
|
||||
using Condition = Unity.Behavior.Condition;
|
||||
using Colosseum.Combat;
|
||||
|
||||
namespace Colosseum.AI.BehaviorActions.Conditions
|
||||
{
|
||||
/// <summary>
|
||||
/// 타겟이 존재하는지 확인합니다.
|
||||
/// 타겟이 존재하고 살아있는지 확인합니다.
|
||||
/// </summary>
|
||||
[Serializable, GeneratePropertyBag]
|
||||
[NodeDescription(name: "Has Target", story: "Has [Target]", category: "Combat")]
|
||||
@@ -18,7 +19,19 @@ namespace Colosseum.AI.BehaviorActions.Conditions
|
||||
|
||||
public override bool IsTrue()
|
||||
{
|
||||
return Target.Value != null && Target.Value.activeInHierarchy;
|
||||
if (Target.Value == null || !Target.Value.activeInHierarchy)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
// 타겟이 사망했는지 확인
|
||||
IDamageable damageable = Target.Value.GetComponent<IDamageable>();
|
||||
if (damageable != null && damageable.IsDead)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,7 +7,8 @@
|
||||
"Unity.Transport",
|
||||
"Unity.InputSystem",
|
||||
"Unity.TextMeshPro",
|
||||
"Unity.Behavior"
|
||||
"Unity.Behavior",
|
||||
"Unity.Behavior.SerializableGUID"
|
||||
],
|
||||
"includePlatforms": [],
|
||||
"excludePlatforms": [],
|
||||
|
||||
8
Assets/Scripts/Effects.meta
Normal file
8
Assets/Scripts/Effects.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 9598f5b3fb42a1945ab57c2dc55b2815
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
187
Assets/Scripts/Effects/VictoryEffect.cs
Normal file
187
Assets/Scripts/Effects/VictoryEffect.cs
Normal file
@@ -0,0 +1,187 @@
|
||||
using System.Collections;
|
||||
using UnityEngine;
|
||||
using Colosseum.Enemy;
|
||||
|
||||
namespace Colosseum.Effects
|
||||
{
|
||||
/// <summary>
|
||||
/// 보스 승리 연출 이펙트.
|
||||
/// 보스 사망 시 카메라 연출, 이펙트, 슬로우 모션 등을 처리합니다.
|
||||
/// GameManager에 의해 활성화됩니다.
|
||||
/// </summary>
|
||||
public class VictoryEffect : MonoBehaviour
|
||||
{
|
||||
[Header("Victory Settings")]
|
||||
[Tooltip("승리 시 슬로우 모션 배율")]
|
||||
[SerializeField] private float slowMotionScale = 0.3f;
|
||||
|
||||
[Tooltip("슬로우 모션 지속 시간")]
|
||||
[SerializeField] private float slowMotionDuration = 2f;
|
||||
|
||||
[Header("Effects")]
|
||||
[Tooltip("승리 시 생성할 이펙트 프리팹")]
|
||||
[SerializeField] private GameObject victoryEffectPrefab;
|
||||
|
||||
[Tooltip("이펙트 생성 위치 오프셋")]
|
||||
[SerializeField] private Vector3 effectOffset = Vector3.up * 2f;
|
||||
|
||||
[Header("Audio")]
|
||||
[Tooltip("승리 사운드")]
|
||||
[SerializeField] private AudioClip victorySound;
|
||||
|
||||
[Tooltip("사운드 볼륨")]
|
||||
[SerializeField] private float soundVolume = 1f;
|
||||
|
||||
[Header("Debug")]
|
||||
[SerializeField] private bool debugMode = true;
|
||||
|
||||
// 상태
|
||||
private bool isPlaying = false;
|
||||
private float originalTimeScale;
|
||||
private Camera mainCamera;
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
mainCamera = Camera.main;
|
||||
}
|
||||
|
||||
private void OnEnable()
|
||||
{
|
||||
PlayVictoryEffect();
|
||||
}
|
||||
|
||||
private void OnDisable()
|
||||
{
|
||||
// 시간 스케일 복구
|
||||
if (isPlaying)
|
||||
{
|
||||
Time.timeScale = 1f;
|
||||
isPlaying = false;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 승리 연출 재생
|
||||
/// </summary>
|
||||
public void PlayVictoryEffect()
|
||||
{
|
||||
if (isPlaying) return;
|
||||
|
||||
StartCoroutine(VictorySequence());
|
||||
}
|
||||
|
||||
private IEnumerator VictorySequence()
|
||||
{
|
||||
isPlaying = true;
|
||||
originalTimeScale = Time.timeScale;
|
||||
|
||||
if (debugMode)
|
||||
{
|
||||
Debug.Log("[VictoryEffect] Starting victory sequence");
|
||||
}
|
||||
|
||||
// 1. 슬로우 모션
|
||||
yield return StartCoroutine(PlaySlowMotion());
|
||||
|
||||
// 2. 카메라 연출
|
||||
yield return StartCoroutine(PlayCameraEffect());
|
||||
|
||||
// 3. 이펙트 생성
|
||||
SpawnVictoryEffect();
|
||||
|
||||
// 4. 사운드 재생
|
||||
PlayVictorySound();
|
||||
|
||||
// 5. 시간 복구
|
||||
Time.timeScale = originalTimeScale;
|
||||
isPlaying = false;
|
||||
|
||||
if (debugMode)
|
||||
{
|
||||
Debug.Log("[VictoryEffect] Victory sequence complete");
|
||||
}
|
||||
}
|
||||
|
||||
private IEnumerator PlaySlowMotion()
|
||||
{
|
||||
float elapsed = 0f;
|
||||
|
||||
while (elapsed < slowMotionDuration)
|
||||
{
|
||||
elapsed += Time.unscaledDeltaTime;
|
||||
float t = elapsed / slowMotionDuration;
|
||||
|
||||
// 처음에는 슬로우, 나중에는 복구
|
||||
if (t < 0.5f)
|
||||
{
|
||||
Time.timeScale = Mathf.Lerp(originalTimeScale, slowMotionScale, t * 2f);
|
||||
}
|
||||
else
|
||||
{
|
||||
Time.timeScale = Mathf.Lerp(slowMotionScale, originalTimeScale, (t - 0.5f) * 2f);
|
||||
}
|
||||
|
||||
yield return null;
|
||||
}
|
||||
|
||||
Time.timeScale = slowMotionScale;
|
||||
}
|
||||
|
||||
private IEnumerator PlayCameraEffect()
|
||||
{
|
||||
if (mainCamera == null || BossEnemy.ActiveBoss == null)
|
||||
yield break;
|
||||
|
||||
// 보스 위치로 카메라 이동
|
||||
Transform bossTransform = BossEnemy.ActiveBoss.transform;
|
||||
Vector3 targetPosition = bossTransform.position + effectOffset;
|
||||
|
||||
float elapsed = 0f;
|
||||
float duration = slowMotionDuration * 0.5f;
|
||||
|
||||
while (elapsed < duration)
|
||||
{
|
||||
elapsed += Time.unscaledDeltaTime;
|
||||
|
||||
// 카메라가 보스를 바라보도록
|
||||
mainCamera.transform.LookAt(targetPosition);
|
||||
|
||||
yield return null;
|
||||
}
|
||||
}
|
||||
|
||||
private void SpawnVictoryEffect()
|
||||
{
|
||||
if (victoryEffectPrefab == null) return;
|
||||
|
||||
Vector3 spawnPosition = transform.position + effectOffset;
|
||||
|
||||
if (BossEnemy.ActiveBoss != null)
|
||||
{
|
||||
spawnPosition = BossEnemy.ActiveBoss.transform.position + effectOffset;
|
||||
}
|
||||
|
||||
var effect = Instantiate(victoryEffectPrefab, spawnPosition, Quaternion.identity);
|
||||
|
||||
// 일정 시간 후 제거
|
||||
Destroy(effect, 5f);
|
||||
|
||||
if (debugMode)
|
||||
{
|
||||
Debug.Log("[VictoryEffect] Spawned victory effect");
|
||||
}
|
||||
}
|
||||
|
||||
private void PlayVictorySound()
|
||||
{
|
||||
if (victorySound == null) return;
|
||||
|
||||
AudioSource.PlayClipAtPoint(victorySound, transform.position, soundVolume);
|
||||
|
||||
if (debugMode)
|
||||
{
|
||||
Debug.Log("[VictoryEffect] Played victory sound");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
2
Assets/Scripts/Effects/VictoryEffect.cs.meta
Normal file
2
Assets/Scripts/Effects/VictoryEffect.cs.meta
Normal file
@@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b7cbb78d0cea7014ba69a25271583954
|
||||
@@ -73,7 +73,7 @@ namespace Colosseum.Enemy
|
||||
// BossHealthBarUI 자동 검색
|
||||
if (bossHealthBarUI == null)
|
||||
{
|
||||
bossHealthBarUI = FindObjectOfType<BossHealthBarUI>();
|
||||
bossHealthBarUI = FindFirstObjectByType<BossHealthBarUI>();
|
||||
if (bossHealthBarUI == null)
|
||||
{
|
||||
Debug.LogWarning($"[BossArea] {name}: BossHealthBarUI를 찾을 수 없습니다.");
|
||||
|
||||
@@ -11,6 +11,7 @@ namespace Colosseum.Enemy
|
||||
/// 보스 캐릭터. 페이즈 시스템과 동적 AI 전환을 지원합니다.
|
||||
/// Unity Behavior 패키지를 사용하여 Behavior Tree 기반 AI를 구현합니다.
|
||||
/// </summary>
|
||||
|
||||
public class BossEnemy : EnemyBase
|
||||
{
|
||||
[Header("Boss Settings")]
|
||||
@@ -274,13 +275,16 @@ namespace Colosseum.Enemy
|
||||
return;
|
||||
}
|
||||
|
||||
base.HandleDeath();
|
||||
|
||||
// AI 정지
|
||||
// AI 완전 중단 (순서 중요: enabled=false를 먼저 호출하여 Update() 차단)
|
||||
if (behaviorAgent != null)
|
||||
{
|
||||
behaviorAgent.enabled = false; // 가장 먼저: Update() 호출 방지
|
||||
behaviorAgent.End();
|
||||
behaviorAgent.Graph = null;
|
||||
}
|
||||
behaviorAgent = null;
|
||||
|
||||
base.HandleDeath();
|
||||
}
|
||||
|
||||
#region Debug
|
||||
|
||||
@@ -20,6 +20,7 @@ namespace Colosseum.Enemy
|
||||
|
||||
private Animator animator;
|
||||
private UnityEngine.AI.NavMeshAgent navMeshAgent;
|
||||
private EnemyBase enemyBase;
|
||||
private float currentSpeed;
|
||||
private float speedVelocity;
|
||||
|
||||
@@ -27,6 +28,7 @@ namespace Colosseum.Enemy
|
||||
{
|
||||
animator = GetComponent<Animator>();
|
||||
navMeshAgent = GetComponent<UnityEngine.AI.NavMeshAgent>();
|
||||
enemyBase = GetComponent<EnemyBase>();
|
||||
}
|
||||
|
||||
public override void OnNetworkSpawn()
|
||||
@@ -49,6 +51,10 @@ namespace Colosseum.Enemy
|
||||
/// </summary>
|
||||
private void UpdateAnimationParameters()
|
||||
{
|
||||
// 사망 상태에서는 애니메이션 파라미터 업데이트 중단
|
||||
if (enemyBase != null && enemyBase.IsDead)
|
||||
return;
|
||||
|
||||
if (animator == null || navMeshAgent == null)
|
||||
return;
|
||||
|
||||
@@ -71,21 +77,30 @@ namespace Colosseum.Enemy
|
||||
/// </summary>
|
||||
public void PlayAttack()
|
||||
{
|
||||
if (IsServer && animator != null)
|
||||
{
|
||||
if (!IsServer || animator == null)
|
||||
return;
|
||||
|
||||
// 사망 상태에서는 공격 애니메이션 재생하지 않음
|
||||
if (enemyBase != null && enemyBase.IsDead)
|
||||
return;
|
||||
|
||||
animator.SetTrigger(attackTriggerParam);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 스킬 애니메이션 트리거 (외부에서 호출)
|
||||
/// </summary>
|
||||
public void PlaySkill()
|
||||
{
|
||||
if (IsServer && animator != null)
|
||||
{
|
||||
if (!IsServer || animator == null)
|
||||
return;
|
||||
|
||||
// 사망 상태에서는 스킬 애니메이션 재생하지 않음
|
||||
if (enemyBase != null && enemyBase.IsDead)
|
||||
return;
|
||||
|
||||
animator.SetTrigger(skillTriggerParam);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 특정 애니메이션 트리거 재생
|
||||
@@ -93,11 +108,15 @@ namespace Colosseum.Enemy
|
||||
/// <param name="triggerName">트리거 파라미터 이름</param>
|
||||
public void PlayTrigger(string triggerName)
|
||||
{
|
||||
if (IsServer && animator != null)
|
||||
{
|
||||
if (!IsServer || animator == null)
|
||||
return;
|
||||
|
||||
// 사망 상태에서는 일반 애니메이션 재생하지 않음
|
||||
if (enemyBase != null && enemyBase.IsDead)
|
||||
return;
|
||||
|
||||
animator.SetTrigger(triggerName);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 현재 애니메이션 속도
|
||||
|
||||
@@ -23,6 +23,8 @@ namespace Colosseum.Enemy
|
||||
[Header("Data")]
|
||||
[SerializeField] protected EnemyData enemyData;
|
||||
|
||||
|
||||
|
||||
// 네트워크 동기화 변수
|
||||
protected NetworkVariable<float> currentHealth = new NetworkVariable<float>(100f);
|
||||
protected NetworkVariable<float> currentMana = new NetworkVariable<float>(50f);
|
||||
@@ -90,16 +92,6 @@ namespace Colosseum.Enemy
|
||||
isDead.Value = false;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 대미지 적용 (서버에서 실행)
|
||||
/// </summary>
|
||||
@@ -150,6 +142,34 @@ namespace Colosseum.Enemy
|
||||
return actualHeal;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 사망 애니메이션 재생 (모든 클라이언트에서 실행)
|
||||
/// </summary>
|
||||
[Rpc(SendTo.Everyone)]
|
||||
private void PlayDeathAnimationRpc()
|
||||
{
|
||||
if (animator != null)
|
||||
{
|
||||
// EnemyAnimationController 비활성화 (더 이상 애니메이션 제어하지 않음)
|
||||
var animController = GetComponent<EnemyAnimationController>();
|
||||
if (animController != null)
|
||||
{
|
||||
animController.enabled = false;
|
||||
}
|
||||
|
||||
// 모든 트리거 리셋
|
||||
animator.ResetTrigger("Attack");
|
||||
animator.ResetTrigger("Skill");
|
||||
animator.ResetTrigger("Hit");
|
||||
animator.ResetTrigger("Jump");
|
||||
animator.ResetTrigger("Land");
|
||||
animator.ResetTrigger("Die");
|
||||
|
||||
// 즉시 Die 상태로 전환 (다른 애니메이션 중단)
|
||||
animator.Play("Die", 0, 0f);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 사망 처리 (서버에서 실행)
|
||||
/// </summary>
|
||||
@@ -157,11 +177,16 @@ namespace Colosseum.Enemy
|
||||
{
|
||||
isDead.Value = true;
|
||||
|
||||
if (animator != null)
|
||||
// 실행 중인 스킬 즉시 취소
|
||||
var skillController = GetComponent<Colosseum.Skills.SkillController>();
|
||||
if (skillController != null)
|
||||
{
|
||||
animator.SetTrigger("Die");
|
||||
skillController.CancelSkill();
|
||||
}
|
||||
|
||||
// 모든 클라이언트에서 사망 애니메이션 재생
|
||||
PlayDeathAnimationRpc();
|
||||
|
||||
if (navMeshAgent != null)
|
||||
{
|
||||
navMeshAgent.isStopped = true;
|
||||
|
||||
515
Assets/Scripts/GameManager.cs
Normal file
515
Assets/Scripts/GameManager.cs
Normal file
@@ -0,0 +1,515 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using UnityEngine;
|
||||
using UnityEngine.SceneManagement;
|
||||
using Unity.Netcode;
|
||||
using Colosseum.Player;
|
||||
using Colosseum.Enemy;
|
||||
|
||||
namespace Colosseum
|
||||
{
|
||||
/// <summary>
|
||||
/// 게임 상태 열거형
|
||||
/// </summary>
|
||||
public enum GameState
|
||||
{
|
||||
Waiting, // 대기 중
|
||||
Playing, // 게임 진행 중
|
||||
GameOver, // 게임 오버
|
||||
Victory // 승리
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 게임 전체를 관리하는 매니저.
|
||||
/// 게임 상태, 플레이어 사망 체크, 승리/패배 조건을 처리합니다.
|
||||
/// </summary>
|
||||
public class GameManager : NetworkBehaviour
|
||||
{
|
||||
[Header("UI Prefabs")]
|
||||
[Tooltip("게임 오버 UI 프리팹")]
|
||||
[SerializeField] private GameObject gameOverUIPrefab;
|
||||
|
||||
[Tooltip("승리 UI 프리팹")]
|
||||
[SerializeField] private GameObject victoryUIPrefab;
|
||||
|
||||
[Tooltip("승리 연출 이펙트 프리팹")]
|
||||
[SerializeField] private GameObject victoryEffectPrefab;
|
||||
|
||||
[Header("Settings")]
|
||||
[Tooltip("게임 오버 후 재시작까지 대기 시간")]
|
||||
[SerializeField] private float gameOverRestartDelay = 5f;
|
||||
|
||||
[Tooltip("승리 후 로비로 이동까지 대기 시간")]
|
||||
[SerializeField] private float victoryToLobbyDelay = 5f;
|
||||
|
||||
[Header("Debug")]
|
||||
[SerializeField] private bool debugMode = true;
|
||||
|
||||
// 싱글톤
|
||||
public static GameManager Instance { get; private set; }
|
||||
|
||||
// 게임 상태
|
||||
private NetworkVariable<GameState> currentState = new NetworkVariable<GameState>(GameState.Waiting);
|
||||
|
||||
// 인스턴스화된 UI
|
||||
private GameObject gameOverUIInstance;
|
||||
private GameObject victoryUIInstance;
|
||||
private GameObject victoryEffectInstance;
|
||||
|
||||
// 이벤트
|
||||
public event Action<GameState> OnGameStateChanged;
|
||||
public event Action OnGameOver;
|
||||
public event Action OnVictory;
|
||||
|
||||
// Properties
|
||||
public GameState CurrentState => currentState.Value;
|
||||
public bool IsGameOver => currentState.Value == GameState.GameOver;
|
||||
public bool IsVictory => currentState.Value == GameState.Victory;
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
// 싱글톤 설정
|
||||
if (Instance != null && Instance != this)
|
||||
{
|
||||
Destroy(gameObject);
|
||||
return;
|
||||
}
|
||||
Instance = this;
|
||||
}
|
||||
|
||||
public override void OnNetworkSpawn()
|
||||
{
|
||||
currentState.OnValueChanged += HandleGameStateChanged;
|
||||
|
||||
// 네트워크 씬 로드 이벤트 구독
|
||||
if (NetworkManager.Singleton.SceneManager != null)
|
||||
{
|
||||
NetworkManager.Singleton.SceneManager.OnLoadEventCompleted += OnSceneLoadCompleted;
|
||||
}
|
||||
|
||||
// UI 인스턴스화 (모든 클라이언트에서)
|
||||
SpawnUI();
|
||||
|
||||
if (IsServer)
|
||||
{
|
||||
// 플레이어 사망 이벤트 구독
|
||||
StartCoroutine(WaitForPlayersAndSubscribe());
|
||||
|
||||
// 보스 사망 이벤트 구독
|
||||
SubscribeToBossEvents();
|
||||
}
|
||||
}
|
||||
|
||||
private void OnSceneLoadCompleted(string sceneName, LoadSceneMode loadSceneMode, List<ulong> clientsCompleted, List<ulong> clientsTimedOut)
|
||||
{
|
||||
if (loadSceneMode == LoadSceneMode.Single)
|
||||
{
|
||||
if (debugMode)
|
||||
{
|
||||
Debug.Log($"[GameManager] Scene loaded: {sceneName}");
|
||||
}
|
||||
|
||||
// 씬 로드 완료 시 플레이어 리스폰
|
||||
if (IsServer)
|
||||
{
|
||||
RespawnAllPlayersClientRpc();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[Rpc(SendTo.ClientsAndHost)]
|
||||
private void RespawnAllPlayersClientRpc()
|
||||
{
|
||||
// 모든 플레이어 리스폰
|
||||
var players = FindObjectsByType<PlayerNetworkController>(FindObjectsSortMode.None);
|
||||
foreach (var player in players)
|
||||
{
|
||||
player.Respawn();
|
||||
}
|
||||
|
||||
// 카메라 재설정
|
||||
var playerMovement = FindObjectsByType<PlayerMovement>(FindObjectsSortMode.None);
|
||||
foreach (var movement in playerMovement)
|
||||
{
|
||||
movement.RefreshCamera();
|
||||
}
|
||||
}
|
||||
|
||||
public override void OnNetworkDespawn()
|
||||
{
|
||||
currentState.OnValueChanged -= HandleGameStateChanged;
|
||||
|
||||
// 네트워크 씬 로드 이벤트 구독 해제
|
||||
if (NetworkManager.Singleton.SceneManager != null)
|
||||
{
|
||||
NetworkManager.Singleton.SceneManager.OnLoadEventCompleted -= OnSceneLoadCompleted;
|
||||
}
|
||||
|
||||
// UI 정리
|
||||
CleanupUI();
|
||||
|
||||
if (IsServer)
|
||||
{
|
||||
UnsubscribeFromPlayerEvents();
|
||||
UnsubscribeFromBossEvents();
|
||||
}
|
||||
}
|
||||
|
||||
#region UI Management
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// UI 프리팹 인스턴스화
|
||||
/// </summary>
|
||||
private void SpawnUI()
|
||||
{
|
||||
// Canvas 찾기 또는 생성
|
||||
Canvas canvas = FindOrCreateCanvas();
|
||||
|
||||
// 게임 오버 UI
|
||||
if (gameOverUIPrefab != null)
|
||||
{
|
||||
gameOverUIInstance = Instantiate(gameOverUIPrefab, canvas.transform);
|
||||
gameOverUIInstance.name = "GameOverUI";
|
||||
gameOverUIInstance.SetActive(false);
|
||||
|
||||
if (debugMode)
|
||||
{
|
||||
Debug.Log("[GameManager] GameOverUI instantiated");
|
||||
}
|
||||
}
|
||||
|
||||
// 승리 UI
|
||||
if (victoryUIPrefab != null)
|
||||
{
|
||||
victoryUIInstance = Instantiate(victoryUIPrefab, canvas.transform);
|
||||
victoryUIInstance.name = "VictoryUI";
|
||||
victoryUIInstance.SetActive(false);
|
||||
|
||||
if (debugMode)
|
||||
{
|
||||
Debug.Log("[GameManager] VictoryUI instantiated");
|
||||
}
|
||||
}
|
||||
|
||||
// 승리 연출 이펙트
|
||||
if (victoryEffectPrefab != null)
|
||||
{
|
||||
victoryEffectInstance = Instantiate(victoryEffectPrefab);
|
||||
victoryEffectInstance.name = "VictoryEffect";
|
||||
victoryEffectInstance.SetActive(false);
|
||||
|
||||
if (debugMode)
|
||||
{
|
||||
Debug.Log("[GameManager] VictoryEffect instantiated");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Canvas 찾기 또는 생성
|
||||
/// </summary>
|
||||
private Canvas FindOrCreateCanvas()
|
||||
{
|
||||
// 기존 Canvas 찾기
|
||||
Canvas canvas = FindFirstObjectByType<Canvas>();
|
||||
|
||||
if (canvas == null)
|
||||
{
|
||||
// 새 Canvas 생성
|
||||
var canvasObject = new GameObject("GameUI Canvas");
|
||||
canvas = canvasObject.AddComponent<Canvas>();
|
||||
canvas.renderMode = RenderMode.ScreenSpaceOverlay;
|
||||
canvasObject.AddComponent<UnityEngine.UI.CanvasScaler>();
|
||||
canvasObject.AddComponent<UnityEngine.UI.GraphicRaycaster>();
|
||||
|
||||
if (debugMode)
|
||||
{
|
||||
Debug.Log("[GameManager] Created new Canvas");
|
||||
}
|
||||
}
|
||||
|
||||
return canvas;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// UI 정리
|
||||
/// </summary>
|
||||
private void CleanupUI()
|
||||
{
|
||||
if (gameOverUIInstance != null)
|
||||
{
|
||||
Destroy(gameOverUIInstance);
|
||||
}
|
||||
|
||||
if (victoryUIInstance != null)
|
||||
{
|
||||
Destroy(victoryUIInstance);
|
||||
}
|
||||
|
||||
if (victoryEffectInstance != null)
|
||||
{
|
||||
Destroy(victoryEffectInstance);
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private void HandleGameStateChanged(GameState oldValue, GameState newValue)
|
||||
{
|
||||
OnGameStateChanged?.Invoke(newValue);
|
||||
|
||||
// UI 활성화/비활성화
|
||||
UpdateUIVisibility(newValue);
|
||||
|
||||
if (debugMode)
|
||||
{
|
||||
Debug.Log($"[GameManager] State changed: {oldValue} -> {newValue}");
|
||||
}
|
||||
}
|
||||
|
||||
private void UpdateUIVisibility(GameState state)
|
||||
{
|
||||
// 게임 오버 UI
|
||||
if (gameOverUIInstance != null)
|
||||
{
|
||||
gameOverUIInstance.SetActive(state == GameState.GameOver);
|
||||
}
|
||||
|
||||
// 승리 UI
|
||||
if (victoryUIInstance != null)
|
||||
{
|
||||
victoryUIInstance.SetActive(state == GameState.Victory);
|
||||
}
|
||||
|
||||
// 승리 연출
|
||||
if (victoryEffectInstance != null && state == GameState.Victory)
|
||||
{
|
||||
victoryEffectInstance.SetActive(true);
|
||||
}
|
||||
}
|
||||
|
||||
#region Player Death Tracking
|
||||
|
||||
private List<PlayerNetworkController> alivePlayers = new List<PlayerNetworkController>();
|
||||
|
||||
private IEnumerator WaitForPlayersAndSubscribe()
|
||||
{
|
||||
// 플레이어들이 스폰될 때까지 대기
|
||||
yield return new WaitForSeconds(1f);
|
||||
|
||||
SubscribeToPlayerEvents();
|
||||
|
||||
// 게임 시작
|
||||
SetGameState(GameState.Playing);
|
||||
}
|
||||
|
||||
private void SubscribeToPlayerEvents()
|
||||
{
|
||||
var players = FindObjectsByType<PlayerNetworkController>(FindObjectsSortMode.None);
|
||||
foreach (var player in players)
|
||||
{
|
||||
player.OnDeath += HandlePlayerDeath;
|
||||
if (!player.IsDead)
|
||||
{
|
||||
alivePlayers.Add(player);
|
||||
}
|
||||
}
|
||||
|
||||
if (debugMode)
|
||||
{
|
||||
Debug.Log($"[GameManager] Subscribed to {players.Length} players, {alivePlayers.Count} alive");
|
||||
}
|
||||
}
|
||||
|
||||
private void UnsubscribeFromPlayerEvents()
|
||||
{
|
||||
var players = FindObjectsByType<PlayerNetworkController>(FindObjectsSortMode.None);
|
||||
foreach (var player in players)
|
||||
{
|
||||
player.OnDeath -= HandlePlayerDeath;
|
||||
}
|
||||
alivePlayers.Clear();
|
||||
}
|
||||
|
||||
private void HandlePlayerDeath(PlayerNetworkController player)
|
||||
{
|
||||
alivePlayers.Remove(player);
|
||||
|
||||
if (debugMode)
|
||||
{
|
||||
Debug.Log($"[GameManager] Player died. Alive: {alivePlayers.Count}");
|
||||
}
|
||||
|
||||
// 모든 플레이어 사망 체크
|
||||
if (alivePlayers.Count == 0)
|
||||
{
|
||||
TriggerGameOver();
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Boss Death Tracking
|
||||
|
||||
private void SubscribeToBossEvents()
|
||||
{
|
||||
BossEnemy.OnBossSpawned += HandleBossSpawned;
|
||||
|
||||
// 이미 스폰된 보스가 있는지 확인
|
||||
if (BossEnemy.ActiveBoss != null)
|
||||
{
|
||||
SubscribeToBossDeath(BossEnemy.ActiveBoss);
|
||||
}
|
||||
}
|
||||
|
||||
private void UnsubscribeFromBossEvents()
|
||||
{
|
||||
BossEnemy.OnBossSpawned -= HandleBossSpawned;
|
||||
}
|
||||
|
||||
private void HandleBossSpawned(BossEnemy boss)
|
||||
{
|
||||
SubscribeToBossDeath(boss);
|
||||
|
||||
if (debugMode)
|
||||
{
|
||||
Debug.Log($"[GameManager] Boss spawned: {boss.name}");
|
||||
}
|
||||
}
|
||||
|
||||
private void SubscribeToBossDeath(BossEnemy boss)
|
||||
{
|
||||
boss.OnDeath += HandleBossDeath;
|
||||
}
|
||||
|
||||
private void HandleBossDeath()
|
||||
{
|
||||
if (debugMode)
|
||||
{
|
||||
Debug.Log("[GameManager] Boss died!");
|
||||
}
|
||||
|
||||
TriggerVictory();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Game State Management
|
||||
|
||||
private void SetGameState(GameState newState)
|
||||
{
|
||||
if (!IsServer) return;
|
||||
|
||||
currentState.Value = newState;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 게임 오버 처리 (서버에서만 실행)
|
||||
/// </summary>
|
||||
public void TriggerGameOver()
|
||||
{
|
||||
if (!IsServer || currentState.Value != GameState.Playing) return;
|
||||
|
||||
SetGameState(GameState.GameOver);
|
||||
OnGameOver?.Invoke();
|
||||
|
||||
if (debugMode)
|
||||
{
|
||||
Debug.Log("[GameManager] Game Over!");
|
||||
}
|
||||
|
||||
// N초 후 씬 재시작
|
||||
StartCoroutine(RestartSceneAfterDelay(gameOverRestartDelay));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 승리 처리 (서버에서만 실행)
|
||||
/// </summary>
|
||||
public void TriggerVictory()
|
||||
{
|
||||
if (!IsServer || currentState.Value != GameState.Playing) return;
|
||||
|
||||
SetGameState(GameState.Victory);
|
||||
OnVictory?.Invoke();
|
||||
|
||||
if (debugMode)
|
||||
{
|
||||
Debug.Log("[GameManager] Victory!");
|
||||
}
|
||||
|
||||
// N초 후 씬 재시작 (또는 로비로 이동)
|
||||
StartCoroutine(RestartSceneAfterDelay(victoryToLobbyDelay));
|
||||
}
|
||||
|
||||
private IEnumerator RestartSceneAfterDelay(float delay)
|
||||
{
|
||||
yield return new WaitForSeconds(delay);
|
||||
|
||||
// 현재 씬 다시 로드
|
||||
string currentScene = SceneManager.GetActiveScene().name;
|
||||
|
||||
if (IsServer)
|
||||
{
|
||||
// 네트워크 씬 관리 사용
|
||||
NetworkManager.Singleton.SceneManager.LoadScene(currentScene, LoadSceneMode.Single);
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Utility
|
||||
|
||||
/// <summary>
|
||||
/// 살아있는 플레이어 목록 반환
|
||||
/// </summary>
|
||||
public List<PlayerNetworkController> GetAlivePlayers()
|
||||
{
|
||||
return alivePlayers.Where(p => p != null && !p.IsDead).ToList();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 랜덤한 살아있는 플레이어 반환 (관전용)
|
||||
/// </summary>
|
||||
public PlayerNetworkController GetRandomAlivePlayer()
|
||||
{
|
||||
var alive = GetAlivePlayers();
|
||||
if (alive.Count == 0) return null;
|
||||
|
||||
return alive[UnityEngine.Random.Range(0, alive.Count)];
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
2
Assets/Scripts/GameManager.cs.meta
Normal file
2
Assets/Scripts/GameManager.cs.meta
Normal file
@@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 7bde02fc6ca2ab0468bb3ce777206089
|
||||
@@ -1,5 +1,6 @@
|
||||
using UnityEngine;
|
||||
using UnityEngine.InputSystem;
|
||||
using UnityEngine.SceneManagement;
|
||||
|
||||
namespace Colosseum.Player
|
||||
{
|
||||
@@ -20,11 +21,35 @@ namespace Colosseum.Player
|
||||
private float pitch;
|
||||
private Camera cameraInstance;
|
||||
private InputSystem_Actions inputActions;
|
||||
private bool isSpectating = false;
|
||||
|
||||
public Transform Target => target;
|
||||
public bool IsSpectating => isSpectating;
|
||||
|
||||
private void OnEnable()
|
||||
{
|
||||
SceneManager.sceneLoaded += OnSceneLoaded;
|
||||
}
|
||||
|
||||
private void OnDisable()
|
||||
{
|
||||
SceneManager.sceneLoaded -= OnSceneLoaded;
|
||||
}
|
||||
|
||||
private void OnSceneLoaded(Scene scene, LoadSceneMode mode)
|
||||
{
|
||||
// 씬 로드 시 카메라 참조 갱신
|
||||
RefreshCamera();
|
||||
SnapToTarget();
|
||||
|
||||
Debug.Log($"[PlayerCamera] Scene loaded, camera refreshed");
|
||||
}
|
||||
|
||||
public void Initialize(Transform playerTransform, InputSystem_Actions actions)
|
||||
{
|
||||
target = playerTransform;
|
||||
inputActions = actions;
|
||||
isSpectating = false;
|
||||
|
||||
// 기존 메인 카메라 사용 또는 새로 생성
|
||||
cameraInstance = Camera.main;
|
||||
@@ -36,12 +61,73 @@ namespace Colosseum.Player
|
||||
}
|
||||
|
||||
// 초기 각도
|
||||
if (target != null)
|
||||
{
|
||||
yaw = target.eulerAngles.y;
|
||||
}
|
||||
pitch = 20f;
|
||||
|
||||
// 카메라 위치를 즉시 타겟 위치로 초기화
|
||||
SnapToTarget();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 관전 대상 변경
|
||||
/// </summary>
|
||||
public void SetTarget(Transform newTarget)
|
||||
{
|
||||
if (newTarget == null) return;
|
||||
|
||||
target = newTarget;
|
||||
isSpectating = true;
|
||||
|
||||
// 부드러운 전환을 위해 현재 카메라 위치에서 새 타겟으로
|
||||
yaw = target.eulerAngles.y;
|
||||
|
||||
Debug.Log($"[PlayerCamera] Now spectating: {target.name}");
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 원래 플레이어로 복귀
|
||||
/// </summary>
|
||||
public void ResetToPlayer(Transform playerTransform)
|
||||
{
|
||||
target = playerTransform;
|
||||
isSpectating = false;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 카메라 위치를 타겟 위치로 즉시 이동 (부드러운 전환 없이)
|
||||
/// </summary>
|
||||
public void SnapToTarget()
|
||||
{
|
||||
if (target == null || cameraInstance == null) return;
|
||||
|
||||
Quaternion rotation = Quaternion.Euler(pitch, yaw, 0f);
|
||||
Vector3 offset = rotation * new Vector3(0f, 0f, -distance);
|
||||
offset.y += height;
|
||||
|
||||
cameraInstance.transform.position = target.position + offset;
|
||||
cameraInstance.transform.LookAt(target.position + Vector3.up * height * 0.5f);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 카메라 참조 갱신 (씬 전환 후 호출)
|
||||
/// </summary>
|
||||
public void RefreshCamera()
|
||||
{
|
||||
// 씬 전환 시 항상 새 카메라 참조 획득
|
||||
cameraInstance = Camera.main;
|
||||
}
|
||||
|
||||
private void LateUpdate()
|
||||
{
|
||||
// 카메라 참조가 없으면 갱신 시도
|
||||
if (cameraInstance == null)
|
||||
{
|
||||
RefreshCamera();
|
||||
}
|
||||
|
||||
if (target == null || cameraInstance == null) return;
|
||||
|
||||
HandleRotation();
|
||||
|
||||
@@ -75,6 +75,17 @@ namespace Colosseum.Player
|
||||
SetSpawnPosition();
|
||||
|
||||
// Input Actions 초기화
|
||||
InitializeInputActions();
|
||||
|
||||
// 카메라 설정
|
||||
SetupCamera();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 입력 액션 초기화
|
||||
/// </summary>
|
||||
private void InitializeInputActions()
|
||||
{
|
||||
inputActions = new InputSystem_Actions();
|
||||
inputActions.Player.Enable();
|
||||
|
||||
@@ -84,11 +95,42 @@ namespace Colosseum.Player
|
||||
|
||||
// Jump 액션 콜백 등록
|
||||
inputActions.Player.Jump.performed += OnJumpPerformed;
|
||||
|
||||
// 카메라 설정
|
||||
SetupCamera();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 입력 액션 해제
|
||||
/// </summary>
|
||||
private void CleanupInputActions()
|
||||
{
|
||||
if (inputActions != null)
|
||||
{
|
||||
inputActions.Player.Move.performed -= OnMovePerformed;
|
||||
inputActions.Player.Move.canceled -= OnMoveCanceled;
|
||||
inputActions.Player.Jump.performed -= OnJumpPerformed;
|
||||
inputActions.Player.Disable();
|
||||
}
|
||||
}
|
||||
|
||||
private void OnDisable()
|
||||
{
|
||||
// 컴포넌트 비활성화 시 입력 해제
|
||||
CleanupInputActions();
|
||||
|
||||
// 입력 초기화
|
||||
moveInput = Vector2.zero;
|
||||
}
|
||||
|
||||
private void OnEnable()
|
||||
{
|
||||
// 컴포넌트 재활성화 시 입력 다시 등록
|
||||
if (IsOwner && inputActions != null)
|
||||
{
|
||||
inputActions.Player.Enable();
|
||||
inputActions.Player.Move.performed += OnMovePerformed;
|
||||
inputActions.Player.Move.canceled += OnMoveCanceled;
|
||||
inputActions.Player.Jump.performed += OnJumpPerformed;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 스폰 위치 설정
|
||||
@@ -107,34 +149,24 @@ namespace Colosseum.Player
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 네트워크 정리리
|
||||
/// 네트워크 정리
|
||||
/// </summary>
|
||||
public override void OnNetworkDespawn()
|
||||
{
|
||||
if (inputActions != null)
|
||||
{
|
||||
inputActions.Player.Move.performed -= OnMovePerformed;
|
||||
inputActions.Player.Move.canceled -= OnMoveCanceled;
|
||||
inputActions.Player.Jump.performed -= OnJumpPerformed;
|
||||
inputActions.Disable();
|
||||
CleanupInputActions();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private void OnMovePerformed(InputAction.CallbackContext context)
|
||||
{
|
||||
moveInput = context.ReadValue<Vector2>();
|
||||
}
|
||||
|
||||
|
||||
private void OnMoveCanceled(InputAction.CallbackContext context)
|
||||
{
|
||||
moveInput = Vector2.zero;
|
||||
}
|
||||
|
||||
|
||||
private void OnJumpPerformed(InputAction.CallbackContext context)
|
||||
{
|
||||
if (!isJumping && characterController.isGrounded)
|
||||
@@ -143,7 +175,6 @@ namespace Colosseum.Player
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private void SetupCamera()
|
||||
{
|
||||
var cameraController = GetComponent<PlayerCamera>();
|
||||
@@ -154,6 +185,13 @@ namespace Colosseum.Player
|
||||
cameraController.Initialize(transform, inputActions);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 카메라 재설정 (씬 로드 후 호출)
|
||||
/// </summary>
|
||||
public void RefreshCamera()
|
||||
{
|
||||
SetupCamera();
|
||||
}
|
||||
|
||||
private void Update()
|
||||
{
|
||||
@@ -163,7 +201,6 @@ namespace Colosseum.Player
|
||||
Move();
|
||||
}
|
||||
|
||||
|
||||
private void ApplyGravity()
|
||||
{
|
||||
if (wasGrounded && velocity.y < 0)
|
||||
@@ -176,7 +213,6 @@ namespace Colosseum.Player
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private void Move()
|
||||
{
|
||||
if (characterController == null) return;
|
||||
@@ -218,7 +254,6 @@ namespace Colosseum.Player
|
||||
wasGrounded = characterController.isGrounded;
|
||||
}
|
||||
|
||||
|
||||
private void Jump()
|
||||
{
|
||||
isJumping = true;
|
||||
@@ -232,7 +267,6 @@ namespace Colosseum.Player
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 점프 중 상태가 끝나면 IsJumping = false;
|
||||
/// </summary>
|
||||
@@ -241,7 +275,6 @@ namespace Colosseum.Player
|
||||
isJumping = false;
|
||||
}
|
||||
|
||||
|
||||
private Vector3 TransformDirectionByCamera(Vector3 direction)
|
||||
{
|
||||
if (Camera.main == null) return direction;
|
||||
@@ -259,7 +292,6 @@ namespace Colosseum.Player
|
||||
return cameraRight * direction.x + cameraForward * direction.z;
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 루트 모션 처리. 스킬 애니메이션 중에 애니메이션의 이동/회전 데이터를 적용합니다.
|
||||
/// </summary>
|
||||
|
||||
@@ -18,6 +18,7 @@ namespace Colosseum.Player
|
||||
// 네트워크 동기화 변수
|
||||
private NetworkVariable<float> currentHealth = new NetworkVariable<float>(100f);
|
||||
private NetworkVariable<float> currentMana = new NetworkVariable<float>(50f);
|
||||
private NetworkVariable<bool> isDead = new NetworkVariable<bool>(false);
|
||||
|
||||
public float Health => currentHealth.Value;
|
||||
public float Mana => currentMana.Value;
|
||||
@@ -29,9 +30,13 @@ namespace Colosseum.Player
|
||||
public event Action<float, float> OnHealthChanged; // (oldValue, newValue)
|
||||
public event Action<float, float> OnManaChanged; // (oldValue, newValue)
|
||||
|
||||
// 사망 이벤트
|
||||
public event Action<PlayerNetworkController> OnDeath;
|
||||
public event Action<bool> OnDeathStateChanged; // (isDead)
|
||||
|
||||
// IDamageable 구현
|
||||
public float CurrentHealth => currentHealth.Value;
|
||||
public bool IsDead => currentHealth.Value <= 0f;
|
||||
public bool IsDead => isDead.Value;
|
||||
|
||||
public override void OnNetworkSpawn()
|
||||
{
|
||||
@@ -44,12 +49,14 @@ namespace Colosseum.Player
|
||||
// 네트워크 변수 변경 콜백 등록
|
||||
currentHealth.OnValueChanged += HandleHealthChanged;
|
||||
currentMana.OnValueChanged += HandleManaChanged;
|
||||
isDead.OnValueChanged += HandleDeathStateChanged;
|
||||
|
||||
// 초기화
|
||||
if (IsServer)
|
||||
{
|
||||
currentHealth.Value = MaxHealth;
|
||||
currentMana.Value = MaxMana;
|
||||
isDead.Value = false;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -58,6 +65,7 @@ namespace Colosseum.Player
|
||||
// 콜백 해제
|
||||
currentHealth.OnValueChanged -= HandleHealthChanged;
|
||||
currentMana.OnValueChanged -= HandleManaChanged;
|
||||
isDead.OnValueChanged -= HandleDeathStateChanged;
|
||||
}
|
||||
|
||||
private void HandleHealthChanged(float oldValue, float newValue)
|
||||
@@ -70,12 +78,19 @@ namespace Colosseum.Player
|
||||
OnManaChanged?.Invoke(oldValue, newValue);
|
||||
}
|
||||
|
||||
private void HandleDeathStateChanged(bool oldValue, bool newValue)
|
||||
{
|
||||
OnDeathStateChanged?.Invoke(newValue);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 대미지 적용 (서버에서만 실행)
|
||||
/// </summary>
|
||||
[Rpc(SendTo.Server)]
|
||||
public void TakeDamageRpc(float damage)
|
||||
{
|
||||
if (isDead.Value) return;
|
||||
|
||||
currentHealth.Value = Mathf.Max(0f, currentHealth.Value - damage);
|
||||
|
||||
if (currentHealth.Value <= 0f)
|
||||
@@ -111,10 +126,84 @@ namespace Colosseum.Player
|
||||
currentMana.Value = Mathf.Min(MaxMana, currentMana.Value + amount);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 사망 애니메이션 재생 (모든 클라이언트에서 실행)
|
||||
/// </summary>
|
||||
[Rpc(SendTo.Everyone)]
|
||||
private void PlayDeathAnimationRpc()
|
||||
{
|
||||
var animator = GetComponentInChildren<Animator>();
|
||||
if (animator != null)
|
||||
{
|
||||
animator.SetTrigger("Die");
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 사망 처리 (서버에서만 실행)
|
||||
/// </summary>
|
||||
private void HandleDeath()
|
||||
{
|
||||
// TODO: 사망 처리 로직
|
||||
Debug.Log($"Player {OwnerClientId} died!");
|
||||
if (isDead.Value) return;
|
||||
|
||||
isDead.Value = true;
|
||||
|
||||
// 이동 비활성화
|
||||
var movement = GetComponent<PlayerMovement>();
|
||||
if (movement != null)
|
||||
{
|
||||
movement.enabled = false;
|
||||
}
|
||||
|
||||
// 스킬 입력 비활성화
|
||||
var skillInput = GetComponent<PlayerSkillInput>();
|
||||
if (skillInput != null)
|
||||
{
|
||||
skillInput.enabled = false;
|
||||
}
|
||||
|
||||
// 모든 클라이언트에서 사망 애니메이션 재생
|
||||
PlayDeathAnimationRpc();
|
||||
|
||||
// 사망 이벤트 발생
|
||||
OnDeath?.Invoke(this);
|
||||
|
||||
Debug.Log($"[Player] Player {OwnerClientId} died!");
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 리스폰 (서버에서만 실행)
|
||||
/// </summary>
|
||||
public void Respawn()
|
||||
{
|
||||
if (!IsServer) return;
|
||||
|
||||
isDead.Value = false;
|
||||
currentHealth.Value = MaxHealth;
|
||||
currentMana.Value = MaxMana;
|
||||
|
||||
// 이동 재활성화
|
||||
var movement = GetComponent<PlayerMovement>();
|
||||
if (movement != null)
|
||||
{
|
||||
movement.enabled = true;
|
||||
}
|
||||
|
||||
// 스킬 입력 재활성화
|
||||
var skillInput = GetComponent<PlayerSkillInput>();
|
||||
if (skillInput != null)
|
||||
{
|
||||
skillInput.enabled = true;
|
||||
}
|
||||
|
||||
// 애니메이션 리셋
|
||||
var animator = GetComponentInChildren<Animator>();
|
||||
if (animator != null)
|
||||
{
|
||||
animator.Rebind();
|
||||
}
|
||||
|
||||
Debug.Log($"[Player] Player {OwnerClientId} respawned!");
|
||||
}
|
||||
|
||||
#region IDamageable
|
||||
@@ -123,7 +212,7 @@ namespace Colosseum.Player
|
||||
/// </summary>
|
||||
public float TakeDamage(float damage, object source = null)
|
||||
{
|
||||
if (!IsServer) return 0f;
|
||||
if (!IsServer || isDead.Value) return 0f;
|
||||
|
||||
float actualDamage = Mathf.Min(damage, currentHealth.Value);
|
||||
currentHealth.Value = Mathf.Max(0f, currentHealth.Value - damage);
|
||||
@@ -141,7 +230,7 @@ namespace Colosseum.Player
|
||||
/// </summary>
|
||||
public float Heal(float amount)
|
||||
{
|
||||
if (!IsServer) return 0f;
|
||||
if (!IsServer || isDead.Value) return 0f;
|
||||
|
||||
float actualHeal = Mathf.Min(amount, MaxHealth - currentHealth.Value);
|
||||
currentHealth.Value = Mathf.Min(MaxHealth, currentHealth.Value + amount);
|
||||
|
||||
@@ -107,6 +107,10 @@ namespace Colosseum.Player
|
||||
return;
|
||||
}
|
||||
|
||||
// 사망 상태 체크
|
||||
if (networkController != null && networkController.IsDead)
|
||||
return;
|
||||
|
||||
// 로컬 체크 (빠른 피드백용)
|
||||
if (skillController.IsExecutingSkill)
|
||||
{
|
||||
@@ -145,6 +149,10 @@ namespace Colosseum.Player
|
||||
if (skill == null) return;
|
||||
|
||||
// 서버에서 다시 검증
|
||||
// 사망 상태 체크
|
||||
if (networkController != null && networkController.IsDead)
|
||||
return;
|
||||
|
||||
if (skillController.IsExecutingSkill || skillController.IsOnCooldown(skill))
|
||||
return;
|
||||
|
||||
|
||||
195
Assets/Scripts/Player/PlayerSpectator.cs
Normal file
195
Assets/Scripts/Player/PlayerSpectator.cs
Normal file
@@ -0,0 +1,195 @@
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using Colosseum.Player;
|
||||
|
||||
namespace Colosseum.Player
|
||||
{
|
||||
/// <summary>
|
||||
/// 플레이어 관전 시스템.
|
||||
/// 사망한 플레이어가 살아있는 플레이어를 관찰할 수 있게 합니다.
|
||||
/// </summary>
|
||||
public class PlayerSpectator : MonoBehaviour
|
||||
{
|
||||
[Header("References")]
|
||||
[Tooltip("PlayerCamera 컴포넌트")]
|
||||
[SerializeField] private PlayerCamera playerCamera;
|
||||
|
||||
[Tooltip("PlayerNetworkController 컴포넌트")]
|
||||
[SerializeField] private PlayerNetworkController networkController;
|
||||
|
||||
[Header("Spectate Settings")]
|
||||
[Tooltip("관전 대상 전환 키")]
|
||||
[SerializeField] private KeyCode nextTargetKey = KeyCode.Tab;
|
||||
|
||||
[Tooltip("관전 UI 표시 여부")]
|
||||
[SerializeField] private bool showSpectateUI = true;
|
||||
|
||||
// 관전 상태
|
||||
private bool isSpectating = false;
|
||||
private int currentSpectateIndex = 0;
|
||||
private List<PlayerNetworkController> alivePlayers = new List<PlayerNetworkController>();
|
||||
|
||||
// 이벤트
|
||||
public event System.Action<bool> OnSpectateModeChanged; // (isSpectating)
|
||||
public event System.Action<PlayerNetworkController> OnSpectateTargetChanged;
|
||||
|
||||
// Properties
|
||||
public bool IsSpectating => isSpectating;
|
||||
public PlayerNetworkController CurrentTarget => alivePlayers.Count > currentSpectateIndex ? alivePlayers[currentSpectateIndex] : null;
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
// 컴포넌트 자동 참조
|
||||
if (playerCamera == null)
|
||||
playerCamera = GetComponent<PlayerCamera>();
|
||||
if (networkController == null)
|
||||
networkController = GetComponentInParent<PlayerNetworkController>();
|
||||
}
|
||||
|
||||
private void Start()
|
||||
{
|
||||
if (networkController != null)
|
||||
{
|
||||
networkController.OnDeathStateChanged += HandleDeathStateChanged;
|
||||
}
|
||||
}
|
||||
|
||||
private void OnDestroy()
|
||||
{
|
||||
if (networkController != null)
|
||||
{
|
||||
networkController.OnDeathStateChanged -= HandleDeathStateChanged;
|
||||
}
|
||||
}
|
||||
|
||||
private void Update()
|
||||
{
|
||||
if (!isSpectating) return;
|
||||
|
||||
// Tab 키로 다음 관전 대상 전환
|
||||
if (Input.GetKeyDown(nextTargetKey))
|
||||
{
|
||||
CycleToNextTarget();
|
||||
}
|
||||
}
|
||||
|
||||
private void HandleDeathStateChanged(bool dead)
|
||||
{
|
||||
if (dead)
|
||||
{
|
||||
StartSpectating();
|
||||
}
|
||||
else
|
||||
{
|
||||
StopSpectating();
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 관전 모드 시작
|
||||
/// </summary>
|
||||
private void StartSpectating()
|
||||
{
|
||||
// 살아있는 플레이어 목록 갱신
|
||||
RefreshAlivePlayers();
|
||||
|
||||
if (alivePlayers.Count == 0)
|
||||
{
|
||||
// 관전할 플레이어가 없음 (게임 오버)
|
||||
Debug.Log("[PlayerSpectator] No alive players to spectate");
|
||||
return;
|
||||
}
|
||||
|
||||
isSpectating = true;
|
||||
currentSpectateIndex = 0;
|
||||
|
||||
// 첫 번째 살아있는 플레이어 관전
|
||||
SetSpectateTarget(alivePlayers[currentSpectateIndex]);
|
||||
|
||||
OnSpectateModeChanged?.Invoke(true);
|
||||
|
||||
Debug.Log($"[PlayerSpectator] Started spectating. {alivePlayers.Count} players alive.");
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 관전 모드 종료
|
||||
/// </summary>
|
||||
private void StopSpectating()
|
||||
{
|
||||
isSpectating = false;
|
||||
alivePlayers.Clear();
|
||||
currentSpectateIndex = 0;
|
||||
|
||||
// 원래 플레이어로 카메라 복귀
|
||||
if (playerCamera != null && networkController != null)
|
||||
{
|
||||
playerCamera.ResetToPlayer(networkController.transform);
|
||||
}
|
||||
|
||||
OnSpectateModeChanged?.Invoke(false);
|
||||
|
||||
Debug.Log("[PlayerSpectator] Stopped spectating");
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 살아있는 플레이어 목록 갱신
|
||||
/// </summary>
|
||||
private void RefreshAlivePlayers()
|
||||
{
|
||||
alivePlayers.Clear();
|
||||
|
||||
var allPlayers = FindObjectsByType<PlayerNetworkController>(FindObjectsSortMode.None);
|
||||
foreach (var player in allPlayers)
|
||||
{
|
||||
// 자신이 아니고, 살아있는 플레이어만 추가
|
||||
if (player != networkController && !player.IsDead)
|
||||
{
|
||||
alivePlayers.Add(player);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 다음 관전 대상으로 전환
|
||||
/// </summary>
|
||||
private void CycleToNextTarget()
|
||||
{
|
||||
if (alivePlayers.Count == 0) return;
|
||||
|
||||
// 목록 갱신 (중간에 사망했을 수 있음)
|
||||
RefreshAlivePlayers();
|
||||
|
||||
if (alivePlayers.Count == 0)
|
||||
{
|
||||
Debug.Log("[PlayerSpectator] No more alive players");
|
||||
return;
|
||||
}
|
||||
|
||||
currentSpectateIndex = (currentSpectateIndex + 1) % alivePlayers.Count;
|
||||
SetSpectateTarget(alivePlayers[currentSpectateIndex]);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 관전 대상 설정
|
||||
/// </summary>
|
||||
private void SetSpectateTarget(PlayerNetworkController target)
|
||||
{
|
||||
if (target == null || playerCamera == null) return;
|
||||
|
||||
playerCamera.SetTarget(target.transform);
|
||||
OnSpectateTargetChanged?.Invoke(target);
|
||||
|
||||
Debug.Log($"[PlayerSpectator] Now spectating: Player {target.OwnerClientId}");
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 현재 관전 대상 이름 반환 (UI용)
|
||||
/// </summary>
|
||||
public string GetCurrentTargetName()
|
||||
{
|
||||
var target = CurrentTarget;
|
||||
if (target == null) return "None";
|
||||
return $"Player {target.OwnerClientId}";
|
||||
}
|
||||
}
|
||||
}
|
||||
2
Assets/Scripts/Player/PlayerSpectator.cs.meta
Normal file
2
Assets/Scripts/Player/PlayerSpectator.cs.meta
Normal file
@@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ace7240dc9e5c834892fc1a0e4ea657e
|
||||
@@ -104,6 +104,14 @@ namespace Colosseum.Skills
|
||||
return false;
|
||||
}
|
||||
|
||||
// 사망 상태면 스킬 사용 불가
|
||||
var damageable = GetComponent<Colosseum.Combat.IDamageable>();
|
||||
if (damageable != null && damageable.IsDead)
|
||||
{
|
||||
if (debugMode) Debug.Log($"[Skill] Cannot execute skill - owner is dead");
|
||||
return false;
|
||||
}
|
||||
|
||||
if (IsExecutingSkill)
|
||||
{
|
||||
if (debugMode) Debug.Log($"Already executing skill: {currentSkill.SkillName}");
|
||||
@@ -204,6 +212,14 @@ namespace Colosseum.Skills
|
||||
return;
|
||||
}
|
||||
|
||||
// 사망 상태면 효과 발동 중단
|
||||
var damageable = GetComponent<Colosseum.Combat.IDamageable>();
|
||||
if (damageable != null && damageable.IsDead)
|
||||
{
|
||||
if (debugMode) Debug.Log($"[Effect] Cancelled - owner is dead");
|
||||
return;
|
||||
}
|
||||
|
||||
var effects = currentSkill.Effects;
|
||||
if (index < 0 || index >= effects.Count)
|
||||
{
|
||||
|
||||
59
Assets/Scripts/UI/GameOverUI.cs
Normal file
59
Assets/Scripts/UI/GameOverUI.cs
Normal file
@@ -0,0 +1,59 @@
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
using TMPro;
|
||||
|
||||
namespace Colosseum.UI
|
||||
{
|
||||
/// <summary>
|
||||
/// 게임 오버 UI 컨트롤러.
|
||||
/// GameManager에 의해 활성화/비활성화됩니다.
|
||||
/// </summary>
|
||||
public class GameOverUI : MonoBehaviour
|
||||
{
|
||||
[Header("UI References")]
|
||||
[Tooltip("게임 오버 텍스트")]
|
||||
[SerializeField] private TMP_Text gameOverText;
|
||||
|
||||
[Tooltip("재시작 카운트다운 텍스트")]
|
||||
[SerializeField] private TMP_Text countdownText;
|
||||
|
||||
[Tooltip("게임 오버 애니메이터")]
|
||||
[SerializeField] private Animator animator;
|
||||
|
||||
[Header("Settings")]
|
||||
[Tooltip("게임 오버 텍스트")]
|
||||
[SerializeField] private string gameOverMessage = "GAME OVER";
|
||||
|
||||
[Tooltip("텍스트 색상")]
|
||||
[SerializeField] private Color textColor = Color.red;
|
||||
|
||||
private void Start()
|
||||
{
|
||||
if (gameOverText != null)
|
||||
{
|
||||
gameOverText.text = gameOverMessage;
|
||||
gameOverText.color = textColor;
|
||||
}
|
||||
}
|
||||
|
||||
private void OnEnable()
|
||||
{
|
||||
// 애니메이션 재생
|
||||
if (animator != null)
|
||||
{
|
||||
animator.SetTrigger("Show");
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 카운트다운 텍스트 업데이트
|
||||
/// </summary>
|
||||
public void UpdateCountdown(int seconds)
|
||||
{
|
||||
if (countdownText != null)
|
||||
{
|
||||
countdownText.text = $"Restarting in {seconds}...";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
2
Assets/Scripts/UI/GameOverUI.cs.meta
Normal file
2
Assets/Scripts/UI/GameOverUI.cs.meta
Normal file
@@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f87daf25f7fc5c4499b66d327b6c4cf2
|
||||
55
Assets/Scripts/UI/VictoryUI.cs
Normal file
55
Assets/Scripts/UI/VictoryUI.cs
Normal file
@@ -0,0 +1,55 @@
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
using TMPro;
|
||||
using Colosseum.Enemy;
|
||||
|
||||
namespace Colosseum.UI
|
||||
{
|
||||
/// <summary>
|
||||
/// 승리 UI 컨트롤러.
|
||||
/// GameManager에 의해 활성화/비활성화됩니다.
|
||||
/// </summary>
|
||||
public class VictoryUI : MonoBehaviour
|
||||
{
|
||||
[Header("UI References")]
|
||||
[Tooltip("승리 텍스트")]
|
||||
[SerializeField] private TMP_Text victoryText;
|
||||
|
||||
[Tooltip("보스 이름 텍스트")]
|
||||
[SerializeField] private TMP_Text bossNameText;
|
||||
|
||||
[Tooltip("승리 애니메이터")]
|
||||
[SerializeField] private Animator animator;
|
||||
|
||||
[Header("Settings")]
|
||||
[Tooltip("승리 텍스트")]
|
||||
[SerializeField] private string victoryMessage = "VICTORY!";
|
||||
|
||||
[Tooltip("텍스트 색상")]
|
||||
[SerializeField] private Color textColor = Color.yellow;
|
||||
|
||||
private void Start()
|
||||
{
|
||||
if (victoryText != null)
|
||||
{
|
||||
victoryText.text = victoryMessage;
|
||||
victoryText.color = textColor;
|
||||
}
|
||||
}
|
||||
|
||||
private void OnEnable()
|
||||
{
|
||||
// 보스 이름 표시
|
||||
if (bossNameText != null && BossEnemy.ActiveBoss != null)
|
||||
{
|
||||
bossNameText.text = $"{BossEnemy.ActiveBoss.name} Defeated!";
|
||||
}
|
||||
|
||||
// 애니메이션 재생
|
||||
if (animator != null)
|
||||
{
|
||||
animator.SetTrigger("Show");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
2
Assets/Scripts/UI/VictoryUI.cs.meta
Normal file
2
Assets/Scripts/UI/VictoryUI.cs.meta
Normal file
@@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 514ff17abf102744faf81dbad1251d86
|
||||
8
Assets/UI.meta
Normal file
8
Assets/UI.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 234c17013f7c78c4eb212589df6b536b
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
407
Assets/UI/GameOverUI.prefab
Normal file
407
Assets/UI/GameOverUI.prefab
Normal file
@@ -0,0 +1,407 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &162577879235020810
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 6109749063779144982}
|
||||
- component: {fileID: 1992416582183126197}
|
||||
- component: {fileID: 4959534019430341632}
|
||||
m_Layer: 5
|
||||
m_Name: Panel
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &6109749063779144982
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 162577879235020810}
|
||||
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: 4163202138303394689}
|
||||
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 &1992416582183126197
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 162577879235020810}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &4959534019430341632
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 162577879235020810}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 0.392}
|
||||
m_RaycastTarget: 1
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0}
|
||||
m_Type: 1
|
||||
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!1 &1728479283364781770
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 4148806134096376600}
|
||||
- component: {fileID: 7574421299062878701}
|
||||
- component: {fileID: 8706607564708062978}
|
||||
m_Layer: 5
|
||||
m_Name: Countdown Text
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &4148806134096376600
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1728479283364781770}
|
||||
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: 4163202138303394689}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
m_AnchoredPosition: {x: 0, y: -40}
|
||||
m_SizeDelta: {x: 200, y: 50}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &7574421299062878701
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1728479283364781770}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &8706607564708062978
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1728479283364781770}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TextMeshProUGUI
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_RaycastTarget: 1
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_text: 10
|
||||
m_isRightToLeft: 0
|
||||
m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
|
||||
m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
|
||||
m_fontSharedMaterials: []
|
||||
m_fontMaterial: {fileID: 0}
|
||||
m_fontMaterials: []
|
||||
m_fontColor32:
|
||||
serializedVersion: 2
|
||||
rgba: 4294967295
|
||||
m_fontColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_enableVertexGradient: 0
|
||||
m_colorMode: 3
|
||||
m_fontColorGradient:
|
||||
topLeft: {r: 1, g: 1, b: 1, a: 1}
|
||||
topRight: {r: 1, g: 1, b: 1, a: 1}
|
||||
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
|
||||
bottomRight: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_fontColorGradientPreset: {fileID: 0}
|
||||
m_spriteAsset: {fileID: 0}
|
||||
m_tintAllSprites: 0
|
||||
m_StyleSheet: {fileID: 0}
|
||||
m_TextStyleHashCode: -1183493901
|
||||
m_overrideHtmlColors: 0
|
||||
m_faceColor:
|
||||
serializedVersion: 2
|
||||
rgba: 4294967295
|
||||
m_fontSize: 36
|
||||
m_fontSizeBase: 36
|
||||
m_fontWeight: 400
|
||||
m_enableAutoSizing: 0
|
||||
m_fontSizeMin: 18
|
||||
m_fontSizeMax: 72
|
||||
m_fontStyle: 0
|
||||
m_HorizontalAlignment: 2
|
||||
m_VerticalAlignment: 256
|
||||
m_textAlignment: 65535
|
||||
m_characterSpacing: 0
|
||||
m_characterHorizontalScale: 1
|
||||
m_wordSpacing: 0
|
||||
m_lineSpacing: 0
|
||||
m_lineSpacingMax: 0
|
||||
m_paragraphSpacing: 0
|
||||
m_charWidthMaxAdj: 0
|
||||
m_TextWrappingMode: 1
|
||||
m_wordWrappingRatios: 0.4
|
||||
m_overflowMode: 0
|
||||
m_linkedTextComponent: {fileID: 0}
|
||||
parentLinkedComponent: {fileID: 0}
|
||||
m_enableKerning: 0
|
||||
m_ActiveFontFeatures: 6e72656b
|
||||
m_enableExtraPadding: 0
|
||||
checkPaddingRequired: 0
|
||||
m_isRichText: 1
|
||||
m_EmojiFallbackSupport: 1
|
||||
m_parseCtrlCharacters: 1
|
||||
m_isOrthographic: 1
|
||||
m_isCullingEnabled: 0
|
||||
m_horizontalMapping: 0
|
||||
m_verticalMapping: 0
|
||||
m_uvLineOffset: 0
|
||||
m_geometrySortingOrder: 0
|
||||
m_IsTextObjectScaleStatic: 0
|
||||
m_VertexBufferAutoSizeReduction: 0
|
||||
m_useMaxVisibleDescender: 1
|
||||
m_pageToDisplay: 1
|
||||
m_margin: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_isUsingLegacyAnimationComponent: 0
|
||||
m_isVolumetricText: 0
|
||||
m_hasFontAssetChanged: 0
|
||||
m_baseMaterial: {fileID: 0}
|
||||
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
|
||||
--- !u!1 &1938792592198155266
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 4163202138303394689}
|
||||
- component: {fileID: 2357082315040616664}
|
||||
m_Layer: 5
|
||||
m_Name: GameOverUI
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &4163202138303394689
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1938792592198155266}
|
||||
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: 6109749063779144982}
|
||||
- {fileID: 4076138169726692703}
|
||||
- {fileID: 4148806134096376600}
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 1000, y: 400}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!114 &2357082315040616664
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1938792592198155266}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: f87daf25f7fc5c4499b66d327b6c4cf2, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Colosseum.Game::Colosseum.UI.GameOverUI
|
||||
gameOverText: {fileID: 2190484291226054109}
|
||||
countdownText: {fileID: 8706607564708062978}
|
||||
animator: {fileID: 0}
|
||||
gameOverMessage: GAME OVER
|
||||
textColor: {r: 1, g: 0, b: 0, a: 1}
|
||||
--- !u!1 &6913274211359747875
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 4076138169726692703}
|
||||
- component: {fileID: 8449413046750003098}
|
||||
- component: {fileID: 2190484291226054109}
|
||||
m_Layer: 5
|
||||
m_Name: GameOver Text
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &4076138169726692703
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6913274211359747875}
|
||||
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: 4163202138303394689}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 200, y: 50}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &8449413046750003098
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6913274211359747875}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &2190484291226054109
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6913274211359747875}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TextMeshProUGUI
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_RaycastTarget: 1
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_text: Game Over
|
||||
m_isRightToLeft: 0
|
||||
m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
|
||||
m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
|
||||
m_fontSharedMaterials: []
|
||||
m_fontMaterial: {fileID: 0}
|
||||
m_fontMaterials: []
|
||||
m_fontColor32:
|
||||
serializedVersion: 2
|
||||
rgba: 4294967295
|
||||
m_fontColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_enableVertexGradient: 0
|
||||
m_colorMode: 3
|
||||
m_fontColorGradient:
|
||||
topLeft: {r: 1, g: 1, b: 1, a: 1}
|
||||
topRight: {r: 1, g: 1, b: 1, a: 1}
|
||||
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
|
||||
bottomRight: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_fontColorGradientPreset: {fileID: 0}
|
||||
m_spriteAsset: {fileID: 0}
|
||||
m_tintAllSprites: 0
|
||||
m_StyleSheet: {fileID: 0}
|
||||
m_TextStyleHashCode: -1183493901
|
||||
m_overrideHtmlColors: 0
|
||||
m_faceColor:
|
||||
serializedVersion: 2
|
||||
rgba: 4294967295
|
||||
m_fontSize: 36
|
||||
m_fontSizeBase: 36
|
||||
m_fontWeight: 400
|
||||
m_enableAutoSizing: 0
|
||||
m_fontSizeMin: 18
|
||||
m_fontSizeMax: 72
|
||||
m_fontStyle: 0
|
||||
m_HorizontalAlignment: 1
|
||||
m_VerticalAlignment: 256
|
||||
m_textAlignment: 65535
|
||||
m_characterSpacing: 0
|
||||
m_characterHorizontalScale: 1
|
||||
m_wordSpacing: 0
|
||||
m_lineSpacing: 0
|
||||
m_lineSpacingMax: 0
|
||||
m_paragraphSpacing: 0
|
||||
m_charWidthMaxAdj: 0
|
||||
m_TextWrappingMode: 1
|
||||
m_wordWrappingRatios: 0.4
|
||||
m_overflowMode: 0
|
||||
m_linkedTextComponent: {fileID: 0}
|
||||
parentLinkedComponent: {fileID: 0}
|
||||
m_enableKerning: 0
|
||||
m_ActiveFontFeatures: 6e72656b
|
||||
m_enableExtraPadding: 0
|
||||
checkPaddingRequired: 0
|
||||
m_isRichText: 1
|
||||
m_EmojiFallbackSupport: 1
|
||||
m_parseCtrlCharacters: 1
|
||||
m_isOrthographic: 1
|
||||
m_isCullingEnabled: 0
|
||||
m_horizontalMapping: 0
|
||||
m_verticalMapping: 0
|
||||
m_uvLineOffset: 0
|
||||
m_geometrySortingOrder: 0
|
||||
m_IsTextObjectScaleStatic: 0
|
||||
m_VertexBufferAutoSizeReduction: 0
|
||||
m_useMaxVisibleDescender: 1
|
||||
m_pageToDisplay: 1
|
||||
m_margin: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_isUsingLegacyAnimationComponent: 0
|
||||
m_isVolumetricText: 0
|
||||
m_hasFontAssetChanged: 0
|
||||
m_baseMaterial: {fileID: 0}
|
||||
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
|
||||
7
Assets/UI/GameOverUI.prefab.meta
Normal file
7
Assets/UI/GameOverUI.prefab.meta
Normal file
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e065144df1b7fcc479fd319fb571e171
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
8
Assets/Weapons.meta
Normal file
8
Assets/Weapons.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 04fddcb54eaa74d4399d38660dbed012
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
31
Assets/Weapons/NewWeapon.asset
Normal file
31
Assets/Weapons/NewWeapon.asset
Normal file
@@ -0,0 +1,31 @@
|
||||
%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: 52134ecd4c816f64888d34b2163e7af1, type: 3}
|
||||
m_Name: NewWeapon
|
||||
m_EditorClassIdentifier: Colosseum.Game::Colosseum.Weapons.WeaponData
|
||||
weaponName: "\uAC80"
|
||||
description:
|
||||
icon: {fileID: 21300000, guid: 70e07ab1b9f326b4bae30fe839d609ea, type: 3}
|
||||
weaponSlot: 0
|
||||
weaponPrefab: {fileID: 1631607032641582, guid: 92cfe4029ea2b754caa0b3f00d52d41a, type: 3}
|
||||
positionOffset: {x: 0, y: 0, z: 0}
|
||||
rotationOffset: {x: 0, y: 0, z: 0}
|
||||
scale: {x: 1, y: 1, z: 1}
|
||||
strengthBonus: 0
|
||||
dexterityBonus: 0
|
||||
intelligenceBonus: 0
|
||||
vitalityBonus: 0
|
||||
wisdomBonus: 0
|
||||
spiritBonus: 0
|
||||
damageMultiplier: 1
|
||||
rangeMultiplier: 1
|
||||
manaCostMultiplier: 1
|
||||
8
Assets/Weapons/NewWeapon.asset.meta
Normal file
8
Assets/Weapons/NewWeapon.asset.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 646964ccbda84e947b97537d7f7813aa
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
81
Assets/Weapons/SM_Wep_Sword_01.prefab
Normal file
81
Assets/Weapons/SM_Wep_Sword_01.prefab
Normal file
@@ -0,0 +1,81 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &1631607032641582
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 4561571508225656}
|
||||
- component: {fileID: 33122181552623900}
|
||||
- component: {fileID: 23019494539852092}
|
||||
m_Layer: 0
|
||||
m_Name: SM_Wep_Sword_01
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &4561571508225656
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1631607032641582}
|
||||
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_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!33 &33122181552623900
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1631607032641582}
|
||||
m_Mesh: {fileID: 4300000, guid: a29e10a78af23e243949a44795e2787f, type: 3}
|
||||
--- !u!23 &23019494539852092
|
||||
MeshRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1631607032641582}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 1
|
||||
m_ReceiveShadows: 1
|
||||
m_DynamicOccludee: 1
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_RayTracingMode: 2
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 2100000, guid: ea128b040f8b0af4c9d2de400aaff30a, type: 2}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
m_StaticBatchRoot: {fileID: 0}
|
||||
m_ProbeAnchor: {fileID: 0}
|
||||
m_LightProbeVolumeOverride: {fileID: 0}
|
||||
m_ScaleInLightmap: 1
|
||||
m_ReceiveGI: 1
|
||||
m_PreserveUVs: 0
|
||||
m_IgnoreNormalsForChartDetection: 0
|
||||
m_ImportantGI: 0
|
||||
m_StitchLightmapSeams: 1
|
||||
m_SelectedEditorRenderState: 3
|
||||
m_MinimumChartSize: 4
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
9
Assets/Weapons/SM_Wep_Sword_01.prefab.meta
Normal file
9
Assets/Weapons/SM_Wep_Sword_01.prefab.meta
Normal file
@@ -0,0 +1,9 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 92cfe4029ea2b754caa0b3f00d52d41a
|
||||
timeCreated: 1554786157
|
||||
licenseType: Store
|
||||
NativeFormatImporter:
|
||||
mainObjectFileID: 100100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -1,5 +1,9 @@
|
||||
<Solution>
|
||||
<Project Path="Assembly-CSharp.csproj" />
|
||||
<Project Path="Colosseum.Game.csproj" />
|
||||
<Project Path="SidekickCharacters.csproj" />
|
||||
<Project Path="Gilzoide.SqliteNet.csproj" />
|
||||
<Project Path="Assembly-CSharp-Editor.csproj" />
|
||||
<Project Path="SidekickCharacters.Editor.csproj" />
|
||||
<Project Path="Gilzoide.SqliteNet.Tests.Editor.csproj" />
|
||||
</Solution>
|
||||
|
||||
Reference in New Issue
Block a user