This commit is contained in:
王建超 2025-09-23 16:42:10 +08:00
parent e57b012e9e
commit b1f946315f
1316 changed files with 156326 additions and 3454 deletions

View File

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

View File

@ -0,0 +1,85 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &1067695510015275827
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1067695510015275824}
- component: {fileID: 1067695510015275825}
- component: {fileID: 1067695510015275826}
m_Layer: 0
m_Name: BrackGround
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &1067695510015275824
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1067695510015275827}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: -0.14226957, y: 0.4080006, z: 0.005696431}
m_LocalScale: {x: 1000, y: 1000, z: 1000}
m_ConstrainProportionsScale: 1
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &1067695510015275825
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1067695510015275827}
m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
--- !u!23 &1067695510015275826
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1067695510015275827}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RayTraceProcedural: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: 5473599e627b9a844b4b1dc6457d386a, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 1
m_SelectedEditorRenderState: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0}

View File

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

View File

@ -0,0 +1,58 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 8
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Shader Graphs_UI
m_Shader: {fileID: -6465566751694194690, guid: b85735b649e7b5549bab2621a09aab2a,
type: 3}
m_ValidKeywords: []
m_InvalidKeywords: []
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BackGround:
m_Texture: {fileID: 2800000, guid: 017e82e7c00bd494191355333c51da3f, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_Lightmaps:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_LightmapsInd:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_ShadowMasks:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- _QueueControl: 0
- _QueueOffset: 0
m_Colors: []
m_BuildTextureStacks: []
--- !u!114 &4128742657465027846
MonoBehaviour:
m_ObjectHideFlags: 11
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
m_Name:
m_EditorClassIdentifier:
version: 5

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 5473599e627b9a844b4b1dc6457d386a
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 2100000
userData:
assetBundleName:
assetBundleVariant:

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: b85735b649e7b5549bab2621a09aab2a
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 11500000, guid: 625f186215c104763be7675aa2d941aa, type: 3}

View File

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

View File

@ -0,0 +1,128 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 8
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: M_touming1
m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
m_ValidKeywords: []
m_InvalidKeywords: []
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap:
RenderType: Opaque
disabledShaderPasses: []
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BaseMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailAlbedoMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OcclusionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ParallaxMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _SpecGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_Lightmaps:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_LightmapsInd:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_ShadowMasks:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- _AlphaClip: 0
- _Blend: 0
- _BumpScale: 1
- _ClearCoatMask: 0
- _ClearCoatSmoothness: 0
- _Cull: 2
- _Cutoff: 0.5
- _DetailAlbedoMapScale: 1
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _EnvironmentReflections: 1
- _GlossMapScale: 1
- _Glossiness: 0
- _GlossyReflections: 1
- _Metallic: 0
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
- _QueueOffset: 0
- _ReceiveShadows: 1
- _Smoothness: 0
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _Surface: 0
- _UVSec: 0
- _WorkflowMode: 1
- _ZWrite: 1
m_Colors:
- _BaseColor: {r: 0.7353569, g: 0.7353569, b: 0.7353569, a: 1}
- _Color: {r: 0.7353569, g: 0.7353569, b: 0.7353569, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
m_BuildTextureStacks: []
--- !u!114 &4840962388644535617
MonoBehaviour:
m_ObjectHideFlags: 11
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
m_Name:
m_EditorClassIdentifier:
version: 5

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 834114af50a8e5b469ab58fe85a17ba9
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 2100000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,111 @@
fileFormatVersion: 2
guid: 2008609bc0f2a8b4382f7c81658b90e1
ModelImporter:
serializedVersion: 21300
internalIDToNameTable: []
externalObjects:
- first:
type: UnityEngine:Material
assembly: UnityEngine.CoreModule
name: M_touming1
second: {fileID: 2100000, guid: 834114af50a8e5b469ab58fe85a17ba9, type: 2}
materials:
materialImportMode: 2
materialName: 0
materialSearch: 1
materialLocation: 1
animations:
legacyGenerateAnimations: 4
bakeSimulation: 0
resampleCurves: 1
optimizeGameObjects: 0
removeConstantScaleCurves: 1
motionNodeName:
rigImportErrors:
rigImportWarnings:
animationImportErrors:
animationImportWarnings:
animationRetargetingWarnings:
animationDoRetargetingWarnings: 0
importAnimatedCustomProperties: 0
importConstraints: 0
animationCompression: 1
animationRotationError: 0.5
animationPositionError: 0.5
animationScaleError: 0.5
animationWrapMode: 0
extraExposedTransformPaths: []
extraUserProperties: []
clipAnimations: []
isReadable: 1
meshes:
lODScreenPercentages: []
globalScale: 1
meshCompression: 0
addColliders: 0
useSRGBMaterialColor: 1
sortHierarchyByName: 1
importVisibility: 1
importBlendShapes: 1
importCameras: 1
importLights: 1
nodeNameCollisionStrategy: 1
fileIdsGeneration: 2
swapUVChannels: 0
generateSecondaryUV: 0
useFileUnits: 1
keepQuads: 0
weldVertices: 1
bakeAxisConversion: 0
preserveHierarchy: 0
skinWeightsMode: 0
maxBonesPerVertex: 4
minBoneWeight: 0.001
optimizeBones: 1
meshOptimizationFlags: -1
indexFormat: 0
secondaryUVAngleDistortion: 8
secondaryUVAreaDistortion: 15.000001
secondaryUVHardAngle: 88
secondaryUVMarginMethod: 1
secondaryUVMinLightmapResolution: 40
secondaryUVMinObjectScale: 1
secondaryUVPackMargin: 4
useFileScale: 1
tangentSpace:
normalSmoothAngle: 60
normalImportMode: 1
tangentImportMode: 3
normalCalculationMode: 4
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
blendShapeNormalImportMode: 1
normalSmoothingSource: 0
referencedClips: []
importAnimation: 1
humanDescription:
serializedVersion: 3
human: []
skeleton: []
armTwist: 0.5
foreArmTwist: 0.5
upperLegTwist: 0.5
legTwist: 0.5
armStretch: 0.05
legStretch: 0.05
feetSpacing: 0
globalScale: 1
rootMotionBoneName:
hasTranslationDoF: 0
hasExtraRoot: 0
skeletonHasParents: 1
lastHumanDescriptionAvatarSource: {instanceID: 0}
autoGenerateAvatarMappingIfUnspecified: 1
animationType: 2
humanoidOversampling: 1
avatarSetup: 0
addHumanoidExtraRootOnlyWhenUsingAvatar: 1
remapMaterialsIfMaterialImportModeIsNone: 0
additionalBone: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@ -138,7 +138,10 @@ public class RongMaoShinMesh : MonoBehaviour
{
skinnedMeshRenderer.BakeMesh(mesh);
}
for (int i = 0; i < LayerCount; i++)
{
instanceMatrices[i] = target.transform.localToWorldMatrix;
}
layerMat.EnableKeyword("INSTANCE");
Graphics.DrawMeshInstanced(mesh,0,layerMat,instanceMatrices,LayerCount);
}

