merge with

This commit is contained in:
lwj
2025-06-24 17:07:39 +09:00
57 changed files with 2680 additions and 924 deletions

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 672b468357b522948b844e004a76923d
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 818 B

View File

@@ -0,0 +1,130 @@
fileFormatVersion: 2
guid: daccc338836bab74490abd653f00a324
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: 1
wrapV: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
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: 8
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: 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
- serializedVersion: 4
buildTarget: WebGL
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: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 855 B

View File

@@ -0,0 +1,130 @@
fileFormatVersion: 2
guid: ab296f3aee7dbef4aa0ad06ee9cdfca3
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: 1
wrapV: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
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: 8
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: 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
- serializedVersion: 4
buildTarget: WebGL
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: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 848 B

View File

@@ -0,0 +1,130 @@
fileFormatVersion: 2
guid: b1b5360f3d07766408505400c3a2758e
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: 1
wrapV: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
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: 8
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: 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
- serializedVersion: 4
buildTarget: WebGL
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: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 992 B

View File

@@ -0,0 +1,130 @@
fileFormatVersion: 2
guid: 03147250a9776fa4a813c9881dde3a80
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: 1
wrapV: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
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: 8
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: 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
- serializedVersion: 4
buildTarget: WebGL
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: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 852 B

View File

@@ -0,0 +1,130 @@
fileFormatVersion: 2
guid: 736e45d449707214d919322bb7e4f2b3
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: 1
wrapV: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
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: 8
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: 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
- serializedVersion: 4
buildTarget: WebGL
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: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 752 B

View File

@@ -0,0 +1,130 @@
fileFormatVersion: 2
guid: a73e81a781190e343b77b99277168cf8
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: 1
wrapV: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
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: 8
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: 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
- serializedVersion: 4
buildTarget: WebGL
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: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 717 B

View File

@@ -0,0 +1,130 @@
fileFormatVersion: 2
guid: 338405d6332a3db4b8d80383044bb882
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: 1
wrapV: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
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: 8
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: 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
- serializedVersion: 4
buildTarget: WebGL
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: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 878 B

View File

@@ -0,0 +1,130 @@
fileFormatVersion: 2
guid: 481cc16de01ceec409e2290fd0555532
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: 1
wrapV: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
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: 8
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: 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
- serializedVersion: 4
buildTarget: WebGL
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: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 727 B

View File

@@ -0,0 +1,130 @@
fileFormatVersion: 2
guid: 310e9f32c366af74dab7183e1fb2687b
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: 1
wrapV: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
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: 8
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: 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
- serializedVersion: 4
buildTarget: WebGL
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: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -67,7 +67,7 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
m_Sprite: {fileID: 0}
m_Type: 1
m_PreserveAspect: 0
m_FillCenter: 1
@@ -254,7 +254,7 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
m_Sprite: {fileID: 0}
m_Type: 1
m_PreserveAspect: 0
m_FillCenter: 1
@@ -355,8 +355,8 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0.5}
m_AnchorMax: {x: 0, y: 0.5}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 27, y: 33}
m_AnchoredPosition: {x: -20, y: -6}
m_SizeDelta: {x: 40, y: 40}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &5907077976079259045
CanvasRenderer:
@@ -386,7 +386,7 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 21300000, guid: eda94ccb8f2f58548ac32cf2c8b01eda, type: 3}
m_Sprite: {fileID: 21300000, guid: 481cc16de01ceec409e2290fd0555532, type: 3}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
@@ -419,7 +419,7 @@ MonoBehaviour:
m_Colors:
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
m_PressedColor: {r: 0, g: 0, b: 0, a: 1}
m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
m_ColorMultiplier: 1
@@ -476,8 +476,8 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0.5}
m_AnchorMax: {x: 0, y: 0.5}
m_AnchoredPosition: {x: 140, y: 0}
m_SizeDelta: {x: 32, y: 30}
m_AnchoredPosition: {x: 133, y: -6}
m_SizeDelta: {x: 40, y: 40}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &7720192575072914581
CanvasRenderer:
@@ -507,7 +507,7 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 21300000, guid: 57abf77eb6e39254698287effbdcd351, type: 3}
m_Sprite: {fileID: 21300000, guid: 736e45d449707214d919322bb7e4f2b3, type: 3}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
@@ -540,7 +540,7 @@ MonoBehaviour:
m_Colors:
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
m_PressedColor: {r: 0, g: 0, b: 0, a: 1}
m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
m_ColorMultiplier: 1
@@ -596,8 +596,8 @@ RectTransform:
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: -880, y: 0}
m_SizeDelta: {x: 83, y: 40}
m_AnchoredPosition: {x: -895, y: -5}
m_SizeDelta: {x: 53, y: 47}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &4943627641902797860
CanvasRenderer:
@@ -627,7 +627,7 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 21300000, guid: 90216c7b9150e44458f8059104bbba0c, type: 3}
m_Sprite: {fileID: 21300000, guid: 09227bacbe6265044b2e30cf45fe22f0, type: 3}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
@@ -749,7 +749,7 @@ MonoBehaviour:
m_text: "\uD604\uC7AC \uD504\uB85C\uC81D\uD2B8 \uC800\uC7A5"
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: 05bae3109f77490458ea729d51e7df78, type: 2}
m_sharedMaterial: {fileID: -6753151026297191121, guid: cc066fadc8e7f2c4b9a30b407a23f25f, type: 2}
m_sharedMaterial: {fileID: -7290017371581542385, guid: 05bae3109f77490458ea729d51e7df78, type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
m_fontMaterials: []
@@ -780,7 +780,7 @@ MonoBehaviour:
m_fontSizeMin: 18
m_fontSizeMax: 72
m_fontStyle: 0
m_HorizontalAlignment: 2
m_HorizontalAlignment: 1
m_VerticalAlignment: 512
m_textAlignment: 65535
m_characterSpacing: 0
@@ -811,10 +811,10 @@ MonoBehaviour:
m_VertexBufferAutoSizeReduction: 0
m_useMaxVisibleDescender: 1
m_pageToDisplay: 1
m_margin: {x: 0, y: 0, z: 0, w: 0}
m_margin: {x: 10, y: 0, z: 0, w: 0}
m_isUsingLegacyAnimationComponent: 0
m_isVolumetricText: 0
m_hasFontAssetChanged: 1
m_hasFontAssetChanged: 0
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!1 &7358382285419412982
@@ -913,7 +913,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
m_IsActive: 1
--- !u!224 &2387822035400023919
RectTransform:
m_ObjectHideFlags: 0
@@ -1146,7 +1146,7 @@ RectTransform:
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: -675, y: 0}
m_AnchoredPosition: {x: -700, y: -6}
m_SizeDelta: {x: 280, y: 32}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &7323262126195169850
@@ -1299,7 +1299,7 @@ MonoBehaviour:
m_text: "\uD604\uC7AC \uD504\uB85C\uC81D\uD2B8 \uC774\uB825\uBCF4\uAE30"
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: 05bae3109f77490458ea729d51e7df78, type: 2}
m_sharedMaterial: {fileID: -6753151026297191121, guid: cc066fadc8e7f2c4b9a30b407a23f25f, type: 2}
m_sharedMaterial: {fileID: -7290017371581542385, guid: 05bae3109f77490458ea729d51e7df78, type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
m_fontMaterials: []
@@ -1330,7 +1330,7 @@ MonoBehaviour:
m_fontSizeMin: 18
m_fontSizeMax: 72
m_fontStyle: 0
m_HorizontalAlignment: 2
m_HorizontalAlignment: 1
m_VerticalAlignment: 512
m_textAlignment: 65535
m_characterSpacing: 0
@@ -1361,10 +1361,10 @@ MonoBehaviour:
m_VertexBufferAutoSizeReduction: 0
m_useMaxVisibleDescender: 1
m_pageToDisplay: 1
m_margin: {x: 0, y: 0, z: 0, w: 0}
m_margin: {x: 10, y: 0, z: 0, w: 0}
m_isUsingLegacyAnimationComponent: 0
m_isVolumetricText: 0
m_hasFontAssetChanged: 1
m_hasFontAssetChanged: 0
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!1 &8873280493472229647
@@ -1402,8 +1402,8 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0.5}
m_AnchorMax: {x: 0, y: 0.5}
m_AnchoredPosition: {x: 52.5, y: 0}
m_SizeDelta: {x: 20, y: 27}
m_AnchoredPosition: {x: 31, y: -6}
m_SizeDelta: {x: 40, y: 40}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &1613302695742132563
CanvasRenderer:
@@ -1433,7 +1433,7 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 21300000, guid: f8465c3df32cf1941889a4455097d8c7, type: 3}
m_Sprite: {fileID: 21300000, guid: 338405d6332a3db4b8d80383044bb882, type: 3}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
@@ -1521,7 +1521,7 @@ RectTransform:
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_AnchoredPosition: {x: -8.3, y: 9.8}
m_SizeDelta: {x: 50, y: 50}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &4022750119105759017
@@ -1561,8 +1561,8 @@ MonoBehaviour:
m_fontMaterials: []
m_fontColor32:
serializedVersion: 2
rgba: 4285427310
m_fontColor: {r: 0.43137255, g: 0.43137255, b: 0.43137255, a: 1}
rgba: 4292467161
m_fontColor: {r: 0.8509804, g: 0.8509804, b: 0.8509804, a: 1}
m_enableVertexGradient: 0
m_colorMode: 3
m_fontColorGradient:
@@ -1579,8 +1579,8 @@ MonoBehaviour:
m_faceColor:
serializedVersion: 2
rgba: 4294967295
m_fontSize: 12
m_fontSizeBase: 12
m_fontSize: 8
m_fontSizeBase: 8
m_fontWeight: 400
m_enableAutoSizing: 0
m_fontSizeMin: 18
@@ -1631,10 +1631,22 @@ PrefabInstance:
serializedVersion: 3
m_TransformParent: {fileID: 3942339534585702714}
m_Modifications:
- target: {fileID: 1191854772519543833, guid: 7464b97708f2f314cba63d60288faa90, type: 3}
propertyPath: m_Colors.m_PressedColor.b
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1191854772519543833, guid: 7464b97708f2f314cba63d60288faa90, type: 3}
propertyPath: m_Colors.m_PressedColor.g
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1191854772519543833, guid: 7464b97708f2f314cba63d60288faa90, type: 3}
propertyPath: m_Colors.m_PressedColor.r
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5992737367196071414, guid: 7464b97708f2f314cba63d60288faa90, type: 3}
propertyPath: m_Sprite
value:
objectReference: {fileID: 21300000, guid: 3dada34195b658d4fab866194ed2bd18, type: 3}
objectReference: {fileID: 21300000, guid: a73e81a781190e343b77b99277168cf8, type: 3}
- target: {fileID: 6156005559543558400, guid: 7464b97708f2f314cba63d60288faa90, type: 3}
propertyPath: m_Pivot.x
value: 0.5
@@ -1661,11 +1673,11 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: 6156005559543558400, guid: 7464b97708f2f314cba63d60288faa90, type: 3}
propertyPath: m_SizeDelta.x
value: 20
value: 40
objectReference: {fileID: 0}
- target: {fileID: 6156005559543558400, guid: 7464b97708f2f314cba63d60288faa90, type: 3}
propertyPath: m_SizeDelta.y
value: 27
value: 40
objectReference: {fileID: 0}
- target: {fileID: 6156005559543558400, guid: 7464b97708f2f314cba63d60288faa90, type: 3}
propertyPath: m_LocalPosition.x
@@ -1697,11 +1709,11 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: 6156005559543558400, guid: 7464b97708f2f314cba63d60288faa90, type: 3}
propertyPath: m_AnchoredPosition.x
value: 93.2
value: 80
objectReference: {fileID: 0}
- target: {fileID: 6156005559543558400, guid: 7464b97708f2f314cba63d60288faa90, type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
value: -6
objectReference: {fileID: 0}
- target: {fileID: 6156005559543558400, guid: 7464b97708f2f314cba63d60288faa90, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
@@ -1741,11 +1753,11 @@ PrefabInstance:
- target: {fileID: 1366549792579987494, guid: 3339d7a79f1d64748b39a258f666cfe3, type: 3}
propertyPath: m_Sprite
value:
objectReference: {fileID: 21300000, guid: d670067f40217394b8b33284a2c3a472, type: 3}
objectReference: {fileID: 21300000, guid: 310e9f32c366af74dab7183e1fb2687b, type: 3}
- target: {fileID: 1697545823377604222, guid: 3339d7a79f1d64748b39a258f666cfe3, type: 3}
propertyPath: m_Sprite
value:
objectReference: {fileID: 21300000, guid: a7e925534bbf92046a085afa249d3581, type: 3}
objectReference: {fileID: 21300000, guid: b1b5360f3d07766408505400c3a2758e, type: 3}
- target: {fileID: 3503810027013440615, guid: 3339d7a79f1d64748b39a258f666cfe3, type: 3}
propertyPath: m_Pivot.x
value: 0.5
@@ -1808,11 +1820,11 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: 3503810027013440615, guid: 3339d7a79f1d64748b39a258f666cfe3, type: 3}
propertyPath: m_AnchoredPosition.x
value: 321.4
value: 341.1
objectReference: {fileID: 0}
- target: {fileID: 3503810027013440615, guid: 3339d7a79f1d64748b39a258f666cfe3, type: 3}
propertyPath: m_AnchoredPosition.y
value: 0.8999939
value: -6
objectReference: {fileID: 0}
- target: {fileID: 3503810027013440615, guid: 3339d7a79f1d64748b39a258f666cfe3, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
@@ -1829,14 +1841,18 @@ PrefabInstance:
- target: {fileID: 4912724355556733677, guid: 3339d7a79f1d64748b39a258f666cfe3, type: 3}
propertyPath: m_Sprite
value:
objectReference: {fileID: 21300000, guid: 30c3865790cc94e4ab5513d194b43948, type: 3}
objectReference: {fileID: 21300000, guid: ab296f3aee7dbef4aa0ad06ee9cdfca3, type: 3}
- target: {fileID: 5185169213977091725, guid: 3339d7a79f1d64748b39a258f666cfe3, type: 3}
propertyPath: m_SizeDelta.x
value: 34
value: 40
objectReference: {fileID: 0}
- target: {fileID: 5185169213977091725, guid: 3339d7a79f1d64748b39a258f666cfe3, type: 3}
propertyPath: m_SizeDelta.y
value: 35
value: 40
objectReference: {fileID: 0}
- target: {fileID: 5185169213977091725, guid: 3339d7a79f1d64748b39a258f666cfe3, type: 3}
propertyPath: m_AnchoredPosition.x
value: -40
objectReference: {fileID: 0}
- target: {fileID: 6058415533521999480, guid: 3339d7a79f1d64748b39a258f666cfe3, type: 3}
propertyPath: m_Name
@@ -1844,31 +1860,39 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: 7121091437035085646, guid: 3339d7a79f1d64748b39a258f666cfe3, type: 3}
propertyPath: m_SizeDelta.x
value: 31
value: 40
objectReference: {fileID: 0}
- target: {fileID: 7121091437035085646, guid: 3339d7a79f1d64748b39a258f666cfe3, type: 3}
propertyPath: m_SizeDelta.y
value: 30
value: 40
objectReference: {fileID: 0}
- target: {fileID: 7121091437035085646, guid: 3339d7a79f1d64748b39a258f666cfe3, type: 3}
propertyPath: m_AnchoredPosition.x
value: 11
objectReference: {fileID: 0}
- target: {fileID: 7970149941130232652, guid: 3339d7a79f1d64748b39a258f666cfe3, type: 3}
propertyPath: m_Sprite
value:
objectReference: {fileID: 21300000, guid: 6a4250302517a304bb7fdb373616ad22, type: 3}
objectReference: {fileID: 21300000, guid: daccc338836bab74490abd653f00a324, type: 3}
- target: {fileID: 8545116328356316239, guid: 3339d7a79f1d64748b39a258f666cfe3, type: 3}
propertyPath: m_SizeDelta.x
value: 31
value: 40
objectReference: {fileID: 0}
- target: {fileID: 8545116328356316239, guid: 3339d7a79f1d64748b39a258f666cfe3, type: 3}
propertyPath: m_SizeDelta.y
value: 30
value: 40
objectReference: {fileID: 0}
- target: {fileID: 8545116328356316239, guid: 3339d7a79f1d64748b39a258f666cfe3, type: 3}
propertyPath: m_AnchoredPosition.x
value: 62
objectReference: {fileID: 0}
- target: {fileID: 8650387198295040428, guid: 3339d7a79f1d64748b39a258f666cfe3, type: 3}
propertyPath: m_SizeDelta.x
value: 29
value: 40
objectReference: {fileID: 0}
- target: {fileID: 8650387198295040428, guid: 3339d7a79f1d64748b39a258f666cfe3, type: 3}
propertyPath: m_SizeDelta.y
value: 37
value: 40
objectReference: {fileID: 0}
m_RemovedComponents:
- {fileID: 5988394804144119520, guid: 3339d7a79f1d64748b39a258f666cfe3, type: 3}

View File

@@ -81,14 +81,16 @@ MonoBehaviour:
modelType: 1
modelID:
nodeID:
eventKey:
eventGenerateProduct: product_generated
eventGenerateDefect: product_defective
eventQueueProduct: product_queued
eventStoreProduct: product_stored
productPrefab: {fileID: 3554305899873773484, guid: a0607d71a04b3f4459be2d9646fcb429, type: 3}
defectPrefab: {fileID: 3554305899873773484, guid: cdaf18132be58d64ebab6d9d81fffbd9, type: 3}
listProducts: []
listDefects: []
productPos: {fileID: 0}
productPos: {fileID: 6052881152895185930}
productDistance: {x: 0, y: 0.321, z: 0}
--- !u!1001 &1125099510866031357
PrefabInstance:
@@ -143,7 +145,25 @@ PrefabInstance:
value: 0
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_RemovedGameObjects:
- {fileID: 9217267357831631963, guid: 71cb5b14e9e72d047acd0f48e86dbccc, type: 3}
- {fileID: 5928843501285884622, guid: 71cb5b14e9e72d047acd0f48e86dbccc, type: 3}
- {fileID: 1183860221751322466, guid: 71cb5b14e9e72d047acd0f48e86dbccc, type: 3}
- {fileID: 2475343910674661481, guid: 71cb5b14e9e72d047acd0f48e86dbccc, type: 3}
- {fileID: 2092404705479605336, guid: 71cb5b14e9e72d047acd0f48e86dbccc, type: 3}
- {fileID: 1944679276134328576, guid: 71cb5b14e9e72d047acd0f48e86dbccc, type: 3}
- {fileID: 4064660588182623171, guid: 71cb5b14e9e72d047acd0f48e86dbccc, type: 3}
- {fileID: 4948147266248983715, guid: 71cb5b14e9e72d047acd0f48e86dbccc, type: 3}
- {fileID: 3042463907258423270, guid: 71cb5b14e9e72d047acd0f48e86dbccc, type: 3}
- {fileID: 5795265472399702419, guid: 71cb5b14e9e72d047acd0f48e86dbccc, type: 3}
- {fileID: 2776913347480256842, guid: 71cb5b14e9e72d047acd0f48e86dbccc, type: 3}
- {fileID: 5025937300527502986, guid: 71cb5b14e9e72d047acd0f48e86dbccc, type: 3}
- {fileID: 4674438846757191115, guid: 71cb5b14e9e72d047acd0f48e86dbccc, type: 3}
- {fileID: 9197186423702409303, guid: 71cb5b14e9e72d047acd0f48e86dbccc, type: 3}
- {fileID: 5016068651013134791, guid: 71cb5b14e9e72d047acd0f48e86dbccc, type: 3}
- {fileID: 8434730712035971091, guid: 71cb5b14e9e72d047acd0f48e86dbccc, type: 3}
- {fileID: 8063519964643426698, guid: 71cb5b14e9e72d047acd0f48e86dbccc, type: 3}
- {fileID: 695671537287549198, guid: 71cb5b14e9e72d047acd0f48e86dbccc, type: 3}
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 71cb5b14e9e72d047acd0f48e86dbccc, type: 3}

