daily update
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: af4afec9633ba984a99b2517493211ed
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 955f8b59cf8ce0946abdb2fd27f6cb93
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,93 @@
|
||||
Copyright 2016 The Oswald Project Authors (https://github.com/googlefonts/OswaldFont)
|
||||
|
||||
This Font Software is licensed under the SIL Open Font License, Version 1.1.
|
||||
This license is copied below, and is also available with a FAQ at:
|
||||
http://scripts.sil.org/OFL
|
||||
|
||||
|
||||
-----------------------------------------------------------
|
||||
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
|
||||
-----------------------------------------------------------
|
||||
|
||||
PREAMBLE
|
||||
The goals of the Open Font License (OFL) are to stimulate worldwide
|
||||
development of collaborative font projects, to support the font creation
|
||||
efforts of academic and linguistic communities, and to provide a free and
|
||||
open framework in which fonts may be shared and improved in partnership
|
||||
with others.
|
||||
|
||||
The OFL allows the licensed fonts to be used, studied, modified and
|
||||
redistributed freely as long as they are not sold by themselves. The
|
||||
fonts, including any derivative works, can be bundled, embedded,
|
||||
redistributed and/or sold with any software provided that any reserved
|
||||
names are not used by derivative works. The fonts and derivatives,
|
||||
however, cannot be released under any other type of license. The
|
||||
requirement for fonts to remain under this license does not apply
|
||||
to any document created using the fonts or their derivatives.
|
||||
|
||||
DEFINITIONS
|
||||
"Font Software" refers to the set of files released by the Copyright
|
||||
Holder(s) under this license and clearly marked as such. This may
|
||||
include source files, build scripts and documentation.
|
||||
|
||||
"Reserved Font Name" refers to any names specified as such after the
|
||||
copyright statement(s).
|
||||
|
||||
"Original Version" refers to the collection of Font Software components as
|
||||
distributed by the Copyright Holder(s).
|
||||
|
||||
"Modified Version" refers to any derivative made by adding to, deleting,
|
||||
or substituting -- in part or in whole -- any of the components of the
|
||||
Original Version, by changing formats or by porting the Font Software to a
|
||||
new environment.
|
||||
|
||||
"Author" refers to any designer, engineer, programmer, technical
|
||||
writer or other person who contributed to the Font Software.
|
||||
|
||||
PERMISSION & CONDITIONS
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of the Font Software, to use, study, copy, merge, embed, modify,
|
||||
redistribute, and sell modified and unmodified copies of the Font
|
||||
Software, subject to the following conditions:
|
||||
|
||||
1) Neither the Font Software nor any of its individual components,
|
||||
in Original or Modified Versions, may be sold by itself.
|
||||
|
||||
2) Original or Modified Versions of the Font Software may be bundled,
|
||||
redistributed and/or sold with any software, provided that each copy
|
||||
contains the above copyright notice and this license. These can be
|
||||
included either as stand-alone text files, human-readable headers or
|
||||
in the appropriate machine-readable metadata fields within text or
|
||||
binary files as long as those fields can be easily viewed by the user.
|
||||
|
||||
3) No Modified Version of the Font Software may use the Reserved Font
|
||||
Name(s) unless explicit written permission is granted by the corresponding
|
||||
Copyright Holder. This restriction only applies to the primary font name as
|
||||
presented to the users.
|
||||
|
||||
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
|
||||
Software shall not be used to promote, endorse or advertise any
|
||||
Modified Version, except to acknowledge the contribution(s) of the
|
||||
Copyright Holder(s) and the Author(s) or with their explicit written
|
||||
permission.
|
||||
|
||||
5) The Font Software, modified or unmodified, in part or in whole,
|
||||
must be distributed entirely under this license, and must not be
|
||||
distributed under any other license. The requirement for fonts to
|
||||
remain under this license does not apply to any document created
|
||||
using the Font Software.
|
||||
|
||||
TERMINATION
|
||||
This license becomes null and void if any of the above conditions are
|
||||
not met.
|
||||
|
||||
DISCLAIMER
|
||||
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
|
||||
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
|
||||
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
|
||||
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
|
||||
OTHER DEALINGS IN THE FONT SOFTWARE.
|
||||
@@ -0,0 +1,14 @@
|
||||
fileFormatVersion: 2
|
||||
guid: db2794fb134f41649947dbdbcac93dee
|
||||
TextScriptImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267958
|
||||
packageName: Photon Fusion
|
||||
packageVersion: 2.0.12
|
||||
assetPath: Assets/Photon/Fusion/Editor/EditorResources/Fonts/OFL.txt
|
||||
uploadId: 888248
|
||||
@@ -0,0 +1,29 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d9d6a85f7c05f99439d73c334199cb58
|
||||
TrueTypeFontImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 4
|
||||
fontSize: 17
|
||||
forceTextureCase: -2
|
||||
characterSpacing: 0
|
||||
characterPadding: 1
|
||||
includeFontData: 1
|
||||
fontNames:
|
||||
- Oswald
|
||||
fallbackFontReferences:
|
||||
- {fileID: 12800000, guid: a30f933bed2f6504bae572c0ef6aaeb7, type: 3}
|
||||
customCharacters:
|
||||
fontRenderingMode: 0
|
||||
ascentCalculationMode: 1
|
||||
useLegacyBoundsCalculation: 0
|
||||
shouldRoundAdvanceValue: 1
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267958
|
||||
packageName: Photon Fusion
|
||||
packageVersion: 2.0.12
|
||||
assetPath: Assets/Photon/Fusion/Editor/EditorResources/Fonts/Oswald-Header.ttf
|
||||
uploadId: 888248
|
||||
|
After Width: | Height: | Size: 5.3 KiB |
@@ -0,0 +1,130 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 1cb1b1bf7bfc6574a95f9a2bc7421c60
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 12
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 0
|
||||
sRGBTexture: 1
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapsPreserveCoverage: 0
|
||||
alphaTestReferenceValue: 0.5
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
isReadable: 0
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
vTOnly: 0
|
||||
ignoreMasterTextureLimit: 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
|
||||
cookieLightType: 0
|
||||
platformSettings:
|
||||
- serializedVersion: 3
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Standalone
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Server
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID: 5e97eb03825dee720800000000000000
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
nameFileIdTable: {}
|
||||
spritePackingTag:
|
||||
pSDRemoveMatte: 0
|
||||
pSDShowRemoveMatteOption: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267958
|
||||
packageName: Photon Fusion
|
||||
packageVersion: 2.0.12
|
||||
assetPath: Assets/Photon/Fusion/Editor/EditorResources/Fusion-dark-help-button-off.png
|
||||
uploadId: 888248
|
||||
|
After Width: | Height: | Size: 5.4 KiB |
@@ -0,0 +1,130 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f8b3194f397d8934697497c4c07cf47e
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 12
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 0
|
||||
sRGBTexture: 1
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapsPreserveCoverage: 0
|
||||
alphaTestReferenceValue: 0.5
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
isReadable: 0
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
vTOnly: 0
|
||||
ignoreMasterTextureLimit: 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
|
||||
cookieLightType: 0
|
||||
platformSettings:
|
||||
- serializedVersion: 3
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Standalone
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Server
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID: 5e97eb03825dee720800000000000000
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
nameFileIdTable: {}
|
||||
spritePackingTag:
|
||||
pSDRemoveMatte: 0
|
||||
pSDShowRemoveMatteOption: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267958
|
||||
packageName: Photon Fusion
|
||||
packageVersion: 2.0.12
|
||||
assetPath: Assets/Photon/Fusion/Editor/EditorResources/Fusion-dark-help-button-on.png
|
||||
uploadId: 888248
|
||||
|
After Width: | Height: | Size: 5.7 KiB |
@@ -0,0 +1,130 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 80273e5c843674a3eae0b3c38a19a511
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 12
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 0
|
||||
sRGBTexture: 1
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapsPreserveCoverage: 0
|
||||
alphaTestReferenceValue: 0.5
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
isReadable: 0
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
vTOnly: 0
|
||||
ignoreMasterTextureLimit: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 0
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 1
|
||||
wrapV: 1
|
||||
wrapW: 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
|
||||
cookieLightType: 0
|
||||
platformSettings:
|
||||
- serializedVersion: 3
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 64
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 0
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Standalone
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Server
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID: 5e97eb03825dee720800000000000000
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
nameFileIdTable: {}
|
||||
spritePackingTag:
|
||||
pSDRemoveMatte: 0
|
||||
pSDShowRemoveMatteOption: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267958
|
||||
packageName: Photon Fusion
|
||||
packageVersion: 2.0.12
|
||||
assetPath: Assets/Photon/Fusion/Editor/EditorResources/Fusion-inline-box-2x.png
|
||||
uploadId: 888248
|
||||
|
After Width: | Height: | Size: 144 B |
@@ -0,0 +1,130 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 6f21527b75fde934381920063e9666ce
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 12
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 0
|
||||
sRGBTexture: 1
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapsPreserveCoverage: 0
|
||||
alphaTestReferenceValue: 0.5
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
isReadable: 0
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
vTOnly: 0
|
||||
ignoreMasterTextureLimit: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 0
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 1
|
||||
wrapV: 1
|
||||
wrapW: 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
|
||||
cookieLightType: 0
|
||||
platformSettings:
|
||||
- serializedVersion: 3
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 0
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Standalone
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Server
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID: 5e97eb03825dee720800000000000000
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
nameFileIdTable: {}
|
||||
spritePackingTag:
|
||||
pSDRemoveMatte: 0
|
||||
pSDShowRemoveMatteOption: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267958
|
||||
packageName: Photon Fusion
|
||||
packageVersion: 2.0.12
|
||||
assetPath: Assets/Photon/Fusion/Editor/EditorResources/Fusion-inline-box-no-vertical-borders.png
|
||||
uploadId: 888248
|
||||
|
After Width: | Height: | Size: 146 B |
@@ -0,0 +1,130 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 3f929bc2e87f64441ba0a9c7a42516ca
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 12
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 0
|
||||
sRGBTexture: 1
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapsPreserveCoverage: 0
|
||||
alphaTestReferenceValue: 0.5
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
isReadable: 0
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
vTOnly: 0
|
||||
ignoreMasterTextureLimit: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 0
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 1
|
||||
wrapV: 1
|
||||
wrapW: 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
|
||||
cookieLightType: 0
|
||||
platformSettings:
|
||||
- serializedVersion: 3
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 0
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Standalone
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Server
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID: 5e97eb03825dee720800000000000000
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
nameFileIdTable: {}
|
||||
spritePackingTag:
|
||||
pSDRemoveMatte: 0
|
||||
pSDShowRemoveMatteOption: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267958
|
||||
packageName: Photon Fusion
|
||||
packageVersion: 2.0.12
|
||||
assetPath: Assets/Photon/Fusion/Editor/EditorResources/Fusion-inline-box.png
|
||||
uploadId: 888248
|
||||
|
After Width: | Height: | Size: 599 B |
@@ -0,0 +1,130 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 7428079610f074ba484c046f3cc92512
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 12
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 0
|
||||
sRGBTexture: 1
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapsPreserveCoverage: 0
|
||||
alphaTestReferenceValue: 0.5
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
isReadable: 0
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
vTOnly: 0
|
||||
ignoreMasterTextureLimit: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 0
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 1
|
||||
wrapV: 1
|
||||
wrapW: 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
|
||||
cookieLightType: 0
|
||||
platformSettings:
|
||||
- serializedVersion: 3
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 32
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 0
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Standalone
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Server
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID: 5e97eb03825dee720800000000000000
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
nameFileIdTable: {}
|
||||
spritePackingTag:
|
||||
pSDRemoveMatte: 0
|
||||
pSDShowRemoveMatteOption: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267958
|
||||
packageName: Photon Fusion
|
||||
packageVersion: 2.0.12
|
||||
assetPath: Assets/Photon/Fusion/Editor/EditorResources/Fusion-inline-help-box.png
|
||||
uploadId: 888248
|
||||
|
After Width: | Height: | Size: 141 B |
@@ -0,0 +1,130 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 95929fcf43db30546b27280e9f89777b
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 12
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 0
|
||||
sRGBTexture: 1
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapsPreserveCoverage: 0
|
||||
alphaTestReferenceValue: 0.5
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
isReadable: 0
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
vTOnly: 0
|
||||
ignoreMasterTextureLimit: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 0
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 1
|
||||
wrapV: 1
|
||||
wrapW: 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
|
||||
cookieLightType: 0
|
||||
platformSettings:
|
||||
- serializedVersion: 3
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 0
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Standalone
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Server
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID: 5e97eb03825dee720800000000000000
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
nameFileIdTable: {}
|
||||
spritePackingTag:
|
||||
pSDRemoveMatte: 0
|
||||
pSDShowRemoveMatteOption: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267958
|
||||
packageName: Photon Fusion
|
||||
packageVersion: 2.0.12
|
||||
assetPath: Assets/Photon/Fusion/Editor/EditorResources/Fusion-inline-selector.png
|
||||
uploadId: 888248
|
||||
|
After Width: | Height: | Size: 5.2 KiB |
@@ -0,0 +1,130 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 2d73479cf571d21409b2656fd24f7737
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 12
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 0
|
||||
sRGBTexture: 1
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapsPreserveCoverage: 0
|
||||
alphaTestReferenceValue: 0.5
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
isReadable: 0
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
vTOnly: 0
|
||||
ignoreMasterTextureLimit: 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
|
||||
cookieLightType: 0
|
||||
platformSettings:
|
||||
- serializedVersion: 3
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Standalone
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Server
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID: 5e97eb03825dee720800000000000000
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
nameFileIdTable: {}
|
||||
spritePackingTag:
|
||||
pSDRemoveMatte: 0
|
||||
pSDShowRemoveMatteOption: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267958
|
||||
packageName: Photon Fusion
|
||||
packageVersion: 2.0.12
|
||||
assetPath: Assets/Photon/Fusion/Editor/EditorResources/Fusion-light-help-button-off.png
|
||||
uploadId: 888248
|
||||
|
After Width: | Height: | Size: 5.4 KiB |
@@ -0,0 +1,130 @@
|
||||
fileFormatVersion: 2
|
||||
guid: decc33e0428e74349941f54fe6299753
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 12
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 0
|
||||
sRGBTexture: 1
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapsPreserveCoverage: 0
|
||||
alphaTestReferenceValue: 0.5
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
isReadable: 0
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
vTOnly: 0
|
||||
ignoreMasterTextureLimit: 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
|
||||
cookieLightType: 0
|
||||
platformSettings:
|
||||
- serializedVersion: 3
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Standalone
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Server
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID: 5e97eb03825dee720800000000000000
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
nameFileIdTable: {}
|
||||
spritePackingTag:
|
||||
pSDRemoveMatte: 0
|
||||
pSDShowRemoveMatteOption: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267958
|
||||
packageName: Photon Fusion
|
||||
packageVersion: 2.0.12
|
||||
assetPath: Assets/Photon/Fusion/Editor/EditorResources/Fusion-light-help-button-on.png
|
||||
uploadId: 888248
|
||||
|
After Width: | Height: | Size: 16 KiB |
@@ -0,0 +1,130 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 662ae237300fee247a43823401881e39
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 12
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 0
|
||||
sRGBTexture: 1
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapsPreserveCoverage: 0
|
||||
alphaTestReferenceValue: 0.5
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
isReadable: 0
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
vTOnly: 0
|
||||
ignoreMasterTextureLimit: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 0
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 1
|
||||
wrapV: 1
|
||||
wrapW: 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
|
||||
cookieLightType: 0
|
||||
platformSettings:
|
||||
- serializedVersion: 3
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 128
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 0
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Standalone
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Server
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID: 5e97eb03825dee720800000000000000
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
nameFileIdTable: {}
|
||||
spritePackingTag:
|
||||
pSDRemoveMatte: 0
|
||||
pSDShowRemoveMatteOption: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267958
|
||||
packageName: Photon Fusion
|
||||
packageVersion: 2.0.12
|
||||
assetPath: Assets/Photon/Fusion/Editor/EditorResources/Fusion-logo-2x.png
|
||||
uploadId: 888248
|
||||
|
After Width: | Height: | Size: 1.5 KiB |
@@ -0,0 +1,130 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 58f8d5c3c5df6ee419821a5c345ebed1
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 12
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 0
|
||||
sRGBTexture: 1
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapsPreserveCoverage: 0
|
||||
alphaTestReferenceValue: 0.5
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
isReadable: 0
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
vTOnly: 0
|
||||
ignoreMasterTextureLimit: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 0
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 1
|
||||
wrapV: 1
|
||||
wrapW: 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
|
||||
cookieLightType: 0
|
||||
platformSettings:
|
||||
- serializedVersion: 3
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 64
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 0
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Standalone
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Server
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID: 5e97eb03825dee720800000000000000
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
nameFileIdTable: {}
|
||||
spritePackingTag:
|
||||
pSDRemoveMatte: 0
|
||||
pSDShowRemoveMatteOption: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267958
|
||||
packageName: Photon Fusion
|
||||
packageVersion: 2.0.12
|
||||
assetPath: Assets/Photon/Fusion/Editor/EditorResources/Fusion-logo.png
|
||||
uploadId: 888248
|
||||
|
After Width: | Height: | Size: 244 B |
@@ -0,0 +1,130 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 223390825bdf7f7488411f7b7ca1c776
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 12
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 0
|
||||
sRGBTexture: 1
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapsPreserveCoverage: 0
|
||||
alphaTestReferenceValue: 0.5
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
isReadable: 0
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
vTOnly: 0
|
||||
ignoreMasterTextureLimit: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 0
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 1
|
||||
wrapV: 1
|
||||
wrapW: 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
|
||||
cookieLightType: 0
|
||||
platformSettings:
|
||||
- serializedVersion: 3
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 0
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Standalone
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Server
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID: 5e97eb03825dee720800000000000000
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
nameFileIdTable: {}
|
||||
spritePackingTag:
|
||||
pSDRemoveMatte: 0
|
||||
pSDShowRemoveMatteOption: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267958
|
||||
packageName: Photon Fusion
|
||||
packageVersion: 2.0.12
|
||||
assetPath: Assets/Photon/Fusion/Editor/EditorResources/Fusion-outline-box.png
|
||||
uploadId: 888248
|
||||
|
After Width: | Height: | Size: 637 B |
@@ -0,0 +1,130 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 4379871c896cb47159ca30caed15cf45
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 12
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 0
|
||||
sRGBTexture: 1
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapsPreserveCoverage: 0
|
||||
alphaTestReferenceValue: 0.5
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
isReadable: 0
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
vTOnly: 0
|
||||
ignoreMasterTextureLimit: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 0
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 1
|
||||
wrapV: 1
|
||||
wrapW: 0
|
||||
nPOTScale: 0
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 1
|
||||
spriteExtrude: 1
|
||||
spriteMeshType: 0
|
||||
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
|
||||
cookieLightType: 0
|
||||
platformSettings:
|
||||
- serializedVersion: 3
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 64
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 0
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Standalone
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Server
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID: 5e97eb03825dee720800000000000000
|
||||
internalID: 1537655665
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
nameFileIdTable: {}
|
||||
spritePackingTag:
|
||||
pSDRemoveMatte: 0
|
||||
pSDShowRemoveMatteOption: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267958
|
||||
packageName: Photon Fusion
|
||||
packageVersion: 2.0.12
|
||||
assetPath: Assets/Photon/Fusion/Editor/EditorResources/Fusion-script-header-2x.png
|
||||
uploadId: 888248
|
||||
|
After Width: | Height: | Size: 153 B |
@@ -0,0 +1,130 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 2f112e6067c75b34f8c6233878db13b4
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 12
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 0
|
||||
sRGBTexture: 1
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapsPreserveCoverage: 0
|
||||
alphaTestReferenceValue: 0.5
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
isReadable: 0
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
vTOnly: 0
|
||||
ignoreMasterTextureLimit: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 0
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 1
|
||||
wrapV: 1
|
||||
wrapW: 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
|
||||
cookieLightType: 0
|
||||
platformSettings:
|
||||
- serializedVersion: 3
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 0
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Standalone
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Server
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID: 5e97eb03825dee720800000000000000
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
nameFileIdTable: {}
|
||||
spritePackingTag:
|
||||
pSDRemoveMatte: 0
|
||||
pSDShowRemoveMatteOption: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267958
|
||||
packageName: Photon Fusion
|
||||
packageVersion: 2.0.12
|
||||
assetPath: Assets/Photon/Fusion/Editor/EditorResources/Fusion-script-header.png
|
||||
uploadId: 888248
|
||||
@@ -0,0 +1,772 @@
|
||||
<?xml version="1.0"?>
|
||||
<doc>
|
||||
<assembly>
|
||||
<name>Fusion.Unity</name>
|
||||
</assembly>
|
||||
<members>
|
||||
<member name="F:Fusion.NetworkRunnerVisibilityExtensions.RecognizedBehaviourNames">
|
||||
<summary>
|
||||
Types that fusion.runtime isn't aware of, which need to be found using names instead.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Fusion.NetworkRunnerVisibilityExtensions.AddVisibilityNodes(Fusion.NetworkRunner,UnityEngine.GameObject)">
|
||||
<summary>
|
||||
Find all component types that contribute to a scene rendering, and associate them with a <see cref="T:Fusion.RunnerVisibilityLink"/> component,
|
||||
and add them to the runner's list of visibility nodes.
|
||||
</summary>
|
||||
<param name="go"></param>
|
||||
<param name="runner"></param>
|
||||
</member>
|
||||
<member name="M:Fusion.NetworkRunnerVisibilityExtensions.RefreshRunnerVisibility(Fusion.NetworkRunner,System.Boolean)">
|
||||
<summary>
|
||||
Reapplies a runner's IsVisibile setting to all of its registered visibility nodes.
|
||||
</summary>
|
||||
<param name="runner"></param>
|
||||
<param name="refreshCommonObjects"></param>
|
||||
</member>
|
||||
<member name="F:Fusion.NetworkRunnerVisibilityExtensions.CommonObjectLookup">
|
||||
<summary>
|
||||
Dictionary lookup for manually added visibility nodes (which indicates only one instance should be visible at a time),
|
||||
which returns a list of nodes for a given LocalIdentifierInFile.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Fusion.Statistics.FusionNetworkObjectStatsGraphCombine.NetworkObjectID">
|
||||
<summary>
|
||||
Gets the unique identifier of the network object.
|
||||
</summary>
|
||||
<value>
|
||||
The network object identifier.
|
||||
</value>
|
||||
</member>
|
||||
<member name="T:Fusion.Statistics.CanvasAnchor">
|
||||
<summary>
|
||||
The side to attach the statistics panel anchor.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Fusion.Statistics.FusionStatistics._statsEnabled">
|
||||
<summary>
|
||||
Flags controlling which Mecanim data will be synced.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Fusion.Statistics.FusionStatistics.IsPanelActive">
|
||||
<summary>
|
||||
Gets a value indicating whether the statistics panel is active.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Fusion.Statistics.FusionStatistics.SetStatsCustomConfig(System.Collections.Generic.List{Fusion.Statistics.FusionStatistics.FusionStatisticsStatCustomConfig})">
|
||||
<summary>
|
||||
Sets the custom configuration for Fusion Statistics.
|
||||
</summary>
|
||||
<param name="customConfig">The list of custom configurations for Fusion Statistics.</param>
|
||||
</member>
|
||||
<member name="M:Fusion.Statistics.FusionStatistics.SetCanvasAnchor(Fusion.Statistics.CanvasAnchor)">
|
||||
<summary>
|
||||
Sets the anchor position of the Fusion Statistics canvas.
|
||||
</summary>
|
||||
<param name="anchor">The anchor position of the canvas (TopLeft or TopRight).</param>
|
||||
</member>
|
||||
<member name="M:Fusion.Statistics.FusionStatistics.OnEditorChange">
|
||||
<summary>
|
||||
Called from a custom editor script.
|
||||
Will update any editor information into the fusion statistics.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Fusion.Statistics.FusionStatistics.SetupStatisticsPanel">
|
||||
<summary>
|
||||
Sets up the statistics panel for Fusion statistic tracking.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Fusion.Statistics.FusionStatistics.SetWorldAnchor(Fusion.Statistics.FusionStatsWorldAnchor,System.Single)">
|
||||
<summary>
|
||||
Sets the world anchor for Fusion Statistics. Set null to return to screen space overlay.
|
||||
</summary>
|
||||
<param name="anchor">The FusionStatsWorldAnchor component that defines the anchor object. Null to return to screen space overlay.</param>
|
||||
<param name="scale">The scale of the statistics panel.</param>
|
||||
</member>
|
||||
<member name="M:Fusion.Statistics.FusionStatistics.DestroyStatisticsPanel">
|
||||
<summary>
|
||||
Destroys the statistics panel.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Fusion.Statistics.RenderSimStats">
|
||||
<summary>
|
||||
List of all simulation stats able to render on a graph.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Fusion.Statistics.RenderSimStats.InPackets">
|
||||
<summary>
|
||||
Incoming packets.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Fusion.Statistics.RenderSimStats.OutPackets">
|
||||
<summary>
|
||||
Outgoing packets.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Fusion.Statistics.RenderSimStats.RTT">
|
||||
<summary>
|
||||
Round Trip Time.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Fusion.Statistics.RenderSimStats.InBandwidth">
|
||||
<summary>
|
||||
In Bandwidth in Bytes.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Fusion.Statistics.RenderSimStats.OutBandwidth">
|
||||
<summary>
|
||||
Out Bandwidth in Bytes.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Fusion.Statistics.RenderSimStats.Resimulations">
|
||||
<summary>
|
||||
Amount of re-simulation ticks executed.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Fusion.Statistics.RenderSimStats.ForwardTicks">
|
||||
<summary>
|
||||
Amount of forward ticks executed.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Fusion.Statistics.RenderSimStats.InputReceiveDelta">
|
||||
<summary>
|
||||
Average measured time between two input/state packets (from same client) received by the server.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Fusion.Statistics.RenderSimStats.TimeResets">
|
||||
<summary>
|
||||
Time sync abruptly reset count.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Fusion.Statistics.RenderSimStats.StateReceiveDelta">
|
||||
<summary>
|
||||
Average measured time between two state packets (from server) received by the client.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Fusion.Statistics.RenderSimStats.SimulationTimeOffset">
|
||||
<summary>
|
||||
Average buffering for prediction.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Fusion.Statistics.RenderSimStats.SimulationSpeed">
|
||||
<summary>
|
||||
How much the simulation is currently sped up / slowed down.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Fusion.Statistics.RenderSimStats.InterpolationOffset">
|
||||
<summary>
|
||||
Average buffering for interpolation.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Fusion.Statistics.RenderSimStats.InterpolationSpeed">
|
||||
<summary>
|
||||
How much interpolation is currently sped up / slowed down.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Fusion.Statistics.RenderSimStats.InputInBandwidth">
|
||||
<summary>
|
||||
Input in bandwidth.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Fusion.Statistics.RenderSimStats.InputOutBandwidth">
|
||||
<summary>
|
||||
Input out bandwidth.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Fusion.Statistics.RenderSimStats.AverageInPacketSize">
|
||||
<summary>
|
||||
Average size for received packet.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Fusion.Statistics.RenderSimStats.AverageOutPacketSize">
|
||||
<summary>
|
||||
Average size for sent packet.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Fusion.Statistics.RenderSimStats.InObjectUpdates">
|
||||
<summary>
|
||||
Amount of object updates received.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Fusion.Statistics.RenderSimStats.OutObjectUpdates">
|
||||
<summary>
|
||||
Amount of object updates sent.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Fusion.Statistics.RenderSimStats.ObjectsAllocatedMemoryInUse">
|
||||
<summary>
|
||||
Memory in use for the object allocator.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Fusion.Statistics.RenderSimStats.GeneralAllocatedMemoryInUse">
|
||||
<summary>
|
||||
Memory in use for the general allocator.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Fusion.Statistics.RenderSimStats.ObjectsAllocatedMemoryFree">
|
||||
<summary>
|
||||
Memory free for the object allocator.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Fusion.Statistics.RenderSimStats.GeneralAllocatedMemoryFree">
|
||||
<summary>
|
||||
Memory free for the general allocator.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Fusion.Statistics.RenderSimStats.WordsWrittenCount">
|
||||
<summary>
|
||||
Amount of written words. How many networked changes are being sent.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Fusion.Statistics.RenderSimStats.WordsWrittenSize">
|
||||
<summary>
|
||||
Size of all last written words in Bytes.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Fusion.Statistics.RenderSimStats.WordsReadCount">
|
||||
<summary>
|
||||
Amount of read words. How many networked changes are being received.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Fusion.Statistics.RenderSimStats.WordsReadSize">
|
||||
<summary>
|
||||
Size of all last read words in Bytes.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Fusion.FusionBasicBillboard">
|
||||
<summary>
|
||||
Component which automatically faces this GameObject toward the supplied Camera. If Camera == null, will face towards Camera.main.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Fusion.FusionBasicBillboard.Camera">
|
||||
<summary>
|
||||
Force a particular camera to billboard this object toward. Leave null to use Camera.main.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Fusion.EnableOnSingleRunner">
|
||||
<summary>
|
||||
Automatically adds a <see cref="T:Fusion.RunnerVisibilityLink"/> for each indicated component.
|
||||
These indicated components will be limited to no more than one enabled instance when running in Multi-Peer mode.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Fusion.EnableOnSingleRunner.PreferredRunner">
|
||||
<summary>
|
||||
If more than one runner instance is visible, this indicates which peer's clone of this entity should be visible.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Fusion.EnableOnSingleRunner.Components">
|
||||
<summary>
|
||||
Collection of components that will be marked for Multi-Peer mode as objects that should only have one enabled instance.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Fusion.EnableOnSingleRunner._guid">
|
||||
<summary>
|
||||
Prefix for the GUIDs of <see cref="T:Fusion.RunnerVisibilityLink"/> components which are added at runtime.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Fusion.EnableOnSingleRunner.AddNodes(System.Collections.Generic.List{Fusion.RunnerVisibilityLink})">
|
||||
<summary>
|
||||
At runtime startup, this adds a <see cref="T:Fusion.RunnerVisibilityLink"/> for each component reference to this GameObject.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Fusion.EnableOnSingleRunner.FindRecognizedTypes">
|
||||
<summary>
|
||||
Finds visual/audio components on this GameObject, and adds them to the Components collection.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Fusion.EnableOnSingleRunner.FindNestedRecognizedTypes">
|
||||
<summary>
|
||||
Finds visual/audio nested components on this GameObject and its children, and adds them to the Components collection.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Fusion.FusionUnityLogger.UseGlobalPrefix">
|
||||
<summary>
|
||||
If true, all messages will be prefixed with [Fusion] tag
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Fusion.FusionUnityLogger.UseColorTags">
|
||||
<summary>
|
||||
If true, some parts of messages will be enclosed with <color> tags.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Fusion.FusionUnityLogger.AddHashCodePrefix">
|
||||
<summary>
|
||||
If true, each log message that has a source parameter will be prefixed with a hash code of the source object.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Fusion.FusionUnityLogger.GlobalPrefixColor">
|
||||
<summary>
|
||||
Color of the global prefix (see <see cref="F:Fusion.FusionUnityLogger.UseGlobalPrefix"/>).
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Fusion.FusionUnityLogger.MinRandomColor">
|
||||
<summary>
|
||||
Min Random Color
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Fusion.FusionUnityLogger.MaxRandomColor">
|
||||
<summary>
|
||||
Max Random Color
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Fusion.FusionUnityLogger.ServerColor">
|
||||
<summary>
|
||||
Server Color
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Fusion.RunnerEnableVisibility">
|
||||
<summary>
|
||||
When running in Multi-Peer mode, this component automatically will register the associated
|
||||
<see cref="T:Fusion.NetworkRunner" /> with <see cref="T:Fusion.NetworkRunnerVisibilityExtensions" />,
|
||||
and will automatically attach loaded scene objects and spawned objects with the peers visibility handling.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Fusion.RunnerAOIGizmos">
|
||||
<summary>
|
||||
Add this Component to the NetworkRunner Prefab or GameObject. If Interest Management is enabled in NetworkProjectConfig ReplicationFeatures,
|
||||
gizmos will be shown that indicate active Area Of Interest cells. These gizmos are currently NOT applicable to Shared Mode and will only
|
||||
render for the Server/Host peer.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Fusion.RunnerVisibilityLinksRoot">
|
||||
<summary>
|
||||
Flag component which indicates a NetworkObject has already been factored into a Runner's VisibilityNode list.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Fusion.FusionMppmStatus">
|
||||
<summary>
|
||||
The current status of MPPM. If the package is not enabled, this will always be <see cref="F:Fusion.FusionMppmStatus.Disabled"/>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Fusion.FusionMppmStatus.Disabled">
|
||||
<summary>
|
||||
MPPM is not installed.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Fusion.FusionMppmStatus.MainInstance">
|
||||
<summary>
|
||||
This instance is the main instance. Can use <see cref="M:Fusion.FusionMppm.Send``1(``0)"/> to send commands.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Fusion.FusionMppmStatus.VirtualInstance">
|
||||
<summary>
|
||||
This instance is a virtual instance. Will receive commands from the main instance.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Fusion.FusionMppm">
|
||||
<summary>
|
||||
Support for Multiplayer Play Mode (MPPM). It uses named pipes
|
||||
to communicate between the main Unity instance and virtual instances.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Fusion.FusionMppm.Status">
|
||||
<summary>
|
||||
The current status of MPPM.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Fusion.FusionMppm.MainEditor">
|
||||
<summary>
|
||||
If <see cref="F:Fusion.FusionMppm.Status"/> is <see cref="F:Fusion.FusionMppmStatus.MainInstance"/>, this static field can be used to send commands.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Fusion.FusionMppm.Send``1(``0)">
|
||||
<summary>
|
||||
Sends a command to all virtual instances. Use as:
|
||||
<code>FusionMppm.MainEditor?.Send</code>
|
||||
</summary>
|
||||
<param name="data"></param>
|
||||
<typeparam name="T"></typeparam>
|
||||
</member>
|
||||
<member name="T:Fusion.FusionMppmCommand">
|
||||
<summary>
|
||||
The base class for all Fusion MPPM commands.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Fusion.FusionMppmCommand.Execute">
|
||||
<summary>
|
||||
Execute the command on a virtual instance.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Fusion.FusionMppmCommand.NeedsAck">
|
||||
<summary>
|
||||
Does the main instance need to wait for an ack?
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Fusion.FusionMppmCommand.PersistentKey">
|
||||
<summary>
|
||||
If the command is persistent (i.e. needs to be executed on each domain reload), this key is used to store it.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Fusion.FusionBootstrapDebugGUI">
|
||||
<summary>
|
||||
Companion component for <see cref="T:Fusion.FusionBootstrap"/>. Automatically added as needed for rendering in-game networking IMGUI.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Fusion.FusionBootstrapDebugGUI.EnableHotkeys">
|
||||
<summary>
|
||||
When enabled, the in-game user interface buttons can be activated with the keys H (Host), S (Server) and C (Client).
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Fusion.FusionBootstrapDebugGUI.BaseSkin">
|
||||
<summary>
|
||||
The GUISkin to use as the base for the scalable in-game UI.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Fusion.FusionUnitySceneManagerUtils.GetComponents``1(UnityEngine.SceneManagement.Scene,System.Boolean)">
|
||||
<summary>
|
||||
Finds all components of type <typeparam name="T"/> in the scene.
|
||||
</summary>
|
||||
<param name="scene"></param>
|
||||
<param name="includeInactive"></param>
|
||||
<typeparam name="T"></typeparam>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:Fusion.FusionUnitySceneManagerUtils.GetComponents``1(UnityEngine.SceneManagement.Scene,System.Boolean,UnityEngine.GameObject[]@)">
|
||||
<summary>
|
||||
Finds all components of type <typeparam name="T"/> in the scene.
|
||||
</summary>
|
||||
<param name="scene"></param>
|
||||
<param name="includeInactive"></param>
|
||||
<param name="rootObjects"></param>
|
||||
<typeparam name="T"></typeparam>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:Fusion.FusionUnitySceneManagerUtils.GetComponents``1(UnityEngine.SceneManagement.Scene,System.Collections.Generic.List{``0},System.Boolean)">
|
||||
<summary>
|
||||
Finds all components of type <typeparam name="T"/> in the scene.
|
||||
</summary>
|
||||
<param name="scene"></param>
|
||||
<param name="results"></param>
|
||||
<param name="includeInactive"></param>
|
||||
<typeparam name="T"></typeparam>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:Fusion.FusionUnitySceneManagerUtils.FindComponent``1(UnityEngine.SceneManagement.Scene,System.Boolean)">
|
||||
<summary>
|
||||
Finds the first instance of type <typeparam name="T"/> in the scene. Returns null if no instance found.
|
||||
</summary>
|
||||
<param name="scene"></param>
|
||||
<param name="includeInactive"></param>
|
||||
<typeparam name="T"></typeparam>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="F:Fusion.NetworkSceneManagerDefault.IsSceneTakeOverEnabled">
|
||||
<summary>
|
||||
If enabled and there is an already loaded scene that matches what the scene manager has intended to load,
|
||||
that scene will be used instead and load will be avoided.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Fusion.NetworkSceneManagerDefault.LogSceneLoadErrors">
|
||||
<summary>
|
||||
Should all scene load errors be logged into the console? If disabled, errors can still be retrieved via the
|
||||
<see cref="P:Fusion.NetworkSceneAsyncOp.Error"/> or <see cref="M:Fusion.NetworkSceneAsyncOp.AddOnCompleted(System.Action{Fusion.NetworkSceneAsyncOp})"/>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Fusion.NetworkSceneManagerDefault._allOwnedScenes">
|
||||
<summary>
|
||||
All the scenes loaded by all the managers. Used when <see cref="F:Fusion.NetworkSceneManagerDefault.IsSceneTakeOverEnabled"/> is enabled.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Fusion.NetworkSceneManagerDefault._multiPeerSceneRoots">
|
||||
<summary>
|
||||
In multiple peer mode, each runner maintains its own scene where all the newly loaded scenes
|
||||
are moved to. This is to make sure physics are properly sandboxed.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Fusion.NetworkSceneManagerDefault._runningCoroutines">
|
||||
<summary>
|
||||
List of running coroutines. Only one is actually executed at a time.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Fusion.NetworkSceneManagerDefault._tempUnloadScene">
|
||||
<summary>
|
||||
For remote clients, this manager first unloads old scenes then loads the new ones. It might happen that all
|
||||
the current scenes need to be unloaded and in such case a temp scene needs to be created to ensure at least one
|
||||
scene loaded at all times.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Fusion.NetworkSceneManagerDefault.MultiPeerScene">
|
||||
<summary>
|
||||
Scene used when Multiple Peer mode is used. Each loaded scene is merged into this one, allowing
|
||||
for multiple runners to have separate cross-scene physics.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Fusion.NetworkSceneManagerDefault.MultiPeerDontDestroyOnLoadRoot">
|
||||
<summary>
|
||||
Root for DontDestroyOnLoad objects. Instantiated on <see cref="P:Fusion.NetworkSceneManagerDefault.MultiPeerScene"/>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Fusion.NetworkSceneManagerDefault.AddressableScenesLabel">
|
||||
<summary>
|
||||
A label by which addressable scenes can be discovered.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Fusion.NetworkSceneManagerDefault.GetAddressableScenes">
|
||||
<summary>
|
||||
Creates a task that resolves addressable scene paths. By default, this method locates all the addressable scenes with
|
||||
<see cref="F:Fusion.NetworkSceneManagerDefault.AddressableScenesLabel"/> label. Override this method to provide a custom implementation. For example, user
|
||||
might want to have a pre-defined set of addressable scenes to avoid the wait:
|
||||
<example><code>
|
||||
protected override GetAddressableScenesResult GetAddressableScenes() {
|
||||
return Task.FromResult(new string[] {
|
||||
"Assets/Scenes/AddressableScene1.unity",
|
||||
"Assets/Scenes/AddressableScene2.unity",
|
||||
});
|
||||
}
|
||||
</code></example>
|
||||
</summary>
|
||||
<returns>A task representing resolve operation and optionally a delegate to be invoked before the task is going to be
|
||||
awaited synchronously</returns>
|
||||
</member>
|
||||
<member name="M:Fusion.NetworkSceneManagerDefault.GetAddressableScenePathsTimeout">
|
||||
<summary>
|
||||
Returns the timeout for addressable scene paths to be resolved. By default, this method returns 10 seconds.
|
||||
</summary>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="T:Fusion.FusionBootstrap">
|
||||
<summary>
|
||||
A Fusion prototyping class for starting up basic networking. Add this component to your startup scene, and supply a <see cref="F:Fusion.FusionBootstrap.RunnerPrefab"/>.
|
||||
Can be set to automatically startup the network, display an in-game menu, or allow simplified start calls like <see cref="M:Fusion.FusionBootstrap.StartHost"/>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Fusion.FusionBootstrap.StartModes">
|
||||
<summary>
|
||||
Selection for how <see cref="T:Fusion.FusionBootstrap"/> will behave at startup.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Fusion.FusionBootstrap.Stage">
|
||||
<summary>
|
||||
The current stage of connection or shutdown.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Fusion.FusionBootstrap.RunnerPrefab">
|
||||
<summary>
|
||||
Supply a Prefab or a scene object which has the <see cref="T:Fusion.NetworkRunner"/> component on it,
|
||||
as well as any runner dependent components which implement <see cref="T:Fusion.INetworkRunnerCallbacks"/>,
|
||||
such as <see cref="T:Fusion.NetworkEvents"/> or your own custom INetworkInput implementations.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Fusion.FusionBootstrap.StartMode">
|
||||
<summary>
|
||||
Select how network startup will be triggered. Automatically, by in-game menu selection, or exclusively by script.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Fusion.FusionBootstrap.AutoStartAs">
|
||||
<summary>
|
||||
When <see cref="F:Fusion.FusionBootstrap.StartMode"/> is set to <see cref="F:Fusion.FusionBootstrap.StartModes.Automatic"/>, this option selects if the <see cref="T:Fusion.NetworkRunner"/>
|
||||
will be started as a dedicated server, or as a host (which is a server with a local player).
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Fusion.FusionBootstrap.AutoHideGUI">
|
||||
<summary>
|
||||
<see cref="T:Fusion.FusionBootstrapDebugGUI"/> will not render GUI elements while <see cref="P:Fusion.FusionBootstrap.CurrentStage"/> == <see cref="F:Fusion.FusionBootstrap.Stage.AllConnected"/>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Fusion.FusionBootstrap.AutoClients">
|
||||
<summary>
|
||||
The number of client <see cref="T:Fusion.NetworkRunner"/> instances that will be created if running in Mulit-Peer Mode.
|
||||
When using the Select start mode, this number will be the default value for the additional clients option box.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Fusion.FusionBootstrap.ClientStartDelay">
|
||||
<summary>
|
||||
How long to wait after starting a peer before starting the next one.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Fusion.FusionBootstrap.ServerPort">
|
||||
<summary>
|
||||
The port that server/host <see cref="T:Fusion.NetworkRunner"/> will use.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Fusion.FusionBootstrap.DefaultRoomName">
|
||||
<summary>
|
||||
The default room name to use when connecting to photon cloud.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Fusion.FusionBootstrap.InitialScenePath">
|
||||
<summary>
|
||||
The Scene that will be loaded after network shutdown completes (all peers have disconnected).
|
||||
If this field is null or invalid, will be set to the current scene when <see cref="T:Fusion.FusionBootstrap"/> runs Awake().
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Fusion.FusionBootstrap._currentStage">
|
||||
<summary>
|
||||
Indicates which step of the startup process <see cref="T:Fusion.FusionBootstrap"/> is currently in.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Fusion.FusionBootstrap.AutoConnectVirtualInstances">
|
||||
<summary>
|
||||
Requires Multiplayer Play Mode (MPPM) to be installed. If enabled, <see cref="T:Fusion.FusionBootstrap"/> will automatically join the virtual instance.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Fusion.FusionBootstrap.VirtualInstanceConnectDelay">
|
||||
<summary>
|
||||
How much to wait before the main instance lets the virtual instances connect.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Fusion.FusionBootstrap.CurrentStage">
|
||||
<summary>
|
||||
Indicates which step of the startup process <see cref="T:Fusion.FusionBootstrap"/> is currently in.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Fusion.FusionBootstrap.LastCreatedClientIndex">
|
||||
<summary>
|
||||
The index number used for the last created peer.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Fusion.FusionBootstrap.CurrentServerMode">
|
||||
<summary>
|
||||
The server mode that was used for initial startup. Used to inform UI which client modes should be available.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Fusion.FusionBootstrap.StartSinglePlayer">
|
||||
<summary>
|
||||
Start a single player instance.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Fusion.FusionBootstrap.StartServer">
|
||||
<summary>
|
||||
Start a server instance.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Fusion.FusionBootstrap.StartHost">
|
||||
<summary>
|
||||
Start a host instance. This is a server instance, with a local player.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Fusion.FusionBootstrap.StartClient">
|
||||
<summary>
|
||||
Start a client instance.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Fusion.FusionBootstrap.StartServerPlusClients">
|
||||
<summary>
|
||||
Start a Fusion server instance, and the number of client instances indicated by <see cref="F:Fusion.FusionBootstrap.AutoClients"/>.
|
||||
InstanceMode must be set to Multi-Peer mode, as this requires multiple <see cref="T:Fusion.NetworkRunner"/> instances.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Fusion.FusionBootstrap.StartHostPlusClients">
|
||||
<summary>
|
||||
Start a Fusion host instance, and the number of client instances indicated by <see cref="F:Fusion.FusionBootstrap.AutoClients"/>.
|
||||
InstanceMode must be set to Multi-Peer mode, as this requires multiple <see cref="T:Fusion.NetworkRunner"/> instances.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Fusion.FusionBootstrap.StartServerPlusClients(System.Int32)">
|
||||
<summary>
|
||||
Start a Fusion server instance, and the indicated number of client instances.
|
||||
InstanceMode must be set to Multi-Peer mode, as this requires multiple <see cref="T:Fusion.NetworkRunner"/> instances.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Fusion.FusionBootstrap.StartHostPlusClients(System.Int32)">
|
||||
<summary>
|
||||
Start a Fusion host instance (server with local player), and the indicated number of additional client instances.
|
||||
InstanceMode must be set to Multi-Peer mode, as this requires multiple <see cref="T:Fusion.NetworkRunner"/> instances.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Fusion.FusionBootstrap.StartMultipleClients(System.Int32)">
|
||||
<summary>
|
||||
Start a Fusion host instance (server with local player), and the indicated number of additional client instances.
|
||||
InstanceMode must be set to Multi-Peer mode, as this requires multiple <see cref="T:Fusion.NetworkRunner"/> instances.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Fusion.FusionBootstrap.StartMultipleSharedClients(System.Int32)">
|
||||
<summary>
|
||||
Start as Room on the Photon cloud, and connects as one or more clients.
|
||||
</summary>
|
||||
<param name="clientCount"></param>
|
||||
</member>
|
||||
<member name="P:Fusion.FusionBootstrap.ShouldShowGUI">
|
||||
<summary>
|
||||
Only show the GUI if the StartMode is set to UserInterface and not being run in a Virtual Instance (MPPM).
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Fusion.FusionScalableIMGUI">
|
||||
<summary>
|
||||
In-Game IMGUI style used for the <see cref="T:Fusion.FusionBootstrapDebugGUI"/> interface.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Fusion.FusionScalableIMGUI.GetScaledSkin(UnityEngine.GUISkin,System.Single@,System.Single@,System.Int32@,System.Int32@,System.Single@)">
|
||||
<summary>
|
||||
Get the custom scalable skin, already resized to the current screen. Provides the height, width, padding and margin used.
|
||||
</summary>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:Fusion.FusionScalableIMGUI.ScaleGuiSkinToScreenHeight">
|
||||
<summary>
|
||||
Modifies a skin to make it scale with screen height.
|
||||
</summary>
|
||||
<param name="skin"></param>
|
||||
<returns>Returns (height, width, padding, top-margin, left-box-margin) values applied to the GuiSkin</returns>
|
||||
</member>
|
||||
<member name="F:Fusion.NetworkObjectProviderDefault.DelayIfSceneManagerIsBusy">
|
||||
<summary>
|
||||
If enabled, the provider will delay acquiring a prefab instance if the scene manager is busy.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Fusion.IRunnerVisibilityRecognizedType">
|
||||
<summary>
|
||||
Flags a MonoBehaviour class as a RunnerVisibilityControl recognized type.
|
||||
Will be included in runner visibility handling, and will be found by <see cref="T:Fusion.EnableOnSingleRunner"/> component finds.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Fusion.RunnerVisibilityLink">
|
||||
<summary>
|
||||
Identifies visible/audible components (such as renderers, canvases, lights) that should be enabled/disabled by runner visibility handling.
|
||||
Automatically added to scene objects and spawned objects during play if running in <see cref="F:Fusion.NetworkProjectConfig.PeerModes.Multiple"/>.
|
||||
Additionally this component can be added manually at development time to identify specific Behaviours or Renderers you would like to restrict to one enabled copy at a time.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Fusion.RunnerVisibilityLink.PreferredRunners">
|
||||
<summary>
|
||||
The peer runner that will be used if more than one runner is visible, and this node was manually added by developer (indicating only one instance should be visible at a time).
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Fusion.RunnerVisibilityLink.PreferredRunners.Auto">
|
||||
<summary>
|
||||
The first visible runner will be used.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Fusion.RunnerVisibilityLink.PreferredRunners.Server">
|
||||
<summary>
|
||||
The server peer/runner will be used if visible.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Fusion.RunnerVisibilityLink.PreferredRunners.Client">
|
||||
<summary>
|
||||
The first client peer/runner will be used if visible.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Fusion.RunnerVisibilityLink.PreferredRunners.InputAuthority">
|
||||
<summary>
|
||||
The components will only be enabled on the instance that has input authority over the NetworkObject. Unlike the other options, this expects a NetworkObject to work and it will search its children and parents for it.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Fusion.RunnerVisibilityLink.PreferredRunner">
|
||||
<summary>
|
||||
If more than one runner instance is visible, this indicates which peer's clone of this entity should be visible.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Fusion.RunnerVisibilityLink.Component">
|
||||
<summary>
|
||||
The associated component with this node. This Behaviour or Renderer will be enabled/disabled when its NetworkRunner.IsVisible value is changed.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Fusion.RunnerVisibilityLink.Guid">
|
||||
<summary>
|
||||
Guid is used for common objects (user flagged components that should only run in one instance), to identify matching clones.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Fusion.RunnerVisibilityLink.DefaultState">
|
||||
<summary>
|
||||
Set to false to indicate that this object should remain disabled even when <see cref="!:NetworkRunner.IsVisible"/> is set to true.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Fusion.RunnerVisibilityLink.SetEnabled(System.Boolean)">
|
||||
<summary>
|
||||
Sets the visibility state of this node.
|
||||
</summary>
|
||||
<param name="enabled"></param>
|
||||
</member>
|
||||
</members>
|
||||
</doc>
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b199a25aef303094f8d299987c726459
|
||||
labels:
|
||||
- FusionCodeDoc
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267958
|
||||
packageName: Photon Fusion
|
||||
packageVersion: 2.0.12
|
||||
assetPath: Assets/Photon/Fusion/Editor/EditorResources/Fusion.Unity.xml
|
||||
uploadId: 888248
|
||||
@@ -0,0 +1,15 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c809d493e97d33546a90fc00dcd9ba38
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267958
|
||||
packageName: Photon Fusion
|
||||
packageVersion: 2.0.12
|
||||
assetPath: Assets/Photon/Fusion/Editor/EditorResources/FusionEditorSkin.guiskin
|
||||
uploadId: 888248
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c16f5562486f4844ea91e313f985159d
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
After Width: | Height: | Size: 1.3 KiB |
@@ -0,0 +1,127 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 80faca055f57d5b449f78efe31607c57
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 11
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 0
|
||||
sRGBTexture: 1
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapsPreserveCoverage: 0
|
||||
alphaTestReferenceValue: 0.5
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
isReadable: 0
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
vTOnly: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 1
|
||||
wrapV: 1
|
||||
wrapW: 0
|
||||
nPOTScale: 0
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 0
|
||||
spriteExtrude: 1
|
||||
spriteMeshType: 1
|
||||
alignment: 0
|
||||
spritePivot: {x: 0.5, y: 0.5}
|
||||
spritePixelsToUnits: 100
|
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||
spriteGenerateFallbackPhysicsShape: 1
|
||||
alphaUsage: 1
|
||||
alphaIsTransparency: 1
|
||||
spriteTessellationDetail: -1
|
||||
textureType: 2
|
||||
textureShape: 1
|
||||
singleChannelComponent: 0
|
||||
flipbookRows: 1
|
||||
flipbookColumns: 1
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
ignorePngGamma: 0
|
||||
applyGammaDecoding: 0
|
||||
platformSettings:
|
||||
- serializedVersion: 3
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 0
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Standalone
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 0
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Android
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 0
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID:
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
spritePackingTag:
|
||||
pSDRemoveMatte: 0
|
||||
pSDShowRemoveMatteOption: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267958
|
||||
packageName: Photon Fusion
|
||||
packageVersion: 2.0.12
|
||||
assetPath: Assets/Photon/Fusion/Editor/EditorResources/FusionHub/Fusion-hub-community.png
|
||||
uploadId: 888248
|
||||
|
After Width: | Height: | Size: 1.7 KiB |
@@ -0,0 +1,127 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 8958b450dee843f41a091a734ed43ccd
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 11
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 0
|
||||
sRGBTexture: 1
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapsPreserveCoverage: 0
|
||||
alphaTestReferenceValue: 0.5
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
isReadable: 0
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
vTOnly: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 1
|
||||
wrapV: 1
|
||||
wrapW: 0
|
||||
nPOTScale: 0
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 0
|
||||
spriteExtrude: 1
|
||||
spriteMeshType: 1
|
||||
alignment: 0
|
||||
spritePivot: {x: 0.5, y: 0.5}
|
||||
spritePixelsToUnits: 100
|
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||
spriteGenerateFallbackPhysicsShape: 1
|
||||
alphaUsage: 1
|
||||
alphaIsTransparency: 1
|
||||
spriteTessellationDetail: -1
|
||||
textureType: 2
|
||||
textureShape: 1
|
||||
singleChannelComponent: 0
|
||||
flipbookRows: 1
|
||||
flipbookColumns: 1
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
ignorePngGamma: 0
|
||||
applyGammaDecoding: 0
|
||||
platformSettings:
|
||||
- serializedVersion: 3
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 0
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Standalone
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 0
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Android
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 0
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID:
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
spritePackingTag:
|
||||
pSDRemoveMatte: 0
|
||||
pSDShowRemoveMatteOption: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267958
|
||||
packageName: Photon Fusion
|
||||
packageVersion: 2.0.12
|
||||
assetPath: Assets/Photon/Fusion/Editor/EditorResources/FusionHub/Fusion-hub-correct-icon.png
|
||||
uploadId: 888248
|
||||
|
After Width: | Height: | Size: 564 B |
@@ -0,0 +1,127 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ac3bb1641dbebe441be81b7b3af3606c
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 11
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 0
|
||||
sRGBTexture: 1
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapsPreserveCoverage: 0
|
||||
alphaTestReferenceValue: 0.5
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
isReadable: 0
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
vTOnly: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 1
|
||||
wrapV: 1
|
||||
wrapW: 0
|
||||
nPOTScale: 0
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 0
|
||||
spriteExtrude: 1
|
||||
spriteMeshType: 1
|
||||
alignment: 0
|
||||
spritePivot: {x: 0.5, y: 0.5}
|
||||
spritePixelsToUnits: 100
|
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||
spriteGenerateFallbackPhysicsShape: 1
|
||||
alphaUsage: 1
|
||||
alphaIsTransparency: 1
|
||||
spriteTessellationDetail: -1
|
||||
textureType: 2
|
||||
textureShape: 1
|
||||
singleChannelComponent: 0
|
||||
flipbookRows: 1
|
||||
flipbookColumns: 1
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
ignorePngGamma: 0
|
||||
applyGammaDecoding: 0
|
||||
platformSettings:
|
||||
- serializedVersion: 3
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 0
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Standalone
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 0
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Android
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 0
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID:
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
spritePackingTag:
|
||||
pSDRemoveMatte: 0
|
||||
pSDShowRemoveMatteOption: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267958
|
||||
packageName: Photon Fusion
|
||||
packageVersion: 2.0.12
|
||||
assetPath: Assets/Photon/Fusion/Editor/EditorResources/FusionHub/Fusion-hub-documentation.png
|
||||
uploadId: 888248
|
||||
|
After Width: | Height: | Size: 2.1 KiB |
@@ -0,0 +1,127 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ee9f419d0e0655a4882d707f86b99f2c
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 11
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 0
|
||||
sRGBTexture: 1
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapsPreserveCoverage: 0
|
||||
alphaTestReferenceValue: 0.5
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
isReadable: 0
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
vTOnly: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 1
|
||||
wrapV: 1
|
||||
wrapW: 0
|
||||
nPOTScale: 0
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 0
|
||||
spriteExtrude: 1
|
||||
spriteMeshType: 1
|
||||
alignment: 0
|
||||
spritePivot: {x: 0.5, y: 0.5}
|
||||
spritePixelsToUnits: 100
|
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||
spriteGenerateFallbackPhysicsShape: 1
|
||||
alphaUsage: 1
|
||||
alphaIsTransparency: 1
|
||||
spriteTessellationDetail: -1
|
||||
textureType: 2
|
||||
textureShape: 1
|
||||
singleChannelComponent: 0
|
||||
flipbookRows: 1
|
||||
flipbookColumns: 1
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
ignorePngGamma: 0
|
||||
applyGammaDecoding: 0
|
||||
platformSettings:
|
||||
- serializedVersion: 3
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 0
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Standalone
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 0
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Android
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 0
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID:
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
spritePackingTag:
|
||||
pSDRemoveMatte: 0
|
||||
pSDShowRemoveMatteOption: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267958
|
||||
packageName: Photon Fusion
|
||||
packageVersion: 2.0.12
|
||||
assetPath: Assets/Photon/Fusion/Editor/EditorResources/FusionHub/Fusion-hub-icon.png
|
||||
uploadId: 888248
|
||||
|
After Width: | Height: | Size: 1.6 KiB |
@@ -0,0 +1,127 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 0a86c2478d62ef74bb46b7906cac7fb2
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 11
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 0
|
||||
sRGBTexture: 1
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapsPreserveCoverage: 0
|
||||
alphaTestReferenceValue: 0.5
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
isReadable: 0
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
vTOnly: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 1
|
||||
wrapV: 1
|
||||
wrapW: 0
|
||||
nPOTScale: 0
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 0
|
||||
spriteExtrude: 1
|
||||
spriteMeshType: 1
|
||||
alignment: 0
|
||||
spritePivot: {x: 0.5, y: 0.5}
|
||||
spritePixelsToUnits: 100
|
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||
spriteGenerateFallbackPhysicsShape: 1
|
||||
alphaUsage: 1
|
||||
alphaIsTransparency: 1
|
||||
spriteTessellationDetail: -1
|
||||
textureType: 2
|
||||
textureShape: 1
|
||||
singleChannelComponent: 0
|
||||
flipbookRows: 1
|
||||
flipbookColumns: 1
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
ignorePngGamma: 0
|
||||
applyGammaDecoding: 0
|
||||
platformSettings:
|
||||
- serializedVersion: 3
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 0
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Standalone
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 0
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Android
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 0
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID:
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
spritePackingTag:
|
||||
pSDRemoveMatte: 0
|
||||
pSDShowRemoveMatteOption: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267958
|
||||
packageName: Photon Fusion
|
||||
packageVersion: 2.0.12
|
||||
assetPath: Assets/Photon/Fusion/Editor/EditorResources/FusionHub/Fusion-hub-information.png
|
||||
uploadId: 888248
|
||||
|
After Width: | Height: | Size: 6.9 KiB |
@@ -0,0 +1,127 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 3ffdd609e3329cb46a9ac335d4539399
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 11
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 0
|
||||
sRGBTexture: 1
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapsPreserveCoverage: 0
|
||||
alphaTestReferenceValue: 0.5
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
isReadable: 0
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
vTOnly: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 1
|
||||
wrapV: 1
|
||||
wrapW: 0
|
||||
nPOTScale: 0
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 0
|
||||
spriteExtrude: 1
|
||||
spriteMeshType: 1
|
||||
alignment: 0
|
||||
spritePivot: {x: 0.5, y: 0.5}
|
||||
spritePixelsToUnits: 100
|
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||
spriteGenerateFallbackPhysicsShape: 1
|
||||
alphaUsage: 1
|
||||
alphaIsTransparency: 1
|
||||
spriteTessellationDetail: -1
|
||||
textureType: 2
|
||||
textureShape: 1
|
||||
singleChannelComponent: 0
|
||||
flipbookRows: 1
|
||||
flipbookColumns: 1
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
ignorePngGamma: 0
|
||||
applyGammaDecoding: 0
|
||||
platformSettings:
|
||||
- serializedVersion: 3
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 0
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Standalone
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 0
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Android
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 0
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID:
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
spritePackingTag:
|
||||
pSDRemoveMatte: 0
|
||||
pSDShowRemoveMatteOption: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267958
|
||||
packageName: Photon Fusion
|
||||
packageVersion: 2.0.12
|
||||
assetPath: Assets/Photon/Fusion/Editor/EditorResources/FusionHub/Fusion-hub-logo.png
|
||||
uploadId: 888248
|
||||
|
After Width: | Height: | Size: 2.7 KiB |
@@ -0,0 +1,127 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 43725de47547036498287ad504fe9f9d
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 11
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 0
|
||||
sRGBTexture: 1
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapsPreserveCoverage: 0
|
||||
alphaTestReferenceValue: 0.5
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
isReadable: 0
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
vTOnly: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 1
|
||||
wrapV: 1
|
||||
wrapW: 0
|
||||
nPOTScale: 0
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 0
|
||||
spriteExtrude: 1
|
||||
spriteMeshType: 1
|
||||
alignment: 0
|
||||
spritePivot: {x: 0.5, y: 0.5}
|
||||
spritePixelsToUnits: 100
|
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||
spriteGenerateFallbackPhysicsShape: 1
|
||||
alphaUsage: 1
|
||||
alphaIsTransparency: 1
|
||||
spriteTessellationDetail: -1
|
||||
textureType: 2
|
||||
textureShape: 1
|
||||
singleChannelComponent: 0
|
||||
flipbookRows: 1
|
||||
flipbookColumns: 1
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
ignorePngGamma: 0
|
||||
applyGammaDecoding: 0
|
||||
platformSettings:
|
||||
- serializedVersion: 3
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 0
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Standalone
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 0
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Android
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 0
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID:
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
spritePackingTag:
|
||||
pSDRemoveMatte: 0
|
||||
pSDShowRemoveMatteOption: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267958
|
||||
packageName: Photon Fusion
|
||||
packageVersion: 2.0.12
|
||||
assetPath: Assets/Photon/Fusion/Editor/EditorResources/FusionHub/Fusion-hub-photon-cloud-32-dark.png
|
||||
uploadId: 888248
|
||||
|
After Width: | Height: | Size: 450 B |
@@ -0,0 +1,127 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 24a22d21fe312f44892796563f01c302
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 11
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 0
|
||||
sRGBTexture: 1
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapsPreserveCoverage: 0
|
||||
alphaTestReferenceValue: 0.5
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
isReadable: 0
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
vTOnly: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 1
|
||||
wrapV: 1
|
||||
wrapW: 0
|
||||
nPOTScale: 0
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 0
|
||||
spriteExtrude: 1
|
||||
spriteMeshType: 1
|
||||
alignment: 0
|
||||
spritePivot: {x: 0.5, y: 0.5}
|
||||
spritePixelsToUnits: 100
|
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||
spriteGenerateFallbackPhysicsShape: 1
|
||||
alphaUsage: 1
|
||||
alphaIsTransparency: 1
|
||||
spriteTessellationDetail: -1
|
||||
textureType: 2
|
||||
textureShape: 1
|
||||
singleChannelComponent: 0
|
||||
flipbookRows: 1
|
||||
flipbookColumns: 1
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
ignorePngGamma: 0
|
||||
applyGammaDecoding: 0
|
||||
platformSettings:
|
||||
- serializedVersion: 3
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 0
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Standalone
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 0
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Android
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 0
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID:
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
spritePackingTag:
|
||||
pSDRemoveMatte: 0
|
||||
pSDShowRemoveMatteOption: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267958
|
||||
packageName: Photon Fusion
|
||||
packageVersion: 2.0.12
|
||||
assetPath: Assets/Photon/Fusion/Editor/EditorResources/FusionHub/Fusion-hub-samples.png
|
||||
uploadId: 888248
|
||||
|
After Width: | Height: | Size: 1.1 KiB |
@@ -0,0 +1,127 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 5c322c17376df3f448fb66679ef2af5d
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 11
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 0
|
||||
sRGBTexture: 1
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapsPreserveCoverage: 0
|
||||
alphaTestReferenceValue: 0.5
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
isReadable: 0
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
vTOnly: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 1
|
||||
wrapV: 1
|
||||
wrapW: 0
|
||||
nPOTScale: 0
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 0
|
||||
spriteExtrude: 1
|
||||
spriteMeshType: 1
|
||||
alignment: 0
|
||||
spritePivot: {x: 0.5, y: 0.5}
|
||||
spritePixelsToUnits: 100
|
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||
spriteGenerateFallbackPhysicsShape: 1
|
||||
alphaUsage: 1
|
||||
alphaIsTransparency: 1
|
||||
spriteTessellationDetail: -1
|
||||
textureType: 2
|
||||
textureShape: 1
|
||||
singleChannelComponent: 0
|
||||
flipbookRows: 1
|
||||
flipbookColumns: 1
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
ignorePngGamma: 0
|
||||
applyGammaDecoding: 0
|
||||
platformSettings:
|
||||
- serializedVersion: 3
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 0
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Standalone
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 0
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Android
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 0
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID:
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
spritePackingTag:
|
||||
pSDRemoveMatte: 0
|
||||
pSDShowRemoveMatteOption: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267958
|
||||
packageName: Photon Fusion
|
||||
packageVersion: 2.0.12
|
||||
assetPath: Assets/Photon/Fusion/Editor/EditorResources/FusionHub/Fusion-hub-skin-box.png
|
||||
uploadId: 888248
|
||||
|
After Width: | Height: | Size: 1.3 KiB |
@@ -0,0 +1,127 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d0575c14294b39f4aa7849bf1172ec95
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 11
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 0
|
||||
sRGBTexture: 1
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapsPreserveCoverage: 0
|
||||
alphaTestReferenceValue: 0.5
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
isReadable: 0
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
vTOnly: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 1
|
||||
wrapV: 1
|
||||
wrapW: 0
|
||||
nPOTScale: 0
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 0
|
||||
spriteExtrude: 1
|
||||
spriteMeshType: 1
|
||||
alignment: 0
|
||||
spritePivot: {x: 0.5, y: 0.5}
|
||||
spritePixelsToUnits: 100
|
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||
spriteGenerateFallbackPhysicsShape: 1
|
||||
alphaUsage: 1
|
||||
alphaIsTransparency: 1
|
||||
spriteTessellationDetail: -1
|
||||
textureType: 2
|
||||
textureShape: 1
|
||||
singleChannelComponent: 0
|
||||
flipbookRows: 1
|
||||
flipbookColumns: 1
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
ignorePngGamma: 0
|
||||
applyGammaDecoding: 0
|
||||
platformSettings:
|
||||
- serializedVersion: 3
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 0
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Standalone
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 0
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Android
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 0
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID:
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
spritePackingTag:
|
||||
pSDRemoveMatte: 0
|
||||
pSDShowRemoveMatteOption: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267958
|
||||
packageName: Photon Fusion
|
||||
packageVersion: 2.0.12
|
||||
assetPath: Assets/Photon/Fusion/Editor/EditorResources/FusionHub/Fusion-hub-skin-button-active.png
|
||||
uploadId: 888248
|
||||
|
After Width: | Height: | Size: 1.3 KiB |
@@ -0,0 +1,127 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 28ab15b073656894582b34905fc3ef9b
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 11
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 0
|
||||
sRGBTexture: 1
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapsPreserveCoverage: 0
|
||||
alphaTestReferenceValue: 0.5
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
isReadable: 0
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
vTOnly: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
mipBias: 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: 2
|
||||
textureShape: 1
|
||||
singleChannelComponent: 0
|
||||
flipbookRows: 1
|
||||
flipbookColumns: 1
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
ignorePngGamma: 0
|
||||
applyGammaDecoding: 0
|
||||
platformSettings:
|
||||
- serializedVersion: 3
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 0
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Standalone
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 0
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Android
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 0
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID: 5e97eb03825dee720800000000000000
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
spritePackingTag:
|
||||
pSDRemoveMatte: 0
|
||||
pSDShowRemoveMatteOption: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267958
|
||||
packageName: Photon Fusion
|
||||
packageVersion: 2.0.12
|
||||
assetPath: Assets/Photon/Fusion/Editor/EditorResources/FusionHub/Fusion-hub-skin-button-hover.png
|
||||
uploadId: 888248
|
||||
|
After Width: | Height: | Size: 1.3 KiB |
@@ -0,0 +1,127 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 7c5bca332d2e7d548a317592d570b483
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 11
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 0
|
||||
sRGBTexture: 1
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapsPreserveCoverage: 0
|
||||
alphaTestReferenceValue: 0.5
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
isReadable: 0
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
vTOnly: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
mipBias: 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: 2
|
||||
textureShape: 1
|
||||
singleChannelComponent: 0
|
||||
flipbookRows: 1
|
||||
flipbookColumns: 1
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
ignorePngGamma: 0
|
||||
applyGammaDecoding: 0
|
||||
platformSettings:
|
||||
- serializedVersion: 3
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 0
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Standalone
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 0
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Android
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 0
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID: 5e97eb03825dee720800000000000000
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
spritePackingTag:
|
||||
pSDRemoveMatte: 0
|
||||
pSDShowRemoveMatteOption: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267958
|
||||
packageName: Photon Fusion
|
||||
packageVersion: 2.0.12
|
||||
assetPath: Assets/Photon/Fusion/Editor/EditorResources/FusionHub/Fusion-hub-skin-button.png
|
||||
uploadId: 888248
|
||||
|
After Width: | Height: | Size: 1.3 KiB |
@@ -0,0 +1,127 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 808bf90f5f24df3419fc47e88bc82168
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 11
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 0
|
||||
sRGBTexture: 1
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapsPreserveCoverage: 0
|
||||
alphaTestReferenceValue: 0.5
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
isReadable: 0
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
vTOnly: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 1
|
||||
wrapV: 1
|
||||
wrapW: 0
|
||||
nPOTScale: 0
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 0
|
||||
spriteExtrude: 1
|
||||
spriteMeshType: 1
|
||||
alignment: 0
|
||||
spritePivot: {x: 0.5, y: 0.5}
|
||||
spritePixelsToUnits: 100
|
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||
spriteGenerateFallbackPhysicsShape: 1
|
||||
alphaUsage: 1
|
||||
alphaIsTransparency: 1
|
||||
spriteTessellationDetail: -1
|
||||
textureType: 2
|
||||
textureShape: 1
|
||||
singleChannelComponent: 0
|
||||
flipbookRows: 1
|
||||
flipbookColumns: 1
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
ignorePngGamma: 0
|
||||
applyGammaDecoding: 0
|
||||
platformSettings:
|
||||
- serializedVersion: 3
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 0
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Standalone
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 0
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Android
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 0
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID:
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
spritePackingTag:
|
||||
pSDRemoveMatte: 0
|
||||
pSDShowRemoveMatteOption: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267958
|
||||
packageName: Photon Fusion
|
||||
packageVersion: 2.0.12
|
||||
assetPath: Assets/Photon/Fusion/Editor/EditorResources/FusionHub/Fusion-hub-skin-sand.png
|
||||
uploadId: 888248
|
||||
|
After Width: | Height: | Size: 1.3 KiB |
@@ -0,0 +1,127 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 0566916d8e2825c4b8ca741167d4ddda
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 11
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 0
|
||||
sRGBTexture: 1
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapsPreserveCoverage: 0
|
||||
alphaTestReferenceValue: 0.5
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
isReadable: 0
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
vTOnly: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 1
|
||||
wrapV: 1
|
||||
wrapW: 0
|
||||
nPOTScale: 0
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 0
|
||||
spriteExtrude: 1
|
||||
spriteMeshType: 1
|
||||
alignment: 0
|
||||
spritePivot: {x: 0.5, y: 0.5}
|
||||
spritePixelsToUnits: 100
|
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||
spriteGenerateFallbackPhysicsShape: 1
|
||||
alphaUsage: 1
|
||||
alphaIsTransparency: 1
|
||||
spriteTessellationDetail: -1
|
||||
textureType: 2
|
||||
textureShape: 1
|
||||
singleChannelComponent: 0
|
||||
flipbookRows: 1
|
||||
flipbookColumns: 1
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
ignorePngGamma: 0
|
||||
applyGammaDecoding: 0
|
||||
platformSettings:
|
||||
- serializedVersion: 3
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 0
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Standalone
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 0
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Android
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 0
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID:
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
spritePackingTag:
|
||||
pSDRemoveMatte: 0
|
||||
pSDShowRemoveMatteOption: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267958
|
||||
packageName: Photon Fusion
|
||||
packageVersion: 2.0.12
|
||||
assetPath: Assets/Photon/Fusion/Editor/EditorResources/FusionHub/Fusion-hub-skin-steel.png
|
||||
uploadId: 888248
|
||||
|
After Width: | Height: | Size: 936 B |
@@ -0,0 +1,127 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 8acec593dd6702e4e872b506285ffc4d
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 11
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 0
|
||||
sRGBTexture: 1
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapsPreserveCoverage: 0
|
||||
alphaTestReferenceValue: 0.5
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
isReadable: 0
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
vTOnly: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 1
|
||||
wrapV: 1
|
||||
wrapW: 0
|
||||
nPOTScale: 0
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 0
|
||||
spriteExtrude: 1
|
||||
spriteMeshType: 1
|
||||
alignment: 0
|
||||
spritePivot: {x: 0.5, y: 0.5}
|
||||
spritePixelsToUnits: 100
|
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||
spriteGenerateFallbackPhysicsShape: 1
|
||||
alphaUsage: 1
|
||||
alphaIsTransparency: 1
|
||||
spriteTessellationDetail: -1
|
||||
textureType: 2
|
||||
textureShape: 1
|
||||
singleChannelComponent: 0
|
||||
flipbookRows: 1
|
||||
flipbookColumns: 1
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
ignorePngGamma: 0
|
||||
applyGammaDecoding: 0
|
||||
platformSettings:
|
||||
- serializedVersion: 3
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Standalone
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Android
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID:
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
spritePackingTag:
|
||||
pSDRemoveMatte: 0
|
||||
pSDShowRemoveMatteOption: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267958
|
||||
packageName: Photon Fusion
|
||||
packageVersion: 2.0.12
|
||||
assetPath: Assets/Photon/Fusion/Editor/EditorResources/FusionHub/Fusion-hub-skin-window.png
|
||||
uploadId: 888248
|
||||
|
After Width: | Height: | Size: 14 KiB |
@@ -0,0 +1,127 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 98358aa88aea883458fa24b6502d1da0
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 11
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 0
|
||||
sRGBTexture: 1
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapsPreserveCoverage: 0
|
||||
alphaTestReferenceValue: 0.5
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
isReadable: 0
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
vTOnly: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 1
|
||||
wrapV: 1
|
||||
wrapW: 0
|
||||
nPOTScale: 0
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 0
|
||||
spriteExtrude: 1
|
||||
spriteMeshType: 1
|
||||
alignment: 0
|
||||
spritePivot: {x: 0.5, y: 0.5}
|
||||
spritePixelsToUnits: 100
|
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||
spriteGenerateFallbackPhysicsShape: 1
|
||||
alphaUsage: 1
|
||||
alphaIsTransparency: 1
|
||||
spriteTessellationDetail: -1
|
||||
textureType: 2
|
||||
textureShape: 1
|
||||
singleChannelComponent: 0
|
||||
flipbookRows: 1
|
||||
flipbookColumns: 1
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
ignorePngGamma: 0
|
||||
applyGammaDecoding: 0
|
||||
platformSettings:
|
||||
- serializedVersion: 3
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 0
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Standalone
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 0
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Android
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 0
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID:
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
spritePackingTag:
|
||||
pSDRemoveMatte: 0
|
||||
pSDShowRemoveMatteOption: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267958
|
||||
packageName: Photon Fusion
|
||||
packageVersion: 2.0.12
|
||||
assetPath: Assets/Photon/Fusion/Editor/EditorResources/FusionHub/Fusion-hub-tanknarok-logo.png
|
||||
uploadId: 888248
|
||||
@@ -0,0 +1,15 @@
|
||||
fileFormatVersion: 2
|
||||
guid: db84c499838991343a5a0a419616fcbe
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267958
|
||||
packageName: Photon Fusion
|
||||
packageVersion: 2.0.12
|
||||
assetPath: Assets/Photon/Fusion/Editor/EditorResources/FusionHub/FusionHubSkin.guiskin
|
||||
uploadId: 888248
|
||||
@@ -0,0 +1,18 @@
|
||||
#if !FUSION_DEV
|
||||
|
||||
#region Assets/Photon/Fusion/Editor/AssemblyAttributes/FusionEditorAssemblyAttributes.Common.cs
|
||||
|
||||
// merged EditorAssemblyAttributes
|
||||
|
||||
#region RegisterEditorLoader.cs
|
||||
|
||||
// the default edit-mode loader
|
||||
[assembly: Fusion.Editor.FusionGlobalScriptableObjectEditorAttribute(typeof(Fusion.FusionGlobalScriptableObject), AllowEditMode = true, Order = int.MaxValue)]
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,18 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 5094317ddb6bdc049aac25f854861ab9
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267958
|
||||
packageName: Photon Fusion
|
||||
packageVersion: 2.0.12
|
||||
assetPath: Assets/Photon/Fusion/Editor/Fusion.Unity.Editor.AssemblyAttributes.cs
|
||||
uploadId: 888248
|
||||
@@ -0,0 +1,74 @@
|
||||
{
|
||||
"name": "Fusion.Unity.Editor",
|
||||
"rootNamespace": "Fusion",
|
||||
"references": [
|
||||
"GUID:142cc54f3f73e4dabac1c30b19afb51d",
|
||||
"GUID:19e39f4cea842594788e0c7be4c044c8",
|
||||
"GUID:1baf1ffff1031e948b3b228ab3453251",
|
||||
"GUID:9e24947de15b9834991c9d8411ea37cf",
|
||||
"GUID:69448af7b92c7f342b298e06a37122aa",
|
||||
"GUID:84651a3751eca9349aac36a66bba901b",
|
||||
"Unity.UI"
|
||||
],
|
||||
"includePlatforms": [
|
||||
"Editor"
|
||||
],
|
||||
"excludePlatforms": [],
|
||||
"allowUnsafeCode": true,
|
||||
"overrideReferences": true,
|
||||
"precompiledReferences": [
|
||||
"Mono.Cecil.dll",
|
||||
"Mono.Cecil.Pdb.dll",
|
||||
"Mono.Cecil.Mdb.dll",
|
||||
"Mono.Cecil.Rocks.dll",
|
||||
"Fusion.Common.dll",
|
||||
"Fusion.Runtime.dll",
|
||||
"Fusion.Realtime.dll",
|
||||
"Fusion.Log.dll",
|
||||
"Sirenix.OdinInspector.Editor.dll",
|
||||
"Sirenix.Utilities.Editor.dll",
|
||||
"Sirenix.Utilities.dll",
|
||||
"Sirenix.OdinInspector.Attributes.dll",
|
||||
"Newtonsoft.Json.dll"
|
||||
],
|
||||
"autoReferenced": true,
|
||||
"defineConstraints": [],
|
||||
"versionDefines": [
|
||||
{
|
||||
"name": "com.unity.nuget.mono-cecil",
|
||||
"expression": "1",
|
||||
"define": "FUSION_HAS_MONO_CECIL"
|
||||
},
|
||||
{
|
||||
"name": "nuget.mono-cecil",
|
||||
"expression": "0.1",
|
||||
"define": "FUSION_HAS_MONO_CECIL"
|
||||
},
|
||||
{
|
||||
"name": "com.unity.nuget.mono-cecil",
|
||||
"expression": "1.11",
|
||||
"define": "FUSION_CECIL_1_11_OR_NEWER"
|
||||
},
|
||||
{
|
||||
"name": "com.unity.addressables",
|
||||
"expression": "1.0",
|
||||
"define": "FUSION_ENABLE_ADDRESSABLES"
|
||||
},
|
||||
{
|
||||
"name": "com.unity.ide.rider",
|
||||
"expression": "1.0",
|
||||
"define": "FUSION_HAS_JETBRAINS_ATTRIBUTES"
|
||||
},
|
||||
{
|
||||
"name": "com.unity.nuget.newtonsoft-json",
|
||||
"expression": "1.0",
|
||||
"define": "FUSION_HAS_NEWTONSOFT_JSON"
|
||||
},
|
||||
{
|
||||
"name": "com.unity.multiplayer.playmode",
|
||||
"expression": "0.6",
|
||||
"define": "FUSION_HAS_MPPM"
|
||||
}
|
||||
],
|
||||
"noEngineReferences": false
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 4d449a4732e064d26a3069f2cfd88917
|
||||
AssemblyDefinitionImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267958
|
||||
packageName: Photon Fusion
|
||||
packageVersion: 2.0.12
|
||||
assetPath: Assets/Photon/Fusion/Editor/Fusion.Unity.Editor.asmdef
|
||||
uploadId: 888248
|
||||
15150
Assets/Third Parties/Photon/Fusion/Editor/Fusion.Unity.Editor.cs
Normal file
@@ -0,0 +1,18 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 91a915d06029929418c86dcc2003f785
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267958
|
||||
packageName: Photon Fusion
|
||||
packageVersion: 2.0.12
|
||||
assetPath: Assets/Photon/Fusion/Editor/Fusion.Unity.Editor.cs
|
||||
uploadId: 888248
|
||||
@@ -0,0 +1,22 @@
|
||||
namespace Fusion.Editor {
|
||||
using System.IO;
|
||||
using UnityEditor.AssetImporters;
|
||||
using UnityEngine;
|
||||
|
||||
[ScriptedImporter(0, "editorconfig")]
|
||||
class FusionEditorConfigImporter : ScriptedImporter {
|
||||
public override void OnImportAsset(AssetImportContext ctx) {
|
||||
var path = ctx.assetPath;
|
||||
var contents = File.ReadAllText(path);
|
||||
|
||||
// create internal text asset for convenience
|
||||
var mainAsset = new TextAsset(contents);
|
||||
ctx.AddObjectToAsset("main", mainAsset);
|
||||
ctx.SetMainObject(mainAsset);
|
||||
|
||||
// write the actual editorconfig for editors to consume
|
||||
var editorConfigPath = Path.Combine(Path.GetDirectoryName(path), ".editorconfig");
|
||||
File.WriteAllText(editorConfigPath, contents);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
fileFormatVersion: 2
|
||||
guid: de703c9ba568c804997917200422ce7e
|
||||
timeCreated: 1681382704
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267958
|
||||
packageName: Photon Fusion
|
||||
packageVersion: 2.0.12
|
||||
assetPath: Assets/Photon/Fusion/Editor/FusionEditorConfigImporter.cs
|
||||
uploadId: 888248
|
||||
108
Assets/Third Parties/Photon/Fusion/Editor/FusionEditorSkin.cs
Normal file
@@ -0,0 +1,108 @@
|
||||
namespace Fusion.Editor {
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using UnityEditor;
|
||||
using UnityEngine;
|
||||
|
||||
/// <summary>
|
||||
/// An editor scriptable object that stores UI skins and different <see cref="GUIStyle"/> Unity inspectors and custom windows.
|
||||
/// </summary>
|
||||
#if FUSION_DEV
|
||||
[CreateAssetMenu(menuName = "Fusion/Editor Skin")]
|
||||
#endif
|
||||
partial class FusionEditorSkin : ScriptableObject {
|
||||
|
||||
private static FusionEditorSkin s_Instance;
|
||||
|
||||
public static FusionEditorSkin instance {
|
||||
get {
|
||||
if (s_Instance == null) {
|
||||
s_Instance = CreateInstance<FusionEditorSkin>();
|
||||
s_Instance.hideFlags = HideFlags.HideAndDontSave;
|
||||
}
|
||||
|
||||
return s_Instance;
|
||||
}
|
||||
}
|
||||
|
||||
public GUISkin Skin;
|
||||
|
||||
public static GUIStyle HelpButtonStyle => instance.Skin.GetStyle(EditorGUIUtility.isProSkin ? "dark-help-button" : "light-help-button");
|
||||
public static GUIStyle InlineBoxFullWidthStyle => instance.Skin.GetStyle("inline-box-full-width");
|
||||
public static GUIStyle InlineBoxFullWidthScopeStyle => instance.Skin.GetStyle("inline-box-full-width-scope");
|
||||
public static GUIStyle ScriptHeaderBackgroundStyle => instance.Skin.GetStyle("script-header-bg");
|
||||
public static GUIStyle ScriptHeaderIconStyle => instance.Skin.GetStyle("script-header-icon");
|
||||
public static GUIStyle ScriptHeaderLabelStyle => instance.Skin.GetStyle("script-header-label");
|
||||
public static GUIStyle RichLabelStyle => instance.Skin.GetStyle(EditorGUIUtility.isProSkin ? "dark-rich-label" : "light-rich-label");
|
||||
public static GUIStyle InlineSelectorStyle => instance.Skin.GetStyle("inline-selector");
|
||||
public static GUIStyle OutlineBoxStyle => instance.Skin.GetStyle("outline-box");
|
||||
|
||||
|
||||
public static Color HelpInlineBoxColor => EditorGUIUtility.isProSkin ? new Color(0.317f, 0.337f, 0.352f, 1.000f) : new Color(0.686f, 0.776f, 0.859f);
|
||||
public static Color WarningInlineBoxColor => EditorGUIUtility.isProSkin ? new Color(0.36f, 0.33f, 0.22f, 1.00f) : new Color(0.98f, 0.94f, 0.80f, 0.90f);
|
||||
public static Color ErrorInlineBoxColor => EditorGUIUtility.isProSkin ? new Color(0.40f, 0.15f, 0.10f, 1.00f) : new Color(0.9f, 0.70f, 0.70f, 1.00f);
|
||||
|
||||
public static readonly LazyAsset<Texture2D> InfoIcon = LazyAsset.Create(() => FindTextureOrThrow(EditorGUIUtility.isProSkin ? "d_console.infoicon.sml@2x" : "console.infoicon.sml@2x"));
|
||||
public static readonly LazyAsset<Texture2D> WarningIcon = LazyAsset.Create(() => FindTextureOrThrow(EditorGUIUtility.isProSkin ? "d_console.warnicon.sml@2x" : "console.warnicon.sml@2x"));
|
||||
public static readonly LazyAsset<Texture2D> ErrorIcon = LazyAsset.Create(() => FindTextureOrThrow(EditorGUIUtility.isProSkin ? "d_console.erroricon.sml@2x" : "console.erroricon.sml@2x"));
|
||||
public static readonly LazyAsset<Texture2D> LoadStateIcon = LazyAsset.Create(() => FindTextureOrThrow("blendSampler"));
|
||||
public static readonly LazyAsset<Texture2D> RefreshIcon = LazyAsset.Create(() => FindTextureOrThrow(EditorGUIUtility.isProSkin ? "d_Refresh@2x" : "Refresh@2x"));
|
||||
|
||||
public static readonly LazyGUIStyle OverlayLabelStyle = LazyGUIStyle.Create(_ => {
|
||||
var result = new GUIStyle(EditorStyles.miniLabel);
|
||||
result.alignment = TextAnchor.MiddleRight;
|
||||
result.contentOffset = new Vector2(-2, 0);
|
||||
result.normal.textColor = EditorGUIUtility.isProSkin ? new Color(255f / 255f, 221 / 255f, 0 / 255f, 1f) : Color.blue;
|
||||
return result;
|
||||
});
|
||||
|
||||
public static readonly LazyGUIStyle RawDataStyle = LazyGUIStyle.Create(_ => new GUIStyle(EditorStyles.textArea) { wordWrap = true });
|
||||
public static readonly LazyGUIStyle DropDownListStyle = LazyGUIStyle.Create(_ => FindBuiltInStyleOrThrow("DropDownButton"));
|
||||
|
||||
private static Texture2D FindTextureOrThrow(string id) {
|
||||
var texture = EditorGUIUtility.FindTexture(id);
|
||||
if (texture) {
|
||||
return texture;
|
||||
}
|
||||
|
||||
var icon = EditorGUIUtility.IconContent(id);
|
||||
if (icon?.image) {
|
||||
return (Texture2D)icon.image;
|
||||
}
|
||||
|
||||
throw new ArgumentOutOfRangeException($"Could not find texture with id {id}");
|
||||
}
|
||||
|
||||
private static GUIStyle FindBuiltInStyleOrThrow(string styleName) {
|
||||
var style = GUI.skin.FindStyle(styleName) ?? EditorGUIUtility.GetBuiltinSkin(EditorSkin.Inspector).FindStyle(styleName);
|
||||
|
||||
if (style == null) {
|
||||
throw new ArgumentOutOfRangeException("Missing built-in guistyle " + styleName);
|
||||
}
|
||||
|
||||
return style;
|
||||
}
|
||||
|
||||
private Dictionary<ScriptHeaderBackColor, Color> _scriptHeaderStyles = new() {
|
||||
{ ScriptHeaderBackColor.None, new Color() },
|
||||
{ ScriptHeaderBackColor.Gray, new Color(0.35f, 0.35f, 0.35f) },
|
||||
{ ScriptHeaderBackColor.Blue, new Color(0.15f, 0.25f, 0.6f) },
|
||||
{ ScriptHeaderBackColor.Red, new Color(0.5f, 0.1f, 0.1f) },
|
||||
{ ScriptHeaderBackColor.Green, new Color(0.1f, 0.4f, 0.1f) },
|
||||
{ ScriptHeaderBackColor.Orange, new Color(0.6f, 0.35f, 0.1f) },
|
||||
{ ScriptHeaderBackColor.Black, new Color(0.1f, 0.1f, 0.1f) },
|
||||
{ ScriptHeaderBackColor.Steel, new Color(0.32f, 0.35f, 0.38f) },
|
||||
{ ScriptHeaderBackColor.Sand, new Color(0.38f, 0.35f, 0.32f) },
|
||||
{ ScriptHeaderBackColor.Olive, new Color(0.25f, 0.33f, 0.15f) },
|
||||
{ ScriptHeaderBackColor.Cyan, new Color(0.25f, 0.5f, 0.5f) },
|
||||
{ ScriptHeaderBackColor.Violet, new Color(0.35f, 0.2f, 0.4f) },
|
||||
};
|
||||
|
||||
public static Color GetScriptHeaderColor(ScriptHeaderBackColor settingsBackColor) {
|
||||
if (instance._scriptHeaderStyles.TryGetValue(settingsBackColor, out var color)) {
|
||||
return color;
|
||||
}
|
||||
return default;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 2119ee8fcf3d90445867b93c17e27272
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences:
|
||||
- ScriptHeaderFont: {fileID: 12800000, guid: d9d6a85f7c05f99439d73c334199cb58, type: 3}
|
||||
- Skin: {fileID: 11400000, guid: c809d493e97d33546a90fc00dcd9ba38, type: 2}
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267958
|
||||
packageName: Photon Fusion
|
||||
packageVersion: 2.0.12
|
||||
assetPath: Assets/Photon/Fusion/Editor/FusionEditorSkin.cs
|
||||
uploadId: 888248
|
||||
264
Assets/Third Parties/Photon/Fusion/Editor/FusionHubWindow.cs
Normal file
@@ -0,0 +1,264 @@
|
||||
namespace Fusion.Editor {
|
||||
#if FUSION_WEAVER && UNITY_EDITOR
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using Photon.Realtime;
|
||||
using UnityEditor;
|
||||
using UnityEngine;
|
||||
using EditorUtility = UnityEditor.EditorUtility;
|
||||
|
||||
public partial class FusionHubWindow : EditorWindow {
|
||||
private const int NavWidth = 256 + 2;
|
||||
|
||||
private static bool? _ready; // true after InitContent(), reset onDestroy, onEnable, etc.
|
||||
|
||||
private static Vector2 _windowSize;
|
||||
private static Vector2 _windowPosition = new Vector2(100, 100);
|
||||
|
||||
private int _currentSection;
|
||||
|
||||
[MenuItem("Tools/Fusion/Fusion Hub &f", false, 0)]
|
||||
public static void Open() {
|
||||
if (Application.isPlaying) {
|
||||
return;
|
||||
}
|
||||
|
||||
var window = GetWindow<FusionHubWindow>(true, Constants.WindowTitle, true);
|
||||
window.position = new Rect(_windowPosition, _windowSize);
|
||||
window.Show();
|
||||
}
|
||||
|
||||
private static void ReOpen() {
|
||||
if (_ready.HasValue && _ready.Value == false) {
|
||||
Open();
|
||||
}
|
||||
|
||||
EditorApplication.update -= ReOpen;
|
||||
}
|
||||
|
||||
private void OnEnable() {
|
||||
_ready = false;
|
||||
_windowSize = new Vector2(800, 540);
|
||||
|
||||
this.minSize = _windowSize;
|
||||
|
||||
// Pre-load Release History
|
||||
this.PrepareReleaseHistoryText();
|
||||
wantsMouseMove = true;
|
||||
}
|
||||
|
||||
private void OnDestroy() {
|
||||
_ready = false;
|
||||
}
|
||||
|
||||
private void OnGUI() {
|
||||
// skip until ready
|
||||
if (InitContent() == false) { return; }
|
||||
|
||||
GUI.skin = FusionHubSkin;
|
||||
|
||||
_windowPosition = this.position.position;
|
||||
|
||||
// full window wrapper
|
||||
using (new EditorGUILayout.HorizontalScope(GUI.skin.window)) {
|
||||
// Left Nav menu
|
||||
using (new EditorGUILayout.VerticalScope(GUILayout.MaxWidth(NavWidth), GUILayout.MinWidth(NavWidth))) {
|
||||
DrawHeader();
|
||||
DrawLeftNavMenu();
|
||||
}
|
||||
|
||||
// Right Main Content
|
||||
using (new EditorGUILayout.VerticalScope()) {
|
||||
DrawContent();
|
||||
}
|
||||
}
|
||||
|
||||
DrawFooter();
|
||||
|
||||
// Force repaints while mouse is over the window, to keep Hover graphics working (Unity quirk)
|
||||
var timeSinceStartup = Time.realtimeSinceStartupAsDouble;
|
||||
if (Event.current.type == EventType.MouseMove && timeSinceStartup > _nextForceRepaint) {
|
||||
// Cap the repaint rate a bit since we are forcing repaint on mouse move
|
||||
_nextForceRepaint = timeSinceStartup + .05f;
|
||||
Repaint();
|
||||
}
|
||||
}
|
||||
|
||||
private double _nextForceRepaint;
|
||||
private Vector2 _scrollRect;
|
||||
|
||||
private void DrawContent() {
|
||||
var section = _sections[_currentSection];
|
||||
GUILayout.Label(section.Description, headerTextStyle);
|
||||
|
||||
using (new EditorGUILayout.VerticalScope(FusionHubSkin.box)) {
|
||||
using (var scrollScope = new EditorGUILayout.ScrollViewScope(_scrollRect)) {
|
||||
_scrollRect = scrollScope.scrollPosition;
|
||||
section.DrawMethod.Invoke();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void DrawWelcomeSection() {
|
||||
// Top Welcome content box
|
||||
GUILayout.Label(Constants.WelcomeText);
|
||||
GUILayout.Space(16);
|
||||
|
||||
DrawSetupAppIdBox();
|
||||
}
|
||||
|
||||
private void DrawSetupSection() {
|
||||
DrawSetupAppIdBox();
|
||||
DrawButtonAction(Icon.FusionIcon, "Fusion Network Project Settings", "Network settings specific to Fusion.",
|
||||
callback: () => NetworkProjectConfigUtilities.PingGlobalConfigAsset(true));
|
||||
DrawButtonAction(Icon.PhotonCloud, "Photon App Settings", "Network settings specific to the Photon transport.",
|
||||
callback: () => {
|
||||
EditorGUIUtility.PingObject(Photon.Realtime.PhotonAppSettings.Global);
|
||||
Selection.activeObject = Photon.Realtime.PhotonAppSettings.Global;
|
||||
});
|
||||
}
|
||||
|
||||
private void DrawDocumentationSection() {
|
||||
DrawButtonAction(Icon.Documentation, "Fusion Introduction", "The Fusion Introduction web page.", callback: OpenURL(Constants.UrlFusionIntro));
|
||||
DrawButtonAction(Icon.Documentation, "SDK and Release Notes", "Link to the latest Fusion version SDK.", callback: OpenURL(Constants.UrlFusionSDK));
|
||||
DrawButtonAction(Icon.Documentation, "API Reference", "The API library reference documentation.", callback: OpenURL(Constants.UrlFusionDocApi));
|
||||
}
|
||||
|
||||
private void DrawSamplesSection() {
|
||||
GUILayout.Label("Tutorials", headerLabelStyle);
|
||||
DrawButtonAction(Icon.Samples, "Fusion 100 Tutorial", "Fusion Fundamentals Tutorial", callback: OpenURL(Constants.UrlFusion100));
|
||||
}
|
||||
|
||||
private void DrawFusionReleaseSection() {
|
||||
GUILayout.Label(fusionReleaseHistory, releaseNotesStyle);
|
||||
}
|
||||
|
||||
private void DrawReleaseHistoryItem(string label, List<string> items) {
|
||||
if (items != null && items.Count > 0) {
|
||||
GUILayout.BeginVertical();
|
||||
{
|
||||
GUILayout.Space(5);
|
||||
|
||||
foreach (string text in items) {
|
||||
GUILayout.Label(string.Format("- {0}.", text), textLabelStyle);
|
||||
}
|
||||
}
|
||||
GUILayout.EndVertical();
|
||||
}
|
||||
}
|
||||
|
||||
private void DrawSupportSection() {
|
||||
GUILayout.BeginVertical();
|
||||
GUILayout.Space(5);
|
||||
GUILayout.Label(Constants.Support, textLabelStyle);
|
||||
GUILayout.EndVertical();
|
||||
|
||||
GUILayout.Space(15);
|
||||
|
||||
DrawButtonAction(Icon.Community, Constants.DiscordHeader, Constants.DiscordText, callback: OpenURL(Constants.UrlDashboardProfile));
|
||||
DrawButtonAction(Icon.Documentation, Constants.DocumentationHeader, Constants.DocumentationText, callback: OpenURL(Constants.UrlFusionDocsOnline));
|
||||
}
|
||||
|
||||
private void DrawSetupAppIdBox() {
|
||||
var realtimeSettings = Photon.Realtime.PhotonAppSettings.Global;
|
||||
var realtimeAppId = realtimeSettings.AppSettings.AppIdFusion;
|
||||
// Setting up AppId content box.
|
||||
using (new EditorGUILayout.VerticalScope(FusionHubSkin.GetStyle("SteelBox") /*contentBoxStyle*/)) {
|
||||
GUILayout.Label(Constants.RealtimeAppidSetupInstructions);
|
||||
|
||||
DrawButtonAction(Icon.PhotonCloud, "Open the Photon Dashboard", callback: OpenURL(Constants.UrlDashboard));
|
||||
EditorGUILayout.Space(4);
|
||||
|
||||
using (new EditorGUILayout.HorizontalScope(FusionHubSkin.GetStyle("SteelBox"))) {
|
||||
EditorGUI.BeginChangeCheck();
|
||||
GUILayout.Label("Fusion App Id:", GUILayout.Width(120));
|
||||
var icon = IsAppIdValid() ? CorrectIcon : EditorGUIUtility.FindTexture("console.erroricon.sml");
|
||||
GUILayout.Label(icon, GUILayout.Width(24), GUILayout.Height(24));
|
||||
var editedAppId = EditorGUILayout.TextField("", realtimeAppId, FusionHubSkin.textField, GUILayout.Height(24));
|
||||
|
||||
// Check for changes and validate the AppId
|
||||
if (EditorGUI.EndChangeCheck() && Guid.TryParse(editedAppId, out _)) {
|
||||
// Update the AppId
|
||||
realtimeSettings.AppSettings.AppIdFusion = editedAppId;
|
||||
EditorUtility.SetDirty(realtimeSettings);
|
||||
AssetDatabase.SaveAssets();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void DrawLeftNavMenu() {
|
||||
for (var i = 0; i < _sections.Length; ++i) {
|
||||
var section = _sections[i];
|
||||
if (DrawNavButton(section, _currentSection == i)) {
|
||||
_currentSection = i;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void DrawHeader() {
|
||||
GUILayout.Label(GetIcon(Icon.ProductLogo), _navbarHeaderGraphicStyle);
|
||||
}
|
||||
|
||||
private void DrawFooter() {
|
||||
GUILayout.BeginHorizontal(FusionHubSkin.window);
|
||||
{
|
||||
GUILayout.Label("\u00A9 2025, Exit Games GmbH. All rights reserved.");
|
||||
}
|
||||
GUILayout.EndHorizontal();
|
||||
}
|
||||
|
||||
private bool DrawNavButton(Section section, bool currentSection) {
|
||||
var content = new GUIContent() { text = " " + section.Title, image = GetIcon(section.Icon), };
|
||||
|
||||
var renderStyle = currentSection ? buttonActiveStyle : GUI.skin.button;
|
||||
return GUILayout.Button(content, renderStyle);
|
||||
}
|
||||
|
||||
private void DrawButtonAction(Icon icon, string header, string description = null, bool? active = null, Action callback = null, int? width = null) {
|
||||
DrawButtonAction(GetIcon(icon), header, description, active, callback, width);
|
||||
}
|
||||
|
||||
private static void DrawButtonAction(Texture2D icon, string header, string description = null, bool? active = null, Action callback = null, int? width = null) {
|
||||
var padding = GUI.skin.button.padding.top + GUI.skin.button.padding.bottom;
|
||||
var height = icon.height + padding;
|
||||
|
||||
var renderStyle = active.HasValue && active.Value == true ? buttonActiveStyle : GUI.skin.button;
|
||||
// Draw text separately (not part of button guiconent) to have control over the space between the icon and the text.
|
||||
var rect = EditorGUILayout.GetControlRect(false, height, width.HasValue ? GUILayout.Width(width.Value) : GUILayout.ExpandWidth(true));
|
||||
var clicked = GUI.Button(rect, icon, renderStyle);
|
||||
GUI.Label(new Rect(rect) { xMin = rect.xMin + icon.width + 20 },
|
||||
description == null ? "<b>" + header + "</b>" : string.Format("<b>{0}</b>\n{1}", header, "<color=#aaaaaa>" + description + "</color>"));
|
||||
if (clicked && callback != null) {
|
||||
callback.Invoke();
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Unity handling for post asset processing callback. Checks existence of settings assets every time assets change.
|
||||
/// </summary>
|
||||
private class FusionHubPostProcessor : AssetPostprocessor {
|
||||
private static void OnPostprocessAllAssets(string[] importedAssets, string[] deletedAssets, string[] movedAssets, string[] movedFromAssetPaths) {
|
||||
EnsureAssetExists();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Attempts enforce existence of singleton. If Editor is not ready, this method will be deferred one editor update and try again until it succeeds.
|
||||
/// </summary>
|
||||
[UnityEditor.Callbacks.DidReloadScripts]
|
||||
private static void EnsureAssetExists() {
|
||||
if (!PhotonAppSettings.TryGetGlobal(out var global) || global.AppSettings.AppIdFusion == null) {
|
||||
FusionEditorLog.Trace($"Opening HUB due to missing settings.");
|
||||
EditorApplication.delayCall += () => {
|
||||
// Check if it is running in batch mode & ignore
|
||||
if (UnityEditorInternal.InternalEditorUtility.inBatchMode) { return; }
|
||||
|
||||
// otherwise, open the window
|
||||
Open();
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 6d3bb7f5f74058d48bec8c16fc988309
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences:
|
||||
- m_ViewDataDictionary: {instanceID: 0}
|
||||
- SetupIcon: {fileID: 2800000, guid: 0a86c2478d62ef74bb46b7906cac7fb2, type: 3}
|
||||
- DocumentationIcon: {fileID: 2800000, guid: ac3bb1641dbebe441be81b7b3af3606c, type: 3}
|
||||
- SamplesIcon: {fileID: 2800000, guid: 24a22d21fe312f44892796563f01c302, type: 3}
|
||||
- CommunityIcon: {fileID: 2800000, guid: 80faca055f57d5b449f78efe31607c57, type: 3}
|
||||
- ProductLogo: {fileID: 2800000, guid: 3ffdd609e3329cb46a9ac335d4539399, type: 3}
|
||||
- PhotonCloudIcon: {fileID: 2800000, guid: 43725de47547036498287ad504fe9f9d, type: 3}
|
||||
- FusionIcon: {fileID: 2800000, guid: ee9f419d0e0655a4882d707f86b99f2c, type: 3}
|
||||
- CorrectIcon: {fileID: 2800000, guid: 8958b450dee843f41a091a734ed43ccd, type: 3}
|
||||
- FusionHubSkin: {fileID: 11400000, guid: db84c499838991343a5a0a419616fcbe, type: 2}
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267958
|
||||
packageName: Photon Fusion
|
||||
packageVersion: 2.0.12
|
||||
assetPath: Assets/Photon/Fusion/Editor/FusionHubWindow.cs
|
||||
uploadId: 888248
|
||||
@@ -0,0 +1,351 @@
|
||||
namespace Fusion.Editor {
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using Statistics;
|
||||
using UnityEngine;
|
||||
using UnityEditor;
|
||||
|
||||
/// <summary>
|
||||
/// This window contains controls for each active NetworkRunner (see Multi-Peer) including
|
||||
/// UI toggles for runner SetVisible() and ProvideInput members. NetworkRunner and Player Objects can be pinged in the hierarchy.
|
||||
/// FusionStats creation shortcuts are provided for convenience as well.
|
||||
/// </summary>
|
||||
public class FusionRunnerVisibilityControlsWindow : EditorWindow {
|
||||
private const int WINDOW_MIN_W = 82;
|
||||
private const int WINDOW_MIN_H = 48;
|
||||
|
||||
private const int STATS_BTTN_WIDE = 66;
|
||||
private const int STATS_BTTN_SLIM = 24;
|
||||
private const int RUNNR_BTTN_WIDE = 60;
|
||||
private const int RUNNR_BTTN_SLIM = 24;
|
||||
private const int FONT_SIZE = 9;
|
||||
|
||||
private const float TEXT_SWITCH_WIDTH = 200;
|
||||
private const float WIDE_SWITCH_WIDTH = 380;
|
||||
|
||||
private const double REFRESH_RATE = 1f;
|
||||
|
||||
private static class Labels {
|
||||
public const string NoActiveRunner = "No Active Runner";
|
||||
public const string NoRunners = "No Runners";
|
||||
public const string SP = "SP";
|
||||
public const string H = "H";
|
||||
public const string S = "S";
|
||||
public const string C = "C";
|
||||
public const string P = "P";
|
||||
public const string Dash = "--";
|
||||
public const string ProvidingInputs = "\u2002Providing Inputs";
|
||||
public const string NoInputs = "\u2002(No Inputs)";
|
||||
public const string StatsLeft = "<< Stats";
|
||||
public const string StatsRight = "Stats >>";
|
||||
public const string ArrowsLeft = "<<";
|
||||
public const string ArrowsRight = ">>";
|
||||
public const string UserID = "UserID: ";
|
||||
|
||||
public const string VisibilityTooltip =
|
||||
"This button toggles NetworkRunner.SetVisible() for this NetworkRunner. If [Shift] is held while clicking all other active runners will SetVisible(false), soloing this runner.";
|
||||
|
||||
public const string InputTooltip =
|
||||
"This button toggles NetworkRunner.ProvideInput for this NetworkRunner. If [Shift] is held while clicking all other active runners will have NetworkRunner.ProvideInput set to false, soloing this runner.";
|
||||
|
||||
public const string StatsTooltip = "Clicking this button at runtime will create a Fusion Statistics panel associated with this NetworkRunner.";
|
||||
public const string RunnerTooltip = "The name of the NetworkRunner this row controls. Clicking this button will ping the NetworkRunner GameObject in the hierarchy.";
|
||||
|
||||
public const string PlayerObjTooltip =
|
||||
"The PlayerRef ID associated with this NetworkRunner. If NetworkRunner has a set Player Object, then this button will be enabled and will ping the Player Object in the hierarchy.";
|
||||
|
||||
public static readonly string NoVisibilityWarn =
|
||||
$"Network Runner does not have a {nameof(RunnerEnableVisibility)} component, or has not been registered with {nameof(NetworkRunnerVisibilityExtensions.EnableVisibilityExtension)}";
|
||||
|
||||
public const string HoldShift = "Hold Shift while clicking to solo Visibility/Input Provider.";
|
||||
|
||||
public static readonly string RunnerVisibilityNotEnabled = $"Runner visibility not enabled. Add a {nameof(RunnerEnableVisibility)} component to your {nameof(NetworkRunner)} Prefab.";
|
||||
}
|
||||
|
||||
private static Lazy<GUIStyle> s_labelStyle = new Lazy<GUIStyle>(() => new GUIStyle(EditorStyles.label) { fontSize = FONT_SIZE });
|
||||
|
||||
private static Lazy<GUIStyle> s_labelTinyStyle = new Lazy<GUIStyle>(() => new GUIStyle(s_labelStyle.Value) { fontSize = FONT_SIZE - 1 });
|
||||
|
||||
private static Lazy<GUIStyle> s_labelCenterStyle = new Lazy<GUIStyle>(() => new GUIStyle(s_labelStyle.Value) { alignment = TextAnchor.MiddleCenter });
|
||||
|
||||
private static Lazy<GUIStyle> s_buttonStyle = new Lazy<GUIStyle>(() => new GUIStyle(EditorStyles.miniButton) { fontSize = FONT_SIZE });
|
||||
|
||||
private static Lazy<GUIStyle> s_helpboxStyle = new Lazy<GUIStyle>(() => new GUIStyle(EditorStyles.helpBox) {
|
||||
fontSize = FONT_SIZE, alignment = TextAnchor.MiddleCenter, padding = new RectOffset(6, 6, 6, 6)
|
||||
});
|
||||
|
||||
private static Lazy<GUIStyle> s_invisibleButtonStyle = new Lazy<GUIStyle>(() => new GUIStyle(EditorStyles.label) { fontSize = FONT_SIZE, padding = new RectOffset() });
|
||||
|
||||
private static Lazy<GUIStyle> s_invisibleButtonGrayStyle = new Lazy<GUIStyle>(() => new GUIStyle(EditorStyles.label) {
|
||||
fontSize = FONT_SIZE,
|
||||
normal = { textColor = Color.gray },
|
||||
active = { textColor = Color.gray },
|
||||
hover = { textColor = Color.gray },
|
||||
focused = { textColor = Color.gray },
|
||||
padding = new RectOffset()
|
||||
});
|
||||
|
||||
private static Lazy<string> Dark = new Lazy<string>(() => EditorGUIUtility.isProSkin ? "d_" : "");
|
||||
|
||||
private static Lazy<GUIContent> s_runnerGC = new Lazy<GUIContent>(() => new GUIContent(string.Empty, Labels.RunnerTooltip));
|
||||
|
||||
private static Lazy<GUIContent> s_playerObjGC = new Lazy<GUIContent>(() => new GUIContent(string.Empty, Labels.PlayerObjTooltip));
|
||||
|
||||
private static Lazy<GUIContent> s_visibleIcon = new Lazy<GUIContent>(() => new GUIContent(EditorGUIUtility.FindTexture(Dark.Value + "scenevis_visible_hover@2x"), Labels.VisibilityTooltip));
|
||||
|
||||
private static Lazy<GUIContent> s_hiddenIcon = new Lazy<GUIContent>(() => new GUIContent(EditorGUIUtility.FindTexture(Dark.Value + "scenevis_hidden@2x"), Labels.VisibilityTooltip));
|
||||
|
||||
private static Lazy<GUIContent> s_inputIconLong =
|
||||
new Lazy<GUIContent>(() => new GUIContent(Labels.ProvidingInputs, EditorGUIUtility.FindTexture(Dark.Value + "UnityEditor.GameView@2x"), Labels.InputTooltip));
|
||||
|
||||
private static Lazy<GUIContent> s_inputIconShort = new Lazy<GUIContent>(() => new GUIContent(null, EditorGUIUtility.FindTexture(Dark.Value + "UnityEditor.GameView@2x"), Labels.InputTooltip));
|
||||
|
||||
private static Lazy<GUIContent> s_noInputIconLong = new Lazy<GUIContent>(() => new GUIContent(Labels.NoInputs, EditorGUIUtility.FindTexture(Dark.Value + "Toolbar Minus@2x"), Labels.InputTooltip));
|
||||
|
||||
private static Lazy<GUIContent> s_noInputIconShort = new Lazy<GUIContent>(() => new GUIContent(null, EditorGUIUtility.FindTexture(Dark.Value + "Toolbar Minus@2x"), Labels.InputTooltip));
|
||||
|
||||
private static Lazy<GUIContent> s_noVisibilityWarn = new Lazy<GUIContent>(() => new GUIContent(FusionEditorSkin.WarningIcon, Labels.NoVisibilityWarn));
|
||||
|
||||
private static Lazy<GUIContent> s_statsGC = new Lazy<GUIContent>(() => new GUIContent(string.Empty, Labels.StatsTooltip));
|
||||
private GUIStyle _toolbarButtonStyle;
|
||||
|
||||
/// <summary>
|
||||
/// Window instance.
|
||||
/// </summary>
|
||||
public static FusionRunnerVisibilityControlsWindow Instance { get; private set; }
|
||||
|
||||
private Vector2 _scrollPosition;
|
||||
private double _lastRepaintTime;
|
||||
|
||||
private readonly Dictionary<NetworkRunner, FusionStatistics> _stats = new Dictionary<NetworkRunner, FusionStatistics>();
|
||||
/// <summary>
|
||||
/// Create window instance.
|
||||
/// </summary>
|
||||
[MenuItem("Window/Fusion/Network Runner Controls")]
|
||||
[MenuItem("Tools/Fusion/Windows/Network Runner Controls")]
|
||||
public static void ShowWindow() {
|
||||
var window = GetWindow(typeof(FusionRunnerVisibilityControlsWindow), false, "Network Runner Controls");
|
||||
window.minSize = new Vector2(WINDOW_MIN_W, WINDOW_MIN_H);
|
||||
Instance = (FusionRunnerVisibilityControlsWindow)window;
|
||||
}
|
||||
|
||||
private void Awake() {
|
||||
Instance = this;
|
||||
}
|
||||
|
||||
private void OnEnable() {
|
||||
Instance = this;
|
||||
}
|
||||
|
||||
private void OnDestroy() {
|
||||
Instance = null;
|
||||
}
|
||||
|
||||
private void Update() {
|
||||
// Force a repaint every x seconds in case runner count and runner settings have changed.
|
||||
if (Time.realtimeSinceStartup - _lastRepaintTime > REFRESH_RATE) {
|
||||
Repaint();
|
||||
}
|
||||
}
|
||||
|
||||
private void OnGUI() {
|
||||
_lastRepaintTime = Time.realtimeSinceStartup;
|
||||
|
||||
var currentViewWidth = EditorGUIUtility.currentViewWidth;
|
||||
var isWide = currentViewWidth > WIDE_SWITCH_WIDTH;
|
||||
var shortText = currentViewWidth < TEXT_SWITCH_WIDTH;
|
||||
|
||||
_scrollPosition = EditorGUILayout.BeginScrollView(_scrollPosition);
|
||||
|
||||
var runnerWithoutVisibilityEnabledDetected = false;
|
||||
|
||||
if (!Application.isPlaying) {
|
||||
DrawRunnerRow(null, shortText, isWide, currentViewWidth, ref runnerWithoutVisibilityEnabledDetected);
|
||||
} else {
|
||||
var enumerator = NetworkRunner.GetInstancesEnumerator();
|
||||
while (enumerator.MoveNext()) {
|
||||
var runner = enumerator.Current;
|
||||
DrawRunnerRow(runner, shortText, isWide, currentViewWidth, ref runnerWithoutVisibilityEnabledDetected);
|
||||
}
|
||||
|
||||
if (NetworkProjectConfig.Global.PeerMode == NetworkProjectConfig.PeerModes.Multiple) {
|
||||
EditorGUILayout.LabelField(Labels.HoldShift, EditorStyles.miniLabel);
|
||||
if (runnerWithoutVisibilityEnabledDetected) {
|
||||
EditorGUILayout.HelpBox(Labels.RunnerVisibilityNotEnabled, MessageType.Warning);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
EditorGUILayout.EndScrollView();
|
||||
}
|
||||
|
||||
private void DrawRunnerRow(NetworkRunner runner, bool shortText, bool isWide, float currentViewWidth, ref bool runnerWithoutVisibilityEnabledDetected) {
|
||||
var runnerIsNull = !runner;
|
||||
|
||||
// Only show active runners. If not playing, we allow a null runner in order to render the disabled buttons.
|
||||
if (Application.isPlaying && (!runner || !runner.IsRunning)) {
|
||||
return;
|
||||
}
|
||||
|
||||
var config = runnerIsNull ? default : runner.Config;
|
||||
|
||||
var isSinglePeer = runnerIsNull || config?.PeerMode == NetworkProjectConfig.PeerModes.Single;
|
||||
|
||||
using (new EditorGUI.DisabledGroupScope(runnerIsNull)) {
|
||||
EditorGUILayout.BeginHorizontal();
|
||||
{
|
||||
var localPlayer = runnerIsNull ? default : runner.LocalPlayer;
|
||||
var localPlayerGC = s_playerObjGC.Value;
|
||||
localPlayerGC.text = localPlayer.IsRealPlayer ? Labels.P + localPlayer.PlayerId : Labels.Dash;
|
||||
|
||||
var runnerName = runnerIsNull ? Labels.NoActiveRunner :
|
||||
shortText ? (runner.IsServer ? (runner.IsSinglePlayer ? Labels.SP : runner.IsPlayer ? Labels.H : Labels.S) : Labels.C) :
|
||||
runner.name;
|
||||
|
||||
var runnerGC = s_runnerGC.Value;
|
||||
|
||||
// Draw Runner Names/Buttons
|
||||
runnerGC.text = runnerIsNull ? Labels.NoRunners : runner.IsSharedModeMasterClient ? $"{runnerName} [MC]" : runnerName;
|
||||
var runnerRect = EditorGUILayout.GetControlRect(GUILayout.ExpandWidth(true), GUILayout.MinWidth(isWide ? RUNNR_BTTN_WIDE : RUNNR_BTTN_SLIM));
|
||||
if (GUI.Button(runnerRect, runnerGC, s_buttonStyle.Value)) {
|
||||
EditorGUIUtility.PingObject(runner);
|
||||
Selection.activeGameObject = runner.gameObject;
|
||||
}
|
||||
|
||||
|
||||
if (shortText == false) {
|
||||
// Draw PlayerRef Id / Local Player Object buttons
|
||||
var playerRefRect = EditorGUILayout.GetControlRect(GUILayout.Width(38));
|
||||
|
||||
NetworkObject playerObj;
|
||||
try {
|
||||
playerObj = runner.GetPlayerObject(localPlayer);
|
||||
} catch {
|
||||
playerObj = null;
|
||||
}
|
||||
|
||||
using (new EditorGUI.DisabledGroupScope(playerObj == false)) {
|
||||
if (GUI.Button(playerRefRect, localPlayerGC, s_buttonStyle.Value)) {
|
||||
if (playerObj) {
|
||||
EditorGUIUtility.PingObject(runner.GetPlayerObject(localPlayer));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Draw Visibility Icons
|
||||
using (new EditorGUI.DisabledGroupScope(isSinglePeer)) {
|
||||
runnerGC.text = "";
|
||||
var toggleRect = EditorGUILayout.GetControlRect(GUILayout.Width(18));
|
||||
|
||||
if (isSinglePeer || runner.HasVisibilityEnabled()) {
|
||||
if (GUI.Button(toggleRect, isSinglePeer || runner.GetVisible() ? s_visibleIcon.Value : s_hiddenIcon.Value, s_invisibleButtonStyle.Value)) {
|
||||
if ((Event.current.modifiers & (EventModifiers.Shift | EventModifiers.Control | EventModifiers.Command | EventModifiers.Alt)) == 0) {
|
||||
runner.SetVisible(!runner.GetVisible());
|
||||
} else {
|
||||
var others = NetworkRunner.GetInstancesEnumerator();
|
||||
while (others.MoveNext()) {
|
||||
var other = others.Current;
|
||||
// Only consider active runners.
|
||||
if (!other || !other.IsRunning) {
|
||||
continue;
|
||||
}
|
||||
|
||||
other.SetVisible(other == runner);
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
runnerWithoutVisibilityEnabledDetected = true;
|
||||
GUI.Label(toggleRect, s_noVisibilityWarn.Value);
|
||||
}
|
||||
}
|
||||
|
||||
// Draw Provide Input icon/text
|
||||
using (new EditorGUI.DisabledGroupScope(runnerIsNull || runner.Mode == SimulationModes.Server)) {
|
||||
var inputToggleRect = EditorGUILayout.GetControlRect(GUILayout.Width(isWide ? 106 : 18));
|
||||
var providingInput = runnerIsNull || runner.ProvideInput;
|
||||
var inputContent = isWide ? (providingInput ? s_inputIconLong.Value : s_noInputIconLong.Value) : (providingInput ? s_inputIconShort.Value : s_noInputIconShort.Value);
|
||||
|
||||
if (GUI.Button(inputToggleRect, inputContent, providingInput ? s_invisibleButtonStyle.Value : s_invisibleButtonGrayStyle.Value)) {
|
||||
if ((Event.current.modifiers & (EventModifiers.Shift | EventModifiers.Control | EventModifiers.Command | EventModifiers.Alt)) == 0) {
|
||||
runner.ProvideInput = !runner.ProvideInput;
|
||||
} else {
|
||||
var others = NetworkRunner.GetInstancesEnumerator();
|
||||
while (others.MoveNext()) {
|
||||
var other = others.Current;
|
||||
// Only consider active runners.
|
||||
if (!other || !other.IsRunning) {
|
||||
continue;
|
||||
}
|
||||
|
||||
other.ProvideInput = other == runner;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Draw runtime stats creation buttons. Reflection used since this namespace can't see FusionStats.
|
||||
if (currentViewWidth >= WINDOW_MIN_W + 10) {
|
||||
var statsLeftRect = EditorGUILayout.GetControlRect(GUILayout.Width(isWide ? STATS_BTTN_WIDE : STATS_BTTN_SLIM));
|
||||
var statsRightRect = EditorGUILayout.GetControlRect(GUILayout.Width(isWide ? STATS_BTTN_WIDE : STATS_BTTN_SLIM));
|
||||
var statsGC = s_statsGC.Value;
|
||||
statsGC.text = isWide ? Labels.StatsLeft : Labels.ArrowsLeft;
|
||||
if (GUI.Button(statsLeftRect, statsGC, s_buttonStyle.Value)) {
|
||||
CreateOrUpdateFusionStats(runner, CanvasAnchor.TopLeft);
|
||||
}
|
||||
|
||||
statsGC.text = isWide ? Labels.StatsRight : Labels.ArrowsRight;
|
||||
if (GUI.Button(statsRightRect, statsGC, s_buttonStyle.Value)) {
|
||||
CreateOrUpdateFusionStats(runner, CanvasAnchor.TopRight);
|
||||
}
|
||||
}
|
||||
|
||||
// Draw UserID
|
||||
if (currentViewWidth > 600) {
|
||||
using (new EditorGUI.DisabledGroupScope(true)) {
|
||||
var userIdString = runnerIsNull ? null : runner.UserId;
|
||||
var userIdRect = EditorGUILayout.GetControlRect(GUILayout.MinWidth(40), GUILayout.ExpandWidth(true));
|
||||
GUI.Label(userIdRect, Labels.UserID + (userIdString ?? Labels.Dash), s_labelTinyStyle.Value);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
EditorGUILayout.EndHorizontal();
|
||||
}
|
||||
}
|
||||
|
||||
private void CreateOrUpdateFusionStats(NetworkRunner runner, CanvasAnchor anchor) {
|
||||
if (_stats.TryGetValue(runner, out var stats) == false) {
|
||||
stats = runner.gameObject.AddComponent<FusionStatistics>();
|
||||
EditorGUIUtility.PingObject(stats.gameObject);
|
||||
Selection.activeObject = stats.gameObject;
|
||||
|
||||
_stats.Add(runner, stats);
|
||||
stats.SetupStatisticsPanel();
|
||||
}
|
||||
|
||||
stats.SetCanvasAnchor(anchor);
|
||||
if (stats.IsPanelActive == false) {
|
||||
stats.SetupStatisticsPanel();
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Draw buttons on toolbar.
|
||||
/// Automatically called by unity.
|
||||
/// </summary>
|
||||
/// <param name="position">Position of the button.</param>
|
||||
private void ShowButton(Rect position) {
|
||||
// button style
|
||||
if (_toolbarButtonStyle == null) {
|
||||
_toolbarButtonStyle = new GUIStyle(GUI.skin.button) { padding = new RectOffset() };
|
||||
}
|
||||
|
||||
// draw button
|
||||
if (GUI.Button(position, EditorGUIUtility.IconContent("_Help"), _toolbarButtonStyle)) {
|
||||
Application.OpenURL("https://doc.photonengine.com/fusion/current/manual/testing-and-tooling/multipeer");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b0b9919e3f6641c4dbd365521e52c809
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267958
|
||||
packageName: Photon Fusion
|
||||
packageVersion: 2.0.12
|
||||
assetPath: Assets/Photon/Fusion/Editor/FusionRunnerVisibilityControlsWindow.cs
|
||||
uploadId: 888248
|
||||
@@ -0,0 +1,65 @@
|
||||
namespace Fusion.Editor {
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using UnityEditor;
|
||||
using UnityEditor.AssetImporters;
|
||||
using UnityEngine;
|
||||
|
||||
[ScriptedImporter(1, ExtensionWithoutDot, NetworkProjectConfigImporter.ImportQueueOffset + 1)]
|
||||
public class FusionWeaverTriggerImporter : ScriptedImporter {
|
||||
public const string Extension = "." + ExtensionWithoutDot;
|
||||
public const string ExtensionWithoutDot = "fusionweavertrigger";
|
||||
|
||||
[Tooltip("If enabled, runs the weaver when weaving-related changes are detected in the config file.")]
|
||||
public bool RunWeaverOnConfigChanges = true;
|
||||
|
||||
public override void OnImportAsset(AssetImportContext ctx) {
|
||||
ctx.DependsOnCustomDependency(DependencyHash.Name);
|
||||
if (RunWeaverOnConfigChanges && !Application.isBatchMode) {
|
||||
ILWeaverUtils.RunWeaver();
|
||||
}
|
||||
}
|
||||
|
||||
static readonly FusionCustomDependency DependencyHash = new("FusionILWeaverTriggerImporter/ConfigHash", () => {
|
||||
if (EditorApplication.isCompiling || EditorApplication.isUpdating) {
|
||||
return default;
|
||||
}
|
||||
|
||||
var configPath = NetworkProjectConfigUtilities.GetGlobalConfigPath();
|
||||
|
||||
if (string.IsNullOrEmpty(configPath)) {
|
||||
return default;
|
||||
}
|
||||
|
||||
try {
|
||||
var cfg = NetworkProjectConfigImporter.LoadConfigFromFile(configPath);
|
||||
var hash = new Hash128();
|
||||
|
||||
foreach (var path in cfg.AssembliesToWeave) {
|
||||
hash.Append(path);
|
||||
}
|
||||
|
||||
hash.Append(cfg.UseSerializableDictionary ? 1 : 0);
|
||||
hash.Append(cfg.NullChecksForNetworkedProperties ? 1 : 0);
|
||||
hash.Append(cfg.CheckRpcAttributeUsage ? 1 : 0);
|
||||
hash.Append(cfg.CheckNetworkedPropertiesBeingEmpty ? 1 : 0);
|
||||
|
||||
return hash;
|
||||
} catch {
|
||||
// ignore the error
|
||||
return default;
|
||||
}
|
||||
});
|
||||
|
||||
private class Postprocessor : AssetPostprocessor {
|
||||
private static void OnPostprocessAllAssets(string[] importedAssets, string[] deletedAssets, string[] movedAssets, string[] movedFromAssetPaths) {
|
||||
foreach (var path in importedAssets) {
|
||||
if (path.EndsWith(NetworkProjectConfigImporter.Extension)) {
|
||||
DependencyHash.Refresh();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ad51894a651725c42acc54ccd6a81282
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267958
|
||||
packageName: Photon Fusion
|
||||
packageVersion: 2.0.12
|
||||
assetPath: Assets/Photon/Fusion/Editor/FusionWeaverTriggerImporter.cs
|
||||
uploadId: 888248
|
||||
@@ -0,0 +1,303 @@
|
||||
namespace Fusion.Editor {
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using UnityEditor;
|
||||
using UnityEditor.IMGUI.Controls;
|
||||
using UnityEngine;
|
||||
using Object = UnityEngine.Object;
|
||||
|
||||
#if UNITY_6000_2_OR_NEWER
|
||||
using TreeViewState = UnityEditor.IMGUI.Controls.TreeViewState<int>;
|
||||
using TreeViewItem = UnityEditor.IMGUI.Controls.TreeViewItem<int>;
|
||||
using TreeView = UnityEditor.IMGUI.Controls.TreeView<int>;
|
||||
#endif
|
||||
|
||||
public class NetworkPrefabsInspector : EditorWindow {
|
||||
|
||||
private Grid _grid = new Grid();
|
||||
|
||||
[MenuItem("Tools/Fusion/Windows/Network Prefabs Inspector")]
|
||||
[MenuItem("Window/Fusion/Network Prefabs Inspector")]
|
||||
public static void ShowWindow() {
|
||||
var window = GetWindow<NetworkPrefabsInspector>(false, "Network Prefabs Inspector");
|
||||
window.Show();
|
||||
}
|
||||
|
||||
private void OnEnable() {
|
||||
_grid.PrefabTable = NetworkProjectConfig.Global.PrefabTable;
|
||||
_grid.OnEnable();
|
||||
}
|
||||
|
||||
private void OnInspectorUpdate() {
|
||||
_grid.OnInspectorUpdate();
|
||||
}
|
||||
|
||||
private void OnGUI() {
|
||||
using (new EditorGUILayout.HorizontalScope(EditorStyles.toolbar)) {
|
||||
_grid.DrawToolbarReloadButton();
|
||||
_grid.DrawToolbarSyncSelectionButton();
|
||||
GUILayout.FlexibleSpace();
|
||||
|
||||
EditorGUI.BeginChangeCheck();
|
||||
_grid.OnlyLoaded = GUILayout.Toggle(_grid.OnlyLoaded, "Loaded Only", EditorStyles.toolbarButton);
|
||||
if (EditorGUI.EndChangeCheck()) {
|
||||
_grid.ResetTree();
|
||||
}
|
||||
|
||||
_grid.DrawToolbarSearchField();
|
||||
}
|
||||
|
||||
var rect = GUILayoutUtility.GetRect(GUIContent.none, GUIStyle.none, GUILayout.ExpandHeight(true), GUILayout.ExpandWidth(true));
|
||||
_grid.OnGUI(rect);
|
||||
}
|
||||
|
||||
|
||||
private enum LoadState {
|
||||
NotLoaded,
|
||||
Loading,
|
||||
LoadedNoInstances,
|
||||
Loaded
|
||||
}
|
||||
|
||||
[Serializable]
|
||||
private class InspectorTreeViewState : TreeViewState {
|
||||
public MultiColumnHeaderState HeaderState;
|
||||
public bool SyncSelection;
|
||||
}
|
||||
|
||||
private class GridItem : FusionGridItem {
|
||||
private readonly NetworkPrefabId _prefabId;
|
||||
private readonly NetworkPrefabTable _prefabTable;
|
||||
|
||||
public GridItem(NetworkPrefabTable prefabTable, NetworkPrefabId prefabId) {
|
||||
_prefabId = prefabId;
|
||||
_prefabTable = prefabTable;
|
||||
}
|
||||
|
||||
public int InstanceCount => _prefabTable.GetInstancesCount(_prefabId);
|
||||
|
||||
public string Path => AssetDatabase.GUIDToAssetPath(Guid);
|
||||
|
||||
public string Guid => Source?.AssetGuid.ToUnityGuidString() ?? "Null";
|
||||
|
||||
public override Object TargetObject {
|
||||
get {
|
||||
if (Source?.AssetGuid.IsValid == true) {
|
||||
if (NetworkProjectConfigUtilities.TryGetPrefabEditorInstance(Source.AssetGuid, out var result)) {
|
||||
return result.gameObject;
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public INetworkPrefabSource Source => _prefabTable.GetSource(_prefabId);
|
||||
|
||||
public string Description {
|
||||
get => Source?.Description ?? "Null";
|
||||
}
|
||||
|
||||
public LoadState LoadState {
|
||||
get {
|
||||
if (!_prefabTable.IsAcquired(_prefabId)) {
|
||||
return LoadState.NotLoaded;
|
||||
}
|
||||
|
||||
if (!_prefabTable.GetSource(_prefabId).IsCompleted) {
|
||||
return LoadState.Loading;
|
||||
}
|
||||
|
||||
if (_prefabTable.GetInstancesCount(_prefabId) == 0) {
|
||||
return LoadState.LoadedNoInstances;
|
||||
}
|
||||
|
||||
return LoadState.Loaded;
|
||||
}
|
||||
}
|
||||
|
||||
public NetworkPrefabId PrefabId => _prefabId;
|
||||
}
|
||||
|
||||
[Serializable]
|
||||
class Grid : FusionGrid<GridItem> {
|
||||
|
||||
[SerializeField]
|
||||
public NetworkPrefabTable PrefabTable;
|
||||
[SerializeField]
|
||||
public bool OnlyLoaded;
|
||||
|
||||
public override int GetContentHash() {
|
||||
return PrefabTable?.Version ?? 0;
|
||||
}
|
||||
|
||||
protected override IEnumerable<Column> CreateColumns() {
|
||||
yield return new() {
|
||||
headerContent = new GUIContent("State"),
|
||||
width = 40,
|
||||
autoResize = false,
|
||||
cellGUI = (item, rect, _, _) => {
|
||||
var icon = FusionEditorSkin.LoadStateIcon;
|
||||
string label = "";
|
||||
Color color;
|
||||
switch (item.LoadState) {
|
||||
case LoadState.Loaded:
|
||||
color = Color.green;
|
||||
label = item.InstanceCount.ToString();
|
||||
break;
|
||||
case LoadState.LoadedNoInstances:
|
||||
color = Color.yellow;
|
||||
label = "0";
|
||||
break;
|
||||
case LoadState.Loading:
|
||||
color = Color.yellow;
|
||||
color.a = 0.5f;
|
||||
label = "0";
|
||||
break;
|
||||
default:
|
||||
color = Color.gray;
|
||||
break;
|
||||
}
|
||||
|
||||
using (new FusionEditorGUI.ContentColorScope(color)) {
|
||||
EditorGUI.LabelField(rect, new GUIContent(label, icon, item.LoadState.ToString()));
|
||||
}
|
||||
},
|
||||
getComparer = order => (a, b) => {
|
||||
var result = a.LoadState.CompareTo(b.LoadState) * order;
|
||||
if (result != 0) {
|
||||
return result;
|
||||
}
|
||||
return a.InstanceCount.CompareTo(b.InstanceCount) * order;
|
||||
},
|
||||
};
|
||||
yield return new() {
|
||||
headerContent = new GUIContent("Type"),
|
||||
width = 40,
|
||||
maxWidth = 40,
|
||||
minWidth = 40,
|
||||
cellGUI = (item, rect, _, _) => INetworkPrefabSourceDrawer.DrawThumbnail(rect, item.Source),
|
||||
getComparer = order => (a, b) => EditorUtility.NaturalCompare(a.Source?.GetType().Name ?? "", b.Source?.GetType().Name ?? "") * order,
|
||||
};
|
||||
yield return MakeSimpleColumn(x => x.PrefabId, new() {
|
||||
cellGUI = (item, rect, selected, focused) => TreeView.DefaultGUI.Label(rect, item.PrefabId.ToString(false, false), selected , focused),
|
||||
width = 50,
|
||||
autoResize = false
|
||||
});
|
||||
yield return MakeSimpleColumn(x => x.Path, new() {
|
||||
initiallySorted = true,
|
||||
});
|
||||
yield return MakeSimpleColumn(x => x.Guid, new() {
|
||||
initiallyVisible = false
|
||||
});
|
||||
yield return MakeSimpleColumn(x => x.Description, new() {
|
||||
initiallyVisible = false
|
||||
});
|
||||
}
|
||||
|
||||
protected override IEnumerable<GridItem> CreateRows() {
|
||||
if (PrefabTable == null) {
|
||||
yield break;
|
||||
}
|
||||
|
||||
for (int i = 0; i < PrefabTable.Prefabs.Count; ++i) {
|
||||
var prefabId = NetworkPrefabId.FromIndex(i);
|
||||
if (OnlyLoaded && !PrefabTable.IsAcquired(prefabId)) {
|
||||
continue;
|
||||
}
|
||||
yield return new GridItem(PrefabTable, NetworkPrefabId.FromIndex(i)) { id = (int)(i + 1) };
|
||||
}
|
||||
}
|
||||
|
||||
protected override GenericMenu CreateContextMenu(GridItem item, TreeView treeView) {
|
||||
|
||||
var menu = new GenericMenu();
|
||||
|
||||
var selection = treeView.GetSelection()
|
||||
.Select(x => NetworkPrefabId.FromIndex(x-1))
|
||||
.ToList();
|
||||
|
||||
var anyLoaded = selection.Any(x => PrefabTable.IsAcquired(x));
|
||||
var anyNotLoaded = selection.Any(x => !PrefabTable.IsAcquired(x));
|
||||
var anyInstances = selection.Any(x => PrefabTable.GetInstancesCount(x) > 0);
|
||||
var spawnerRunners = NetworkRunner.Instances.Where(x => x && x.IsRunning && x.CanSpawn).ToArray();
|
||||
|
||||
var loadContent = new GUIContent("Load");
|
||||
var loadAsyncContent = new GUIContent("Load (async)");
|
||||
var unloadContent = new GUIContent("Unload");
|
||||
var selectInstancesContent = new GUIContent("Select Instances");
|
||||
var spawnContent = new GUIContent("Spawn");
|
||||
var spawnAsyncContent = new GUIContent("Spawn (async)");
|
||||
|
||||
if (anyNotLoaded) {
|
||||
menu.AddItem(loadContent, false, () => {
|
||||
foreach (var id in selection) {
|
||||
PrefabTable.Load(id, isSynchronous: true);
|
||||
}
|
||||
});
|
||||
menu.AddItem(loadAsyncContent, false, () => {
|
||||
foreach (var id in selection) {
|
||||
PrefabTable.Load(id, isSynchronous: false);
|
||||
}
|
||||
});
|
||||
} else {
|
||||
menu.AddDisabledItem(loadContent);
|
||||
menu.AddDisabledItem(loadAsyncContent);
|
||||
}
|
||||
|
||||
if (anyLoaded) {
|
||||
menu.AddItem(unloadContent, false, () => {
|
||||
foreach (var id in selection) {
|
||||
PrefabTable.Unload(id);
|
||||
}
|
||||
});
|
||||
} else {
|
||||
menu.AddDisabledItem(unloadContent);
|
||||
}
|
||||
|
||||
if (anyInstances) {
|
||||
menu.AddItem(selectInstancesContent, false, () => {
|
||||
var lookup = new HashSet<NetworkObjectTypeId>(selection.Select(x => NetworkObjectTypeId.FromPrefabId(x)));
|
||||
Selection.objects = FindObjectsByType<NetworkObject>(FindObjectsInactive.Include, FindObjectsSortMode.None)
|
||||
.Where(x => x.NetworkTypeId.IsValid && lookup.Contains(x.NetworkTypeId))
|
||||
.Select(x => x.gameObject)
|
||||
.ToArray();
|
||||
});
|
||||
} else {
|
||||
menu.AddDisabledItem(selectInstancesContent);
|
||||
}
|
||||
|
||||
menu.AddSeparator("");
|
||||
|
||||
if (spawnerRunners.Any()) {
|
||||
if (spawnerRunners.Length > 1) {
|
||||
foreach (var runner in spawnerRunners.Where(x => x.CanSpawn)) {
|
||||
AddSpawnItems($"/{runner.name}", runner);
|
||||
}
|
||||
} else {
|
||||
AddSpawnItems($"", spawnerRunners[0]);
|
||||
}
|
||||
} else {
|
||||
menu.AddDisabledItem(spawnContent);
|
||||
menu.AddDisabledItem(spawnAsyncContent);
|
||||
}
|
||||
|
||||
void AddSpawnItems(string s, NetworkRunner networkRunner) {
|
||||
menu.AddItem(new GUIContent($"{spawnContent.text}{s}"), false, () => {
|
||||
foreach (var id in selection) {
|
||||
networkRunner.TrySpawn(id, out _);
|
||||
}
|
||||
});
|
||||
menu.AddItem(new GUIContent($"{spawnAsyncContent.text}{s}"), false, () => {
|
||||
foreach (var id in selection) {
|
||||
networkRunner.SpawnAsync(id);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
return menu;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 2a91437e16a1edc41bde1ce3b0114aab
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267958
|
||||
packageName: Photon Fusion
|
||||
packageVersion: 2.0.12
|
||||
assetPath: Assets/Photon/Fusion/Editor/NetworkPrefabsInspector.cs
|
||||
uploadId: 888248
|
||||
@@ -0,0 +1,237 @@
|
||||
namespace Fusion.Editor {
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using UnityEditor;
|
||||
using UnityEditor.AssetImporters;
|
||||
using UnityEditor.PackageManager;
|
||||
using UnityEngine;
|
||||
|
||||
[ScriptedImporter(3, ExtensionWithoutDot, ImportQueueOffset)]
|
||||
[HelpURL("https://doc.photonengine.com/fusion/current/manual/network-project-config")]
|
||||
public class NetworkProjectConfigImporter : ScriptedImporter {
|
||||
public const string ExtensionWithoutDot = "fusion";
|
||||
public const string Extension = "." + ExtensionWithoutDot;
|
||||
public const int ImportQueueOffset = 1000;
|
||||
|
||||
public const string FusionPrefabTag = "FusionPrefab";
|
||||
public const string FusionPrefabTagSearchTerm = "l:FusionPrefab";
|
||||
|
||||
[Header("Prefabs")]
|
||||
[DrawInline]
|
||||
public NetworkPrefabTableOptions PrefabOptions;
|
||||
|
||||
#if FUSION_ENABLE_ADDRESSABLES && !FUSION_DISABLE_ADDRESSABLES
|
||||
[InitializeOnLoadMethod]
|
||||
static void RegisterAddressableEventListeners() {
|
||||
AssetDatabaseUtils.AddAddressableAssetsWithLabelMonitor(FusionPrefabTag, (hash) => {
|
||||
AddressablesDependency.Refresh();
|
||||
});
|
||||
}
|
||||
#endif
|
||||
|
||||
public override void OnImportAsset(AssetImportContext ctx) {
|
||||
FusionEditorLog.TraceImport(ctx.assetPath, "Staring scripted import");
|
||||
|
||||
NetworkProjectConfig.UnloadGlobal();
|
||||
NetworkProjectConfig config = LoadConfigFromFile(ctx.assetPath);
|
||||
|
||||
var root = ScriptableObject.CreateInstance<NetworkProjectConfigAsset>();
|
||||
root.Config = config;
|
||||
ctx.AddObjectToAsset("root", root);
|
||||
|
||||
root.Prefabs = DiscoverPrefabs(ctx);
|
||||
root.BehaviourMeta = CreateBehaviourMeta(ctx);
|
||||
root.PrefabOptions = PrefabOptions;
|
||||
|
||||
ctx.DependsOnCustomDependency(AddressablesDependency.Name);
|
||||
ctx.DependsOnCustomDependency(ScriptOrderDependency.Name);
|
||||
ctx.DependsOnCustomDependency(NetworkObjectPrefabDependency.Name);
|
||||
}
|
||||
|
||||
|
||||
public static NetworkProjectConfig LoadConfigFromFile(string path) {
|
||||
var config = new NetworkProjectConfig();
|
||||
try {
|
||||
var text = File.ReadAllText(path);
|
||||
if (string.IsNullOrWhiteSpace(text)) {
|
||||
throw new System.ArgumentException("Empty string");
|
||||
}
|
||||
|
||||
EditorJsonUtility.FromJsonOverwrite(text, config);
|
||||
} catch (System.ArgumentException ex) {
|
||||
throw new System.ArgumentException($"Failed to parse {path}: {ex.Message}");
|
||||
}
|
||||
|
||||
return config;
|
||||
}
|
||||
|
||||
private static List<INetworkPrefabSource> DiscoverPrefabs(AssetImportContext ctx) {
|
||||
var result = new List<INetworkPrefabSource>();
|
||||
|
||||
var factory = new NetworkAssetSourceFactory();
|
||||
var detailsLog = new System.Text.StringBuilder();
|
||||
var paths = new List<string>();
|
||||
|
||||
foreach (var it in AssetDatabaseUtils.IterateAssets<GameObject>(label: FusionPrefabTag)) {
|
||||
var prefabPath = AssetDatabase.GetAssetPath(it.GetObjectId());
|
||||
var context = new NetworkAssetSourceFactoryContext(it);
|
||||
|
||||
INetworkPrefabSource source = factory.TryCreatePrefabSource(context);
|
||||
|
||||
if (source == null) {
|
||||
ctx.LogImportError($"Unable to create prefab asset for {AssetDatabase.GetAssetPath(it.GetObjectId())} ({it.guid})");
|
||||
continue;
|
||||
}
|
||||
|
||||
#if FUSION_EDITOR_TRACE
|
||||
detailsLog.AppendLine($"{prefabPath} -> {((INetworkPrefabSource)source).Description}");
|
||||
#endif
|
||||
|
||||
var index = paths.BinarySearch(prefabPath, StringComparer.Ordinal);
|
||||
if (index < 0) {
|
||||
index = ~index;
|
||||
} else {
|
||||
ctx.LogImportWarning($"Prefab with path {prefabPath} already added");
|
||||
}
|
||||
|
||||
paths.Insert(index, prefabPath);
|
||||
result.Insert(index, source);
|
||||
}
|
||||
|
||||
FusionEditorLog.TraceImport($"Discover prefabs details [{result.Count}] :\n{detailsLog}");
|
||||
return result;
|
||||
}
|
||||
|
||||
private NetworkProjectConfigAsset.SerializableSimulationBehaviourMeta[] CreateBehaviourMeta(AssetImportContext ctx) {
|
||||
var result = new List<NetworkProjectConfigAsset.SerializableSimulationBehaviourMeta>();
|
||||
|
||||
foreach (var monoScript in MonoImporter.GetAllRuntimeMonoScripts()) {
|
||||
var scriptType = monoScript.GetClass();
|
||||
if (scriptType?.IsSubclassOf(typeof(SimulationBehaviour)) != true) {
|
||||
continue;
|
||||
}
|
||||
|
||||
var executionOrder = MonoImporter.GetExecutionOrder(monoScript);
|
||||
if (executionOrder == 0) {
|
||||
// no need to add it to the list
|
||||
continue;
|
||||
}
|
||||
|
||||
result.Add(new() {
|
||||
Type = scriptType,
|
||||
ExecutionOrder = executionOrder
|
||||
});
|
||||
}
|
||||
|
||||
return result.OrderBy(x => x.ExecutionOrder).ToArray();
|
||||
}
|
||||
|
||||
class Postprocessor : AssetPostprocessor {
|
||||
static void OnPostprocessAllAssets(string[] importedAssets, string[] deletedAssets, string[] movedAssets, string[] movedFromAssetPaths) {
|
||||
foreach (var path in deletedAssets) {
|
||||
if (path.EndsWith(Extension, StringComparison.OrdinalIgnoreCase)) {
|
||||
NetworkProjectConfig.UnloadGlobal();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
foreach (var path in movedAssets) {
|
||||
if (path.EndsWith(Extension, StringComparison.OrdinalIgnoreCase)) {
|
||||
NetworkProjectConfig.UnloadGlobal();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
foreach (var path in importedAssets) {
|
||||
if (HasSimulationBehaviours(path)) {
|
||||
ScriptOrderDependency.Refresh();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static bool HasSimulationBehaviours(string path) {
|
||||
if (path.EndsWith(".cs", StringComparison.OrdinalIgnoreCase)) {
|
||||
// check if there is MB in there (with MonoImporter) and if it is a simulation behaviour
|
||||
var importer = AssetImporter.GetAtPath(path) as MonoImporter;
|
||||
if (importer == null) {
|
||||
return false;
|
||||
}
|
||||
|
||||
var scriptType = importer.GetScript()?.GetClass();
|
||||
if (scriptType?.IsSubclassOf(typeof(SimulationBehaviour)) != true) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
if (path.EndsWith(".dll", StringComparison.OrdinalIgnoreCase)) {
|
||||
// check if there is MB in there (with MonoImporter) and if it is a simulation behaviour
|
||||
foreach (var asset in AssetDatabase.LoadAllAssetsAtPath(path)) {
|
||||
if (asset is MonoScript monoScript) {
|
||||
var scriptType = monoScript.GetClass();
|
||||
if (scriptType?.IsSubclassOf(typeof(SimulationBehaviour)) == true) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
static readonly FusionCustomDependency ScriptOrderDependency = new("Fusion.ScriptOrderDependency", () => {
|
||||
var hash = new Hash128();
|
||||
|
||||
var scripts = MonoImporter.GetAllRuntimeMonoScripts();
|
||||
|
||||
foreach (var monoScript in scripts) {
|
||||
var scriptType = monoScript.GetClass();
|
||||
|
||||
if (scriptType?.IsSubclassOf(typeof(SimulationBehaviour)) != true) {
|
||||
continue;
|
||||
}
|
||||
|
||||
var executionOrder = MonoImporter.GetExecutionOrder(monoScript);
|
||||
|
||||
if (executionOrder == 0) {
|
||||
continue;
|
||||
}
|
||||
|
||||
hash.Append(scriptType.FullName);
|
||||
hash.Append(executionOrder);
|
||||
}
|
||||
|
||||
return hash;
|
||||
});
|
||||
|
||||
static readonly FusionCustomDependency AddressablesDependency = new("Fusion.AddressablesDependency", () => {
|
||||
#if FUSION_ENABLE_ADDRESSABLES && !FUSION_DISABLE_ADDRESSABLES
|
||||
var assetsSettings = UnityEditor.AddressableAssets.AddressableAssetSettingsDefaultObject.Settings;
|
||||
if (assetsSettings) {
|
||||
return assetsSettings.currentHash;
|
||||
}
|
||||
#endif
|
||||
return default;
|
||||
});
|
||||
|
||||
static readonly FusionCustomDependency NetworkObjectPrefabDependency = new("Fusion.PrefabsDependency", () => {
|
||||
var hash = new Hash128();
|
||||
foreach (var it in AssetDatabaseUtils.IterateAssets<GameObject>(label: FusionPrefabTag)) {
|
||||
hash.Append(it.guid);
|
||||
}
|
||||
return hash;
|
||||
});
|
||||
|
||||
public static void RebuildPrefabHash() {
|
||||
NetworkObjectPrefabDependency.Refresh();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 66a64a17d0b40f34f9224317a5a84bf2
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267958
|
||||
packageName: Photon Fusion
|
||||
packageVersion: 2.0.12
|
||||
assetPath: Assets/Photon/Fusion/Editor/NetworkProjectConfigImporter.cs
|
||||
uploadId: 888248
|
||||
@@ -0,0 +1,141 @@
|
||||
namespace Fusion.Editor {
|
||||
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using UnityEditor;
|
||||
using UnityEditor.AssetImporters;
|
||||
using UnityEngine;
|
||||
|
||||
[CustomEditor(typeof(NetworkProjectConfigImporter))]
|
||||
internal class NetworkProjectConfigImporterEditor : ScriptedImporterEditor {
|
||||
|
||||
private Exception _initializeException;
|
||||
private LogSettingsDrawer _logSettingsDrawer;
|
||||
|
||||
private static bool _versionExpanded;
|
||||
private static string _version;
|
||||
private static string _allVersionInfo;
|
||||
|
||||
public override bool showImportedObject => false;
|
||||
|
||||
protected override Type extraDataType => typeof(NetworkProjectConfigAsset);
|
||||
|
||||
public override void OnInspectorGUI() {
|
||||
|
||||
bool rebuildPrefabTable = false;
|
||||
|
||||
try {
|
||||
if (_initializeException != null) {
|
||||
EditorGUILayout.HelpBox(_initializeException.ToString(), MessageType.Error, true);
|
||||
} else {
|
||||
|
||||
FusionEditorGUI.InjectScriptHeaderDrawer(extraDataSerializedObject);
|
||||
FusionEditorGUI.ScriptPropertyField(extraDataSerializedObject);
|
||||
|
||||
VersionInfoGUI();
|
||||
|
||||
using (new EditorGUI.DisabledScope(HasModified())) {
|
||||
rebuildPrefabTable = GUILayout.Button("Rebuild Prefab Table");
|
||||
}
|
||||
|
||||
extraDataSerializedObject.Update();
|
||||
EditorGUILayout.PropertyField(extraDataSerializedObject.FindPropertyOrThrow(nameof(NetworkProjectConfigAsset.Config)));
|
||||
extraDataSerializedObject.ApplyModifiedProperties();
|
||||
|
||||
EditorGUILayout.PropertyField(serializedObject.FindProperty(nameof(NetworkProjectConfigImporter.PrefabOptions)));
|
||||
|
||||
EditorGUILayout.Space();
|
||||
EditorGUILayout.LabelField("Log", EditorStyles.boldLabel);
|
||||
_logSettingsDrawer.DrawLayout(this, true);
|
||||
|
||||
EditorGUILayout.Space();
|
||||
EditorGUILayout.LabelField("Auto-Generated", EditorStyles.boldLabel);
|
||||
|
||||
if (GUILayout.Button("Show Network Prefabs Inspector")) {
|
||||
NetworkPrefabsInspector.ShowWindow();
|
||||
}
|
||||
|
||||
// WORKAROUND: during initial failed imports, this may be an instance of UnityEngine.DefaultAsset instead of the actual asset
|
||||
if (assetSerializedObject?.targetObject.GetType() == typeof(NetworkProjectConfigAsset)) {
|
||||
// this has the tendency to overwrite the global enabled flag, so let's make sure it's reset once the scope exists
|
||||
using (new FusionEditorGUI.EnabledScope(GUI.enabled)) {
|
||||
EditorGUILayout.PropertyField(assetSerializedObject.FindPropertyOrThrow(nameof(NetworkProjectConfigAsset.Prefabs)));
|
||||
EditorGUILayout.PropertyField(assetSerializedObject.FindPropertyOrThrow(nameof(NetworkProjectConfigAsset.BehaviourMeta)));
|
||||
}
|
||||
} else {
|
||||
EditorGUILayout.HelpBox("Asset failed to deserialize correctly. Please reimport.", MessageType.Warning);
|
||||
}
|
||||
}
|
||||
} finally {
|
||||
ApplyRevertGUI();
|
||||
}
|
||||
|
||||
if (rebuildPrefabTable) {
|
||||
NetworkProjectConfigUtilities.RebuildPrefabTable();
|
||||
}
|
||||
}
|
||||
|
||||
private static void VersionInfoGUI() {
|
||||
if (string.IsNullOrEmpty(_allVersionInfo)) {
|
||||
var assemblies = System.AppDomain.CurrentDomain.GetAssemblies();
|
||||
foreach (var asm in assemblies) {
|
||||
var assemblyFullName = asm.FullName;
|
||||
if (assemblyFullName.StartsWith("Fusion.Runtime,")) {
|
||||
_version = $"{NetworkRunner.BuildType}: {System.Diagnostics.FileVersionInfo.GetVersionInfo(asm.Location).ProductVersion}";
|
||||
}
|
||||
|
||||
if (assemblyFullName.StartsWith("Fusion.") || assemblyFullName.StartsWith("Fusion,")) {
|
||||
var fileVersion = System.Diagnostics.FileVersionInfo.GetVersionInfo(asm.Location).ToString();
|
||||
_allVersionInfo += $"{assemblyFullName.Substring(0, assemblyFullName.IndexOf(",", StringComparison.Ordinal))}: {fileVersion} \n";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var r = EditorGUILayout.GetControlRect();
|
||||
_versionExpanded = EditorGUI.Foldout(r, _versionExpanded, "");
|
||||
EditorGUI.LabelField(r, "Fusion Version", _version);
|
||||
|
||||
if (_versionExpanded) {
|
||||
EditorGUILayout.HelpBox(_allVersionInfo, MessageType.None);
|
||||
}
|
||||
}
|
||||
|
||||
protected override void Apply() {
|
||||
base.Apply();
|
||||
|
||||
if (targets != null) {
|
||||
for (int i = 0; i < extraDataTargets.Length; ++i) {
|
||||
var importer = GetImporter(i);
|
||||
var wrapper = GetConfigWrapper(i);
|
||||
|
||||
EditorUtility.SetDirty(importer);
|
||||
|
||||
var json = EditorJsonUtility.ToJson(wrapper.Config, true);
|
||||
File.WriteAllText(importer.assetPath, json);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected override void InitializeExtraDataInstance(UnityEngine.Object extraData, int targetIndex) {
|
||||
try {
|
||||
var importer = GetImporter(targetIndex);
|
||||
var extra = (NetworkProjectConfigAsset)extraData;
|
||||
|
||||
extra.Config = NetworkProjectConfigImporter.LoadConfigFromFile(importer.assetPath);
|
||||
|
||||
_initializeException = null;
|
||||
} catch (Exception ex) {
|
||||
_initializeException = ex;
|
||||
}
|
||||
}
|
||||
|
||||
private NetworkProjectConfigImporter GetImporter(int i) {
|
||||
return (NetworkProjectConfigImporter)targets[i];
|
||||
}
|
||||
|
||||
private NetworkProjectConfigAsset GetConfigWrapper(int i) {
|
||||
return (NetworkProjectConfigAsset)extraDataTargets[i];
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e94c67db235c29f4891980a488edca07
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267958
|
||||
packageName: Photon Fusion
|
||||
packageVersion: 2.0.12
|
||||
assetPath: Assets/Photon/Fusion/Editor/NetworkProjectConfigImporterEditor.cs
|
||||
uploadId: 888248
|
||||