View File

@ -108,11 +108,12 @@ Shader "Unlit/MaoFaF"
#endif
//float d=sign(v.normal.z)
float3 dir=normalize(v.normal+float3(0,-0.8,-abs(v.normal.y)*0.4));
v.vertex.xyz=v.vertex.xyz+dir*(_LayerOffset*_LayerOffset*0.8)*_FurLength*1;
v.vertex.xyz=v.vertex.xyz+dir*(_LayerOffset*_LayerOffset*0.8)*_FurLength*1+v.normal*0.00001;
//v.vertex.xyz+=mul(unity_WorldToObject,_FurOffset);//不需要位移
o.vertex = TransformObjectToHClip(v.vertex);
o.wpos=mul(UNITY_MATRIX_M,v.vertex);

Binary file not shown.

After

Width:  |  Height:  |  Size: 179 B

View File

@ -0,0 +1,146 @@
fileFormatVersion: 2
guid: e52e7b2043d917246be11db43a07f814
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
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
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 1024
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
- 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
- serializedVersion: 3
buildTarget: WebGL
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:

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

View File

@ -0,0 +1,92 @@
fileFormatVersion: 2
guid: 9e768ab897409d24fa26c5739ce4afc6
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
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: 1
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: 10, y: 10, z: 10, w: 10}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
applyGammaDecoding: 1
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: 1
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,155 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &-3697359629527689954
MonoBehaviour:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: d21dcc2386d650c4597f3633c75a1f98, type: 3}
m_Name: Animation Track
m_EditorClassIdentifier:
m_Version: 3
m_AnimClip: {fileID: 0}
m_Locked: 0
m_Muted: 0
m_CustomPlayableFullTypename:
m_Curves: {fileID: 0}
m_Parent: {fileID: 11400000}
m_Children: []
m_Clips:
- m_Version: 1
m_Start: 0
m_ClipIn: 0
m_Asset: {fileID: 4784509760691317480}
m_Duration: 2.4583333333333335
m_TimeScale: 1
m_ParentTrack: {fileID: -3697359629527689954}
m_EaseInDuration: 0
m_EaseOutDuration: 0
m_BlendInDuration: -1
m_BlendOutDuration: -1
m_MixInCurve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 0
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
- serializedVersion: 3
time: 1
value: 1
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
m_MixOutCurve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 1
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
- serializedVersion: 3
time: 1
value: 0
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
m_BlendInCurveMode: 0
m_BlendOutCurveMode: 0
m_ExposedParameterNames: []
m_AnimationCurves: {fileID: 0}
m_Recordable: 0
m_PostExtrapolationMode: 1
m_PreExtrapolationMode: 1
m_PostExtrapolationTime: Infinity
m_PreExtrapolationTime: 0
m_DisplayName: Take 001
m_Markers:
m_Objects: []
m_InfiniteClipPreExtrapolation: 0
m_InfiniteClipPostExtrapolation: 0
m_InfiniteClipOffsetPosition: {x: 0, y: 0, z: 0}
m_InfiniteClipOffsetEulerAngles: {x: 0, y: 0, z: 0}
m_InfiniteClipTimeOffset: 0
m_InfiniteClipRemoveOffset: 0
m_InfiniteClipApplyFootIK: 1
mInfiniteClipLoop: 0
m_MatchTargetFields: 63
m_Position: {x: 0, y: 0, z: 0}
m_EulerAngles: {x: 0, y: 0, z: 0}
m_AvatarMask: {fileID: 0}
m_ApplyAvatarMask: 1
m_TrackOffset: 0
m_InfiniteClip: {fileID: 0}
m_OpenClipOffsetRotation: {x: 0, y: 0, z: 0, w: 1}
m_Rotation: {x: 0, y: 0, z: 0, w: 1}
m_ApplyOffsets: 0
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: bfda56da833e2384a9677cd3c976a436, type: 3}
m_Name: "\u542C\u8BCA\u5FC3\u97F3\u65B9\u6CD5"
m_EditorClassIdentifier:
m_Version: 0
m_Tracks:
- {fileID: -3697359629527689954}
m_FixedDuration: 0
m_EditorSettings:
m_Framerate: 60
m_ScenePreview: 1
m_DurationMode: 0
m_MarkerTrack: {fileID: 0}
--- !u!114 &4784509760691317480
MonoBehaviour:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 030f85c3f73729f4f976f66ffb23b875, type: 3}
m_Name: AnimationPlayableAsset
m_EditorClassIdentifier:
m_Clip: {fileID: 1827226128182048838, guid: 893fbcc7e76df8a45b1d8da629f9f707, type: 3}
m_Position: {x: 0, y: 0, z: 0}
m_EulerAngles: {x: 0, y: 0, z: 0}
m_UseTrackMatchFields: 1
m_MatchTargetFields: 63
m_RemoveStartOffset: 1
m_ApplyFootIK: 1
m_Loop: 0
m_Version: 1
m_Rotation: {x: 0, y: 0, z: 0, w: 1}

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 96af5175edd01104d96ba0fbe53d9339
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,155 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &-5372311275506534524
MonoBehaviour:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 030f85c3f73729f4f976f66ffb23b875, type: 3}
m_Name: AnimationPlayableAsset
m_EditorClassIdentifier:
m_Clip: {fileID: 1827226128182048838, guid: e4d5b50ed953327449fdac641cec4571, type: 3}
m_Position: {x: 0, y: 0, z: 0}
m_EulerAngles: {x: 0, y: 0, z: 0}
m_UseTrackMatchFields: 1
m_MatchTargetFields: 63
m_RemoveStartOffset: 1
m_ApplyFootIK: 1
m_Loop: 0
m_Version: 1
m_Rotation: {x: 0, y: 0, z: 0, w: 1}
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: bfda56da833e2384a9677cd3c976a436, type: 3}
m_Name: "\u5FC3\u8DF3"
m_EditorClassIdentifier:
m_Version: 0
m_Tracks:
- {fileID: 3600547453437151638}
m_FixedDuration: 0
m_EditorSettings:
m_Framerate: 60
m_ScenePreview: 1
m_DurationMode: 0
m_MarkerTrack: {fileID: 0}
--- !u!114 &3600547453437151638
MonoBehaviour:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: d21dcc2386d650c4597f3633c75a1f98, type: 3}
m_Name: Animation Track
m_EditorClassIdentifier:
m_Version: 3
m_AnimClip: {fileID: 0}
m_Locked: 0
m_Muted: 0
m_CustomPlayableFullTypename:
m_Curves: {fileID: 0}
m_Parent: {fileID: 11400000}
m_Children: []
m_Clips:
- m_Version: 1
m_Start: 0
m_ClipIn: 0
m_Asset: {fileID: -5372311275506534524}
m_Duration: 4.125
m_TimeScale: 1
m_ParentTrack: {fileID: 3600547453437151638}
m_EaseInDuration: 0
m_EaseOutDuration: 0
m_BlendInDuration: -1
m_BlendOutDuration: -1
m_MixInCurve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 0
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
- serializedVersion: 3
time: 1
value: 1
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
m_MixOutCurve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 1
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
- serializedVersion: 3
time: 1
value: 0
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
m_BlendInCurveMode: 0
m_BlendOutCurveMode: 0
m_ExposedParameterNames: []
m_AnimationCurves: {fileID: 0}
m_Recordable: 0
m_PostExtrapolationMode: 1
m_PreExtrapolationMode: 1
m_PostExtrapolationTime: Infinity
m_PreExtrapolationTime: 0
m_DisplayName: Take 001
m_Markers:
m_Objects: []
m_InfiniteClipPreExtrapolation: 0
m_InfiniteClipPostExtrapolation: 0
m_InfiniteClipOffsetPosition: {x: 0, y: 0, z: 0}
m_InfiniteClipOffsetEulerAngles: {x: 0, y: 0, z: 0}
m_InfiniteClipTimeOffset: 0
m_InfiniteClipRemoveOffset: 0
m_InfiniteClipApplyFootIK: 1
mInfiniteClipLoop: 0
m_MatchTargetFields: 63
m_Position: {x: 0, y: 0, z: 0}
m_EulerAngles: {x: 0, y: 0, z: 0}
m_AvatarMask: {fileID: 0}
m_ApplyAvatarMask: 1
m_TrackOffset: 0
m_InfiniteClip: {fileID: 0}
m_OpenClipOffsetRotation: {x: 0, y: 0, z: 0, w: 1}
m_Rotation: {x: 0, y: 0, z: 0, w: 1}
m_ApplyOffsets: 0

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 21cf89813673ea3448548ac0cdc0dce9
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,22 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: bfda56da833e2384a9677cd3c976a436, type: 3}
m_Name: "\u6B63\u5E38\u7B2C\u4E00\u5FC3\u97F3"
m_EditorClassIdentifier:
m_Version: 0
m_Tracks: []
m_FixedDuration: 0
m_EditorSettings:
m_Framerate: 60
m_ScenePreview: 1
m_DurationMode: 0
m_MarkerTrack: {fileID: 0}

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 7ff8cbad748a76245b37f9faeaa8708f
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 0ff6b6c0298d01245aa7afb11945a89f
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 8b712df20fd743c48b1e5fa13bd7a7a4
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: ff5525c70123efb49865443d6f87f825
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