View File

@@ -46,9 +46,10 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
modelName: Pallet
modelType: Source
modelType: 0
modelID:
nodeID:
eventKey:
eventGenerateProduct: product_generated
eventGenerateDefect: product_defective
eventQueueProduct: product_queued
@@ -111,7 +112,25 @@ PrefabInstance:
value: 0
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_RemovedGameObjects:
- {fileID: 9217267357831631963, guid: 71cb5b14e9e72d047acd0f48e86dbccc, type: 3}
- {fileID: 5928843501285884622, guid: 71cb5b14e9e72d047acd0f48e86dbccc, type: 3}
- {fileID: 1183860221751322466, guid: 71cb5b14e9e72d047acd0f48e86dbccc, type: 3}
- {fileID: 2475343910674661481, guid: 71cb5b14e9e72d047acd0f48e86dbccc, type: 3}
- {fileID: 2092404705479605336, guid: 71cb5b14e9e72d047acd0f48e86dbccc, type: 3}
- {fileID: 1944679276134328576, guid: 71cb5b14e9e72d047acd0f48e86dbccc, type: 3}
- {fileID: 4064660588182623171, guid: 71cb5b14e9e72d047acd0f48e86dbccc, type: 3}
- {fileID: 4948147266248983715, guid: 71cb5b14e9e72d047acd0f48e86dbccc, type: 3}
- {fileID: 3042463907258423270, guid: 71cb5b14e9e72d047acd0f48e86dbccc, type: 3}
- {fileID: 5795265472399702419, guid: 71cb5b14e9e72d047acd0f48e86dbccc, type: 3}
- {fileID: 2776913347480256842, guid: 71cb5b14e9e72d047acd0f48e86dbccc, type: 3}
- {fileID: 5025937300527502986, guid: 71cb5b14e9e72d047acd0f48e86dbccc, type: 3}
- {fileID: 4674438846757191115, guid: 71cb5b14e9e72d047acd0f48e86dbccc, type: 3}
- {fileID: 9197186423702409303, guid: 71cb5b14e9e72d047acd0f48e86dbccc, type: 3}
- {fileID: 5016068651013134791, guid: 71cb5b14e9e72d047acd0f48e86dbccc, type: 3}
- {fileID: 8434730712035971091, guid: 71cb5b14e9e72d047acd0f48e86dbccc, type: 3}
- {fileID: 8063519964643426698, guid: 71cb5b14e9e72d047acd0f48e86dbccc, type: 3}
- {fileID: 695671537287549198, guid: 71cb5b14e9e72d047acd0f48e86dbccc, type: 3}
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 71cb5b14e9e72d047acd0f48e86dbccc, type: 3}

View File

