forked from sin365/AxibugEmuOnline
Merge pull request 'master' (#106) from Alienjack/AxibugEmuOnline:master into master
Reviewed-on: sin365/AxibugEmuOnline#106
This commit is contained in:
commit
f03bb43bdf
BIN
AxibugEmuOnline.Client/Assets/Resources/Icons/checking.png
Normal file
BIN
AxibugEmuOnline.Client/Assets/Resources/Icons/checking.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 6.6 KiB |
117
AxibugEmuOnline.Client/Assets/Resources/Icons/checking.png.meta
Normal file
117
AxibugEmuOnline.Client/Assets/Resources/Icons/checking.png.meta
Normal file
@ -0,0 +1,117 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 3efbb404fd0fa2440b59f2759cb66521
|
||||||
|
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
|
||||||
|
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:
|
||||||
BIN
AxibugEmuOnline.Client/Assets/Resources/Icons/download.png
Normal file
BIN
AxibugEmuOnline.Client/Assets/Resources/Icons/download.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.5 KiB |
117
AxibugEmuOnline.Client/Assets/Resources/Icons/download.png.meta
Normal file
117
AxibugEmuOnline.Client/Assets/Resources/Icons/download.png.meta
Normal file
@ -0,0 +1,117 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 0ab2653139d474e40a1ce8213f36274e
|
||||||
|
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
|
||||||
|
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:
|
||||||
BIN
AxibugEmuOnline.Client/Assets/Resources/Icons/downloaderror.png
Normal file
BIN
AxibugEmuOnline.Client/Assets/Resources/Icons/downloaderror.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 4.4 KiB |
@ -0,0 +1,117 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 961aba7b7a39e4d4c832e94350f44d4c
|
||||||
|
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
|
||||||
|
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:
|
||||||
BIN
AxibugEmuOnline.Client/Assets/Resources/Icons/syncerror.png
Normal file
BIN
AxibugEmuOnline.Client/Assets/Resources/Icons/syncerror.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 4.8 KiB |
117
AxibugEmuOnline.Client/Assets/Resources/Icons/syncerror.png.meta
Normal file
117
AxibugEmuOnline.Client/Assets/Resources/Icons/syncerror.png.meta
Normal file
@ -0,0 +1,117 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 5ab158116cd13094f8aeec03e9c776bd
|
||||||
|
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
|
||||||
|
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:
|
||||||
BIN
AxibugEmuOnline.Client/Assets/Resources/Icons/upload.png
Normal file
BIN
AxibugEmuOnline.Client/Assets/Resources/Icons/upload.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 5.0 KiB |
117
AxibugEmuOnline.Client/Assets/Resources/Icons/upload.png.meta
Normal file
117
AxibugEmuOnline.Client/Assets/Resources/Icons/upload.png.meta
Normal file
@ -0,0 +1,117 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: fe23eed4ad510ca42885889dbb8aaf06
|
||||||
|
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
|
||||||
|
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:
|
||||||
@ -520,6 +520,81 @@ MonoBehaviour:
|
|||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
gradient: {fileID: 46877084639177849}
|
gradient: {fileID: 46877084639177849}
|
||||||
|
--- !u!1 &804908692400837359
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 8642975113305060610}
|
||||||
|
- component: {fileID: 6956713201433508184}
|
||||||
|
- component: {fileID: 1041409322641615}
|
||||||
|
m_Layer: 5
|
||||||
|
m_Name: download
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!224 &8642975113305060610
|
||||||
|
RectTransform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 804908692400837359}
|
||||||
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
|
m_Children: []
|
||||||
|
m_Father: {fileID: 905458728127029103}
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
m_AnchorMin: {x: 0, y: 0}
|
||||||
|
m_AnchorMax: {x: 0, y: 0}
|
||||||
|
m_AnchoredPosition: {x: 25, y: 25}
|
||||||
|
m_SizeDelta: {x: 50, y: 50}
|
||||||
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
|
--- !u!222 &6956713201433508184
|
||||||
|
CanvasRenderer:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 804908692400837359}
|
||||||
|
m_CullTransparentMesh: 1
|
||||||
|
--- !u!114 &1041409322641615
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 804908692400837359}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
m_Material: {fileID: 0}
|
||||||
|
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
m_RaycastTarget: 0
|
||||||
|
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
m_Maskable: 1
|
||||||
|
m_OnCullStateChanged:
|
||||||
|
m_PersistentCalls:
|
||||||
|
m_Calls: []
|
||||||
|
m_Sprite: {fileID: 21300000, guid: 961aba7b7a39e4d4c832e94350f44d4c, type: 3}
|
||||||
|
m_Type: 0
|
||||||
|
m_PreserveAspect: 0
|
||||||
|
m_FillCenter: 1
|
||||||
|
m_FillMethod: 4
|
||||||
|
m_FillAmount: 1
|
||||||
|
m_FillClockwise: 1
|
||||||
|
m_FillOrigin: 0
|
||||||
|
m_UseSpriteMesh: 0
|
||||||
|
m_PixelsPerUnitMultiplier: 1
|
||||||
--- !u!1 &1280900818828460255
|
--- !u!1 &1280900818828460255
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@ -706,7 +781,7 @@ MonoBehaviour:
|
|||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
m_Material: {fileID: 0}
|
m_Material: {fileID: 0}
|
||||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
m_Color: {r: 1, g: 0.80982494, b: 0, a: 1}
|
||||||
m_RaycastTarget: 0
|
m_RaycastTarget: 0
|
||||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||||
m_Maskable: 1
|
m_Maskable: 1
|
||||||
@ -973,9 +1048,12 @@ RectTransform:
|
|||||||
m_ConstrainProportionsScale: 0
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children:
|
m_Children:
|
||||||
- {fileID: 3539783812791358836}
|
- {fileID: 3539783812791358836}
|
||||||
- {fileID: 6030618878828304669}
|
|
||||||
- {fileID: 2303902335643923373}
|
- {fileID: 2303902335643923373}
|
||||||
- {fileID: 8677023902282266940}
|
- {fileID: 8677023902282266940}
|
||||||
|
- {fileID: 7976727918032113692}
|
||||||
|
- {fileID: 8642975113305060610}
|
||||||
|
- {fileID: 5521327881148589877}
|
||||||
|
- {fileID: 1660924397234324979}
|
||||||
m_Father: {fileID: 5970282275929291192}
|
m_Father: {fileID: 5970282275929291192}
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 0}
|
m_AnchorMin: {x: 0, y: 0}
|
||||||
@ -1442,97 +1520,6 @@ MonoBehaviour:
|
|||||||
m_EffectColor: {r: 0, g: 0, b: 0, a: 0.5}
|
m_EffectColor: {r: 0, g: 0, b: 0, a: 0.5}
|
||||||
m_EffectDistance: {x: 1.5, y: -1.5}
|
m_EffectDistance: {x: 1.5, y: -1.5}
|
||||||
m_UseGraphicAlpha: 1
|
m_UseGraphicAlpha: 1
|
||||||
--- !u!1 &4078965612622303339
|
|
||||||
GameObject:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Component:
|
|
||||||
- component: {fileID: 6030618878828304669}
|
|
||||||
- component: {fileID: 6018890508858230420}
|
|
||||||
- component: {fileID: 1865219663044263670}
|
|
||||||
- component: {fileID: 6562970432720184454}
|
|
||||||
m_Layer: 5
|
|
||||||
m_Name: Syncing
|
|
||||||
m_TagString: Untagged
|
|
||||||
m_Icon: {fileID: 0}
|
|
||||||
m_NavMeshLayer: 0
|
|
||||||
m_StaticEditorFlags: 0
|
|
||||||
m_IsActive: 1
|
|
||||||
--- !u!224 &6030618878828304669
|
|
||||||
RectTransform:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 4078965612622303339}
|
|
||||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
|
||||||
m_ConstrainProportionsScale: 0
|
|
||||||
m_Children: []
|
|
||||||
m_Father: {fileID: 905458728127029103}
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
|
||||||
m_AnchorMin: {x: 0, y: 0}
|
|
||||||
m_AnchorMax: {x: 0, y: 0}
|
|
||||||
m_AnchoredPosition: {x: 25, y: 25}
|
|
||||||
m_SizeDelta: {x: 50, y: 50}
|
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
|
||||||
--- !u!222 &6018890508858230420
|
|
||||||
CanvasRenderer:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 4078965612622303339}
|
|
||||||
m_CullTransparentMesh: 1
|
|
||||||
--- !u!114 &1865219663044263670
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 4078965612622303339}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
|
||||||
m_Name:
|
|
||||||
m_EditorClassIdentifier:
|
|
||||||
m_Material: {fileID: 0}
|
|
||||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
|
||||||
m_RaycastTarget: 0
|
|
||||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
|
||||||
m_Maskable: 1
|
|
||||||
m_OnCullStateChanged:
|
|
||||||
m_PersistentCalls:
|
|
||||||
m_Calls: []
|
|
||||||
m_Sprite: {fileID: 21300000, guid: c5a9535bb63e1f14f9a1528566864ab2, type: 3}
|
|
||||||
m_Type: 0
|
|
||||||
m_PreserveAspect: 0
|
|
||||||
m_FillCenter: 1
|
|
||||||
m_FillMethod: 4
|
|
||||||
m_FillAmount: 1
|
|
||||||
m_FillClockwise: 1
|
|
||||||
m_FillOrigin: 0
|
|
||||||
m_UseSpriteMesh: 0
|
|
||||||
m_PixelsPerUnitMultiplier: 1
|
|
||||||
--- !u!114 &6562970432720184454
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 4078965612622303339}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: 8707b921aaba60d45b4041e96f3542dd, type: 3}
|
|
||||||
m_Name:
|
|
||||||
m_EditorClassIdentifier:
|
|
||||||
m_duration: 2
|
|
||||||
m_ease: 1
|
|
||||||
m_reverseRotation: 1
|
|
||||||
--- !u!1 &4124172888520656882
|
--- !u!1 &4124172888520656882
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@ -3183,7 +3170,10 @@ MonoBehaviour:
|
|||||||
UI_Empty: {fileID: 8350228378118296958}
|
UI_Empty: {fileID: 8350228378118296958}
|
||||||
UI_SavTime: {fileID: 13043593624240728}
|
UI_SavTime: {fileID: 13043593624240728}
|
||||||
UI_Disconnect: {fileID: 6998836277133601669}
|
UI_Disconnect: {fileID: 6998836277133601669}
|
||||||
UI_Syncing: {fileID: 4078965612622303339}
|
UI_DownloadError: {fileID: 8857746597932873861}
|
||||||
|
UI_Downloading: {fileID: 804908692400837359}
|
||||||
|
UI_Uploading: {fileID: 8872483836623718893}
|
||||||
|
UI_Checking: {fileID: 7267609509608397888}
|
||||||
UI_Conflict: {fileID: 1601163034082482360}
|
UI_Conflict: {fileID: 1601163034082482360}
|
||||||
UI_Synced: {fileID: 2637678715180681658}
|
UI_Synced: {fileID: 2637678715180681658}
|
||||||
--- !u!1 &7141318786199574664
|
--- !u!1 &7141318786199574664
|
||||||
@ -3286,6 +3276,81 @@ MonoBehaviour:
|
|||||||
m_EffectColor: {r: 0, g: 0, b: 0, a: 0.5}
|
m_EffectColor: {r: 0, g: 0, b: 0, a: 0.5}
|
||||||
m_EffectDistance: {x: 1.5, y: -1.5}
|
m_EffectDistance: {x: 1.5, y: -1.5}
|
||||||
m_UseGraphicAlpha: 1
|
m_UseGraphicAlpha: 1
|
||||||
|
--- !u!1 &7267609509608397888
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 1660924397234324979}
|
||||||
|
- component: {fileID: 5687683890234766428}
|
||||||
|
- component: {fileID: 6995705272401882157}
|
||||||
|
m_Layer: 5
|
||||||
|
m_Name: checking
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!224 &1660924397234324979
|
||||||
|
RectTransform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 7267609509608397888}
|
||||||
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
|
m_Children: []
|
||||||
|
m_Father: {fileID: 905458728127029103}
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
m_AnchorMin: {x: 0, y: 0}
|
||||||
|
m_AnchorMax: {x: 0, y: 0}
|
||||||
|
m_AnchoredPosition: {x: 25, y: 25}
|
||||||
|
m_SizeDelta: {x: 50, y: 50}
|
||||||
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
|
--- !u!222 &5687683890234766428
|
||||||
|
CanvasRenderer:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 7267609509608397888}
|
||||||
|
m_CullTransparentMesh: 1
|
||||||
|
--- !u!114 &6995705272401882157
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 7267609509608397888}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
m_Material: {fileID: 0}
|
||||||
|
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
m_RaycastTarget: 0
|
||||||
|
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
m_Maskable: 1
|
||||||
|
m_OnCullStateChanged:
|
||||||
|
m_PersistentCalls:
|
||||||
|
m_Calls: []
|
||||||
|
m_Sprite: {fileID: 21300000, guid: 3efbb404fd0fa2440b59f2759cb66521, type: 3}
|
||||||
|
m_Type: 0
|
||||||
|
m_PreserveAspect: 0
|
||||||
|
m_FillCenter: 1
|
||||||
|
m_FillMethod: 4
|
||||||
|
m_FillAmount: 1
|
||||||
|
m_FillClockwise: 1
|
||||||
|
m_FillOrigin: 0
|
||||||
|
m_UseSpriteMesh: 0
|
||||||
|
m_PixelsPerUnitMultiplier: 1
|
||||||
--- !u!1 &7579340952198812870
|
--- !u!1 &7579340952198812870
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@ -3888,6 +3953,156 @@ MonoBehaviour:
|
|||||||
m_FillOrigin: 0
|
m_FillOrigin: 0
|
||||||
m_UseSpriteMesh: 0
|
m_UseSpriteMesh: 0
|
||||||
m_PixelsPerUnitMultiplier: 1
|
m_PixelsPerUnitMultiplier: 1
|
||||||
|
--- !u!1 &8857746597932873861
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 7976727918032113692}
|
||||||
|
- component: {fileID: 8830922541807882247}
|
||||||
|
- component: {fileID: 74709689621410332}
|
||||||
|
m_Layer: 5
|
||||||
|
m_Name: syncerror
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!224 &7976727918032113692
|
||||||
|
RectTransform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 8857746597932873861}
|
||||||
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
|
m_Children: []
|
||||||
|
m_Father: {fileID: 905458728127029103}
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
m_AnchorMin: {x: 0, y: 0}
|
||||||
|
m_AnchorMax: {x: 0, y: 0}
|
||||||
|
m_AnchoredPosition: {x: 25, y: 25}
|
||||||
|
m_SizeDelta: {x: 50, y: 50}
|
||||||
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
|
--- !u!222 &8830922541807882247
|
||||||
|
CanvasRenderer:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 8857746597932873861}
|
||||||
|
m_CullTransparentMesh: 1
|
||||||
|
--- !u!114 &74709689621410332
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 8857746597932873861}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
m_Material: {fileID: 0}
|
||||||
|
m_Color: {r: 1, g: 0, b: 0, a: 1}
|
||||||
|
m_RaycastTarget: 0
|
||||||
|
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
m_Maskable: 1
|
||||||
|
m_OnCullStateChanged:
|
||||||
|
m_PersistentCalls:
|
||||||
|
m_Calls: []
|
||||||
|
m_Sprite: {fileID: 21300000, guid: 5ab158116cd13094f8aeec03e9c776bd, type: 3}
|
||||||
|
m_Type: 0
|
||||||
|
m_PreserveAspect: 0
|
||||||
|
m_FillCenter: 1
|
||||||
|
m_FillMethod: 4
|
||||||
|
m_FillAmount: 1
|
||||||
|
m_FillClockwise: 1
|
||||||
|
m_FillOrigin: 0
|
||||||
|
m_UseSpriteMesh: 0
|
||||||
|
m_PixelsPerUnitMultiplier: 1
|
||||||
|
--- !u!1 &8872483836623718893
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 5521327881148589877}
|
||||||
|
- component: {fileID: 1453351515137974665}
|
||||||
|
- component: {fileID: 625482330037984562}
|
||||||
|
m_Layer: 5
|
||||||
|
m_Name: upload
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!224 &5521327881148589877
|
||||||
|
RectTransform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 8872483836623718893}
|
||||||
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
|
m_Children: []
|
||||||
|
m_Father: {fileID: 905458728127029103}
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
m_AnchorMin: {x: 0, y: 0}
|
||||||
|
m_AnchorMax: {x: 0, y: 0}
|
||||||
|
m_AnchoredPosition: {x: 25, y: 25}
|
||||||
|
m_SizeDelta: {x: 50, y: 50}
|
||||||
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
|
--- !u!222 &1453351515137974665
|
||||||
|
CanvasRenderer:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 8872483836623718893}
|
||||||
|
m_CullTransparentMesh: 1
|
||||||
|
--- !u!114 &625482330037984562
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 8872483836623718893}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
m_Material: {fileID: 0}
|
||||||
|
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
m_RaycastTarget: 0
|
||||||
|
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
m_Maskable: 1
|
||||||
|
m_OnCullStateChanged:
|
||||||
|
m_PersistentCalls:
|
||||||
|
m_Calls: []
|
||||||
|
m_Sprite: {fileID: 21300000, guid: fe23eed4ad510ca42885889dbb8aaf06, type: 3}
|
||||||
|
m_Type: 0
|
||||||
|
m_PreserveAspect: 0
|
||||||
|
m_FillCenter: 1
|
||||||
|
m_FillMethod: 4
|
||||||
|
m_FillAmount: 1
|
||||||
|
m_FillClockwise: 1
|
||||||
|
m_FillOrigin: 0
|
||||||
|
m_UseSpriteMesh: 0
|
||||||
|
m_PixelsPerUnitMultiplier: 1
|
||||||
--- !u!1 &8884391103430529053
|
--- !u!1 &8884391103430529053
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
|||||||
@ -1,6 +1,4 @@
|
|||||||
using AxibugProtobuf;
|
using AxibugProtobuf;
|
||||||
using System.Collections;
|
|
||||||
using UnityEngine;
|
|
||||||
|
|
||||||
namespace AxibugEmuOnline.Client.InputDevices
|
namespace AxibugEmuOnline.Client.InputDevices
|
||||||
{
|
{
|
||||||
|
|||||||
@ -52,7 +52,7 @@ namespace AxibugEmuOnline.Client
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public SimpleFSM<SaveFile>.State GetState()
|
public SimpleFSM<SaveFile>.State GetCurrentState()
|
||||||
{
|
{
|
||||||
return FSM.CurrentState;
|
return FSM.CurrentState;
|
||||||
}
|
}
|
||||||
@ -63,7 +63,7 @@ namespace AxibugEmuOnline.Client
|
|||||||
/// <summary> 存档顺序号,用于判断云存档和本地存档的同步状态,是否存在冲突 </summary>
|
/// <summary> 存档顺序号,用于判断云存档和本地存档的同步状态,是否存在冲突 </summary>
|
||||||
public uint Sequecen { get; private set; }
|
public uint Sequecen { get; private set; }
|
||||||
|
|
||||||
SimpleFSM<SaveFile> FSM;
|
public SimpleFSM<SaveFile> FSM { get; private set; }
|
||||||
byte[] m_savDataCaches;
|
byte[] m_savDataCaches;
|
||||||
byte[] m_screenShotCaches;
|
byte[] m_screenShotCaches;
|
||||||
Header m_headerCache;
|
Header m_headerCache;
|
||||||
@ -79,8 +79,10 @@ namespace AxibugEmuOnline.Client
|
|||||||
FSM.AddState<CheckingNetworkState>();//?
|
FSM.AddState<CheckingNetworkState>();//?
|
||||||
FSM.AddState<CheckingState>();
|
FSM.AddState<CheckingState>();
|
||||||
FSM.AddState<DownloadingState>();
|
FSM.AddState<DownloadingState>();
|
||||||
|
FSM.AddState<ConflictState>();
|
||||||
FSM.AddState<UploadingState>();
|
FSM.AddState<UploadingState>();
|
||||||
FSM.AddState<SyncedState>();
|
FSM.AddState<SyncedState>();
|
||||||
|
FSM.AddState<SyncFailedState>();
|
||||||
FSM.OnStateChanged += FSM_OnStateChanged;
|
FSM.OnStateChanged += FSM_OnStateChanged;
|
||||||
|
|
||||||
IsEmpty = !AxiIO.File.Exists(FilePath);
|
IsEmpty = !AxiIO.File.Exists(FilePath);
|
||||||
@ -217,7 +219,7 @@ namespace AxibugEmuOnline.Client
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public void TrySync()
|
public void TrySync()
|
||||||
{
|
{
|
||||||
if (FSM.CurrentState is not IdleState && FSM.CurrentState is not SyncedState) return;
|
if (FSM.CurrentState is not IdleState && FSM.CurrentState is not SyncedState && FSM.CurrentState is not SyncFailedState) return;
|
||||||
|
|
||||||
FSM.ChangeState<CheckingNetworkState>();
|
FSM.ChangeState<CheckingNetworkState>();
|
||||||
}
|
}
|
||||||
@ -234,6 +236,11 @@ namespace AxibugEmuOnline.Client
|
|||||||
SyncingFilesUtility.Remove(this);
|
SyncingFilesUtility.Remove(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public override string ToString()
|
||||||
|
{
|
||||||
|
return $"{EmuPlatform}|{RomID}|{SlotIndex}";
|
||||||
|
}
|
||||||
|
|
||||||
public static class SyncingFilesUtility
|
public static class SyncingFilesUtility
|
||||||
{
|
{
|
||||||
static SyncingFileRecord m_syncFiles = new SyncingFileRecord();
|
static SyncingFileRecord m_syncFiles = new SyncingFileRecord();
|
||||||
@ -315,7 +322,6 @@ namespace AxibugEmuOnline.Client
|
|||||||
var jsonStr = JsonUtility.ToJson(temp);
|
var jsonStr = JsonUtility.ToJson(temp);
|
||||||
AxiPlayerPrefs.SetString("SYNCING_SAVE", jsonStr);
|
AxiPlayerPrefs.SetString("SYNCING_SAVE", jsonStr);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
[Serializable]
|
[Serializable]
|
||||||
|
|||||||
@ -29,7 +29,8 @@ namespace AxibugEmuOnline.Client
|
|||||||
m_timeOut -= Time.deltaTime;
|
m_timeOut -= Time.deltaTime;
|
||||||
if (m_timeOut < 0) //已超时
|
if (m_timeOut < 0) //已超时
|
||||||
{
|
{
|
||||||
FSM.ChangeState<IdleState>();
|
FSM.GetState<SyncFailedState>().Error = "拉取云存档数据超时";
|
||||||
|
FSM.ChangeState<SyncFailedState>();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -43,10 +44,18 @@ namespace AxibugEmuOnline.Client
|
|||||||
FSM.ChangeState<UploadingState>();
|
FSM.ChangeState<UploadingState>();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
{
|
||||||
|
if (Host.Sequecen > (uint)NetData.Sequence)//本地序列号大于云存档序列号,视为冲突
|
||||||
|
{
|
||||||
|
FSM.GetState<ConflictState>().NetData = NetData;
|
||||||
|
FSM.ChangeState<ConflictState>();
|
||||||
|
}
|
||||||
|
else
|
||||||
{
|
{
|
||||||
FSM.ChangeState<DownloadingState>();
|
FSM.ChangeState<DownloadingState>();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@ -1,4 +1,5 @@
|
|||||||
using AxibugEmuOnline.Client.Tools;
|
using AxibugEmuOnline.Client.Tools;
|
||||||
|
using AxibugProtobuf;
|
||||||
|
|
||||||
namespace AxibugEmuOnline.Client
|
namespace AxibugEmuOnline.Client
|
||||||
{
|
{
|
||||||
@ -6,7 +7,7 @@ namespace AxibugEmuOnline.Client
|
|||||||
{
|
{
|
||||||
public class ConflictState : SimpleFSM<SaveFile>.State
|
public class ConflictState : SimpleFSM<SaveFile>.State
|
||||||
{
|
{
|
||||||
|
public Protobuf_Mine_GameSavInfo NetData { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1,5 +1,6 @@
|
|||||||
using AxibugEmuOnline.Client.ClientCore;
|
using AxibugEmuOnline.Client.ClientCore;
|
||||||
using AxibugEmuOnline.Client.Tools;
|
using AxibugEmuOnline.Client.Tools;
|
||||||
|
using AxibugProtobuf;
|
||||||
using System;
|
using System;
|
||||||
|
|
||||||
namespace AxibugEmuOnline.Client
|
namespace AxibugEmuOnline.Client
|
||||||
@ -14,14 +15,14 @@ namespace AxibugEmuOnline.Client
|
|||||||
|
|
||||||
public override void OnEnter(SimpleFSM<SaveFile>.State preState)
|
public override void OnEnter(SimpleFSM<SaveFile>.State preState)
|
||||||
{
|
{
|
||||||
var checkState = preState as CheckingState;
|
Protobuf_Mine_GameSavInfo netData = null;
|
||||||
|
if (preState is CheckingState checkState)
|
||||||
var netData = checkState.NetData;
|
|
||||||
|
|
||||||
if (Host.Sequecen >= (uint)netData.Sequence)
|
|
||||||
{
|
{
|
||||||
FSM.ChangeState<ConflictState>();
|
netData = checkState.NetData;
|
||||||
return;
|
}
|
||||||
|
else if (preState is ConflictState conflictState) //由冲突状态转换为下载状态,代表使用网络存档覆盖本地
|
||||||
|
{
|
||||||
|
netData = conflictState.NetData;
|
||||||
}
|
}
|
||||||
|
|
||||||
m_sequece = (uint)netData.Sequence;
|
m_sequece = (uint)netData.Sequence;
|
||||||
@ -42,7 +43,8 @@ namespace AxibugEmuOnline.Client
|
|||||||
|
|
||||||
if (m_downloadTask.downloadHandler.bHadErr) //下载失败
|
if (m_downloadTask.downloadHandler.bHadErr) //下载失败
|
||||||
{
|
{
|
||||||
FSM.ChangeState<IdleState>();
|
FSM.GetState<SyncFailedState>().Error = m_downloadTask.downloadHandler.ErrInfo;
|
||||||
|
FSM.ChangeState<SyncFailedState>();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -0,0 +1,18 @@
|
|||||||
|
using AxibugEmuOnline.Client.ClientCore;
|
||||||
|
using AxibugEmuOnline.Client.Tools;
|
||||||
|
|
||||||
|
namespace AxibugEmuOnline.Client
|
||||||
|
{
|
||||||
|
public partial class SaveFile
|
||||||
|
{
|
||||||
|
public class SyncFailedState : SimpleFSM<SaveFile>.State
|
||||||
|
{
|
||||||
|
public string Error { get; set; }
|
||||||
|
|
||||||
|
public override void OnEnter(SimpleFSM<SaveFile>.State preState)
|
||||||
|
{
|
||||||
|
App.log.Error($"同步失败:{Error}");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,2 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 36be8767f260af04ba9ed88d2d4cd775
|
||||||
@ -7,7 +7,10 @@ namespace AxibugEmuOnline.Client.Tools
|
|||||||
public partial class SimpleFSM<HOST>
|
public partial class SimpleFSM<HOST>
|
||||||
{
|
{
|
||||||
public event Action OnStateChanged;
|
public event Action OnStateChanged;
|
||||||
|
|
||||||
private Dictionary<Type, State> m_states = new Dictionary<Type, State>();
|
private Dictionary<Type, State> m_states = new Dictionary<Type, State>();
|
||||||
|
private bool isInTransition = false; // 新增:标识是否处于切换过程中
|
||||||
|
private Queue<Type> pendingStateQueue = new Queue<Type>(); // 新增:延迟请求的队列
|
||||||
|
|
||||||
public HOST Host { get; private set; }
|
public HOST Host { get; private set; }
|
||||||
|
|
||||||
@ -16,15 +19,15 @@ namespace AxibugEmuOnline.Client.Tools
|
|||||||
Host = host;
|
Host = host;
|
||||||
}
|
}
|
||||||
|
|
||||||
private State m_current;
|
private State m_currentState;
|
||||||
public State CurrentState
|
public State CurrentState
|
||||||
{
|
{
|
||||||
get => m_current;
|
get => m_currentState;
|
||||||
set
|
set
|
||||||
{
|
{
|
||||||
if (m_current == value) return;
|
if (m_currentState == value) return;
|
||||||
|
|
||||||
m_current = value;
|
m_currentState = value;
|
||||||
OnStateChanged?.Invoke();
|
OnStateChanged?.Invoke();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -40,47 +43,59 @@ namespace AxibugEmuOnline.Client.Tools
|
|||||||
return (T)state;
|
return (T)state;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void BackToLast()
|
|
||||||
{
|
|
||||||
if (m_current == null) return;
|
|
||||||
if (m_current.LastState == null) return;
|
|
||||||
|
|
||||||
if (m_states.Values.FirstOrDefault(s => s == m_current.LastState) is State lastState)
|
|
||||||
{
|
|
||||||
m_current.LastState = null;
|
|
||||||
m_current.OnExit(lastState);
|
|
||||||
|
|
||||||
lastState.OnEnter(m_current);
|
|
||||||
m_current = lastState;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public void Stop()
|
|
||||||
{
|
|
||||||
if (m_current != null)
|
|
||||||
{
|
|
||||||
m_current.OnExit(null);
|
|
||||||
m_current = null;
|
|
||||||
}
|
|
||||||
|
|
||||||
foreach (var state in m_states.Values)
|
|
||||||
state.LastState = null;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void ChangeState<T>() where T : State, new()
|
public void ChangeState<T>() where T : State, new()
|
||||||
{
|
{
|
||||||
var stateType = typeof(T);
|
var stateType = typeof(T);
|
||||||
m_states.TryGetValue(stateType, out State nextState);
|
if (!m_states.ContainsKey(stateType))
|
||||||
|
return;
|
||||||
|
|
||||||
|
// 如果处于切换中,加入队列等待后续处理
|
||||||
|
if (isInTransition)
|
||||||
|
{
|
||||||
|
pendingStateQueue.Enqueue(stateType);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 标记开始切换
|
||||||
|
isInTransition = true;
|
||||||
|
InternalChangeState(stateType);
|
||||||
|
isInTransition = false; // 切换结束
|
||||||
|
|
||||||
|
// 处理队列中积累的切换请求
|
||||||
|
ProcessPendingQueue();
|
||||||
|
}
|
||||||
|
|
||||||
|
// 新增:实际执行状态切换的方法
|
||||||
|
private void InternalChangeState(Type stateType)
|
||||||
|
{
|
||||||
|
State nextState = m_states[stateType];
|
||||||
if (nextState == null) return;
|
if (nextState == null) return;
|
||||||
|
|
||||||
if (m_current != null) m_current.OnExit(nextState);
|
State preState = CurrentState;
|
||||||
|
// 退出当前状态
|
||||||
|
if (preState != null) preState.OnExit(nextState);
|
||||||
|
|
||||||
var preState = m_current;
|
// 更新当前状态
|
||||||
m_current = nextState;
|
CurrentState = nextState;
|
||||||
|
CurrentState.LastState = preState;
|
||||||
|
|
||||||
m_current.LastState = preState;
|
// 进入新状态
|
||||||
m_current.OnEnter(preState);
|
CurrentState.OnEnter(preState);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 新增:处理队列中的切换请求
|
||||||
|
private void ProcessPendingQueue()
|
||||||
|
{
|
||||||
|
while (pendingStateQueue.Count > 0)
|
||||||
|
{
|
||||||
|
Type nextType = pendingStateQueue.Dequeue();
|
||||||
|
if (!m_states.ContainsKey(nextType)) continue;
|
||||||
|
|
||||||
|
isInTransition = true;
|
||||||
|
InternalChangeState(nextType);
|
||||||
|
isInTransition = false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public T GetState<T>() where T : State, new()
|
public T GetState<T>() where T : State, new()
|
||||||
@ -91,11 +106,11 @@ namespace AxibugEmuOnline.Client.Tools
|
|||||||
|
|
||||||
public void Update()
|
public void Update()
|
||||||
{
|
{
|
||||||
m_current?.OnUpdate();
|
CurrentState?.OnUpdate();
|
||||||
foreach (var state in m_states.Values)
|
foreach (var state in m_states.Values)
|
||||||
{
|
{
|
||||||
if (state == m_current) continue;
|
if (state == CurrentState) continue;
|
||||||
state.AnyStateUpdate(m_current);
|
state.AnyStateUpdate(CurrentState);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -33,17 +33,23 @@ namespace AxibugEmuOnline.Client
|
|||||||
public override Type MenuUITemplateType => typeof(OptionUI_SavSlotItem);
|
public override Type MenuUITemplateType => typeof(OptionUI_SavSlotItem);
|
||||||
public SaveFile SavFile { get; private set; }
|
public SaveFile SavFile { get; private set; }
|
||||||
|
|
||||||
List<InternalOptionMenu> m_subOptions = new List<InternalOptionMenu>();
|
|
||||||
public override string Name => SavFile.AutoSave ? "自动存档" : $"存档{SavFile.SlotIndex}";
|
public override string Name => SavFile.AutoSave ? "自动存档" : $"存档{SavFile.SlotIndex}";
|
||||||
|
|
||||||
|
SaveMenuItem saveMENU;
|
||||||
|
LoadMenuItem loadMENU;
|
||||||
|
RetryMenuItem retryMENU;
|
||||||
|
UseLocalSaveMenuItem useLocalMENU;
|
||||||
|
UseRemoteSaveMenuItem useRemoteMENU;
|
||||||
|
|
||||||
public SaveSlotMenu(InGameUI inGameui, SaveFile savFile)
|
public SaveSlotMenu(InGameUI inGameui, SaveFile savFile)
|
||||||
{
|
{
|
||||||
SavFile = savFile;
|
SavFile = savFile;
|
||||||
|
|
||||||
//非自动存档,增加保存选项
|
saveMENU = new SaveMenuItem(inGameui, savFile);
|
||||||
if (!savFile.AutoSave) m_subOptions.Add(new SaveMenuItem(inGameui, savFile));
|
loadMENU = new LoadMenuItem(inGameui, savFile);
|
||||||
//添加读取选项
|
retryMENU = new RetryMenuItem(inGameui, savFile);
|
||||||
m_subOptions.Add(new LoadMenuItem(inGameui, savFile));
|
useLocalMENU = new UseLocalSaveMenuItem(inGameui, savFile);
|
||||||
|
useRemoteMENU = new UseRemoteSaveMenuItem(inGameui, savFile);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void OnShow(OptionUI_MenuItem ui)
|
public override void OnShow(OptionUI_MenuItem ui)
|
||||||
@ -55,7 +61,21 @@ namespace AxibugEmuOnline.Client
|
|||||||
|
|
||||||
protected override List<InternalOptionMenu> GetOptionMenus()
|
protected override List<InternalOptionMenu> GetOptionMenus()
|
||||||
{
|
{
|
||||||
return m_subOptions;
|
var menus = new List<InternalOptionMenu>();
|
||||||
|
|
||||||
|
if (SavFile.GetCurrentState() is SaveFile.ConflictState)
|
||||||
|
{
|
||||||
|
menus.Add(useRemoteMENU);
|
||||||
|
menus.Add(useLocalMENU);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (SavFile.GetCurrentState() is SaveFile.SyncFailedState) menus.Add(retryMENU);
|
||||||
|
if (!SavFile.AutoSave) menus.Add(saveMENU);
|
||||||
|
if (!SavFile.IsEmpty) menus.Add(loadMENU);
|
||||||
|
}
|
||||||
|
|
||||||
|
return menus;
|
||||||
}
|
}
|
||||||
|
|
||||||
public class SaveMenuItem : ExecuteMenu
|
public class SaveMenuItem : ExecuteMenu
|
||||||
@ -111,6 +131,66 @@ namespace AxibugEmuOnline.Client
|
|||||||
OverlayManager.HideSideBar();
|
OverlayManager.HideSideBar();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public class RetryMenuItem : ExecuteMenu
|
||||||
|
{
|
||||||
|
SaveFile m_savFile;
|
||||||
|
InGameUI m_ingameUI;
|
||||||
|
public override string Name => "重试";
|
||||||
|
public override bool Visible => m_savFile.GetCurrentState() is SaveFile.SyncFailedState;
|
||||||
|
|
||||||
|
public RetryMenuItem(InGameUI inGameui, SaveFile savFile)
|
||||||
|
{
|
||||||
|
m_ingameUI = inGameui;
|
||||||
|
m_savFile = savFile;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void OnExcute(OptionUI optionUI, ref bool cancelHide)
|
||||||
|
{
|
||||||
|
cancelHide = true;
|
||||||
|
m_savFile.TrySync();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public class UseRemoteSaveMenuItem : ExecuteMenu
|
||||||
|
{
|
||||||
|
SaveFile m_savFile;
|
||||||
|
InGameUI m_ingameUI;
|
||||||
|
public override string Name => "使用云端存档";
|
||||||
|
|
||||||
|
public UseRemoteSaveMenuItem(InGameUI inGameui, SaveFile savFile)
|
||||||
|
{
|
||||||
|
m_ingameUI = inGameui;
|
||||||
|
m_savFile = savFile;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void OnExcute(OptionUI optionUI, ref bool cancelHide)
|
||||||
|
{
|
||||||
|
if (m_savFile.GetCurrentState() is not SaveFile.ConflictState) return;
|
||||||
|
cancelHide = true;
|
||||||
|
m_savFile.FSM.ChangeState<SaveFile.DownloadingState>();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public class UseLocalSaveMenuItem : ExecuteMenu
|
||||||
|
{
|
||||||
|
SaveFile m_savFile;
|
||||||
|
InGameUI m_ingameUI;
|
||||||
|
public override string Name => "使用本地存档";
|
||||||
|
|
||||||
|
public UseLocalSaveMenuItem(InGameUI inGameui, SaveFile savFile)
|
||||||
|
{
|
||||||
|
m_ingameUI = inGameui;
|
||||||
|
m_savFile = savFile;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void OnExcute(OptionUI optionUI, ref bool cancelHide)
|
||||||
|
{
|
||||||
|
if (m_savFile.GetCurrentState() is not SaveFile.ConflictState) return;
|
||||||
|
cancelHide = true;
|
||||||
|
m_savFile.FSM.ChangeState<SaveFile.UploadingState>();
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -14,7 +14,10 @@ namespace AxibugEmuOnline.Client
|
|||||||
public Text UI_SavTime;
|
public Text UI_SavTime;
|
||||||
|
|
||||||
public GameObject UI_Disconnect;
|
public GameObject UI_Disconnect;
|
||||||
public GameObject UI_Syncing;
|
public GameObject UI_DownloadError;
|
||||||
|
public GameObject UI_Downloading;
|
||||||
|
public GameObject UI_Uploading;
|
||||||
|
public GameObject UI_Checking;
|
||||||
public GameObject UI_Conflict;
|
public GameObject UI_Conflict;
|
||||||
public GameObject UI_Synced;
|
public GameObject UI_Synced;
|
||||||
|
|
||||||
@ -24,12 +27,13 @@ namespace AxibugEmuOnline.Client
|
|||||||
|
|
||||||
private void Awake()
|
private void Awake()
|
||||||
{
|
{
|
||||||
m_stateNodes[typeof(SaveFile.CheckingState)] = UI_Syncing;
|
m_stateNodes[typeof(SaveFile.CheckingState)] = UI_Checking;
|
||||||
m_stateNodes[typeof(SaveFile.ConflictState)] = UI_Conflict;
|
m_stateNodes[typeof(SaveFile.ConflictState)] = UI_Conflict;
|
||||||
m_stateNodes[typeof(SaveFile.DownloadingState)] = UI_Syncing;
|
m_stateNodes[typeof(SaveFile.DownloadingState)] = UI_Downloading;
|
||||||
m_stateNodes[typeof(SaveFile.SyncedState)] = UI_Synced;
|
m_stateNodes[typeof(SaveFile.SyncedState)] = UI_Synced;
|
||||||
m_stateNodes[typeof(SaveFile.UploadingState)] = UI_Syncing;
|
m_stateNodes[typeof(SaveFile.UploadingState)] = UI_Uploading;
|
||||||
m_stateNodes[typeof(SaveFile.CheckingNetworkState)] = UI_Disconnect;
|
m_stateNodes[typeof(SaveFile.CheckingNetworkState)] = UI_Disconnect;
|
||||||
|
m_stateNodes[typeof(SaveFile.SyncFailedState)] = UI_DownloadError;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override void OnSetData(InternalOptionMenu menuData)
|
protected override void OnSetData(InternalOptionMenu menuData)
|
||||||
@ -80,7 +84,7 @@ namespace AxibugEmuOnline.Client
|
|||||||
|
|
||||||
private void UpdateStateNode()
|
private void UpdateStateNode()
|
||||||
{
|
{
|
||||||
var stateType = MenuData.SavFile.GetState().GetType();
|
var stateType = MenuData.SavFile.GetCurrentState().GetType();
|
||||||
|
|
||||||
foreach (var item in m_stateNodes)
|
foreach (var item in m_stateNodes)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -347,14 +347,13 @@ namespace VirtualNes.Core
|
|||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
fp?.Close();
|
fp?.Close();
|
||||||
Debuger.LogError($"Loading TurboFile Error.\n{ex}");
|
//Debuger.LogError($"Loading TurboFile Error.\n{ex}");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void LoadDISK()
|
private void LoadDISK()
|
||||||
{
|
{
|
||||||
//todo : 磁碟机读取支持
|
//todo : 磁碟机读取支持 by alienjack
|
||||||
Debuger.LogError($"磁碟机尚未支持");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void LoadSRAM()
|
private void LoadSRAM()
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user