8
Assets/Third/AI.meta Normal file
View File

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

8
Assets/Third/AI/1.meta Normal file
View File

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

Binary file not shown.

View File

@ -0,0 +1,22 @@
fileFormatVersion: 2
guid: 5eea7092176f4824abee532fc7114aa5
AudioImporter:
externalObjects: {}
serializedVersion: 6
defaultSettings:
loadType: 0
sampleRateSetting: 0
sampleRateOverride: 44100
compressionFormat: 1
quality: 1
conversionMode: 0
platformSettingOverrides: {}
forceToMono: 0
normalize: 1
preloadAudioData: 1
loadInBackground: 0
ambisonic: 0
3D: 1
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

View File

@ -0,0 +1,22 @@
fileFormatVersion: 2
guid: 59e6ed582f7eb6b42842fef22b3e879a
AudioImporter:
externalObjects: {}
serializedVersion: 6
defaultSettings:
loadType: 0
sampleRateSetting: 0
sampleRateOverride: 44100
compressionFormat: 1
quality: 1
conversionMode: 0
platformSettingOverrides: {}
forceToMono: 0
normalize: 1
preloadAudioData: 1
loadInBackground: 0
ambisonic: 0
3D: 1
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

View File

@ -0,0 +1,22 @@
fileFormatVersion: 2
guid: ca5e7c89dcb626d46a4a26b9733649c6
AudioImporter:
externalObjects: {}
serializedVersion: 6
defaultSettings:
loadType: 0
sampleRateSetting: 0
sampleRateOverride: 44100
compressionFormat: 1
quality: 1
conversionMode: 0
platformSettingOverrides: {}
forceToMono: 0
normalize: 1
preloadAudioData: 1
loadInBackground: 0
ambisonic: 0
3D: 1
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