@@ -5207,23 +5207,6 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1 &1375091842 stripped
GameObject:
m_CorrespondingSourceObject: {fileID: 2069922514250663687, guid: 6c1ed824d30fe8848957d865919227a0, type: 3}
m_PrefabInstance: {fileID: 594906197750746389}
m_PrefabAsset: {fileID: 0}
--- !u!114 &1375091845
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1375091842}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 7625fed507a93284c98c450bebdc4ce9, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1 &1403186477
GameObject:
m_ObjectHideFlags: 0
@@ -6136,25 +6119,10 @@ PrefabInstance:
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6191105916327120908, guid: 6c1ed824d30fe8848957d865919227a0, type: 3}
propertyPath: backGround
value:
objectReference: {fileID: 1351749705}
- target: {fileID: 6191105916327120908, guid: 6c1ed824d30fe8848957d865919227a0, type: 3}
propertyPath: LogicWindow
value:
objectReference: {fileID: 80690333}
- target: {fileID: 6191105916327120908, guid: 6c1ed824d30fe8848957d865919227a0, type: 3}
propertyPath: LogicContent
value:
objectReference: {fileID: 384003842}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
m_AddedComponents:
- targetCorrespondingSourceObject: {fileID: 2069922514250663687, guid: 6c1ed824d30fe8848957d865919227a0, type: 3}
insertIndex: -1
addedObject: {fileID: 1375091845}
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 6c1ed824d30fe8848957d865919227a0, type: 3}
--- !u!224 &683822271461456720
RectTransform:
@@ -6771,198 +6739,14 @@ PrefabInstance:
propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_Target
value:
objectReference: {fileID: 2104988513}
- target: {fileID: 804004060968804500, guid: 91b280356e2a9674aac91102f2da87f8, type: 3}
propertyPath: m_AnchoredPosition.x
value: -700
objectReference: {fileID: 0}
- target: {fileID: 804004060968804500, guid: 91b280356e2a9674aac91102f2da87f8, type: 3}
propertyPath: m_AnchoredPosition.y
value: -6
objectReference: {fileID: 0}
- target: {fileID: 906947426112521073, guid: 91b280356e2a9674aac91102f2da87f8, type: 3}
propertyPath: m_Colors.m_PressedColor.b
value: 0
objectReference: {fileID: 0}
- target: {fileID: 906947426112521073, guid: 91b280356e2a9674aac91102f2da87f8, type: 3}
propertyPath: m_Colors.m_PressedColor.g
value: 0
objectReference: {fileID: 0}
- target: {fileID: 906947426112521073, guid: 91b280356e2a9674aac91102f2da87f8, type: 3}
propertyPath: m_Colors.m_PressedColor.r
value: 0
objectReference: {fileID: 0}
- target: {fileID: 978587995140367268, guid: 91b280356e2a9674aac91102f2da87f8, type: 3}
propertyPath: m_Sprite
value:
objectReference: {fileID: 21300000, guid: 09227bacbe6265044b2e30cf45fe22f0, type: 3}
- target: {fileID: 992787113461742462, guid: 91b280356e2a9674aac91102f2da87f8, type: 3}
propertyPath: m_Colors.m_PressedColor.b
value: 0
objectReference: {fileID: 0}
- target: {fileID: 992787113461742462, guid: 91b280356e2a9674aac91102f2da87f8, type: 3}
propertyPath: m_Colors.m_PressedColor.g
value: 0
objectReference: {fileID: 0}
- target: {fileID: 992787113461742462, guid: 91b280356e2a9674aac91102f2da87f8, type: 3}
propertyPath: m_Colors.m_PressedColor.r
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1425895631360000977, guid: 91b280356e2a9674aac91102f2da87f8, type: 3}
propertyPath: m_AnchoredPosition.x
value: 341.1
objectReference: {fileID: 0}
- target: {fileID: 1425895631360000977, guid: 91b280356e2a9674aac91102f2da87f8, type: 3}
propertyPath: m_AnchoredPosition.y
value: -6
objectReference: {fileID: 0}
- target: {fileID: 1510331333423334356, guid: 91b280356e2a9674aac91102f2da87f8, type: 3}
propertyPath: m_margin.x
value: 10
objectReference: {fileID: 0}
- target: {fileID: 1510331333423334356, guid: 91b280356e2a9674aac91102f2da87f8, type: 3}
propertyPath: m_sharedMaterial
value:
objectReference: {fileID: -7290017371581542385, guid: 05bae3109f77490458ea729d51e7df78, type: 2}
- target: {fileID: 1510331333423334356, guid: 91b280356e2a9674aac91102f2da87f8, type: 3}
propertyPath: m_HorizontalAlignment
value: 1
objectReference: {fileID: 0}
- target: {fileID: 1510331333423334356, guid: 91b280356e2a9674aac91102f2da87f8, type: 3}
propertyPath: m_hasFontAssetChanged
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1662530873374178191, guid: 91b280356e2a9674aac91102f2da87f8, type: 3}
propertyPath: m_Sprite
value:
objectReference: {fileID: 21300000, guid: d9c142e634b65f742815a7e0f00a567d, type: 3}
- target: {fileID: 1881100005057064159, guid: 91b280356e2a9674aac91102f2da87f8, type: 3}
propertyPath: m_SizeDelta.x
value: 40
objectReference: {fileID: 0}
- target: {fileID: 1881100005057064159, guid: 91b280356e2a9674aac91102f2da87f8, type: 3}
propertyPath: m_SizeDelta.y
value: 40
objectReference: {fileID: 0}
- target: {fileID: 1881100005057064159, guid: 91b280356e2a9674aac91102f2da87f8, type: 3}
propertyPath: m_AnchoredPosition.x
value: 133
objectReference: {fileID: 0}
- target: {fileID: 1881100005057064159, guid: 91b280356e2a9674aac91102f2da87f8, type: 3}
propertyPath: m_AnchoredPosition.y
value: -6
objectReference: {fileID: 0}
- target: {fileID: 2314474523915592985, guid: 91b280356e2a9674aac91102f2da87f8, type: 3}
propertyPath: m_Sprite
value:
objectReference: {fileID: 21300000, guid: 02c8da4dffc829840b4b99939793672a, type: 3}
- target: {fileID: 2384442433823687998, guid: 91b280356e2a9674aac91102f2da87f8, type: 3}
propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_Target
value:
objectReference: {fileID: 1251266450}
- target: {fileID: 2625976704833552149, guid: 91b280356e2a9674aac91102f2da87f8, type: 3}
propertyPath: m_fontSize
value: 8
objectReference: {fileID: 0}
- target: {fileID: 2625976704833552149, guid: 91b280356e2a9674aac91102f2da87f8, type: 3}
propertyPath: m_fontColor.b
value: 0.8509804
objectReference: {fileID: 0}
- target: {fileID: 2625976704833552149, guid: 91b280356e2a9674aac91102f2da87f8, type: 3}
propertyPath: m_fontColor.g
value: 0.8509804
objectReference: {fileID: 0}
- target: {fileID: 2625976704833552149, guid: 91b280356e2a9674aac91102f2da87f8, type: 3}
propertyPath: m_fontColor.r
value: 0.8509804
objectReference: {fileID: 0}
- target: {fileID: 2625976704833552149, guid: 91b280356e2a9674aac91102f2da87f8, type: 3}
propertyPath: m_fontSizeBase
value: 8
objectReference: {fileID: 0}
- target: {fileID: 2625976704833552149, guid: 91b280356e2a9674aac91102f2da87f8, type: 3}
propertyPath: m_fontColor32.rgba
value: 4292467161
objectReference: {fileID: 0}
- target: {fileID: 2924577568966415018, guid: 91b280356e2a9674aac91102f2da87f8, type: 3}
propertyPath: m_SizeDelta.x
value: 40
objectReference: {fileID: 0}
- target: {fileID: 2924577568966415018, guid: 91b280356e2a9674aac91102f2da87f8, type: 3}
propertyPath: m_SizeDelta.y
value: 40
objectReference: {fileID: 0}
- target: {fileID: 2924577568966415018, guid: 91b280356e2a9674aac91102f2da87f8, type: 3}
propertyPath: m_AnchoredPosition.x
value: 31
objectReference: {fileID: 0}
- target: {fileID: 2924577568966415018, guid: 91b280356e2a9674aac91102f2da87f8, type: 3}
propertyPath: m_AnchoredPosition.y
value: -6
objectReference: {fileID: 0}
- target: {fileID: 2949726440272125323, guid: 91b280356e2a9674aac91102f2da87f8, type: 3}
propertyPath: m_SizeDelta.x
value: 53
objectReference: {fileID: 0}
- target: {fileID: 2949726440272125323, guid: 91b280356e2a9674aac91102f2da87f8, type: 3}
propertyPath: m_SizeDelta.y
value: 47
objectReference: {fileID: 0}
- target: {fileID: 2949726440272125323, guid: 91b280356e2a9674aac91102f2da87f8, type: 3}
propertyPath: m_AnchoredPosition.x
value: -895
objectReference: {fileID: 0}
- target: {fileID: 2949726440272125323, guid: 91b280356e2a9674aac91102f2da87f8, type: 3}
propertyPath: m_AnchoredPosition.y
value: -5
objectReference: {fileID: 0}
- target: {fileID: 2958331019084924017, guid: 91b280356e2a9674aac91102f2da87f8, type: 3}
propertyPath: m_AnchoredPosition.x
value: -8.3
objectReference: {fileID: 0}
- target: {fileID: 2958331019084924017, guid: 91b280356e2a9674aac91102f2da87f8, type: 3}
propertyPath: m_AnchoredPosition.y
value: 9.8
objectReference: {fileID: 0}
- target: {fileID: 3575631509173120912, guid: 91b280356e2a9674aac91102f2da87f8, type: 3}
propertyPath: m_Sprite
value:
objectReference: {fileID: 21300000, guid: 8e1fc1b7d31e39948b6d44254d3c4053, type: 3}
- target: {fileID: 3725032065274074423, guid: 91b280356e2a9674aac91102f2da87f8, type: 3}
propertyPath: m_margin.x
value: 10
objectReference: {fileID: 0}
- target: {fileID: 3725032065274074423, guid: 91b280356e2a9674aac91102f2da87f8, type: 3}
propertyPath: m_sharedMaterial
value:
objectReference: {fileID: -7290017371581542385, guid: 05bae3109f77490458ea729d51e7df78, type: 2}
- target: {fileID: 3725032065274074423, guid: 91b280356e2a9674aac91102f2da87f8, type: 3}
propertyPath: m_HorizontalAlignment
value: 1
objectReference: {fileID: 0}
- target: {fileID: 3725032065274074423, guid: 91b280356e2a9674aac91102f2da87f8, type: 3}
propertyPath: m_hasFontAssetChanged
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3812051673446529480, guid: 91b280356e2a9674aac91102f2da87f8, type: 3}
propertyPath: m_Sprite
value:
objectReference: {fileID: 21300000, guid: 10f55bc3a9e92ff498e941b4a9f83664, type: 3}
- target: {fileID: 3913561980990034504, guid: 91b280356e2a9674aac91102f2da87f8, type: 3}
propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_Target
value:
objectReference: {fileID: 2104988513}
- target: {fileID: 4736369317269297400, guid: 91b280356e2a9674aac91102f2da87f8, type: 3}
propertyPath: m_SizeDelta.x
value: 40
objectReference: {fileID: 0}
- target: {fileID: 4736369317269297400, guid: 91b280356e2a9674aac91102f2da87f8, type: 3}
propertyPath: m_SizeDelta.y
value: 40
objectReference: {fileID: 0}
- target: {fileID: 4736369317269297400, guid: 91b280356e2a9674aac91102f2da87f8, type: 3}
propertyPath: m_AnchoredPosition.x
value: 11
objectReference: {fileID: 0}
- target: {fileID: 4984763691913443583, guid: 91b280356e2a9674aac91102f2da87f8, type: 3}
propertyPath: m_Pivot.x
value: 0.5
@@ -7043,110 +6827,18 @@ PrefabInstance:
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5292512457043580520, guid: 91b280356e2a9674aac91102f2da87f8, type: 3}
propertyPath: m_AnchoredPosition.x
value: 80
objectReference: {fileID: 0}
- target: {fileID: 5292512457043580520, guid: 91b280356e2a9674aac91102f2da87f8, type: 3}
propertyPath: m_AnchoredPosition.y
value: -6
objectReference: {fileID: 0}
- target: {fileID: 5616671560955004154, guid: 91b280356e2a9674aac91102f2da87f8, type: 3}
propertyPath: m_Sprite
value:
objectReference: {fileID: 21300000, guid: 126abaf23f6491b409cf4de1e9f7a885, type: 3}
- target: {fileID: 5777075134164555596, guid: 91b280356e2a9674aac91102f2da87f8, type: 3}
propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_Target
value:
objectReference: {fileID: 2104988513}
- target: {fileID: 6196845492450198521, guid: 91b280356e2a9674aac91102f2da87f8, type: 3}
propertyPath: m_SizeDelta.x
value: 40
objectReference: {fileID: 0}
- target: {fileID: 6196845492450198521, guid: 91b280356e2a9674aac91102f2da87f8, type: 3}
propertyPath: m_SizeDelta.y
value: 40
objectReference: {fileID: 0}
- target: {fileID: 6196845492450198521, guid: 91b280356e2a9674aac91102f2da87f8, type: 3}
propertyPath: m_AnchoredPosition.x
value: 62
objectReference: {fileID: 0}
- target: {fileID: 6585843140075087386, guid: 91b280356e2a9674aac91102f2da87f8, type: 3}
propertyPath: m_SizeDelta.x
value: 40
objectReference: {fileID: 0}
- target: {fileID: 6585843140075087386, guid: 91b280356e2a9674aac91102f2da87f8, type: 3}
propertyPath: m_SizeDelta.y
value: 40
objectReference: {fileID: 0}
- target: {fileID: 6963521550414918420, guid: 91b280356e2a9674aac91102f2da87f8, type: 3}
propertyPath: m_Sprite
value:
objectReference: {fileID: 0}
- target: {fileID: 7249862808015034683, guid: 91b280356e2a9674aac91102f2da87f8, type: 3}
propertyPath: m_SizeDelta.x
value: 40
objectReference: {fileID: 0}
- target: {fileID: 7249862808015034683, guid: 91b280356e2a9674aac91102f2da87f8, type: 3}
propertyPath: m_SizeDelta.y
value: 40
objectReference: {fileID: 0}
- target: {fileID: 7249862808015034683, guid: 91b280356e2a9674aac91102f2da87f8, type: 3}
propertyPath: m_AnchoredPosition.x
value: -40
objectReference: {fileID: 0}
- target: {fileID: 7268607606997911002, guid: 91b280356e2a9674aac91102f2da87f8, type: 3}
propertyPath: m_Sprite
value:
objectReference: {fileID: 0}
- target: {fileID: 7358382285419412982, guid: 91b280356e2a9674aac91102f2da87f8, type: 3}
propertyPath: m_Name
value: Panel_Top
objectReference: {fileID: 0}
- target: {fileID: 7441148246358390107, guid: 91b280356e2a9674aac91102f2da87f8, type: 3}
propertyPath: m_Sprite
value:
objectReference: {fileID: 21300000, guid: 9755c3d522fc8f343864cb84d8e77fcc, type: 3}
- target: {fileID: 7518208016282119662, guid: 91b280356e2a9674aac91102f2da87f8, type: 3}
propertyPath: m_Sprite
value:
objectReference: {fileID: 21300000, guid: b972b82978d785c4298a2667d705e38f, type: 3}
- target: {fileID: 7595961237773094876, guid: 91b280356e2a9674aac91102f2da87f8, type: 3}
propertyPath: m_Colors.m_PressedColor.b
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7595961237773094876, guid: 91b280356e2a9674aac91102f2da87f8, type: 3}
propertyPath: m_Colors.m_PressedColor.g
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7595961237773094876, guid: 91b280356e2a9674aac91102f2da87f8, type: 3}
propertyPath: m_Colors.m_PressedColor.r
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7608769449361533241, guid: 91b280356e2a9674aac91102f2da87f8, type: 3}
propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_Target
value:
objectReference: {fileID: 2104988513}
- target: {fileID: 7631688720985287691, guid: 91b280356e2a9674aac91102f2da87f8, type: 3}
propertyPath: m_SizeDelta.x
value: 40
objectReference: {fileID: 0}
- target: {fileID: 7631688720985287691, guid: 91b280356e2a9674aac91102f2da87f8, type: 3}
propertyPath: m_SizeDelta.y
value: 40
objectReference: {fileID: 0}
- target: {fileID: 7631688720985287691, guid: 91b280356e2a9674aac91102f2da87f8, type: 3}
propertyPath: m_AnchoredPosition.x
value: -20
objectReference: {fileID: 0}
- target: {fileID: 7631688720985287691, guid: 91b280356e2a9674aac91102f2da87f8, type: 3}
propertyPath: m_AnchoredPosition.y
value: -6
objectReference: {fileID: 0}
- target: {fileID: 7723225891300246667, guid: 91b280356e2a9674aac91102f2da87f8, type: 3}
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
- target: {fileID: 8899784082918223576, guid: 91b280356e2a9674aac91102f2da87f8, type: 3}
propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_Target
value:

View File

@@ -1,145 +0,0 @@
using Newtonsoft.Json.Linq;
using UnityEngine;
using System.Collections;
using System.Collections.Concurrent;
using System.Collections.Generic;
using UnityEngine.Events;
using Octopus.Simulator.Networks;
public class SimulationModelProcess : SimulationModel
{
public string eventUsingQueue = "processor_using_queue";
public string eventUsingStore = "processor_using_store";
public string eventStartBatch = "processor_batch_started";
public string eventOutputQueue = "processor_output_queue";
public List<GameObject> listProducts = new List<GameObject>();
public Transform productPos;
public UnityEvent onProcessStart;
public UnityEvent onProcessEnd;
int productCount = 0;
float processTime = 0;
float elapsedTime = 0;
ConcurrentQueue<JObject> dataQueue;
bool startBatch = false;
// Start is called once before the first execution of Update after the MonoBehaviour is created
void Start()
{
}
// Update is called once per frame
void Update()
{
if (!startBatch) return;
elapsedTime += Time.deltaTime;
if (elapsedTime > processTime)
{
onProcessEnd?.Invoke();
startBatch = false;
}
}
protected override IEnumerator RunSimulationCoroutine()
{
yield return new WaitUntil(() => !string.IsNullOrEmpty(nodeID));
while (dataQueue == null)
{
dataQueue = MQTTDataBase.Instance.GetDataQueue(nodeID);
if (dataQueue == null)
yield return null;
else
break;
}
while (true)
{
if (dataQueue.IsEmpty)
{
yield return null;
continue;
}
if (dataQueue.TryDequeue(out JObject currentData))
{
string eventKey = "_event";
if (currentData.ContainsKey(eventKey))
{
string value = currentData[eventKey].ToString();
if (value.Contains(eventUsingQueue))
{
string[] queueIDKey = { "data", "queue_name" };
string[] loadCountKey = { "data", "required_items" };
string queueID = GetJsonValue(currentData, queueIDKey)?.ToString();
int loadCount = GetJsonIntValue(currentData, loadCountKey);
SimulationModel model = DataManager.I.GetModel(queueID);
SimulationModelStore storeModel = (SimulationModelStore)model;
for (int i = 0; i < loadCount; i++)
{
GameObject product = null;
yield return new WaitUntil(() => {
product = storeModel.GetProduct();
return product != null;
});
product.transform.parent = productPos;
product.transform.localPosition = Vector3.zero;
product.transform.localRotation = Quaternion.identity;
listProducts.Add(product);
}
}
else if (value.Contains(eventUsingStore))
{
string[] queueIDKey = { "data", "store_name" };
string[] loadCountKey = { "data", "required_items" };
string queueID = GetJsonValue(currentData, queueIDKey)?.ToString();
int loadCount = GetJsonIntValue(currentData, loadCountKey);
SimulationModel model = DataManager.I.GetModel(queueID);
SimulationModelStore storeModel = (SimulationModelStore)model;
for (int i = 0; i < loadCount; i++)
{
GameObject product = null;
yield return new WaitUntil(() => {
product = storeModel.GetProduct();
return product != null;
});
product.transform.parent = productPos;
product.transform.localPosition = Vector3.zero;
product.transform.localRotation = Quaternion.identity;
listProducts.Add(product);
}
}
else if (value.Contains(eventStartBatch))
{
string[] productCountKey = { "data", "product_count" };
string[] processTimeKey = { "data", "processing_time" };
int productCount = GetJsonIntValue(currentData, productCountKey);
processTime = GetJsonFloatValue(currentData, processTimeKey);
elapsedTime = 0;
startBatch = true;
onProcessStart?.Invoke();
}
else if (value.Contains(eventOutputQueue))
{
string[] outputQueueKey = { "data", "queue_name" };
string[] productCountKey = { "data", "products_to_add" };
string queueID = GetJsonValue(currentData, outputQueueKey)?.ToString();
int productCount = GetJsonIntValue(currentData, productCountKey);
SimulationModel model = DataManager.I.GetModel(queueID);
SimulationModelStore storeModel = (SimulationModelStore)model;
for (int i = 0; i < productCount; i++)
{
if (listProducts.Count > 0)
{
GameObject product = listProducts[0];
storeModel.StoreProduct(product);
listProducts.Remove(product);
}
else
{
Debug.LogWarning("Trying to unload from empty transporter : " + nodeID);
}
}
}
}
}
yield return null;
}
yield return null;
}
}

View File

@@ -1,5 +1,9 @@
using UnityEngine;
public class SimulationModelProduct : SimulationModel
{
{
public override void GetData(string data)
{
throw new System.NotImplementedException();
}
}

View File

@@ -2,15 +2,8 @@ using UnityEngine;
public class SimulationModelResource : SimulationModel
{
// Start is called once before the first execution of Update after the MonoBehaviour is created
void Start()
public override void GetData(string data)
{
}
// Update is called once per frame
void Update()
{
throw new System.NotImplementedException();
}
}

View File

@@ -1,73 +0,0 @@
using Newtonsoft.Json.Linq;
using System.Collections.Concurrent;
using UnityEngine;
using System.Collections;
using Octopus.Simulator.Networks;
public class SimulationModelSink : SimulationModel
{
public string eventShipItem = "items_shipped_successfully";
public string eventRemoveItem = "item_removed_from_queue";
public int totalShipped = 0;
ConcurrentQueue<JObject> dataQueue;
// Start is called once before the first execution of Update after the MonoBehaviour is created
void Start()
{
}
// Update is called once per frame
void Update()
{
}
protected override IEnumerator RunSimulationCoroutine()
{
yield return new WaitUntil(() => !string.IsNullOrEmpty(nodeID));
while (dataQueue == null)
{
dataQueue = MQTTDataBase.Instance.GetDataQueue(nodeID);
if (dataQueue == null)
yield return null;
else
break;
}
while (true)
{
if (dataQueue.IsEmpty)
{
yield return null;
continue;
}
if (dataQueue.TryDequeue(out JObject currentData))
{
string eventKey = "_event";
if (currentData.ContainsKey(eventKey))
{
string value = currentData[eventKey].ToString();
if (value.Contains(eventShipItem))
{
}
else if (value.Contains(eventRemoveItem))
{
string[] queueIDKey = { "data", "queue_name" };
string[] queueRemainKey = { "data", "remaining_queue_length" };
string queueID = GetJsonValue(currentData, queueIDKey)?.ToString();
int queueCapacity = GetJsonIntValue(currentData, queueRemainKey);
SimulationModel model = DataManager.I.GetModel(queueID);
SimulationModelStore storeModel = (SimulationModelStore)model;
while (storeModel.storedProducts.Count > queueCapacity)
{
//Destroy(storeModel.GetProduct());
totalShipped++;
yield return null;
}
}
}
}
yield return null;
}
yield return null;
}
}

View File

@@ -1,115 +0,0 @@
using System.Collections.Concurrent;
using System.Collections.Generic;
using UnityEngine;
using System.Collections;
using Newtonsoft.Json.Linq;
using Octopus.Simulator.Networks;
public class SimulationModelSource : SimulationModel
{
public string eventGenerateProduct = "product_generated";
public string eventGenerateDefect = "product_defective";
public string eventQueueProduct = "product_queued";
public GameObject productPrefab;
public GameObject defectPrefab;
public List<GameObject> listProducts = new List<GameObject>();
public List<GameObject> listDefects = new List<GameObject>();
public Transform productPos;
public Vector3 productDistance = new Vector3(0, 0.321f, 0);
//ConcurrentQueue<Dictionary<string, object>> dataQueue;
ConcurrentQueue<JObject> dataQueue;
int productCount = 0;
int defectCount = 0;
void Update()
{
int interval = 0;
if (productCount != listProducts.Count)
{
productCount = listProducts.Count;
for (int i = 0; i < productCount; i++)
{
GameObject gb = listProducts[i];
gb.transform.localPosition = productDistance * interval;
interval++;
}
}
if (defectCount != listDefects.Count)
{
defectCount = listDefects.Count;
for (int i = 0; i < defectCount; i++)
{
GameObject gb = listDefects[i];
gb.transform.localPosition = productDistance * interval;
interval++;
}
}
}
protected override IEnumerator RunSimulationCoroutine()
{
yield return new WaitUntil(() => !string.IsNullOrEmpty(nodeID));
while (dataQueue == null)
{
dataQueue = MQTTDataBase.Instance.GetDataQueue(nodeID);
if (dataQueue == null)
yield return null;
else
break;
}
while (true)
{
if (dataQueue.IsEmpty)
{
yield return null;
continue;
}
if (dataQueue.TryDequeue(out JObject currentData))
{
string eventKey = "_event";
if (currentData.ContainsKey(eventKey))
{
string value = currentData[eventKey].ToString();
if (value.Contains(eventGenerateProduct))
{
GameObject gb = Instantiate(productPrefab, productPos);
listProducts.Add(gb);
}
else if (value.Contains(eventGenerateDefect))
{
GameObject gb = Instantiate(defectPrefab, productPos);
listProducts.Add(gb);
}
else if (value.Contains(eventQueueProduct))
{
string[] queueIDKey = { "data", "queue" };
string[] capacityKey = { "data", "queue_length" };
string[] storeTypeKey = { "data", "queue_type" };
string queueID = GetJsonValue(currentData, queueIDKey)?.ToString();
int queueCapacity = GetJsonIntValue(currentData, capacityKey);
string storeType = GetJsonValue(currentData, storeTypeKey)?.ToString();
SimulationModel model = DataManager.I.GetModel(queueID);
GameObject product = null;
if (listProducts.Count > 0)
{
product = listProducts[0];
listProducts.Remove(product);
}
else if (listDefects.Count > 0)
{
product = listDefects[0];
listDefects.Remove(product);
}
if (model != null && product != null)
{
SimulationModelStore storeModel = (SimulationModelStore)model;
storeModel.maxCapacity = queueCapacity;
storeModel.storeType = storeType;
storeModel.StoreProduct(product);
}
}
}
}
yield return null;
}
yield return null;
}
}

View File

@@ -0,0 +1,154 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &6559360343920525660
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 7374929338666446432}
m_Layer: 0
m_Name: Models
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &7374929338666446432
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6559360343920525660}
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:
- {fileID: 6052881152895185930}
m_Father: {fileID: 6733763396490065076}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &8981091474273742600
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 6733763396490065076}
- component: {fileID: 3778496298057829303}
m_Layer: 0
m_Name: Source_Pallet 1
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &6733763396490065076
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8981091474273742600}
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:
- {fileID: 7374929338666446432}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &3778496298057829303
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8981091474273742600}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: b2c92ea944db86b48b0e0b711555ea37, type: 3}
m_Name:
m_EditorClassIdentifier:
modelName: Pallet
modelType: 1
modelID:
nodeID:
eventGenerateProduct: product_generated
eventGenerateDefect: product_defective
eventQueueProduct: product_queued
productPrefab: {fileID: 3554305899873773484, guid: a0607d71a04b3f4459be2d9646fcb429, type: 3}
defectPrefab: {fileID: 3554305899873773484, guid: cdaf18132be58d64ebab6d9d81fffbd9, type: 3}
listProducts: []
listDefects: []
productPos: {fileID: 0}
productDistance: {x: 0, y: 0.321, z: 0}
--- !u!1001 &1125099510866031357
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
serializedVersion: 3
m_TransformParent: {fileID: 7374929338666446432}
m_Modifications:
- target: {fileID: 5825089394656910413, guid: 71cb5b14e9e72d047acd0f48e86dbccc, type: 3}
propertyPath: m_Name
value: "\uD314\uB81B\uD2B8"
objectReference: {fileID: 0}
- target: {fileID: 6601449523113608951, guid: 71cb5b14e9e72d047acd0f48e86dbccc, type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6601449523113608951, guid: 71cb5b14e9e72d047acd0f48e86dbccc, type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6601449523113608951, guid: 71cb5b14e9e72d047acd0f48e86dbccc, type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6601449523113608951, guid: 71cb5b14e9e72d047acd0f48e86dbccc, type: 3}
propertyPath: m_LocalRotation.w
value: 0.7071068
objectReference: {fileID: 0}
- target: {fileID: 6601449523113608951, guid: 71cb5b14e9e72d047acd0f48e86dbccc, type: 3}
propertyPath: m_LocalRotation.x
value: -0.7071068
objectReference: {fileID: 0}
- target: {fileID: 6601449523113608951, guid: 71cb5b14e9e72d047acd0f48e86dbccc, type: 3}
propertyPath: m_LocalRotation.y
value: -0
objectReference: {fileID: 0}
- target: {fileID: 6601449523113608951, guid: 71cb5b14e9e72d047acd0f48e86dbccc, type: 3}
propertyPath: m_LocalRotation.z
value: -0
objectReference: {fileID: 0}
- target: {fileID: 6601449523113608951, guid: 71cb5b14e9e72d047acd0f48e86dbccc, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6601449523113608951, guid: 71cb5b14e9e72d047acd0f48e86dbccc, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6601449523113608951, guid: 71cb5b14e9e72d047acd0f48e86dbccc, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 71cb5b14e9e72d047acd0f48e86dbccc, type: 3}
--- !u!4 &6052881152895185930 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 6601449523113608951, guid: 71cb5b14e9e72d047acd0f48e86dbccc, type: 3}
m_PrefabInstance: {fileID: 1125099510866031357}
m_PrefabAsset: {fileID: 0}

