daily update

This commit is contained in:
2026-06-13 00:07:35 +07:00
parent d731f962a3
commit 20f9010787
371 changed files with 731 additions and 15 deletions

View File

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

View File

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

View File

@@ -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.

View File

@@ -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

View File

@@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

View File

@@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

View File

@@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

View File

@@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 144 B

View File

@@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 146 B

View File

@@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 599 B

View File

@@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 141 B

View File

@@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 KiB

View File

@@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

View File

@@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

View File

@@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 244 B

View File

@@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 637 B

View File

@@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 153 B

View File

@@ -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

View File

@@ -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 &lt;color&gt; 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>

View File

@@ -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

View File

@@ -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

View File

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

@@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 564 B

View File

@@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

View File

@@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

@@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

View File

@@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

View File

@@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 450 B

View File

@@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 936 B

View File

@@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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
}

View File

@@ -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

File diff suppressed because it is too large Load Diff

View 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

View File

@@ -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);
}
}
}

View File

@@ -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

View 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;
}
}
}

View File

@@ -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

View 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
}

View File

@@ -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

View File

@@ -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");
}
}
}
}

View File

@@ -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

View File

@@ -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;
}
}
}
}
}
}

View File

@@ -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

View File

@@ -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;
}
}
}
}

View File

@@ -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

View File

@@ -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();
}
}
}

View File

@@ -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

View File

@@ -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];
}
}
}

View File

@@ -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