View File

@ -0,0 +1,22 @@
fileFormatVersion: 2
guid: 12a96d0c1075c204f94c463c19726c40
AudioImporter:
externalObjects: {}
serializedVersion: 6
defaultSettings:
loadType: 0
sampleRateSetting: 0
sampleRateOverride: 44100
compressionFormat: 1
quality: 1
conversionMode: 0
platformSettingOverrides: {}
forceToMono: 0
normalize: 1
preloadAudioData: 1
loadInBackground: 0
ambisonic: 0
3D: 1
userData:
assetBundleName:
assetBundleVariant:

8
Assets/Third/AI/2.meta Normal file
View File

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

Binary file not shown.

View File

@ -0,0 +1,22 @@
fileFormatVersion: 2
guid: 3ed5277990a4f49488b6c904daa9e6bd
AudioImporter:
externalObjects: {}
serializedVersion: 6
defaultSettings:
loadType: 0
sampleRateSetting: 0
sampleRateOverride: 44100
compressionFormat: 1
quality: 1
conversionMode: 0
platformSettingOverrides: {}
forceToMono: 0
normalize: 1
preloadAudioData: 1
loadInBackground: 0
ambisonic: 0
3D: 1
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

View File

@ -0,0 +1,22 @@
fileFormatVersion: 2
guid: 1e8c11aab1e7e61438ec3f2d1b6afc2e
AudioImporter:
externalObjects: {}
serializedVersion: 6
defaultSettings:
loadType: 0
sampleRateSetting: 0
sampleRateOverride: 44100
compressionFormat: 1
quality: 1
conversionMode: 0
platformSettingOverrides: {}
forceToMono: 0
normalize: 1
preloadAudioData: 1
loadInBackground: 0
ambisonic: 0
3D: 1
userData:
assetBundleName:
assetBundleVariant:

File diff suppressed because it is too large Load Diff

View File

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

View File

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

View File

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

View File

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

View File

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

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: ab7922930d4d5d54191b5c5364e44dc7
timeCreated: 1501771355
licenseType: Store
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:

View File

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

View File

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

View File

@ -0,0 +1,113 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
namespace SuperScrollView.AI
{
public enum MsgTypeEnum
{
Str = 0,
Picture,
Count,
}
public class PersonInfo
{
public int mId;
public string mName;
public Sprite mHeadIcon;
}
public class ChatMsg
{
public int mPersonId;
public MsgTypeEnum mMsgType;
public string mSrtMsg;
public Sprite mPicMsgSprite;
}
public class ChatMsgDataSourceMgr : MonoBehaviour
{
Dictionary<int, PersonInfo> mPersonInfoDict = new Dictionary<int, PersonInfo>();
List<ChatMsg> mChatMsgList = new List<ChatMsg>();
static ChatMsgDataSourceMgr instance = null;
public Sprite[] headIcons;
public static ChatMsgDataSourceMgr Get
{
get
{
if (instance == null)
{
instance = Object.FindObjectOfType<ChatMsgDataSourceMgr>();
}
return instance;
}
}
void Awake()
{
Init();
}
public PersonInfo GetPersonInfo(int personId)
{
PersonInfo ret = null;
if(mPersonInfoDict.TryGetValue(personId, out ret))
{
return ret;
}
return null;
}
public void Init()
{
mPersonInfoDict.Clear();
PersonInfo tInfo = new PersonInfo();
tInfo.mHeadIcon = headIcons[0];
tInfo.mId = 0;
tInfo.mName = "小智";
mPersonInfoDict.Add(tInfo.mId, tInfo);
tInfo = new PersonInfo();
tInfo.mHeadIcon = headIcons[1];
tInfo.mId = 1;
tInfo.mName = "您";
mPersonInfoDict.Add(tInfo.mId, tInfo);
InitChatDataSource();
}
public ChatMsg GetChatMsgByIndex(int index)
{
if (index < 0 || index >= mChatMsgList.Count)
{
return null;
}
return mChatMsgList[index];
}
public int TotalItemCount
{
get
{
return mChatMsgList.Count;
}
}
void InitChatDataSource()
{
mChatMsgList.Clear();
}
public void AppendOneMsg(int personId,MsgTypeEnum msgTypeEnum,string str,Sprite sprite = null)
{
ChatMsg tMsg = new ChatMsg();
tMsg.mMsgType = msgTypeEnum;
tMsg.mPersonId = personId;
tMsg.mSrtMsg = str;
tMsg.mPicMsgSprite = sprite;
mChatMsgList.Add(tMsg);
}
}
}

View File

@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 944450e2aafceac4ab7b3d2d964710e6
timeCreated: 1501684751
licenseType: Store
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

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

View File