View File

@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 06b98fd7ba214da4ebafbbb341ef802a
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -37,10 +37,10 @@ namespace Octopus.Simulator
};
componentMap = new Dictionary<ComponentType, Sprite>()
{
{ ComponentType.Product_Generator,productGeneratorIcon },
{ ComponentType.Source,productGeneratorIcon },
{ ComponentType.Processor,processorIcon },
{ ComponentType.Transporter,transporterIcon },
{ ComponentType.Shipment,shipmentIcon },
{ ComponentType.Move,transporterIcon },
{ ComponentType.Sink,shipmentIcon },
{ ComponentType.Conveyor,transporterIcon },
};

View File

@@ -122,10 +122,10 @@ namespace Octopus.Simulator
public enum ComponentType
{
Product_Generator,
Source,
Processor,
Transporter,
Shipment,
Move,
Sink,
Conveyor
}
@@ -194,7 +194,7 @@ namespace Octopus.Simulator
}
[Serializable]
public class ProductGenerator : ILogicComponent
public class Source : ILogicComponent
{
public string? name;
public int? rate = 0;
@@ -208,10 +208,10 @@ namespace Octopus.Simulator
public int defect_rate;
public int? period = 0;
public int? capacity = 0;
public override string? Name => name;
public override string? Description => description;
public override string? Label => label;
public override ComponentType Type => ComponentType.Product_Generator;
public override string Name => name;
public override string Description => description;
public override string Label => label;
public override ComponentType Type => ComponentType.Source;
}
[Serializable]
@@ -235,51 +235,51 @@ namespace Octopus.Simulator
}
[Serializable]
public class Transporter : ILogicComponent
public class Move : ILogicComponent
{
public string? name;
public string? description;
public string? label;
public int? transport_time = 0;
public float? transport_distance = 0f;
public float? movement_speed = 0f;
public string name;
public string description;
public string label;
public int? move_time = 0;
public float? move_distance = 0f;
public float? move_speed = 0f;
public int? capacity = 0;
public string? input_queue;
public string? output_queue;
public string? defect_queue;
public string? required_resource;
public string? transporter_type;
public string input_queue;
public string output_queue;
public string defect_queue;
public string required_resource;
public string move_type;
public float return_time;
public int min_batch_size;
public override string? Name => name;
public override string? Description => description;
public override string? Label => label;
public override ComponentType Type => ComponentType.Transporter;
public override string Name => name;
public override string Description => description;
public override string Label => label;
public override ComponentType Type => ComponentType.Move;
}
[Serializable]
public class Shipment : ILogicComponent
public class Sink : ILogicComponent
{
public string? name;
public string? description;
public string? label;
public int? shipping_interval = 0;
public int? shipping_amount = 0;
public int? sinking_interval = 0;
public int? sinking_amount = 0;
public List<InputQueue>? input_queues;
public override string? Name => name;
public override string? Description => description;
public override string? Label => label;
public override ComponentType Type => ComponentType.Shipment;
public override ComponentType Type => ComponentType.Sink;
}
[Serializable]
public class Conveyor : ILogicComponent
{
public string? name;
public string? description;
public string? label;
public int move_time;
public string name;
public string description;
public string label;
public int? move_time=0;
public float belt_speed;
public int? capacity = 0;
public string? input_queue;
@@ -480,12 +480,11 @@ namespace Octopus.Simulator
// 타입별 인스턴스 생성
ILogicComponent comp = type switch
{
"product_generator" => new ProductGenerator(),
"source" => new Source(),
"processor" => new Processor(),
"transporter" => new Transporter(),
"shipment" => new Shipment(),
"move" => new Move(),
"sink" => new Sink(),
"conveyor" => new Conveyor(),
"store" => new Conveyor(),
_ => throw new NotSupportedException($"지원하지 않는 component type: {type}")
};

View File

@@ -15,17 +15,14 @@ namespace Octopus.Simulator
{
mappingObjectDict[name] = target;
target.nodeID = name;
target.SetPopupData();
}
else
{
mappingObjectDict[name].DeletePopupData();
mappingObjectDict.Remove(name);
}
}
else
{
target.SetPopupData();
mappingObjectDict.Add(name, target);
target.nodeID = name;
}

View File

@@ -20,7 +20,7 @@ namespace Octopus.Simulator.Networks
public void AddDict(string key, string value)
{
Debug.Log("#### : " + key + " : " + value);
//Debug.Log("#### : " + key + " : " + value);
JObject json = JObject.Parse(value);
var queue = mqttData.GetOrAdd(key, _ => new ConcurrentQueue<JObject>());
queue.Enqueue(json);

View File

@@ -14,6 +14,7 @@ namespace Octopus.Simulator.Networks
public static MQTTManager mqttManager;
public Dictionary<string, MQTTClient> clientTable = new Dictionary<string, MQTTClient>();
public BaseSimulationMessage basemessage;
public MQTTDataDistributer distributer;
public event Action<string, string> onMessageReceived;
@@ -31,6 +32,11 @@ namespace Octopus.Simulator.Networks
SetMqttConfig();
}
private void Start()
{
distributer = MQTTDataDistributer.Instance;
}
public void SetMqttConfig()
{
TextAsset json = Resources.Load<TextAsset>(MQTTpath);
@@ -116,6 +122,7 @@ namespace Octopus.Simulator.Networks
{
basemessage = JsonConvert.DeserializeObject<BaseSimulationMessage>(payload);
MQTTDataBase.Instance.AddDict(basemessage.component_id, payload);
distributer.Distribute(basemessage.component_id, payload);
}
if (topicName.Contains("middleware"))
{

View File

@@ -14,6 +14,7 @@ GameObject:
- component: {fileID: 6191105916327120908}
- component: {fileID: 8343195631698366838}
- component: {fileID: 3408166986665272114}
- component: {fileID: 5971518917654927081}
m_Layer: 0
m_Name: NetworkManager
m_TagString: Untagged
@@ -50,8 +51,8 @@ MonoBehaviour:
m_EditorClassIdentifier:
basemessage:
component_id:
distributer: {fileID: 0}
MQTTpath: MQTTConfig
_topic:
--- !u!114 &8164125700257988699
MonoBehaviour:
m_ObjectHideFlags: 0
@@ -106,12 +107,6 @@ MonoBehaviour:
config:
nodes: []
edges: []
UIPrefabPath: UIPrefab
LogicPrefab: {fileID: 0}
LinePrefab: {fileID: 0}
LogicWindow: {fileID: 0}
LogicContent: {fileID: 0}
backGround: {fileID: 0}
references:
version: 2
RefIds: []
@@ -142,6 +137,18 @@ MonoBehaviour:
text: {fileID: 0}
projectMenuButton: {fileID: 0}
menuPanel: {fileID: 0}
--- !u!114 &5971518917654927081
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1392524223077930677}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 71e088f68ecd7ca4d96932d185270f94, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1 &2069922514250663687
GameObject:
m_ObjectHideFlags: 0
@@ -152,6 +159,7 @@ GameObject:
m_Component:
- component: {fileID: 5366961481726599031}
- component: {fileID: 4739726380097546759}
- component: {fileID: 760967818649470882}
m_Layer: 0
m_Name: Manager
m_TagString: Untagged
@@ -194,6 +202,18 @@ MonoBehaviour:
logicId:
simulationId:
modelId:
--- !u!114 &760967818649470882
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2069922514250663687}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 7625fed507a93284c98c450bebdc4ce9, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1 &6518512601816170710
GameObject:
m_ObjectHideFlags: 0

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 35f1365f676483d4f954575ec13c4fbe
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,22 @@
using Octopus.Simulator;
using UnityEngine;
public class MQTTDataDistributer : MonoBehaviour
{
public static MQTTDataDistributer Instance;
// Start is called once before the first execution of Update after the MonoBehaviour is created
private void Awake()
{
Instance = this;
}
public void Distribute(string id, string data)
{
var simulationModel = LogicMappingDataBase.GetGameObject(id);
if (simulationModel)
{
simulationModel.GetData(data);
}
}
}

View File

@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 71e088f68ecd7ca4d96932d185270f94

View File

@@ -0,0 +1,12 @@
using UnityEngine;
using System;
[Serializable]
public class SimulationDefaultJson
{
public string type;
public string _event;
public string component_type;
public string component_id;
public object data;
}

View File

@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 1af3e01803c699841954328518aedbd9

View File

@@ -1,6 +1,5 @@
using UnityEngine;
using System.Collections;
using Newtonsoft.Json.Linq;
using Newtonsoft.Json;
using System.Collections.Generic;
using Octopus.Simulator;
@@ -18,12 +17,13 @@ public enum SimulationModelType
Sink
}
public class SimulationModel : MonoBehaviour, IClickable
public abstract class SimulationModel : MonoBehaviour, IClickable
{
public string modelName;
public SimulationModelType modelType;
public string modelID;
public string nodeID;
public string eventKey;
private bool isQuitting = false;
public Action<SimulationModel> onModelClicked;
void Awake()
@@ -54,7 +54,6 @@ public class SimulationModel : MonoBehaviour, IClickable
}
public void OnClick()
{
//Debug.Log("Clicked : " + gameObject.name);
onModelClicked?.Invoke(this);
}
void FitCollider()
@@ -76,66 +75,6 @@ public class SimulationModel : MonoBehaviour, IClickable
{
yield return null;
}
public object GetJsonValue(JToken token, IEnumerable<string> path)
{
foreach (var key in path)
{
if (token == null) return null;
token = token[key];
}
return token;
}
public JArray GetJsonArray(JToken token, IEnumerable<string> path)
{
foreach (var key in path)
{
if (token == null) return null;
token = token[key];
}
return token as JArray;
}
public int GetJsonIntValue(JToken token, IEnumerable<string> path)
{
int value = 0;
foreach (var key in path)
{
if (token == null) return 0;
token = token[key];
}
if (token != null && int.TryParse(token.ToString(), out value))
{
return value;
}
return 0;
}
public float GetJsonFloatValue(JToken token, IEnumerable<string> path)
{
float value = 0;
foreach (var key in path)
{
if (token == null) return 0;
token = token[key];
}
if (token != null && float.TryParse(token.ToString(), out value))
{
return value;
}
return 0;
}
public void UpdatePopupData(string json)
{
var wrapper=JsonConvert.DeserializeObject<mqttwrab>(json);
}
public void SetPopupData()
{
var ldmanager = FindAnyObjectByType<LogicDataManager>();
}
public void DeletePopupData()
{
}
public abstract void GetData(string data);
}

