Merge branch 'develop' of http://gitea.capers.co.kr:3000/iwnc2020/ProjectDDD into feature/Interaction_type_message
This commit is contained in:
commit
896b82b6f1
BIN
Assets/Editor/SpineSettings.asset
(Stored with Git LFS)
BIN
Assets/Editor/SpineSettings.asset
(Stored with Git LFS)
Binary file not shown.
@ -98,6 +98,9 @@ GameObject:
|
||||
- component: {fileID: 3697702677815423220}
|
||||
- component: {fileID: 3591347921553422000}
|
||||
- component: {fileID: 4456475204957017828}
|
||||
- component: {fileID: 2950132940454135295}
|
||||
- component: {fileID: 29040892075516248}
|
||||
- component: {fileID: 1332098886975329103}
|
||||
m_Layer: 7
|
||||
m_Name: RestaurantOrder
|
||||
m_TagString: Untagged
|
||||
@ -154,4 +157,265 @@ MonoBehaviour:
|
||||
m_Script: {fileID: 11500000, guid: c0b1e0992510498b8d33d5b6094b8f4b, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
orderType: 0
|
||||
_currentRestaurantOrderType: 0
|
||||
--- !u!135 &2950132940454135295
|
||||
SphereCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4103096974375017811}
|
||||
m_Material: {fileID: 0}
|
||||
m_IncludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_ExcludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_LayerOverridePriority: 0
|
||||
m_IsTrigger: 1
|
||||
m_ProvidesContacts: 0
|
||||
m_Enabled: 1
|
||||
serializedVersion: 3
|
||||
m_Radius: 0.2
|
||||
m_Center: {x: -0.4, y: 0, z: 0}
|
||||
--- !u!114 &29040892075516248
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4103096974375017811}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 888380afc233049ce9e618f9f36c8ba8, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
profile: {fileID: 0}
|
||||
profileSync: 0
|
||||
camerasLayerMask:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967295
|
||||
effectGroup: 0
|
||||
effectTarget: {fileID: 0}
|
||||
effectGroupLayer:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967295
|
||||
effectNameFilter:
|
||||
effectNameUseRegEx: 0
|
||||
combineMeshes: 0
|
||||
alphaCutOff: 0.5
|
||||
cullBackFaces: 0
|
||||
padding: 0
|
||||
ignoreObjectVisibility: 0
|
||||
reflectionProbes: 0
|
||||
GPUInstancing: 1
|
||||
sortingPriority: 0
|
||||
optimizeSkinnedMesh: 1
|
||||
depthClip: 0
|
||||
cameraDistanceFade: 0
|
||||
cameraDistanceFadeNear: 0
|
||||
cameraDistanceFadeFar: 1000
|
||||
normalsOption: 0
|
||||
ignore: 0
|
||||
_highlighted: 0
|
||||
fadeInDuration: 0
|
||||
fadeOutDuration: 0
|
||||
flipY: 0
|
||||
constantWidth: 1
|
||||
extraCoveragePixels: 0
|
||||
minimumWidth: 0
|
||||
subMeshMask: -1
|
||||
overlay: 0
|
||||
overlayMode: 0
|
||||
overlayColor: {r: 1, g: 0.92156863, b: 0.015686275, a: 1}
|
||||
overlayAnimationSpeed: 1
|
||||
overlayMinIntensity: 0.5
|
||||
overlayBlending: 1
|
||||
overlayTexture: {fileID: 0}
|
||||
overlayTextureUVSpace: 0
|
||||
overlayTextureScale: 1
|
||||
overlayTextureScrolling: {x: 0, y: 0}
|
||||
overlayVisibility: 0
|
||||
outline: 1
|
||||
outlineColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
outlineColorStyle: 0
|
||||
outlineGradient:
|
||||
serializedVersion: 2
|
||||
key0: {r: 1, g: 1, b: 1, a: 1}
|
||||
key1: {r: 1, g: 1, b: 1, a: 1}
|
||||
key2: {r: 0, g: 0, b: 0, a: 0}
|
||||
key3: {r: 0, g: 0, b: 0, a: 0}
|
||||
key4: {r: 0, g: 0, b: 0, a: 0}
|
||||
key5: {r: 0, g: 0, b: 0, a: 0}
|
||||
key6: {r: 0, g: 0, b: 0, a: 0}
|
||||
key7: {r: 0, g: 0, b: 0, a: 0}
|
||||
ctime0: 0
|
||||
ctime1: 65535
|
||||
ctime2: 0
|
||||
ctime3: 0
|
||||
ctime4: 0
|
||||
ctime5: 0
|
||||
ctime6: 0
|
||||
ctime7: 0
|
||||
atime0: 0
|
||||
atime1: 65535
|
||||
atime2: 0
|
||||
atime3: 0
|
||||
atime4: 0
|
||||
atime5: 0
|
||||
atime6: 0
|
||||
atime7: 0
|
||||
m_Mode: 0
|
||||
m_ColorSpace: -1
|
||||
m_NumColorKeys: 2
|
||||
m_NumAlphaKeys: 2
|
||||
outlineGradientInLocalSpace: 0
|
||||
outlineWidth: 0.45
|
||||
outlineBlurPasses: 2
|
||||
outlineQuality: 2
|
||||
outlineEdgeMode: 0
|
||||
outlineEdgeThreshold: 0.995
|
||||
outlineSharpness: 1
|
||||
outlineDownsampling: 1
|
||||
outlineVisibility: 0
|
||||
glowBlendMode: 0
|
||||
outlineBlitDebug: 0
|
||||
outlineIndependent: 0
|
||||
outlineContourStyle: 0
|
||||
outlineMaskMode: 0
|
||||
glow: 0
|
||||
glowWidth: 0.4
|
||||
glowQuality: 2
|
||||
glowBlurMethod: 0
|
||||
glowDownsampling: 2
|
||||
glowHQColor: {r: 0.64, g: 1, b: 0, a: 1}
|
||||
glowDithering: 1
|
||||
glowDitheringStyle: 0
|
||||
glowMagicNumber1: 0.75
|
||||
glowMagicNumber2: 0.5
|
||||
glowAnimationSpeed: 1
|
||||
glowVisibility: 0
|
||||
glowBlitDebug: 0
|
||||
glowBlendPasses: 1
|
||||
glowPasses:
|
||||
- offset: 4
|
||||
alpha: 0.1
|
||||
color: {r: 0.64, g: 1, b: 0, a: 1}
|
||||
- offset: 3
|
||||
alpha: 0.2
|
||||
color: {r: 0.64, g: 1, b: 0, a: 1}
|
||||
- offset: 2
|
||||
alpha: 0.3
|
||||
color: {r: 0.64, g: 1, b: 0, a: 1}
|
||||
- offset: 1
|
||||
alpha: 0.4
|
||||
color: {r: 0.64, g: 1, b: 0, a: 1}
|
||||
glowMaskMode: 0
|
||||
innerGlow: 0
|
||||
innerGlowWidth: 1
|
||||
innerGlowColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
innerGlowBlendMode: 0
|
||||
innerGlowVisibility: 0
|
||||
targetFX: 0
|
||||
targetFXTexture: {fileID: 0}
|
||||
targetFXColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
targetFXCenter: {fileID: 0}
|
||||
targetFXRotationSpeed: 50
|
||||
targetFXInitialScale: 4
|
||||
targetFXEndScale: 1.5
|
||||
targetFXScaleToRenderBounds: 1
|
||||
targetFXUseEnclosingBounds: 0
|
||||
targetFXAlignToGround: 0
|
||||
targetFXOffset: {x: 0, y: 0, z: 0}
|
||||
targetFXFadePower: 32
|
||||
targetFXGroundMaxDistance: 10
|
||||
targetFXGroundLayerMask:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967295
|
||||
targetFXTransitionDuration: 0.5
|
||||
targetFXStayDuration: 1.5
|
||||
targetFXVisibility: 1
|
||||
iconFX: 0
|
||||
iconFXMesh: {fileID: 0}
|
||||
iconFXLightColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
iconFXDarkColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
|
||||
iconFXCenter: {fileID: 0}
|
||||
iconFXRotationSpeed: 50
|
||||
iconFXAnimationOption: 0
|
||||
iconFXAnimationAmount: 0.1
|
||||
iconFXAnimationSpeed: 3
|
||||
iconFXScale: 1
|
||||
iconFXScaleToRenderBounds: 0
|
||||
iconFXOffset: {x: 0, y: 1, z: 0}
|
||||
iconFXTransitionDuration: 0.5
|
||||
iconFXStayDuration: 1.5
|
||||
seeThrough: 2
|
||||
seeThroughOccluderMask:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967295
|
||||
seeThroughOccluderThreshold: 0.3
|
||||
seeThroughOccluderMaskAccurate: 0
|
||||
seeThroughOccluderCheckInterval: 1
|
||||
seeThroughOccluderCheckIndividualObjects: 0
|
||||
seeThroughDepthOffset: 0
|
||||
seeThroughMaxDepth: 0
|
||||
seeThroughIntensity: 0.8
|
||||
seeThroughTintAlpha: 0.5
|
||||
seeThroughTintColor: {r: 1, g: 0, b: 0, a: 1}
|
||||
seeThroughNoise: 1
|
||||
seeThroughBorder: 0
|
||||
seeThroughBorderColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
seeThroughBorderOnly: 0
|
||||
seeThroughBorderWidth: 0.45
|
||||
seeThroughOrdered: 0
|
||||
seeThroughTexture: {fileID: 0}
|
||||
seeThroughTextureUVSpace: 0
|
||||
seeThroughTextureScale: 1
|
||||
seeThroughChildrenSortingMode: 0
|
||||
rmsCount: 1
|
||||
hitFxInitialIntensity: 0
|
||||
hitFxMode: 0
|
||||
hitFxFadeOutDuration: 0.25
|
||||
hitFxColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
hitFxRadius: 0.5
|
||||
--- !u!114 &1332098886975329103
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4103096974375017811}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: f0feb22ab60a4d1885271637838f43b9, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_availableStyle:
|
||||
Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
Width: 1
|
||||
Opacity: 1
|
||||
_focusedStyle:
|
||||
Color: {r: 1, g: 0.92156863, b: 0.015686275, a: 1}
|
||||
Width: 1
|
||||
Opacity: 1
|
||||
_unavailableStyle:
|
||||
Color: {r: 0.5, g: 0.5, b: 0.5, a: 1}
|
||||
Width: 0.5
|
||||
Opacity: 1
|
||||
_objectiveStyle:
|
||||
Color: {r: 0, g: 1, b: 1, a: 1}
|
||||
Width: 1
|
||||
Opacity: 1
|
||||
_breathingSpeed: 2
|
||||
_breathingRange: 0.3
|
||||
_enableBreathingEffect: 1
|
||||
_alphaCutOff: 0.5
|
||||
_combineMeshes: 1
|
||||
_constantWidth: 1
|
||||
_outlineQuality: 2
|
||||
_outlineIndependent: 1
|
||||
_outlineBlurPasses: 1
|
||||
_outlineSharpness: 8
|
||||
_currentOutlineType: 0
|
||||
_currentOpacityMultiplier: 1
|
||||
|
@ -10,15 +10,15 @@ PrefabInstance:
|
||||
m_Modifications:
|
||||
- target: {fileID: 2204914584875671904, guid: 1d634c3376e4a4684bc984ced9134847, type: 3}
|
||||
propertyPath: m_LocalScale.x
|
||||
value: 4
|
||||
value: 2
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2204914584875671904, guid: 1d634c3376e4a4684bc984ced9134847, type: 3}
|
||||
propertyPath: m_LocalScale.y
|
||||
value: 4
|
||||
value: 2
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2204914584875671904, guid: 1d634c3376e4a4684bc984ced9134847, type: 3}
|
||||
propertyPath: m_LocalScale.z
|
||||
value: 4
|
||||
value: 2
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2204914584875671904, guid: 1d634c3376e4a4684bc984ced9134847, type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
|
BIN
Assets/_DDD/Restaurant/Environments/Props/_old/Spines/Coral/Coral_SkeletonData.asset
(Stored with Git LFS)
BIN
Assets/_DDD/Restaurant/Environments/Props/_old/Spines/Coral/Coral_SkeletonData.asset
(Stored with Git LFS)
Binary file not shown.
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c9e29468f02a6c74da61351562ff5cce
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -0,0 +1,69 @@
|
||||
OpenSwitch.png
|
||||
size:1992,1408
|
||||
filter:Linear,Linear
|
||||
Eyelight
|
||||
bounds:650,841,182,115
|
||||
Fire01
|
||||
bounds:834,865,106,79
|
||||
rotate:90
|
||||
Fire02
|
||||
bounds:473,816,175,140
|
||||
Fire03
|
||||
bounds:1642,42,210,201
|
||||
rotate:90
|
||||
Fire04
|
||||
bounds:1761,262,221,240
|
||||
Fire05
|
||||
bounds:1761,504,223,277
|
||||
Fire06
|
||||
bounds:1519,463,240,318
|
||||
Fire07
|
||||
bounds:847,8,284,368
|
||||
Fire08
|
||||
bounds:1727,998,263,408
|
||||
Fire09
|
||||
bounds:430,2,332,415
|
||||
rotate:90
|
||||
Fire10
|
||||
bounds:788,973,317,433
|
||||
Fire11
|
||||
bounds:592,378,303,436
|
||||
Fire12
|
||||
bounds:1417,982,308,424
|
||||
Fire13
|
||||
bounds:897,432,303,431
|
||||
Fire14
|
||||
bounds:2,13,318,426
|
||||
rotate:90
|
||||
Fire15
|
||||
bounds:1133,2,308,428
|
||||
Fire16
|
||||
bounds:1202,456,315,426
|
||||
Fire17
|
||||
bounds:1107,978,308,428
|
||||
Fire18
|
||||
bounds:298,336,292,451
|
||||
Fire19
|
||||
bounds:2,333,294,454
|
||||
Fire20
|
||||
bounds:473,958,313,448
|
||||
ribbon01
|
||||
bounds:915,871,100,57
|
||||
rotate:90
|
||||
ribbon02
|
||||
bounds:1642,254,74,207
|
||||
ribbon03
|
||||
bounds:974,879,92,171
|
||||
rotate:90
|
||||
ribbon04
|
||||
bounds:1147,884,92,171
|
||||
rotate:90
|
||||
switch01
|
||||
bounds:2,789,469,617
|
||||
switch02
|
||||
bounds:1593,783,397,197
|
||||
switch03
|
||||
bounds:1443,57,397,197
|
||||
rotate:90
|
||||
switchknob
|
||||
bounds:1320,886,271,90
|
@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 3003f3e6f2bf08c4a9d7c1478388be6e
|
||||
TextScriptImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
BIN
Assets/_DDD/Restaurant/Environments/Props/_old/Spines/OpenSwitch/OpenSwitch.png
(Stored with Git LFS)
Normal file
BIN
Assets/_DDD/Restaurant/Environments/Props/_old/Spines/OpenSwitch/OpenSwitch.png
(Stored with Git LFS)
Normal file
Binary file not shown.
@ -0,0 +1,143 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 5527cfe7bf173524b9f8da67f9b6c6c0
|
||||
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: 1
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 0
|
||||
wrapV: 0
|
||||
wrapW: 0
|
||||
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: 1
|
||||
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: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 0
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 1
|
||||
- serializedVersion: 4
|
||||
buildTarget: Standalone
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 0
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 1
|
||||
- serializedVersion: 4
|
||||
buildTarget: Android
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 0
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 1
|
||||
- serializedVersion: 4
|
||||
buildTarget: WindowsStoreApps
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 0
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 1
|
||||
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:
|
BIN
Assets/_DDD/Restaurant/Environments/Props/_old/Spines/OpenSwitch/OpenSwitch.skel.bytes
(Stored with Git LFS)
Normal file
BIN
Assets/_DDD/Restaurant/Environments/Props/_old/Spines/OpenSwitch/OpenSwitch.skel.bytes
(Stored with Git LFS)
Normal file
Binary file not shown.
@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: af26bb05b21ba794caf32a11d5a3f062
|
||||
TextScriptImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
BIN
Assets/_DDD/Restaurant/Environments/Props/_old/Spines/OpenSwitch/OpenSwitch_Atlas.asset
(Stored with Git LFS)
Normal file
BIN
Assets/_DDD/Restaurant/Environments/Props/_old/Spines/OpenSwitch/OpenSwitch_Atlas.asset
(Stored with Git LFS)
Normal file
Binary file not shown.
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f0526b46b8123f94aabee69711470684
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -0,0 +1,43 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!21 &2100000
|
||||
Material:
|
||||
serializedVersion: 8
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: OpenSwitch_Material
|
||||
m_Shader: {fileID: 4800000, guid: b2f45941d9f4fe9479ce1aebb9d63fbf, type: 3}
|
||||
m_Parent: {fileID: 0}
|
||||
m_ModifiedSerializedProperties: 0
|
||||
m_ValidKeywords:
|
||||
- _STRAIGHT_ALPHA_INPUT
|
||||
m_InvalidKeywords: []
|
||||
m_LightmapFlags: 4
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: -1
|
||||
stringTagMap: {}
|
||||
disabledShaderPasses: []
|
||||
m_LockedProperties:
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- _MainTex:
|
||||
m_Texture: {fileID: 2800000, guid: 5527cfe7bf173524b9f8da67f9b6c6c0, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Ints: []
|
||||
m_Floats:
|
||||
- _Cutoff: 0.1
|
||||
- _StencilComp: 8
|
||||
- _StencilRef: 1
|
||||
- _StraightAlphaInput: 1
|
||||
- _TintBlack: 0
|
||||
- _ZWrite: 0
|
||||
m_Colors:
|
||||
- _Black: {r: 0, g: 0, b: 0, a: 0}
|
||||
- _Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_BuildTextureStacks: []
|
||||
m_AllowLocking: 1
|
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a287e4cf739397e41a00b772a97fc1f7
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 2100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
BIN
Assets/_DDD/Restaurant/Environments/Props/_old/Spines/OpenSwitch/OpenSwitch_SkeletonData.asset
(Stored with Git LFS)
Normal file
BIN
Assets/_DDD/Restaurant/Environments/Props/_old/Spines/OpenSwitch/OpenSwitch_SkeletonData.asset
(Stored with Git LFS)
Normal file
Binary file not shown.
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d89793e4ce0651c4885db355edd439d1
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
BIN
Assets/_DDD/_Addressables/AI/Customer/Subtree/CustomerDefault.asset
(Stored with Git LFS)
BIN
Assets/_DDD/_Addressables/AI/Customer/Subtree/CustomerDefault.asset
(Stored with Git LFS)
Binary file not shown.
BIN
Assets/_DDD/_Addressables/AI/Customer/Subtree/OrderSubtree.asset
(Stored with Git LFS)
BIN
Assets/_DDD/_Addressables/AI/Customer/Subtree/OrderSubtree.asset
(Stored with Git LFS)
Binary file not shown.
@ -71,7 +71,7 @@ PrefabInstance:
|
||||
- target: {fileID: 8467019391491472137, guid: 1d634c3376e4a4684bc984ced9134847, type: 3}
|
||||
propertyPath: 'm_Materials.Array.data[0]'
|
||||
value:
|
||||
objectReference: {fileID: 2100000, guid: 57b8c50dcc17d23488ae2f49e6ae0195, type: 2}
|
||||
objectReference: {fileID: 2100000, guid: 8735f3d63bc14e74da558970523bd1bd, type: 2}
|
||||
- target: {fileID: 8516969404588314361, guid: 1d634c3376e4a4684bc984ced9134847, type: 3}
|
||||
propertyPath: m_Size.x
|
||||
value: 1
|
||||
@ -383,4 +383,3 @@ MonoBehaviour:
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_managementType: 0
|
||||
_cookwareType: 0
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -41,7 +41,7 @@ public InteractionDisplayParameters(string successMessageKey = "", string failur
|
||||
public interface IInteractable
|
||||
{
|
||||
bool CanInteract();
|
||||
bool IsInteractionHidden();
|
||||
bool IsInteractionHidden(IInteractor interactor = null);
|
||||
void OnInteracted(IInteractor interactor, ScriptableObject causerPayload = null);
|
||||
InteractionType GetInteractionType();
|
||||
GameObject GetInteractableGameObject();
|
||||
|
@ -8,12 +8,6 @@ public class StartRestaurantOrder : Action
|
||||
{
|
||||
[Tooltip("상호작용할 RestaurantOrderType")]
|
||||
[SerializeField] private RestaurantOrderType _targetOrderType = RestaurantOrderType.Wait;
|
||||
[Tooltip("실제 상호작용 가능 여부를 확인하고 수행합니다")]
|
||||
[SerializeField] private bool _requireCanInteract = true;
|
||||
[Tooltip("성공 시 블랙보드에 현재 인터랙션 대상을 등록합니다")]
|
||||
[SerializeField] private bool _registerOnBlackboard = true;
|
||||
[Tooltip("성공 시 블랙보드에 현재 인터랙션 대상을 등록합니다")]
|
||||
[SerializeField] private bool _UnregisterOnBlackboard = false;
|
||||
|
||||
private IInteractor _interactor;
|
||||
private bool _isGetInteractor;
|
||||
@ -27,30 +21,54 @@ public override void OnStart()
|
||||
}
|
||||
|
||||
public override TaskStatus OnUpdate()
|
||||
{
|
||||
var blackboard = gameObject.GetComponent<IAISharedBlackboard>();
|
||||
var target = blackboard?.GetBlackboardGameObject(nameof(RestaurantCustomerBlackboardKey.CurrentInteractionTarget));
|
||||
IInteractable currentInteractable = target?.GetComponent<IInteractable>();
|
||||
if (_targetOrderType == RestaurantOrderType.Wait)
|
||||
{
|
||||
// 레스토랑 주문 인터랙션 후보를 가져옴
|
||||
TaskStatus targetSearchSuccess = RestaurantOrderAvailable.FindAvailableOrderInteractable(_requireCanInteract, _targetOrderType, out var
|
||||
outInteractable);
|
||||
TaskStatus targetSearchSuccess = RestaurantOrderAvailable.FindAvailableOrderInteractable(_targetOrderType, out currentInteractable);
|
||||
if (targetSearchSuccess == TaskStatus.Failure)
|
||||
{
|
||||
return TaskStatus.Failure;
|
||||
}
|
||||
var customerBlackboard = gameObject.GetComponent<IAISharedBlackboard>();
|
||||
customerBlackboard?.SetBlackboardGameObject(nameof(RestaurantCustomerBlackboardKey.CurrentInteractionTarget), currentInteractable.GetInteractableGameObject());
|
||||
}
|
||||
|
||||
// Check order type of the current interactable
|
||||
if (currentInteractable is IInteractionSubsystemOwner subsystemOwner)
|
||||
{
|
||||
if (subsystemOwner.TryGetSubsystemEnumType<RestaurantOrderType>(out var subsystemType))
|
||||
{
|
||||
if (subsystemType != _targetOrderType)
|
||||
{
|
||||
Debug.LogWarning($"[{GetType().Name}] 상호작용할 RestaurantOrderType이 다릅니다: {subsystemType} != {_targetOrderType}");
|
||||
return TaskStatus.Failure;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return TaskStatus.Failure;
|
||||
}
|
||||
}
|
||||
|
||||
if (currentInteractable == null)
|
||||
{
|
||||
Debug.Assert(false);
|
||||
return TaskStatus.Failure;
|
||||
}
|
||||
|
||||
// 상호작용 수행: 액션이 붙은 에이전트를 Interactor로 사용
|
||||
if (!_isGetInteractor || !_interactor.CanInteractTo(outInteractable))
|
||||
if (!_isGetInteractor)
|
||||
{
|
||||
return TaskStatus.Failure;
|
||||
}
|
||||
|
||||
RestaurantEvents.InteractionEvent.RequestInteraction(_interactor.GetInteractorGameObject(), outInteractable.gameObject, outInteractable.GetInteractionType());
|
||||
RestaurantEvents.InteractionEvent.RequestInteraction(_interactor.GetInteractorGameObject(), currentInteractable.GetInteractableGameObject(), currentInteractable.GetInteractionType());
|
||||
|
||||
if (_registerOnBlackboard)
|
||||
{
|
||||
var customerBlackboard = gameObject.GetComponent<IAISharedBlackboard>();
|
||||
customerBlackboard?.SetBlackboardGameObject(nameof(RestaurantCustomerBlackboardKey.CurrentInteractionTarget), outInteractable.gameObject);
|
||||
}
|
||||
|
||||
if (_UnregisterOnBlackboard)
|
||||
if (_targetOrderType == RestaurantOrderType.Busy)
|
||||
{
|
||||
var customerBlackboard = gameObject.GetComponent<IAISharedBlackboard>();
|
||||
customerBlackboard?.SetBlackboardGameObject(nameof(RestaurantCustomerBlackboardKey.CurrentInteractionTarget), null);
|
||||
|
@ -9,8 +9,9 @@ namespace DDD.Restaurant
|
||||
public class WaitForPlayerInteraction : Action
|
||||
{
|
||||
[SerializeField] private RestaurantOrderType _targetOrderType;
|
||||
[SerializeField] private RestaurantOrderType _nextOrderType;
|
||||
private IInteractionSubsystemObject<RestaurantOrderType> _interactionSubsystem;
|
||||
private bool _isGetInteractionSubsystem;
|
||||
private bool _isSubsystemExist;
|
||||
|
||||
public override void OnStart()
|
||||
{
|
||||
@ -44,12 +45,18 @@ public override void OnStart()
|
||||
return;
|
||||
}
|
||||
|
||||
_isGetInteractionSubsystem = true;
|
||||
if (_interactionSubsystem?.GetInteractionSubsystemType() != _targetOrderType)
|
||||
{
|
||||
Debug.Log($"[{GetType().Name}] 다른 Order Type: {_interactionSubsystem?.GetInteractionSubsystemType()} != {_targetOrderType}");
|
||||
return;
|
||||
}
|
||||
|
||||
_isSubsystemExist = true;
|
||||
}
|
||||
|
||||
public override TaskStatus OnUpdate()
|
||||
{
|
||||
if (!_isGetInteractionSubsystem) return TaskStatus.Failure;
|
||||
if (!_isSubsystemExist) return TaskStatus.Failure;
|
||||
|
||||
TaskStatus result = CheckToSubsystemStatus();
|
||||
if (result == TaskStatus.Success) Debug.Log($"[{GetType().Name}] Success");
|
||||
@ -58,9 +65,10 @@ public override TaskStatus OnUpdate()
|
||||
|
||||
private TaskStatus CheckToSubsystemStatus()
|
||||
{
|
||||
return _interactionSubsystem.GetInteractionSubsystemType() == _targetOrderType
|
||||
? TaskStatus.Running
|
||||
: TaskStatus.Success;
|
||||
var currentSubsystemType = _interactionSubsystem.GetInteractionSubsystemType();
|
||||
if (currentSubsystemType == _nextOrderType)
|
||||
return TaskStatus.Success;
|
||||
return TaskStatus.Running;
|
||||
}
|
||||
}
|
||||
}
|
@ -28,13 +28,13 @@ public bool CheckCanInteract
|
||||
|
||||
public override TaskStatus OnUpdate()
|
||||
{
|
||||
TaskStatus targetSearchSuccess = FindAvailableOrderInteractable(_checkCanInteract, _targetOrderType, out var
|
||||
TaskStatus targetSearchSuccess = FindAvailableOrderInteractable(_targetOrderType, out var
|
||||
outInteractable);
|
||||
return targetSearchSuccess;
|
||||
|
||||
}
|
||||
|
||||
public static TaskStatus FindAvailableOrderInteractable<T>(bool checkCanInteract, T targetOrderType, out RestaurantInteractionComponent outInteractable) where T : Enum
|
||||
public static TaskStatus FindAvailableOrderInteractable(RestaurantOrderType targetOrderType, out IInteractable outInteractable)
|
||||
{
|
||||
outInteractable = null;
|
||||
|
||||
@ -45,25 +45,17 @@ public static TaskStatus FindAvailableOrderInteractable<T>(bool checkCanInteract
|
||||
}
|
||||
|
||||
var interactables = environmentState.GetInteractablesByType(InteractionType.RestaurantOrder);
|
||||
|
||||
foreach (var interactable in interactables)
|
||||
{
|
||||
// 서브시스템에서 RestaurantOrderType을 가져와 비교
|
||||
outInteractable = interactable as RestaurantInteractionComponent;
|
||||
if (outInteractable == null) continue;
|
||||
if (!outInteractable.TryGetSubsystemObject<T>(out var subsystem)) continue;
|
||||
|
||||
if (EqualityComparer<T>.Default.Equals(subsystem.GetInteractionSubsystemType(), targetOrderType))
|
||||
if (interactable is not IInteractionSubsystemOwner subsystemOwner) continue;
|
||||
if (!subsystemOwner.TryGetSubsystemObject<RestaurantOrderType>(out var subsystem)) continue;
|
||||
if (subsystem.GetInteractionSubsystemType() == targetOrderType)
|
||||
{
|
||||
// CheckCanInteract이 false면 타입만 맞으면 성공
|
||||
if (!checkCanInteract)
|
||||
{
|
||||
return TaskStatus.Success;
|
||||
}
|
||||
|
||||
// CheckCanInteract이 true면 실제 인터랙션 가능 여부까지 확인
|
||||
if (interactable.CanInteract())
|
||||
{
|
||||
outInteractable = interactable;
|
||||
return TaskStatus.Success;
|
||||
}
|
||||
}
|
||||
|
@ -84,7 +84,7 @@ public bool CanSolveInteractionType(InteractionType type)
|
||||
{
|
||||
if (_cachedSolvers.TryGetValue(type, out var cachedSolver)) return cachedSolver != null;
|
||||
|
||||
if (RestaurantInteractionEventSolvers.TypeToSolver.TryGetValue(type, out var solverType) == false) return false;
|
||||
if (!FetchSolverTypeForInteraction(type, out var solverType)) return false;
|
||||
|
||||
if (transform.TryGetComponent(solverType, out var component) == false) return false;
|
||||
|
||||
@ -93,6 +93,11 @@ public bool CanSolveInteractionType(InteractionType type)
|
||||
return solver != null;
|
||||
}
|
||||
|
||||
protected virtual bool FetchSolverTypeForInteraction(InteractionType type, out Type solverType)
|
||||
{
|
||||
return RestaurantInteractionEventSolvers.TypeToSolver.TryGetValue(type, out solverType);
|
||||
}
|
||||
|
||||
public bool CanInteractTo(IInteractable interactable, ScriptableObject payloadSo = null)
|
||||
{
|
||||
if (interactable == null) return false;
|
||||
|
@ -39,14 +39,17 @@ private Task Initialize()
|
||||
|
||||
public override void InitializeSolvers()
|
||||
{
|
||||
var typesToSolver = RestaurantInteractionEventSolvers.TypeToSolver;
|
||||
var playerSolver = RestaurantInteractionEventSolvers.TypeToPlayerSolver;
|
||||
foreach(var pair in playerSolver)
|
||||
Dictionary<InteractionType, Type> typesToSolver = new();
|
||||
foreach (var typeToSolver in RestaurantInteractionEventSolvers.TypeToSolver)
|
||||
{
|
||||
typesToSolver.Remove(pair.Key);
|
||||
typesToSolver.Add(typeToSolver.Key, typeToSolver.Value);
|
||||
}
|
||||
foreach (var typeToSolver in playerSolver)
|
||||
{
|
||||
typesToSolver[typeToSolver.Key] = typeToSolver.Value;
|
||||
}
|
||||
InitializeInteractionSolvers(typesToSolver);
|
||||
InitializeInteractionSolvers(playerSolver);
|
||||
}
|
||||
|
||||
protected override void OnDestroy()
|
||||
@ -182,7 +185,7 @@ protected IInteractable GetNearestInteractable()
|
||||
if (col.TryGetComponent<IInteractable>(out var interactable) == false) continue;
|
||||
|
||||
var type = interactable.GetInteractionType();
|
||||
if (interactable.IsInteractionHidden()) continue;
|
||||
if (interactable.IsInteractionHidden(this)) continue;
|
||||
if (CanSolveInteractionType(type) == false) continue;
|
||||
|
||||
float distance = Vector3.Distance(transform.position, col.transform.position);
|
||||
@ -195,5 +198,15 @@ protected IInteractable GetNearestInteractable()
|
||||
|
||||
return closest;
|
||||
}
|
||||
|
||||
protected override bool FetchSolverTypeForInteraction(InteractionType type, out Type solverType)
|
||||
{
|
||||
if (RestaurantInteractionEventSolvers.TypeToPlayerSolver.TryGetValue(type, out solverType))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
return base.FetchSolverTypeForInteraction(type, out solverType);
|
||||
}
|
||||
}
|
||||
}
|
@ -6,5 +6,6 @@ namespace DDD
|
||||
public interface IInteractionSubsystemOwner
|
||||
{
|
||||
public bool TryGetSubsystemObject<T>(out IInteractionSubsystemObject<T> subsystemObject) where T : Enum;
|
||||
public bool TryGetSubsystemEnumType<T>(out T subsystemType) where T : Enum;
|
||||
}
|
||||
}
|
@ -21,13 +21,7 @@ public interface IRestaurantOrderObject
|
||||
|
||||
public class InteractionSubsystem_Order : MonoBehaviour, IInteractionSubsystemObject<RestaurantOrderType>, IRestaurantOrderObject
|
||||
{
|
||||
[FormerlySerializedAs("orderType")] [SerializeField] protected RestaurantOrderType _orderType = RestaurantOrderType.Wait;
|
||||
private RestaurantOrderType _currentRestaurantOrderType;
|
||||
|
||||
private void Start()
|
||||
{
|
||||
_currentRestaurantOrderType = _orderType;
|
||||
}
|
||||
[SerializeField] private RestaurantOrderType _currentRestaurantOrderType = RestaurantOrderType.Wait;
|
||||
|
||||
public bool CanInteract()
|
||||
{
|
||||
@ -58,7 +52,6 @@ public ScriptableObject GetPayload()
|
||||
|
||||
public void InitializeSubsystem()
|
||||
{
|
||||
_currentRestaurantOrderType = _orderType;
|
||||
}
|
||||
|
||||
public RestaurantOrderType GetInteractionSubsystemType()
|
||||
|
@ -1,3 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using Sirenix.OdinInspector;
|
||||
@ -158,7 +159,7 @@ private InteractionOutlineType GetCurrentOutlineType()
|
||||
if (_interactionComponent is not IInteractable interactable)
|
||||
return InteractionOutlineType.None;
|
||||
|
||||
if (_interactionComponent.IsInteractionHidden())
|
||||
if (_interactionComponent.IsInteractionHidden(_interactor))
|
||||
{
|
||||
return InteractionOutlineType.None;
|
||||
}
|
||||
|
@ -68,11 +68,26 @@ public virtual bool CanInteract()
|
||||
return isInteractionVisible && hasValidSubsystem;
|
||||
}
|
||||
|
||||
public virtual bool IsInteractionHidden()
|
||||
public virtual bool IsInteractionHidden(IInteractor interactor = null)
|
||||
{
|
||||
var currentGameFlowState = GameFlowManager.Instance.GameFlowDataSo.CurrentGameState;
|
||||
var flowDisabled = (currentGameFlowState & _interactionAvailableFlows) == 0;
|
||||
return flowDisabled;
|
||||
if (flowDisabled)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
// only check if interactor is valid. if not, pass the check.
|
||||
if (interactor != null && HasSubsystem(_interactionType))
|
||||
{
|
||||
bool canSolve = interactor.CanSolveInteractionType(_interactionType);
|
||||
if (!canSolve)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public virtual void OnInteracted(IInteractor interactor, ScriptableObject payload = null)
|
||||
@ -121,7 +136,7 @@ private bool HasSubsystem(InteractionType interactionType)
|
||||
|
||||
private IInteractionSubsystemObject GetSubsystem(InteractionType interactionType)
|
||||
{
|
||||
return _subsystems.GetValueOrDefault(interactionType) as IInteractionSubsystemObject;
|
||||
return _subsystems.GetValueOrDefault(interactionType);
|
||||
}
|
||||
|
||||
private bool TryGetSubsystem(InteractionType interactionType, out IInteractionSubsystemObject subsystem)
|
||||
@ -192,5 +207,20 @@ public bool TryGetSubsystemObject<T>(out IInteractionSubsystemObject<T> subsyste
|
||||
subsystemObject = null;
|
||||
return false;
|
||||
}
|
||||
|
||||
public bool TryGetSubsystemEnumType<T>(out T enumValue) where T : Enum
|
||||
{
|
||||
foreach (var interactionSubsystemObject in _subsystems.Values)
|
||||
{
|
||||
if (interactionSubsystemObject is IInteractionSubsystemObject<T> subsystem)
|
||||
{
|
||||
enumValue = subsystem.GetInteractionSubsystemType();
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
enumValue = default;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
@ -7,8 +7,8 @@ public class RestaurantOrderSolver_Wait : MonoBehaviour, IInteractionSubsystemSo
|
||||
{
|
||||
public bool ExecuteInteractionSubsystem(IInteractor interactor, IInteractable interactable, ScriptableObject payload = null)
|
||||
{
|
||||
if (CanExecuteInteractionSubsystem(interactor, interactable, payload) == false) return false;
|
||||
|
||||
if (CanExecuteInteractionSubsystem(interactor, interactable, payload) == false)
|
||||
return false;
|
||||
if (interactable is not IInteractionSubsystemOwner subsystemOwner)
|
||||
return false;
|
||||
if (!subsystemOwner.TryGetSubsystemObject<RestaurantOrderType>(out var subsystem))
|
||||
|
Loading…
Reference in New Issue
Block a user