@ -0,0 +1,101 @@
using System.Text.RegularExpressions;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.Windows;
namespace SuperScrollView.AI
{
public class ChatViewItem : MonoBehaviour
{
public Text mMsgText;
public RectTransform mMsgPicMask;
public Image mMsgPic;
public Image mIcon;
public Image mItemBg;
public Image mArrow;
public Text mIndexText;
int mItemIndex = -1;
float mMsgPicScaleX = 0.7f;
float mMsgPicScaleY = 0.7f;
public int ItemIndex
{
get
{
return mItemIndex;
}
}
public void Init()
{
}
public void SetItemData(ChatMsg itemData, int itemIndex)
{
mIndexText.text = itemIndex.ToString();
PersonInfo person = ChatMsgDataSourceMgr.Get.GetPersonInfo(itemData.mPersonId);
mItemIndex = itemIndex;
if(itemData.mMsgType == MsgTypeEnum.Str)
{
mMsgPicMask.gameObject.SetActive(false);
mMsgText.gameObject.SetActive(true);
mMsgText.text = itemData.mSrtMsg;
Vector2 size = mItemBg.GetComponent<RectTransform>().sizeDelta;
if (System.Text.Encoding.UTF8.GetByteCount(itemData.mSrtMsg) >= 48)
{
mMsgText.GetComponent<ContentSizeFitter>().SetLayoutVertical();
size.x = mMsgText.GetComponent<RectTransform>().sizeDelta.x + 20;
size.y = mMsgText.GetComponent<RectTransform>().sizeDelta.y + 34;
}
else
{
mMsgText.GetComponent<ContentSizeFitter>().SetLayoutHorizontal();
size.x = mMsgText.GetComponent<RectTransform>().sizeDelta.x + 20;
size.y = mMsgText.GetComponent<RectTransform>().sizeDelta.y + (Regex.Matches(itemData.mSrtMsg.Trim(), "\r\n|\n|\r").Count + 1) * 34;
}
mIcon.sprite = person.mHeadIcon;
mItemBg.gameObject.SetActive(true);
//Vector2 size = mItemBg.GetComponent<RectTransform>().sizeDelta;
//size.x = mMsgText.GetComponent<RectTransform>().sizeDelta.x + 20;
//size.y = mMsgText.GetComponent<RectTransform>().sizeDelta.y + (Regex.Matches(itemData.mSrtMsg.Trim(), "\r\n|\n|\r").Count + 1) * 34;
mItemBg.GetComponent<RectTransform>().sizeDelta = size;
RectTransform tf = gameObject.GetComponent<RectTransform>();
float y = size.y;
if (y < 75)
{
y = 75;
}
tf.SetSizeWithCurrentAnchors(RectTransform.Axis.Vertical, y);
}
else
{
mMsgPicMask.gameObject.SetActive(true);
mMsgText.gameObject.SetActive(false);
mMsgPic.sprite = itemData.mPicMsgSprite;
float w = mMsgPic.overrideSprite.rect.width;
float h = mMsgPic.overrideSprite.rect.height;
mMsgPicMask.sizeDelta = new Vector2(w *mMsgPicScaleX, h*mMsgPicScaleY);
mIcon.sprite = person.mHeadIcon;
mItemBg.gameObject.SetActive(false);
Vector2 size = Vector2.zero;
size.x = mMsgPicMask.sizeDelta.x + 20;
size.y = mMsgPicMask.sizeDelta.y + 20;
RectTransform tf = gameObject.GetComponent<RectTransform>();
float y = size.y;
if (y < 75)
{
y = 75;
}
tf.SetSizeWithCurrentAnchors(RectTransform.Axis.Vertical, y);
}
}
}
}

View File

@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: c17a47a7992cde542babb1a1b95c5fcb
timeCreated: 1501774426
licenseType: Store
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

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

View File

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

View File