View File

@@ -6,6 +6,7 @@ using System.Collections;
using Newtonsoft.Json.Linq;
using System.Collections.Concurrent;
using Octopus.Simulator.Networks;
using Best.HTTP.SecureProtocol.Org.BouncyCastle.Asn1.Pkcs;
public class SimulationModelConveyor : SimulationModel
{
@@ -28,7 +29,7 @@ public class SimulationModelConveyor : SimulationModel
// Update is called once per frame
void Update()
{
if ( moveTargetCargo != null)
if (moveTargetCargo != null)
{
startPosition = this.transform.Find(nameof(startPosition)).transform.position;
endPosition = this.transform.Find(nameof(endPosition)).transform.position;
@@ -39,7 +40,7 @@ public class SimulationModelConveyor : SimulationModel
{
moveTargetCargo.transform.position = Vector3.Lerp(startPosition, endPosition, elapseTime / transportTime);
}
else if ( elapseTime > transportTime )
else if (elapseTime > transportTime)
{
moveTargetCargo = null;
elapseTime = 0;
@@ -48,7 +49,7 @@ public class SimulationModelConveyor : SimulationModel
}
}
/*
protected override IEnumerator RunSimulationCoroutine()
{
yield return new WaitUntil(() => !string.IsNullOrEmpty(nodeID));
@@ -174,6 +175,100 @@ public class SimulationModelConveyor : SimulationModel
}
}
*/
public override void GetData(string data)
{
var wrapclass = JsonConvert.DeserializeObject<SimulationDefaultJson>(data);
if (wrapclass._event.Contains("conveyor_started"))
{
ConveyorStartedEventMessage startDataMessage
= JsonConvert.DeserializeObject<ConveyorStartedEventMessage>(data);
Debug.Log("conveyor"+startDataMessage.Data.InputQueues.ToString() + this.name);
transportTime = (int)startDataMessage.Data.MoveTime;
if (startDataMessage.Data.InputQueues.Count != 0)
{
inputQueueID = startDataMessage.Data.InputQueues[0].Queue;
}
if (startDataMessage.Data.InputStores.Count != 0)
{
inputStoreID = startDataMessage.Data.InputStores[0].Queue;
}
}
if (wrapclass._event.Contains("conveyor_loading"))
{
//targetCargo = Instantiate(this.gameObject);
//var resourcePath = "Models";
//var tmpModel = Resources.Load<GameObject>(string.Format("{0}/{1}", resourcePath, "Box_Pallet"));
//targetCargo = Instantiate(tmpModel);
SimulationModel model;
Debug.Log($"queue{inputQueueID}");
Debug.Log($"store{inputStoreID}");
if (!string.IsNullOrEmpty(inputQueueID))
{
model = DataManager.I.GetModel(inputQueueID);
}
else
{
model = DataManager.I.GetModel(inputStoreID);
}
SimulationModelStore storeModel = model.GetComponent<SimulationModelStore>();
if (moveTargetCargo == null)
{
moveTargetCargo = storeModel.GetProduct();
storedCargo = moveTargetCargo;
moveTargetCargo.transform.position = startPosition;
moveTargetCargo.transform.rotation = Quaternion.identity;
}
ConveyorLoadingEventMessage message
= JsonConvert.DeserializeObject<ConveyorLoadingEventMessage>(data);
Debug.Log(message);
}
if (wrapclass._event.Contains("conveyor_unloading"))
{
Debug.Log("unloading");
if (wrapclass._event.Contains("_to_queue"))
{
ConveyorUnloadingToQueueEventMessage message
= JsonConvert.DeserializeObject<ConveyorUnloadingToQueueEventMessage>(data);
string destinationID = message.Data.QueueName;
SimulationModel model = DataManager.I.GetModel(destinationID);
SimulationModelStore storemodel = model.GetComponent<SimulationModelStore>();
storemodel.StoreProduct(storedCargo);
storedCargo = null;
}
else if (wrapclass._event.Contains("_to_store"))
{
ConveyorUnloadingToStoreEventMessage message
= JsonConvert.DeserializeObject<ConveyorUnloadingToStoreEventMessage>(data);
string destinationID = message.Data.StoreName;
SimulationModel model = DataManager.I.GetModel(destinationID);
SimulationModelStore storemodel = model.GetComponent<SimulationModelStore>();
storemodel.StoreProduct(storedCargo);
storedCargo = null;
}
}
}
}
[Serializable]
@@ -418,7 +513,7 @@ public class ConveyorStartedData
public string? ConveyorLabel { get; set; }
[JsonProperty("move_time")]
public int? MoveTime { get; set; }
public float? MoveTime { get; set; }
[JsonProperty("belt_speed")]
public float? BeltSpeed { get; set; }
@@ -530,122 +625,122 @@ public class ConveyorLoadingData
}
[Serializable]
public class ConveyorEventMessage
{
[JsonProperty("type")]
public string? Type { get; set; }
public class ConveyorEventMessage
{
[JsonProperty("type")]
public string? Type { get; set; }
[JsonProperty("_event")]
public string? Event { get; set; }
[JsonProperty("_event")]
public string? Event { get; set; }
[JsonProperty("component_type")]
public string? ComponentType { get; set; }
[JsonProperty("component_type")]
public string? ComponentType { get; set; }
[JsonProperty("component_id")]
public string? ComponentId { get; set; }
[JsonProperty("component_id")]
public string? ComponentId { get; set; }
[JsonProperty("component_label")]
public string? ComponentLabel { get; set; }
[JsonProperty("component_label")]
public string? ComponentLabel { get; set; }
[JsonProperty("simulation_time")]
public float? SimulationTime { get; set; }
[JsonProperty("simulation_time")]
public float? SimulationTime { get; set; }
[JsonProperty("data")]
public ConveyorEventData? Data { get; set; }
}
[JsonProperty("data")]
public ConveyorEventData? Data { get; set; }
}
[Serializable]
public class ConveyorEventData
{
[JsonProperty("conveyor_id")]
public string? ConveyorId { get; set; }
[Serializable]
public class ConveyorEventData
{
[JsonProperty("conveyor_id")]
public string? ConveyorId { get; set; }
[JsonProperty("conveyor_label")]
public string? ConveyorLabel { get; set; }
[JsonProperty("conveyor_label")]
public string? ConveyorLabel { get; set; }
[JsonProperty("move_time")]
public int? MoveTime { get; set; }
[JsonProperty("move_time")]
public int? MoveTime { get; set; }
[JsonProperty("belt_speed")]
public float? BeltSpeed { get; set; }
[JsonProperty("belt_speed")]
public float? BeltSpeed { get; set; }
[JsonProperty("belt_length")]
public float? BeltLength { get; set; }
[JsonProperty("belt_length")]
public float? BeltLength { get; set; }
[JsonProperty("capacity")]
public int? Capacity { get; set; }
[JsonProperty("capacity")]
public int? Capacity { get; set; }
[JsonProperty("min_gap")]
public float? MinGap { get; set; }
[JsonProperty("min_gap")]
public float? MinGap { get; set; }
[JsonProperty("input_queues")]
public List<InputQueue>? InputQueues { get; set; }
[JsonProperty("input_queues")]
public List<InputQueue>? InputQueues { get; set; }
[JsonProperty("output_queue")]
public string? OutputQueue { get; set; }
[JsonProperty("output_queue")]
public string? OutputQueue { get; set; }
[JsonProperty("defect_queue")]
public string? DefectQueue { get; set; }
[JsonProperty("defect_queue")]
public string? DefectQueue { get; set; }
[JsonProperty("required_resource")]
public string? RequiredResource { get; set; }
[JsonProperty("required_resource")]
public string? RequiredResource { get; set; }
[JsonProperty("items_on_belt")]
public int? ItemsOnBelt { get; set; }
}
[JsonProperty("items_on_belt")]
public int? ItemsOnBelt { get; set; }
}
[Serializable]
public class ConveyorMovingEventMessage
{
[JsonProperty("type")]
public string? Type { get; set; }
[Serializable]
public class ConveyorMovingEventMessage
{
[JsonProperty("type")]
public string? Type { get; set; }
[JsonProperty("_event")]
public string? Event { get; set; }
[JsonProperty("_event")]
public string? Event { get; set; }
[JsonProperty("component_type")]
public string? ComponentType { get; set; }
[JsonProperty("component_type")]
public string? ComponentType { get; set; }
[JsonProperty("component_id")]
public string? ComponentId { get; set; }
[JsonProperty("component_id")]
public string? ComponentId { get; set; }
[JsonProperty("component_label")]
public string? ComponentLabel { get; set; }
[JsonProperty("component_label")]
public string? ComponentLabel { get; set; }
[JsonProperty("simulation_time")]
public float? SimulationTime { get; set; }
[JsonProperty("simulation_time")]
public float? SimulationTime { get; set; }
[JsonProperty("data")]
public ConveyorMovingData? Data { get; set; }
}
[JsonProperty("data")]
public ConveyorMovingData? Data { get; set; }
}
[Serializable]
public class ConveyorMovingData
{
[JsonProperty("item_positions")]
public List<float>? ItemPositions { get; set; }
[Serializable]
public class ConveyorMovingData
{
[JsonProperty("item_positions")]
public List<float>? ItemPositions { get; set; }
[JsonProperty("average_position")]
public float? AveragePosition { get; set; }
[JsonProperty("average_position")]
public float? AveragePosition { get; set; }
[JsonProperty("current_speed")]
public float? CurrentSpeed { get; set; }
[JsonProperty("current_speed")]
public float? CurrentSpeed { get; set; }
[JsonProperty("conveyor_id")]
public string? ConveyorId { get; set; }
[JsonProperty("conveyor_id")]
public string? ConveyorId { get; set; }
[JsonProperty("conveyor_label")]
public string? ConveyorLabel { get; set; }
[JsonProperty("conveyor_label")]
public string? ConveyorLabel { get; set; }
[JsonProperty("belt_speed")]
public float? BeltSpeed { get; set; }
[JsonProperty("belt_speed")]
public float? BeltSpeed { get; set; }
[JsonProperty("belt_length")]
public float? BeltLength { get; set; }
[JsonProperty("belt_length")]
public float? BeltLength { get; set; }
[JsonProperty("capacity")]
public int? Capacity { get; set; }
[JsonProperty("capacity")]
public int? Capacity { get; set; }
[JsonProperty("items_on_belt")]
public int? ItemsOnBelt { get; set; }
}
[JsonProperty("items_on_belt")]
public int? ItemsOnBelt { get; set; }
}

View File