@ -0,0 +1,78 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
namespace SuperScrollView.AI
{
public class ChatView : MonoBehaviour
{
public LoopListView2 mLoopListView;
void Start()
{
mLoopListView.InitListView(ChatMsgDataSourceMgr.Get.TotalItemCount, OnGetItemByIndex);
}
LoopListViewItem2 OnGetItemByIndex(LoopListView2 listView, int index)
{
if (index < 0 || index >= ChatMsgDataSourceMgr.Get.TotalItemCount)
{
return null;
}
ChatMsg itemData = ChatMsgDataSourceMgr.Get.GetChatMsgByIndex(index);
if (itemData == null)
{
return null;
}
LoopListViewItem2 item = null;
if (itemData.mPersonId == 0)
{
if (System.Text.Encoding.UTF8.GetByteCount(itemData.mSrtMsg) >= 48)
{
item = listView.NewListViewItem("ItemPrefab1");
}
else
{
item = listView.NewListViewItem("ItemPrefab3");
}
}
else
{
if (System.Text.Encoding.UTF8.GetByteCount(itemData.mSrtMsg) >= 48)
{
item = listView.NewListViewItem("ItemPrefab2");
}
else
{
item = listView.NewListViewItem("ItemPrefab4");
}
}
ChatViewItem itemScript = item.GetComponent<ChatViewItem>();
if (item.IsInitHandlerCalled == false)
{
item.IsInitHandlerCalled = true;
itemScript.Init();
}
itemScript.SetItemData(itemData,index);
return item;
}
public void OnAppendUser1ButtonClicked()
{
OnAppendMsg(0, MsgTypeEnum.Str, "你好小智,请帮我查询天气和时间。");
}
public void OnAppendUser2ButtonClicked()
{
OnAppendMsg(1, MsgTypeEnum.Str, "你好小智");
}
public void OnAppendMsg(int id, MsgTypeEnum msgTypeEnum,string msg)
{
ChatMsgDataSourceMgr.Get.AppendOneMsg(id, msgTypeEnum, msg);
mLoopListView.SetListItemCount(ChatMsgDataSourceMgr.Get.TotalItemCount, false);
mLoopListView.MovePanelToItemIndex(ChatMsgDataSourceMgr.Get.TotalItemCount - 1, 0);
}
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 9a5b505e8533030409de4a19ad3f96bb
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

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

View File

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 1015 KiB

View File

@ -0,0 +1,92 @@
fileFormatVersion: 2
guid: 77704f6c6ff15894ab05e3f5d90953d2
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
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: -3
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 16
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 1
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
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
applyGammaDecoding: 1
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
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:

View File

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

View File

@ -0,0 +1,92 @@
fileFormatVersion: 2
guid: 1fec01a1ffdb6e84da4ab7a44c8167dd
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
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: 1
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: 10, y: 10, z: 10, w: 10}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
applyGammaDecoding: 1
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: 1
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

View File

@ -0,0 +1,92 @@
fileFormatVersion: 2
guid: 741f8144a7da4224e973549b8a31fb42
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
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: 1
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
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 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
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:

View File

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

View File

@ -0,0 +1,104 @@
fileFormatVersion: 2
guid: 95ede6e2570009e40a88535d1700e086
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
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: 1
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
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
applyGammaDecoding: 1
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
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 KiB

View File

@ -0,0 +1,116 @@
fileFormatVersion: 2
guid: 8109c6f5cfa7b9049b3455330a975d48
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
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 16
mipBias: 0
wrapU: 0
wrapV: 0
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
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
applyGammaDecoding: 1
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: 1
- 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: 1
- 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: 1
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:

View File

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

View File

@ -0,0 +1,92 @@
fileFormatVersion: 2
guid: ebb2d00ad29e19f49a6e3f156b568ccc
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
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: 1
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
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
applyGammaDecoding: 1
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: 1
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 153 KiB

View File

@ -0,0 +1,92 @@
fileFormatVersion: 2
guid: 41b4e53ebecc4dc428849adbd25403f6
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
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: 1
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
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
applyGammaDecoding: 1
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: 1
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:

View File

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

View File

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

View File

@ -0,0 +1,89 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;
namespace SuperScrollView.AI
{
public class ClickEventListener : MonoBehaviour, IPointerClickHandler, IPointerDownHandler, IPointerUpHandler
{
public static ClickEventListener Get(GameObject obj)
{
ClickEventListener listener = obj.GetComponent<ClickEventListener>();
if (listener == null)
{
listener = obj.AddComponent<ClickEventListener>();
}
return listener;
}
System.Action<GameObject> mClickedHandler = null;
System.Action<GameObject> mDoubleClickedHandler = null;
System.Action<GameObject> mOnPointerDownHandler = null;
System.Action<GameObject> mOnPointerUpHandler = null;
bool mIsPressed = false;
public bool IsPressd
{
get { return mIsPressed; }
}
public void OnPointerClick(PointerEventData eventData)
{
if (eventData.clickCount == 2)
{
if (mDoubleClickedHandler != null)
{
mDoubleClickedHandler(gameObject);
}
}
else
{
if (mClickedHandler != null)
{
mClickedHandler(gameObject);
}
}
}
public void SetClickEventHandler(System.Action<GameObject> handler)
{
mClickedHandler = handler;
}
public void SetDoubleClickEventHandler(System.Action<GameObject> handler)
{
mDoubleClickedHandler = handler;
}
public void SetPointerDownHandler(System.Action<GameObject> handler)
{
mOnPointerDownHandler = handler;
}
public void SetPointerUpHandler(System.Action<GameObject> handler)
{
mOnPointerUpHandler = handler;
}
public void OnPointerDown(PointerEventData eventData)
{
mIsPressed = true;
if (mOnPointerDownHandler != null)
{
mOnPointerDownHandler(gameObject);
}
}
public void OnPointerUp(PointerEventData eventData)
{
mIsPressed = false;
if (mOnPointerUpHandler != null)
{
mOnPointerUpHandler(gameObject);
}
}
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: c3b9feff42250f541a4eb712c678a66f
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,86 @@
using System;
using System.Collections.Generic;
namespace SuperScrollView.AI
{
public enum SnapStatus
{
NoTargetSet = 0,
TargetHasSet = 1,
SnapMoving = 2,
SnapMoveFinish = 3
}
public enum ItemCornerEnum
{
LeftBottom = 0,
LeftTop,
RightTop,
RightBottom,
}
public enum ListItemArrangeType
{
TopToBottom = 0,
BottomToTop,
LeftToRight,
RightToLeft,
}
public enum GridItemArrangeType
{
TopLeftToBottomRight = 0,
BottomLeftToTopRight,
TopRightToBottomLeft,
BottomRightToTopLeft,
}
public enum GridFixedType
{
ColumnCountFixed = 0,
RowCountFixed,
}
public struct RowColumnPair
{
public RowColumnPair(int row1, int column1)
{
mRow = row1;
mColumn = column1;
}
public bool Equals(RowColumnPair other)
{
return this.mRow == other.mRow && this.mColumn == other.mColumn;
}
public static bool operator ==(RowColumnPair a, RowColumnPair b)
{
return (a.mRow == b.mRow)&&(a.mColumn == b.mColumn);
}
public static bool operator !=(RowColumnPair a, RowColumnPair b)
{
return (a.mRow != b.mRow) || (a.mColumn != b.mColumn); ;
}
public override int GetHashCode()
{
return 0;
}
public override bool Equals(object obj)
{
if (ReferenceEquals(null, obj))
{
return false;
}
return (obj is RowColumnPair) && Equals((RowColumnPair)obj);
}
public int mRow;
public int mColumn;
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 5439e840084138d4c88879a2329c8280
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,385 @@
using System;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.EventSystems;
namespace SuperScrollView.AI
{
public class ItemSizeGroup
{
public float[] mItemSizeArray = null;
public float[] mItemStartPosArray = null;
public int mItemCount = 0;
int mDirtyBeginIndex = ItemPosMgr.mItemMaxCountPerGroup;
public float mGroupSize = 0;
public float mGroupStartPos = 0;
public float mGroupEndPos = 0;
public int mGroupIndex = 0;
float mItemDefaultSize = 0;
int mMaxNoZeroIndex = 0;
public ItemSizeGroup(int index,float itemDefaultSize)
{
mGroupIndex = index;
mItemDefaultSize = itemDefaultSize;
Init();
}
public void Init()
{
mItemSizeArray = new float[ItemPosMgr.mItemMaxCountPerGroup];
if (mItemDefaultSize != 0)
{
for (int i = 0; i < mItemSizeArray.Length; ++i)
{
mItemSizeArray[i] = mItemDefaultSize;
}
}
mItemStartPosArray = new float[ItemPosMgr.mItemMaxCountPerGroup];
mItemStartPosArray[0] = 0;
mItemCount = ItemPosMgr.mItemMaxCountPerGroup;
mGroupSize = mItemDefaultSize * mItemSizeArray.Length;
if (mItemDefaultSize != 0)
{
mDirtyBeginIndex = 0;
}
else
{
mDirtyBeginIndex = ItemPosMgr.mItemMaxCountPerGroup;
}
}
public float GetItemStartPos(int index)
{
return mGroupStartPos + mItemStartPosArray[index];
}
public bool IsDirty
{
get
{
return (mDirtyBeginIndex < mItemCount);
}
}
public float SetItemSize(int index, float size)
{
if(index > mMaxNoZeroIndex && size > 0)
{
mMaxNoZeroIndex = index;
}
float old = mItemSizeArray[index];
if (old == size)
{
return 0;
}
mItemSizeArray[index] = size;
if (index < mDirtyBeginIndex)
{
mDirtyBeginIndex = index;
}
float ds = size - old;
mGroupSize = mGroupSize + ds;
return ds;
}
public void SetItemCount(int count)
{
if(count < mMaxNoZeroIndex)
{
mMaxNoZeroIndex = count;
}
if (mItemCount == count)
{
return;
}
mItemCount = count;
RecalcGroupSize();
}
public void RecalcGroupSize()
{
mGroupSize = 0;
for (int i = 0; i < mItemCount; ++i)
{
mGroupSize += mItemSizeArray[i];
}
}
public int GetItemIndexByPos(float pos)
{
if (mItemCount == 0)
{
return -1;
}
int low = 0;
int high = mItemCount - 1;
if (mItemDefaultSize == 0f)
{
if(mMaxNoZeroIndex < 0)
{
mMaxNoZeroIndex = 0;
}
high = mMaxNoZeroIndex;
}
while (low <= high)
{
int mid = (low + high) / 2;
float startPos = mItemStartPosArray[mid];
float endPos = startPos + mItemSizeArray[mid];
if (startPos <= pos && endPos >= pos)
{
return mid;
}
else if (pos > endPos)
{
low = mid + 1;
}
else
{
high = mid - 1;
}
}
return -1;
}
public void UpdateAllItemStartPos()
{
if (mDirtyBeginIndex >= mItemCount)
{
return;
}
int startIndex = (mDirtyBeginIndex < 1) ? 1 : mDirtyBeginIndex;
for (int i = startIndex; i < mItemCount; ++i)
{
mItemStartPosArray[i] = mItemStartPosArray[i - 1] + mItemSizeArray[i - 1];
}
mDirtyBeginIndex = mItemCount;
}
public void ClearOldData()
{
for (int i = mItemCount; i < ItemPosMgr.mItemMaxCountPerGroup; ++i)
{
mItemSizeArray[i] = 0;
}
}
}
public class ItemPosMgr
{
public const int mItemMaxCountPerGroup = 100;
List<ItemSizeGroup> mItemSizeGroupList = new List<ItemSizeGroup>();
int mDirtyBeginIndex = int.MaxValue;
public float mTotalSize = 0;
public float mItemDefaultSize = 20;
int mMaxNotEmptyGroupIndex = 0;
public ItemPosMgr(float itemDefaultSize)
{
mItemDefaultSize = itemDefaultSize;
}
public void SetItemMaxCount(int maxCount)
{
mDirtyBeginIndex = 0;
mTotalSize = 0;
int st = maxCount % mItemMaxCountPerGroup;
int lastGroupItemCount = st;
int needMaxGroupCount = maxCount / mItemMaxCountPerGroup;
if (st > 0)
{
needMaxGroupCount++;
}
else
{
lastGroupItemCount = mItemMaxCountPerGroup;
}
int count = mItemSizeGroupList.Count;
if (count > needMaxGroupCount)
{
int d = count - needMaxGroupCount;
mItemSizeGroupList.RemoveRange(needMaxGroupCount, d);
}
else if (count < needMaxGroupCount)
{
if(count > 0)
{
mItemSizeGroupList[count - 1].ClearOldData();
}
int d = needMaxGroupCount - count;
for (int i = 0; i < d; ++i)
{
ItemSizeGroup tGroup = new ItemSizeGroup(count + i, mItemDefaultSize);
mItemSizeGroupList.Add(tGroup);
}
}
else
{
if (count > 0)
{
mItemSizeGroupList[count - 1].ClearOldData();
}
}
count = mItemSizeGroupList.Count;
if((count-1) < mMaxNotEmptyGroupIndex)
{
mMaxNotEmptyGroupIndex = count - 1;
}
if(mMaxNotEmptyGroupIndex < 0)
{
mMaxNotEmptyGroupIndex = 0;
}
if (count == 0)
{
return;
}
for (int i = 0; i < count - 1; ++i)
{
mItemSizeGroupList[i].SetItemCount(mItemMaxCountPerGroup);
}
mItemSizeGroupList[count - 1].SetItemCount(lastGroupItemCount);
for (int i = 0; i < count; ++i)
{
mTotalSize = mTotalSize + mItemSizeGroupList[i].mGroupSize;
}
}
public void SetItemSize(int itemIndex, float size)
{
int groupIndex = itemIndex / mItemMaxCountPerGroup;
int indexInGroup = itemIndex % mItemMaxCountPerGroup;
ItemSizeGroup tGroup = mItemSizeGroupList[groupIndex];
float changedSize = tGroup.SetItemSize(indexInGroup, size);
if (changedSize != 0f)
{
if (groupIndex < mDirtyBeginIndex)
{
mDirtyBeginIndex = groupIndex;
}
}
mTotalSize += changedSize;
if(groupIndex > mMaxNotEmptyGroupIndex && size > 0)
{
mMaxNotEmptyGroupIndex = groupIndex;
}
}
public float GetItemPos(int itemIndex)
{
Update(true);
int groupIndex = itemIndex / mItemMaxCountPerGroup;
int indexInGroup = itemIndex % mItemMaxCountPerGroup;
return mItemSizeGroupList[groupIndex].GetItemStartPos(indexInGroup);
}
public bool GetItemIndexAndPosAtGivenPos(float pos, ref int index, ref float itemPos)
{
Update(true);
index = 0;
itemPos = 0f;
int count = mItemSizeGroupList.Count;
if (count == 0)
{
return true;
}
ItemSizeGroup hitGroup = null;
int low = 0;
int high = count - 1;
if (mItemDefaultSize == 0f)
{
if(mMaxNotEmptyGroupIndex < 0)
{
mMaxNotEmptyGroupIndex = 0;
}
high = mMaxNotEmptyGroupIndex;
}
if(pos < 0.01f)
{
ItemSizeGroup tHighGroup = mItemSizeGroupList[high];
if(tHighGroup.mGroupStartPos == 0 && tHighGroup.mGroupEndPos == 0)
{
index = 0;
itemPos = 0f;
return true;
}
}
while (low <= high)
{
int mid = (low + high) / 2;
ItemSizeGroup tGroup = mItemSizeGroupList[mid];
if (tGroup.mGroupStartPos <= pos && tGroup.mGroupEndPos >= pos)
{
hitGroup = tGroup;
break;
}
else if (pos > tGroup.mGroupEndPos)
{
low = mid + 1;
}
else
{
high = mid - 1;
}
}
int hitIndex = -1;
if (hitGroup != null)
{
hitIndex = hitGroup.GetItemIndexByPos(pos - hitGroup.mGroupStartPos);
}
else
{
return false;
}
if (hitIndex < 0)
{
return false;
}
index = hitIndex + hitGroup.mGroupIndex * mItemMaxCountPerGroup;
itemPos = hitGroup.GetItemStartPos(hitIndex);
return true;
}
public void Update(bool updateAll)
{
int count = mItemSizeGroupList.Count;
if (count == 0)
{
return;
}
if (mDirtyBeginIndex >= count)
{
return;
}
int loopCount = 0;
for (int i = mDirtyBeginIndex; i < count; ++i)
{
loopCount++;
ItemSizeGroup tGroup = mItemSizeGroupList[i];
mDirtyBeginIndex++;
tGroup.UpdateAllItemStartPos();
if (i == 0)
{
tGroup.mGroupStartPos = 0;
tGroup.mGroupEndPos = tGroup.mGroupSize;
}
else
{
tGroup.mGroupStartPos = mItemSizeGroupList[i - 1].mGroupEndPos;
tGroup.mGroupEndPos = tGroup.mGroupStartPos + tGroup.mGroupSize;
}
if (!updateAll && loopCount > 1)
{
return;
}
}
}
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: d6711a7e85739144e82232d3b2e26ac3
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

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

View File

@ -0,0 +1,126 @@
using System;
using System.Collections.Generic;
using UnityEngine;
namespace SuperScrollView.AI
{
public class ItemPool
{
GameObject mPrefabObj;
string mPrefabName;
int mInitCreateCount = 1;
float mPadding = 0;
float mStartPosOffset = 0;
List<LoopListViewItem2> mTmpPooledItemList = new List<LoopListViewItem2>();
List<LoopListViewItem2> mPooledItemList = new List<LoopListViewItem2>();
static int mCurItemIdCount = 0;
RectTransform mItemParent = null;
public ItemPool()
{
}
public void Init(GameObject prefabObj, float padding, float startPosOffset, int createCount, RectTransform parent)
{
mPrefabObj = prefabObj;
mPrefabName = mPrefabObj.name;
mInitCreateCount = createCount;
mPadding = padding;
mStartPosOffset = startPosOffset;
mItemParent = parent;
mPrefabObj.SetActive(false);
for (int i = 0; i < mInitCreateCount; ++i)
{
LoopListViewItem2 tViewItem = CreateItem();
RecycleItemReal(tViewItem);
}
}
public LoopListViewItem2 GetItem(int itemIndexForSearch)
{
mCurItemIdCount++;
LoopListViewItem2 tItem = null;
if (mTmpPooledItemList.Count > 0)
{
int count = mTmpPooledItemList.Count;
for(int i = 0;i < count;++i)
{
if(mTmpPooledItemList[i].ItemIndex == itemIndexForSearch)
{
tItem = mTmpPooledItemList[i];
mTmpPooledItemList.RemoveAt(i);
break;
}
}
if(tItem == null)
{
tItem = mTmpPooledItemList[count - 1];
mTmpPooledItemList.RemoveAt(count - 1);
}
tItem.gameObject.SetActive(true);
}
else
{
int count = mPooledItemList.Count;
if (count == 0)
{
tItem = CreateItem();
}
else
{
tItem = mPooledItemList[count - 1];
mPooledItemList.RemoveAt(count - 1);
tItem.gameObject.SetActive(true);
}
}
tItem.Padding = mPadding;
return tItem;
}
public void DestroyAllItem()
{
ClearTmpRecycledItem();
int count = mPooledItemList.Count;
for (int i = 0; i < count; ++i)
{
GameObject.DestroyImmediate(mPooledItemList[i].gameObject);
}
mPooledItemList.Clear();
}
public LoopListViewItem2 CreateItem()
{
GameObject go = GameObject.Instantiate<GameObject>(mPrefabObj, Vector3.zero, Quaternion.identity, mItemParent);
go.SetActive(true);
RectTransform rf = go.GetComponent<RectTransform>();
rf.localScale = Vector3.one;
rf.anchoredPosition3D = Vector3.zero;
rf.localEulerAngles = Vector3.zero;
LoopListViewItem2 tViewItem = go.GetComponent<LoopListViewItem2>();
tViewItem.ItemPrefabName = mPrefabName;
tViewItem.StartPosOffset = mStartPosOffset;
return tViewItem;
}
public void RecycleItemReal(LoopListViewItem2 item)
{
item.gameObject.SetActive(false);
mPooledItemList.Add(item);
}
public void RecycleItem(LoopListViewItem2 item)
{
mTmpPooledItemList.Add(item);
}
public void ClearTmpRecycledItem()
{
int count = mTmpPooledItemList.Count;
if (count == 0)
{
return;
}
for (int i = 0; i < count; ++i)
{
RecycleItemReal(mTmpPooledItemList[i]);
}
mTmpPooledItemList.Clear();
}
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 3fe414ef536ab3048b7a79328710ba8e
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

Some files were not shown because too many files have changed in this diff Show More