@@ -1,18 +1,133 @@
using Newtonsoft.Json.Linq;
using UnityEngine;
using System.Collections;
using System;
using System.Collections.Concurrent;
using System.Collections.Generic;
using UnityEngine.Events;
using Octopus.Simulator.Networks;
using Newtonsoft.Json;
[Serializable]
public class MoveDataClass_start
{
public string move_id;
public string move_label;
public string type;
public float move_time;
public int capacity;
public int products_per_batch;
public List<InputQueue> input_queues;
public string output_queue;
public string defect_queue;
public string required_resource;
public float return_time;
public int min_batch_size;
public float loading_delay;
public float unloading_delay;
}
[Serializable]
public class MoveDataClass_loading
{
public string move_id;
public string move_label;
public int loaded_count;
public List<string> source_queues;
public List<string> source_stores;
public float loading_delay;
}
[Serializable]
public class MoveDataClass_Request_Resource
{
public string move_id;
public string move_label;
}
[Serializable]
public class MoveDataClass_Resource_Acquired
{
public string resource;
}
[Serializable]
public class MoveDataClass_Speed_Factor_Applied
{
public float original;
public float adjusted;
}
[Serializable]
public class MoveDataClass_Move_Moving
{
public float time;
public float loading_delay;
public float unloading_delay;
public MoveMovingInput input;
public MoveMovingOutput output;
}
[Serializable]
public class MoveMovingInput
{
public List<string> queues;
public List<string> stores;
}
[Serializable]
public class MoveMovingOutput
{
public string queue;
public string store;
public string defect_queue;
public string defect_store;
}
[Serializable]
public class MoveDataClass_Arrived
{
public int count;
}
[Serializable]
public class MoveDataClass_Unloading_Defect
{
public string product_id;
public string output_queue;
public int output_queue_length;
public float unloading_delay;
}
[Serializable]
public class MoveDataClass_Unloading
{
public string product_id;
public string output_queue;
public int output_queue_length;
public float unloading_delay;
}
[Serializable]
public class MoveDataClass_Unloading_Store
{
public string product_id;
public string store_queue;
public int store_queue_length;
public float unloading_delay;
}
[Serializable]
public class MoveDataClass_returning
{
public float return_time;
}
public class SimulationModelMove : SimulationModel
{
public string eventLoading = "transporter_loading";
public string eventMove = "transporter_moving";
public string eventUnloading = "transporter_unloading";
public string eventSpeed = "transporter_speed_factor_applied";
public string eventReturning = "transporter_returning";
string eventLoading = "move_loading";
string eventMove = "move_moving";
string eventUnloading = "move_unloading";
string eventSpeed = "move_speed_factor_applied";
string eventReturning = "move_returning";
public List<GameObject> listProducts = new List<GameObject>();
public Transform productPos;
public Vector3 productDistance = new Vector3(0, 0.321f, 0);
@@ -44,7 +159,7 @@ public class SimulationModelMove : SimulationModel
}
if (destination != null)
{
elapsedTime += Time.deltaTime;
elapsedTime += Time.deltaTime;
if (elapsedTime / arrivalTime > 1.0f)
{
@@ -61,9 +176,10 @@ public class SimulationModelMove : SimulationModel
transform.forward = dir;
prevPos = transform.position;
}
}
}
/*
protected override IEnumerator RunSimulationCoroutine()
{
yield return new WaitUntil(() => !string.IsNullOrEmpty(nodeID));
@@ -253,4 +369,136 @@ public class SimulationModelMove : SimulationModel
}
yield return null;
}
*/
public override void GetData(string data)
{
var wrapclass = JsonConvert.DeserializeObject<SimulationDefaultJson>(data);
if (wrapclass._event.Contains(eventLoading))
{
var moveData_loading = JsonConvert.DeserializeObject<MoveDataClass_loading>(wrapclass.data.ToString());
if (moveData_loading.source_queues != null && (moveData_loading.source_queues.Count >= 1))
{
string queueID = moveData_loading.source_queues[0].ToString();
SimulationModel model = DataManager.I.GetModel(queueID);
SimulationModelStore storeModel = (SimulationModelStore)model;
for (int i = 0; i < moveData_loading.loaded_count; i++)
{
GameObject product = null;
product = storeModel.GetProduct();
if (product != null)
{
product.transform.parent = productPos;
product.transform.localPosition = Vector3.zero;
product.transform.localRotation = Quaternion.identity;
listProducts.Add(product);
}
}
}
if (moveData_loading.source_stores != null && (moveData_loading.source_stores.Count >= 1))
{
string storeID = moveData_loading.source_stores[0].ToString();
SimulationModel model = DataManager.I.GetModel(storeID);
SimulationModelStore storeModel = (SimulationModelStore)model;
for (int i = 0; i < moveData_loading.loaded_count; i++)
{
GameObject product = null;
product = storeModel.GetProduct();
if (product != null)
{
product.transform.parent = productPos;
product.transform.localPosition = Vector3.zero;
product.transform.localRotation = Quaternion.identity;
listProducts.Add(product);
}
}
}
}
if (wrapclass._event.Contains(eventMove))
{
elapsedTime = 0;
originalPos = transform.position;
prevPos = transform.position;
var moveData_Move = JsonConvert.DeserializeObject<MoveDataClass_Move_Moving>(wrapclass.data.ToString());
if (moveData_Move.input.queues != null && moveData_Move.input.queues.Count >= 1)
{
string queueID = moveData_Move.input.queues[0].ToString();
SimulationModel model = DataManager.I.GetModel(queueID);
SimulationModelStore storeModel = (SimulationModelStore)model;
origin = storeModel.GetTransporterPosition();
}
else if (moveData_Move.input.stores != null && moveData_Move.input.stores.Count >= 1)
{
string storeID = moveData_Move.input.stores[0].ToString();
SimulationModel model = DataManager.I.GetModel(storeID);
SimulationModelStore storeModel = (SimulationModelStore)model;
origin = storeModel.GetTransporterPosition();
}
if (!string.IsNullOrEmpty(moveData_Move.output.queue))
{
SimulationModel model = DataManager.I.GetModel(moveData_Move.output.queue);
SimulationModelStore storeModel = (SimulationModelStore)model;
destination = storeModel.GetTransporterPosition();
}
else if (!string.IsNullOrEmpty(moveData_Move.output.store))
{
SimulationModel model = DataManager.I.GetModel(moveData_Move.output.store);
SimulationModelStore storeModel = (SimulationModelStore)model;
destination = storeModel.GetTransporterPosition();
}
}
else if (wrapclass._event.Contains(eventUnloading))
{
string targetID = "";
if (wrapclass._event.Contains("unloading_store"))
{
var moveData_unLoading = JsonConvert.DeserializeObject<MoveDataClass_Unloading_Store>(wrapclass.data.ToString());
targetID = moveData_unLoading.store_queue;
}
else
{
var moveData_unLoading = JsonConvert.DeserializeObject<MoveDataClass_Unloading>(wrapclass.data.ToString());
targetID = moveData_unLoading.output_queue;
}
var model = DataManager.I.GetModel(targetID);
SimulationModelStore storeModel = (SimulationModelStore)model;
if (listProducts.Count > 0)
{
GameObject product = listProducts[0];
storeModel.StoreProduct(product);
listProducts.Remove(product);
}
else
{
Debug.LogWarning("Trying to unload from empty transporter : " + nodeID);
}
}
if (wrapclass._event.Contains(eventSpeed))
{
var moveData_Speed = JsonConvert.DeserializeObject<MoveDataClass_Speed_Factor_Applied>(wrapclass.data.ToString());
float originalTime = moveData_Speed.original;
float adjustedTime = moveData_Speed.adjusted;
arrivalTime += adjustedTime - originalTime;
elapsedTime = 0;
originalPos = transform.position;
prevPos = transform.position;
}
if (wrapclass._event.Contains(eventReturning))
{
var moveData_Return = JsonConvert.DeserializeObject<MoveDataClass_returning>(wrapclass.data.ToString());
elapsedTime = 0;
arrivalTime = moveData_Return.return_time;
originalPos = transform.position;
prevPos = transform.position;
if (origin != null)
{
destination = origin;
}
}
}
}

View File

@@ -0,0 +1,356 @@
using Newtonsoft.Json.Linq;
using UnityEngine;
using System;
using System.Collections.Concurrent;
using System.Collections.Generic;
using UnityEngine.Events;
using Octopus.Simulator.Networks;
using Newtonsoft.Json;
[Serializable]
public class ProcessDataClass_start
{
public string processor_id;
public string processor_label;
public int processing_time;
public List<ProcessInputQueue> input_queues;
public List<ProcessInputStore> input_stores;
public string output_queue;
}
[Serializable]
public class ProcessInputQueue
{
public string queue_name;
public int required_items;
}
[Serializable]
public class ProcessInputStore
{
public string store_name;
public int required_items;
}
[Serializable]
public class ProcessDataClass_using_queue
{
public string processor_id;
public string processor_label;
public string queue_name;
public int queue_length;
public int required_items;
public int priority_order;
public string queue_type;
}
[Serializable]
public class ProcessDataClass_using_store
{
public string processor_id;
public string processor_label;
public string store_name;
public int store_length;
public int required_items;
public int priority_order;
public string queue_type;
}
[Serializable]
public class ProcessDataClass_checking_inputs
{
public string processor_id;
public List<ProcessInputQueue> queues;
public List<ProcessInputStore> stores;
}
[Serializable]
public class ProcessDataClass_defects_detected
{
public string processor_id;
public int defect_count;
}
[Serializable]
public class ProcessDataClass_requesting_resource
{
public string processor_id;
public string resource_name;
}
[Serializable]
public class ProcessDataClass_resource_acquired
{
public string processor_id;
public string resource_name;
}
[Serializable]
public class ProcessDataClass_speed_factor_applied
{
public string processor_id;
public string resource_name;
public float original_time;
public float adjusted_time;
public float speed_factor;
}
[Serializable]
public class ProcessDataClass_batch_started
{
public string processor_id;
public int product_count;
public int processing_time;
}
[Serializable]
public class ProcessDataClass_batch_completed
{
public string processor_id;
public int product_count;
}
[Serializable]
public class ProcessDataClass_output_queue
{
public string processor_id;
public string queue_name;
public int queue_length_before;
public int products_to_add;
}
[Serializable]
public class ProcessDataClass_waiting
{
public string processor_id;
public int missing;
}
public class SimulationModelProcess : SimulationModel
{
public string eventUsingQueue = "processor_using_queue";
public string eventUsingStore = "processor_using_store";
public string eventStartBatch = "processor_batch_started";
public string eventOutputQueue = "processor_output_queue";
public List<GameObject> listProducts = new List<GameObject>();
public Transform productPos;
public UnityEvent onProcessStart;
public UnityEvent onProcessEnd;
int productCount = 0;
float processTime = 0;
float elapsedTime = 0;
ConcurrentQueue<JObject> dataQueue;
bool startBatch = false;
// Start is called once before the first execution of Update after the MonoBehaviour is created
void Start()
{
}
// Update is called once per frame
void Update()
{
if (!startBatch) return;
elapsedTime += Time.deltaTime;
if (elapsedTime > processTime)
{
onProcessEnd?.Invoke();
startBatch = false;
}
}
/*
protected override IEnumerator RunSimulationCoroutine()
{
yield return new WaitUntil(() => !string.IsNullOrEmpty(nodeID));
while (dataQueue == null)
{
dataQueue = MQTTDataBase.Instance.GetDataQueue(nodeID);
if (dataQueue == null)
yield return null;
else
break;
}
while (true)
{
if (dataQueue.IsEmpty)
{
yield return null;
continue;
}
if (dataQueue.TryDequeue(out JObject currentData))
{
string eventKey = "_event";
if (currentData.ContainsKey(eventKey))
{
string value = currentData[eventKey].ToString();
if (value.Contains(eventUsingQueue))
{
string[] queueIDKey = { "data", "queue_name" };
string[] loadCountKey = { "data", "required_items" };
string queueID = GetJsonValue(currentData, queueIDKey)?.ToString();
int loadCount = GetJsonIntValue(currentData, loadCountKey);
SimulationModel model = DataManager.I.GetModel(queueID);
SimulationModelStore storeModel = (SimulationModelStore)model;
for (int i = 0; i < loadCount; i++)
{
GameObject product = null;
yield return new WaitUntil(() => {
product = storeModel.GetProduct();
return product != null;
});
product.transform.parent = productPos;
product.transform.localPosition = Vector3.zero;
product.transform.localRotation = Quaternion.identity;
listProducts.Add(product);
}
}
else if (value.Contains(eventUsingStore))
{
string[] queueIDKey = { "data", "store_name" };
string[] loadCountKey = { "data", "required_items" };
string queueID = GetJsonValue(currentData, queueIDKey)?.ToString();
int loadCount = GetJsonIntValue(currentData, loadCountKey);
SimulationModel model = DataManager.I.GetModel(queueID);
SimulationModelStore storeModel = (SimulationModelStore)model;
for (int i = 0; i < loadCount; i++)
{
GameObject product = null;
yield return new WaitUntil(() => {
product = storeModel.GetProduct();
return product != null;
});
product.transform.parent = productPos;
product.transform.localPosition = Vector3.zero;
product.transform.localRotation = Quaternion.identity;
listProducts.Add(product);
}
}
else if (value.Contains(eventStartBatch))
{
string[] productCountKey = { "data", "product_count" };
string[] processTimeKey = { "data", "processing_time" };
int productCount = GetJsonIntValue(currentData, productCountKey);
processTime = GetJsonFloatValue(currentData, processTimeKey);
elapsedTime = 0;
startBatch = true;
onProcessStart?.Invoke();
}
else if (value.Contains(eventOutputQueue))
{
string[] outputQueueKey = { "data", "queue_name" };
string[] productCountKey = { "data", "products_to_add" };
string queueID = GetJsonValue(currentData, outputQueueKey)?.ToString();
int productCount = GetJsonIntValue(currentData, productCountKey);
SimulationModel model = DataManager.I.GetModel(queueID);
SimulationModelStore storeModel = (SimulationModelStore)model;
for (int i = 0; i < productCount; i++)
{
if (listProducts.Count > 0)
{
GameObject product = listProducts[0];
storeModel.StoreProduct(product);
listProducts.Remove(product);
}
else
{
Debug.LogWarning("Trying to unload from empty transporter : " + nodeID);
}
}
}
}
}
yield return null;
}
yield return null;
}
*/
public override void GetData(string data)
{
var wrapclass = JsonConvert.DeserializeObject<SimulationDefaultJson>(data);
if (wrapclass._event.Contains(eventUsingQueue))
{
var processData_UsingQueue = JsonConvert.DeserializeObject<ProcessDataClass_using_queue>(wrapclass.data.ToString());
/*
string[] queueIDKey = { "data", "queue_name" };
string[] loadCountKey = { "data", "required_items" };
string queueID = GetJsonValue(currentData, queueIDKey)?.ToString();
int loadCount = GetJsonIntValue(currentData, loadCountKey);
*/
string queueID = processData_UsingQueue.queue_name;
int loadCount = processData_UsingQueue.required_items;
SimulationModel model = DataManager.I.GetModel(queueID);
SimulationModelStore storeModel = model.GetComponent<SimulationModelStore>();
for (int i = 0; i < loadCount; i++)
{
GameObject product = null;
product = storeModel.GetProduct();
/*
yield return new WaitUntil(() =>
{
product = storeModel.GetProduct();
return product != null;
});
*/
product.transform.parent = productPos;
product.transform.localPosition = Vector3.zero;
product.transform.localRotation = Quaternion.identity;
listProducts.Add(product);
}
}
else if (wrapclass._event.Contains(eventUsingStore))
{
var processData_UsingStore = JsonConvert.DeserializeObject<ProcessDataClass_using_store>(wrapclass.data.ToString());
string queueID = processData_UsingStore.store_name;
int loadCount = processData_UsingStore.required_items;
SimulationModel model = DataManager.I.GetModel(queueID);
SimulationModelStore storeModel = model.GetComponent<SimulationModelStore>();
for (int i = 0; i < loadCount; i++)
{
GameObject product = null;
product = storeModel.GetProduct();
/*
yield return new WaitUntil(() =>
{
product = storeModel.GetProduct();
return product != null;
});
*/
product.transform.parent = productPos;
product.transform.localPosition = Vector3.zero;
product.transform.localRotation = Quaternion.identity;
listProducts.Add(product);
}
}
else if (wrapclass._event.Contains(eventStartBatch))
{
var processData_BatchStart = JsonConvert.DeserializeObject<ProcessDataClass_batch_started>(wrapclass.data.ToString());
int productCount = processData_BatchStart.product_count;
processTime = processData_BatchStart.processing_time;
elapsedTime = 0;
startBatch = true;
onProcessStart?.Invoke();
}
else if (wrapclass._event.Contains(eventOutputQueue))
{
var processData_OutputQueue = JsonConvert.DeserializeObject<ProcessDataClass_output_queue>(wrapclass.data.ToString());
string queueID = processData_OutputQueue.queue_name;
int productCount = processData_OutputQueue.products_to_add;
SimulationModel model = DataManager.I.GetModel(queueID);
SimulationModelStore storeModel = model.GetComponent<SimulationModelStore>();
for (int i = 0; i < productCount; i++)
{
if (listProducts.Count > 0)
{
GameObject product = listProducts[0];
storeModel.StoreProduct(product);
listProducts.Remove(product);
}
else
{
Debug.LogWarning("Trying to unload from empty transporter : " + nodeID);
}
}
}
}
}

View File

@@ -0,0 +1,153 @@
using Newtonsoft.Json.Linq;
using System.Collections.Generic;
using System;
using UnityEngine;
using System.Collections;
using Octopus.Simulator.Networks;
using Newtonsoft.Json;
[Serializable]
public class SinkDataClass_Started
{
public string sink_id;
public string label;
public int sinking_interval;
public int sinking_amount;
public List<SinkInputQueues> input_queues;
}
[Serializable]
public class SinkInputQueues
{
public string queue_name;
public int required_items;
}
[Serializable]
public class SinkDataClass_items_shipped_successfully
{
public string sink_id;
public string sink_label;
public int current_sink_count;
public int total_shipped_count;
public int simulation_time_seconds;
public List<ShippedItemsDetails> shipped_items_details;
public int simulation_time;
}
[Serializable]
public class ShippedItemsDetails
{
public string product_id;
public float creation_time;
public bool is_defective;
}
[Serializable]
public class SinkDataClass_waiting_for_items
{
public string sink_id;
public string sink_label;
public int simulation_time;
public List<InputQueuesStatus> input_queues_status;
}
[Serializable]
public class InputQueuesStatus
{
public string queue_name;
public int required_items;
public int current_items;
}
[Serializable]
public class SinkDataClass_item_removed_from_queue
{
public string sink_id;
public string sink_label;
public string queue_name;
public string product_id;
public int remaining_queue_length;
}
public class SimulationModelSink : SimulationModel
{
public string eventShipItem = "items_shipped_successfully";
public string eventRemoveItem = "item_removed_from_queue";
public int totalShipped = 0;
/*
protected override IEnumerator RunSimulationCoroutine()
{
yield return new WaitUntil(() => !string.IsNullOrEmpty(nodeID));
while (dataQueue == null)
{
dataQueue = MQTTDataBase.Instance.GetDataQueue(nodeID);
if (dataQueue == null)
yield return null;
else
break;
}
while (true)
{
if (dataQueue.IsEmpty)
{
yield return null;
continue;
}
if (dataQueue.TryDequeue(out JObject currentData))
{
string eventKey = "_event";
if (currentData.ContainsKey(eventKey))
{
string value = currentData[eventKey].ToString();
if (value.Contains(eventShipItem))
{
}
else if (value.Contains(eventRemoveItem))
{
string[] queueIDKey = { "data", "queue_name" };
string[] queueRemainKey = { "data", "remaining_queue_length" };
string queueID = GetJsonValue(currentData, queueIDKey)?.ToString();
int queueCapacity = GetJsonIntValue(currentData, queueRemainKey);
SimulationModel model = DataManager.I.GetModel(queueID);
SimulationModelStore storeModel = (SimulationModelStore)model;
while (storeModel.storedProducts.Count > queueCapacity)
{
//Destroy(storeModel.GetProduct());
totalShipped++;
yield return null;
}
}
}
}
yield return null;
}
yield return null;
}
*/
public override void GetData(string data)
{
var wrapclass = JsonConvert.DeserializeObject<SimulationDefaultJson>(data);
if (wrapclass._event.Contains(eventShipItem))
{
}
else if (wrapclass._event.Contains(eventRemoveItem))
{
var sinkDataClass_item_removed_from_queue = JsonConvert.DeserializeObject<SinkDataClass_item_removed_from_queue>(wrapclass.data.ToString());
string queueID = sinkDataClass_item_removed_from_queue.queue_name;
int queueCapacity = sinkDataClass_item_removed_from_queue.remaining_queue_length;
SimulationModel model = DataManager.I.GetModel(queueID);
SimulationModelStore storeModel = (SimulationModelStore)model;
/*
while (storeModel.storedProducts.Count > queueCapacity)
{
//Destroy(storeModel.GetProduct());
totalShipped++;
yield return null;
}
*/
}
}
}

View File

@@ -0,0 +1,133 @@
using System.Collections.Concurrent;
using System.Collections.Generic;
using UnityEngine;
using System;
using System.Collections;
using Octopus.Simulator.Networks;
using Newtonsoft.Json;
[Serializable]
public class SourceDataClass_start
{
public string generator_id;
public string label;
public float production_rate;
public float cycle_time;
public int batch_size;
public int products_per_batch;
public List<string> input_queues;
public List<string> input_stores;
public string output_queue;
public bool has_resource;
public int priority;
public float defect_rate;
}
[Serializable]
public class SourceDataClass_Queued
{
public string generator_id;
public string label;
public string product_id;
public string queue;
public int queue_length;
public string queue_type;
}
[Serializable]
public class SourceDataClass_Stored
{
public string generator_id;
public string label;
public string product_id;
public string store;
public int store_length;
}
public class SimulationModelSource : SimulationModel
{
public string eventGenerateProduct = "product_generated";
public string eventGenerateDefect = "product_defective";
public string eventQueueProduct = "product_queued";
public string eventStoreProduct = "product_stored";
public GameObject productPrefab;
public GameObject defectPrefab;
public List<GameObject> listProducts = new List<GameObject>();
public List<GameObject> listDefects = new List<GameObject>();
public Transform productPos;
public Vector3 productDistance = new Vector3(0, 0.321f, 0);
int productCount = 0;
int defectCount = 0;
private void Awake()
{
eventKey = "generator_event";
}
public override void GetData(string data)
{
var wrapclass = JsonConvert.DeserializeObject<SimulationDefaultJson>(data);
if (wrapclass._event.Contains(eventGenerateProduct))
{
GameObject gb = Instantiate(productPrefab, productPos);
listProducts.Add(gb);
ProductSorting();
}
else if (wrapclass._event.Contains(eventGenerateDefect))
{
GameObject gb = Instantiate(defectPrefab, productPos);
listProducts.Add(gb);
ProductSorting();
}
else if (wrapclass._event.Contains(eventQueueProduct))
{
var QueueData = JsonConvert.DeserializeObject<SourceDataClass_Queued>(wrapclass.data.ToString());
string queueID = QueueData.queue;
int queueCapacity = QueueData.queue_length;
string storeType = QueueData.queue_type;
SimulationModel model = DataManager.I.GetModel(queueID);
GameObject product = null;
if (listProducts.Count > 0)
{
product = listProducts[0];
listProducts.Remove(product);
}
else if (listDefects.Count > 0)
{
product = listDefects[0];
listDefects.Remove(product);
}
if (model != null && product != null)
{
SimulationModelStore storeModel = model.GetComponent< SimulationModelStore>();
storeModel.maxCapacity = queueCapacity;
storeModel.storeType = storeType;
storeModel.StoreProduct(product);
}
}
}
void ProductSorting()
{
int interval = 0;
if (productCount != listProducts.Count)
{
productCount = listProducts.Count;
for (int i = 0; i < productCount; i++)
{
GameObject gb = listProducts[i];
gb.transform.localPosition = productDistance * interval;
interval++;
}
}
if (defectCount != listDefects.Count)
{
defectCount = listDefects.Count;
for (int i = 0; i < defectCount; i++)
{
GameObject gb = listDefects[i];
gb.transform.localPosition = productDistance * interval;
interval++;
}
}
}
}

View File

@@ -51,4 +51,9 @@ public class SimulationModelStore : SimulationModel
return null;
return transporterPositions[UnityEngine.Random.Range(0, transporterPositions.Count)];
}
public override void GetData(string data)
{
throw new System.NotImplementedException();
}
}

View File

@@ -15,12 +15,12 @@ namespace Octopus.Simulator.Networks
public void Start()
{
#if UNITY_EDITOR
config.projectId = "1";
config.projectId = "15";
//config.simulationId = "15";
config.logicId = "1";
config.logicId = "14";
WebParameters.config = config;
onParameterRecived += FindAnyObjectByType<ProjectDataManager>().RequestInfo;
onParameterRecived += FindAnyObjectByType<LogicDataManager>().RequestInfo;
//onParameterRecived += FindAnyObjectByType<ProjectDataManager>().RequestInfo;
//onParameterRecived += FindAnyObjectByType<LogicDataManager>().RequestInfo;
onParameterRecived?.Invoke();
#else
Application.ExternalCall("loadingComplete");

View File

@@ -185,15 +185,15 @@ namespace Octopus.Simulator.Networks
loadInfos = JsonConvert.DeserializeObject<List<SimulationModelInfo>>(jsonData);
string resourcePath = "ModelsUpdated";
string resourcePath = "Library/LibraryPrefab";
Dictionary<string, SimulationModel> loadModels = new Dictionary<string, SimulationModel>();
foreach (var item in loadInfos)
{
var simulationModel = Resources.Load<GameObject>(string.Format("{0}/{1}", resourcePath, item.prefabName));
var spawnItem = Instantiate(simulationModel).GetComponent<SimulationModel>();
var spawn = Instantiate(simulationModel);
var spawnItem = spawn.GetComponent<SimulationModel>();
spawnItem.modelName = item.modelName;
//spawnItem.modelType = item.modelType;