Changed animation strings to hashes, added IPoolable interface, upgrade pool system
Change generation of obstacles Now all the important objects is cointained by pools
This commit is contained in:
parent
c7a0ad0f90
commit
4fa18a41a0
8
Assets/Animations/Falling Back Death.anim.meta
Normal file
8
Assets/Animations/Falling Back Death.anim.meta
Normal file
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f878d1ad12b950a48aa23c9cfd223c34
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 7400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -215,6 +215,31 @@ AnimatorStateTransition:
|
||||
m_InterruptionSource: 0
|
||||
m_OrderedInterruption: 1
|
||||
m_CanTransitionToSelf: 1
|
||||
--- !u!1101 &-1211456918577112825
|
||||
AnimatorStateTransition:
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name:
|
||||
m_Conditions:
|
||||
- m_ConditionMode: 1
|
||||
m_ConditionEvent: Dead
|
||||
m_EventTreshold: 0
|
||||
m_DstStateMachine: {fileID: 0}
|
||||
m_DstState: {fileID: 1911143521455995842}
|
||||
m_Solo: 0
|
||||
m_Mute: 0
|
||||
m_IsExit: 0
|
||||
serializedVersion: 3
|
||||
m_TransitionDuration: 0.25
|
||||
m_TransitionOffset: 0
|
||||
m_ExitTime: 0.75
|
||||
m_HasExitTime: 0
|
||||
m_HasFixedDuration: 1
|
||||
m_InterruptionSource: 0
|
||||
m_OrderedInterruption: 1
|
||||
m_CanTransitionToSelf: 0
|
||||
--- !u!91 &9100000
|
||||
AnimatorController:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -273,6 +298,32 @@ AnimatorController:
|
||||
m_IKPass: 0
|
||||
m_SyncedLayerAffectsTiming: 0
|
||||
m_Controller: {fileID: 9100000}
|
||||
--- !u!1102 &1911143521455995842
|
||||
AnimatorState:
|
||||
serializedVersion: 6
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Falling Back Death
|
||||
m_Speed: 1
|
||||
m_CycleOffset: 0
|
||||
m_Transitions: []
|
||||
m_StateMachineBehaviours: []
|
||||
m_Position: {x: 50, y: 50, z: 0}
|
||||
m_IKOnFeet: 0
|
||||
m_WriteDefaultValues: 1
|
||||
m_Mirror: 0
|
||||
m_SpeedParameterActive: 0
|
||||
m_MirrorParameterActive: 0
|
||||
m_CycleOffsetParameterActive: 0
|
||||
m_TimeParameterActive: 0
|
||||
m_Motion: {fileID: 7400000, guid: f878d1ad12b950a48aa23c9cfd223c34, type: 2}
|
||||
m_Tag:
|
||||
m_SpeedParameter:
|
||||
m_MirrorParameter:
|
||||
m_CycleOffsetParameter:
|
||||
m_TimeParameter:
|
||||
--- !u!1101 &4002842131677403910
|
||||
AnimatorStateTransition:
|
||||
m_ObjectHideFlags: 1
|
||||
@ -371,8 +422,12 @@ AnimatorStateMachine:
|
||||
- serializedVersion: 1
|
||||
m_State: {fileID: -5661746514038728207}
|
||||
m_Position: {x: 520, y: -10, z: 0}
|
||||
- serializedVersion: 1
|
||||
m_State: {fileID: 1911143521455995842}
|
||||
m_Position: {x: 280, y: -70, z: 0}
|
||||
m_ChildStateMachines: []
|
||||
m_AnyStateTransitions: []
|
||||
m_AnyStateTransitions:
|
||||
- {fileID: -1211456918577112825}
|
||||
m_EntryTransitions: []
|
||||
m_StateMachineTransitions: {}
|
||||
m_StateMachineBehaviours: []
|
||||
|
108
Assets/Cubemaps/Nebula_04_Cubemap.exr.meta
Normal file
108
Assets/Cubemaps/Nebula_04_Cubemap.exr.meta
Normal file
@ -0,0 +1,108 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 44334f10651a6b949aa54d1ab90b321d
|
||||
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: 2
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 1
|
||||
wrapV: 1
|
||||
wrapW: 1
|
||||
nPOTScale: 1
|
||||
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: 0
|
||||
alphaIsTransparency: 0
|
||||
spriteTessellationDetail: -1
|
||||
textureType: 0
|
||||
textureShape: 2
|
||||
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: 2
|
||||
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: 2
|
||||
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:
|
57712
Assets/FBXAnimations/Death.anim
Normal file
57712
Assets/FBXAnimations/Death.anim
Normal file
File diff suppressed because it is too large
Load Diff
8
Assets/FBXAnimations/Death.anim.meta
Normal file
8
Assets/FBXAnimations/Death.anim.meta
Normal file
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 682ba2a244786af4989b8d1fa82a661b
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 7400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
BIN
Assets/FBXAnimations/xbot@Death.fbx
Normal file
BIN
Assets/FBXAnimations/xbot@Death.fbx
Normal file
Binary file not shown.
109
Assets/FBXAnimations/xbot@Death.fbx.meta
Normal file
109
Assets/FBXAnimations/xbot@Death.fbx.meta
Normal file
@ -0,0 +1,109 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ec5e532e7b683864a86c7519e18cce3c
|
||||
ModelImporter:
|
||||
serializedVersion: 21300
|
||||
internalIDToNameTable:
|
||||
- first:
|
||||
74: -203655887218126122
|
||||
second: mixamo.com
|
||||
externalObjects: {}
|
||||
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: 3
|
||||
animationRotationError: 0.5
|
||||
animationPositionError: 0.5
|
||||
animationScaleError: 0.5
|
||||
animationWrapMode: 0
|
||||
extraExposedTransformPaths: []
|
||||
extraUserProperties: []
|
||||
clipAnimations: []
|
||||
isReadable: 0
|
||||
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: 0
|
||||
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: 1
|
||||
skeletonHasParents: 1
|
||||
lastHumanDescriptionAvatarSource: {instanceID: 0}
|
||||
autoGenerateAvatarMappingIfUnspecified: 1
|
||||
animationType: 3
|
||||
humanoidOversampling: 1
|
||||
avatarSetup: 1
|
||||
addHumanoidExtraRootOnlyWhenUsingAvatar: 1
|
||||
remapMaterialsIfMaterialImportModeIsNone: 0
|
||||
additionalBone: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
BIN
Assets/FBXAnimations/xbot@Falling Back Death.fbx
Normal file
BIN
Assets/FBXAnimations/xbot@Falling Back Death.fbx
Normal file
Binary file not shown.
109
Assets/FBXAnimations/xbot@Falling Back Death.fbx.meta
Normal file
109
Assets/FBXAnimations/xbot@Falling Back Death.fbx.meta
Normal file
@ -0,0 +1,109 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 1e6c43dacf9536b498bf52f9e6505ebd
|
||||
ModelImporter:
|
||||
serializedVersion: 21300
|
||||
internalIDToNameTable:
|
||||
- first:
|
||||
74: -203655887218126122
|
||||
second: mixamo.com
|
||||
externalObjects: {}
|
||||
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: 3
|
||||
animationRotationError: 0.5
|
||||
animationPositionError: 0.5
|
||||
animationScaleError: 0.5
|
||||
animationWrapMode: 0
|
||||
extraExposedTransformPaths: []
|
||||
extraUserProperties: []
|
||||
clipAnimations: []
|
||||
isReadable: 0
|
||||
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: 0
|
||||
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: 1
|
||||
skeletonHasParents: 1
|
||||
lastHumanDescriptionAvatarSource: {instanceID: 0}
|
||||
autoGenerateAvatarMappingIfUnspecified: 1
|
||||
animationType: 3
|
||||
humanoidOversampling: 1
|
||||
avatarSetup: 1
|
||||
addHumanoidExtraRootOnlyWhenUsingAvatar: 1
|
||||
remapMaterialsIfMaterialImportModeIsNone: 0
|
||||
additionalBone: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -27,7 +27,7 @@ Transform:
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 96461661196881973}
|
||||
m_LocalRotation: {x: 0, y: -1, z: 0, w: 0}
|
||||
m_LocalPosition: {x: -4.2953286, y: 0.162, z: -4.2997}
|
||||
m_LocalPosition: {x: -6.2953286, y: 0.162, z: -4.2997}
|
||||
m_LocalScale: {x: 1, y: 1.4, z: 4.0053}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
@ -219,7 +219,7 @@ Transform:
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 562623238776548450}
|
||||
m_LocalRotation: {x: 0.00000023040471, y: -0.70710707, z: 4.618527e-14, w: 0.70710653}
|
||||
m_LocalPosition: {x: 6.0000043, y: 0.0000013908, z: 2.8377}
|
||||
m_LocalPosition: {x: 4.0000043, y: 0.0000013908, z: 2.8377}
|
||||
m_LocalScale: {x: 4.0053, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
@ -384,7 +384,7 @@ Transform:
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 831280777384614076}
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: -1.954, y: 4.01, z: 2.9138}
|
||||
m_LocalPosition: {x: -3.954, y: 4.01, z: 2.9138}
|
||||
m_LocalScale: {x: 1, y: 1, z: 4.0053}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
@ -649,7 +649,7 @@ Transform:
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1711497923749520810}
|
||||
m_LocalRotation: {x: 0.00000023040471, y: -0.70710707, z: 4.618527e-14, w: 0.70710653}
|
||||
m_LocalPosition: {x: 1.9999998, y: 0, z: 10.848}
|
||||
m_LocalPosition: {x: -0.00000023841858, y: 0, z: 10.848}
|
||||
m_LocalScale: {x: 4.0053, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
@ -767,7 +767,7 @@ Transform:
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1904789675920767352}
|
||||
m_LocalRotation: {x: 0, y: -0.7071068, z: 0, w: 0.7071068}
|
||||
m_LocalPosition: {x: 1.9999995, y: 0, z: 2.8299994}
|
||||
m_LocalPosition: {x: -0.00000047683716, y: 0, z: 2.8299994}
|
||||
m_LocalScale: {x: 4.0053, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
@ -866,7 +866,7 @@ Transform:
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1930304146026479431}
|
||||
m_LocalRotation: {x: -0.5, y: 0.5, z: 0.5, w: 0.5}
|
||||
m_LocalPosition: {x: 14.8, y: 2.41, z: 5.17}
|
||||
m_LocalPosition: {x: 12.8, y: 2.41, z: 5.17}
|
||||
m_LocalScale: {x: 1, y: 1, z: 0.6666667}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
@ -964,7 +964,7 @@ Transform:
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2225319013170844455}
|
||||
m_LocalRotation: {x: 0.70710653, y: 0.00000011520227, z: 0.70710707, w: -0.0000001152023}
|
||||
m_LocalPosition: {x: 6.000003, y: 4.000005, z: 2.8378}
|
||||
m_LocalPosition: {x: 4.000003, y: 4.000005, z: 2.8378}
|
||||
m_LocalScale: {x: 4.0053, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
@ -1120,7 +1120,7 @@ Transform:
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3231417360219244859}
|
||||
m_LocalRotation: {x: 0, y: -0.7071068, z: 0, w: 0.7071068}
|
||||
m_LocalPosition: {x: -2.0000005, y: 0, z: 2.829999}
|
||||
m_LocalPosition: {x: -4.0000005, y: 0, z: 2.829999}
|
||||
m_LocalScale: {x: 4.0053, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
@ -1218,7 +1218,7 @@ Transform:
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3950509452734738241}
|
||||
m_LocalRotation: {x: 0.00000023040471, y: -0.70710707, z: 4.618527e-14, w: 0.70710653}
|
||||
m_LocalPosition: {x: 2.0000052, y: 0, z: 2.8377}
|
||||
m_LocalPosition: {x: 0.0000052452087, y: 0, z: 2.8377}
|
||||
m_LocalScale: {x: 4.0053, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
@ -1374,7 +1374,7 @@ Transform:
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4965981231653170154}
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 6.074, y: 4.01, z: 2.9138}
|
||||
m_LocalPosition: {x: 4.074, y: 4.01, z: 2.9138}
|
||||
m_LocalScale: {x: 1, y: 1, z: 4.0053}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
@ -1652,7 +1652,7 @@ Transform:
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5613211205116673037}
|
||||
m_LocalRotation: {x: 0.00000023040471, y: -0.70710707, z: 4.618527e-14, w: 0.70710653}
|
||||
m_LocalPosition: {x: -1.9999971, y: -0.0000013908, z: 2.8377}
|
||||
m_LocalPosition: {x: -3.9999971, y: -0.0000013908, z: 2.8377}
|
||||
m_LocalScale: {x: 4.0053, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
@ -1722,7 +1722,7 @@ Transform:
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5613211205116686397}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: -2, y: 0, z: -0.74}
|
||||
m_LocalPosition: {x: 0, y: 0, z: -0.74}
|
||||
m_LocalScale: {x: 1, y: 1.5, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
@ -1776,6 +1776,7 @@ MonoBehaviour:
|
||||
m_EditorClassIdentifier:
|
||||
<Begin>k__BackingField: {fileID: 8331850446012945034}
|
||||
<End>k__BackingField: {fileID: 8960787494111689333}
|
||||
gridRowCount: 10
|
||||
--- !u!1 &5613211205116689287
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -1802,7 +1803,7 @@ Transform:
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5613211205116689287}
|
||||
m_LocalRotation: {x: 0.00000023040471, y: -0.70710707, z: 4.618527e-14, w: 0.70710653}
|
||||
m_LocalPosition: {x: 8.000002, y: 0.0000021855, z: 2.8378}
|
||||
m_LocalPosition: {x: 6.000002, y: 0.0000021855, z: 2.8378}
|
||||
m_LocalScale: {x: 4.0053, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
@ -1961,7 +1962,7 @@ Transform:
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5613211205116841543}
|
||||
m_LocalRotation: {x: 0.70710653, y: 0.00000011520227, z: 0.70710707, w: -0.0000001152023}
|
||||
m_LocalPosition: {x: -1.9999986, y: 4.0000024, z: 2.8377}
|
||||
m_LocalPosition: {x: -3.9999986, y: 4.0000024, z: 2.8377}
|
||||
m_LocalScale: {x: 4.0053, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
@ -2539,7 +2540,7 @@ Transform:
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5613211205116871863}
|
||||
m_LocalRotation: {x: -5.6843412e-14, y: 0.70710653, z: 0.00000023040471, w: 0.70710707}
|
||||
m_LocalPosition: {x: -3.9999986, y: -0.0000019868, z: 2.8377}
|
||||
m_LocalPosition: {x: -5.9999986, y: -0.0000019868, z: 2.8377}
|
||||
m_LocalScale: {x: 4.0053, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
@ -2783,7 +2784,7 @@ Transform:
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5757616955125662940}
|
||||
m_LocalRotation: {x: -0.5, y: -0.5, z: -0.5, w: 0.5}
|
||||
m_LocalPosition: {x: -9.66, y: 3.04, z: 7.5}
|
||||
m_LocalPosition: {x: -11.66, y: 3.04, z: 7.5}
|
||||
m_LocalScale: {x: 1, y: 1, z: 0.6666667}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
@ -2881,7 +2882,7 @@ Transform:
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6334208404480944107}
|
||||
m_LocalRotation: {x: 0.70710653, y: 0.00000011520227, z: 0.70710707, w: -0.0000001152023}
|
||||
m_LocalPosition: {x: 2.0000029, y: 4, z: 2.8377}
|
||||
m_LocalPosition: {x: 0.000002861023, y: 4, z: 2.8377}
|
||||
m_LocalScale: {x: 4.0053, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
@ -2953,7 +2954,7 @@ Transform:
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6796968398226518802}
|
||||
m_LocalRotation: {x: 0, y: -1, z: 0, w: 0}
|
||||
m_LocalPosition: {x: 8.28, y: 0.162, z: -4.2997}
|
||||
m_LocalPosition: {x: 6.2799997, y: 0.162, z: -4.2997}
|
||||
m_LocalScale: {x: 1, y: 1.4, z: 4.0053}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
@ -3240,7 +3241,7 @@ Transform:
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6906897417619726006}
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 2.08, y: 4.01, z: 2.9138}
|
||||
m_LocalPosition: {x: 0.07999992, y: 4.01, z: 2.9138}
|
||||
m_LocalScale: {x: 1, y: 1, z: 4.0053}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
@ -3337,7 +3338,7 @@ Transform:
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7319247709792706288}
|
||||
m_LocalRotation: {x: 0.00000023040471, y: -0.70710707, z: 4.618527e-14, w: 0.70710653}
|
||||
m_LocalPosition: {x: 2, y: 0, z: -5.1729}
|
||||
m_LocalPosition: {x: 0, y: 0, z: -5.1729}
|
||||
m_LocalScale: {x: 4.0053, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
@ -3371,7 +3372,7 @@ Transform:
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8368511245192407899}
|
||||
m_LocalRotation: {x: 0, y: -0.7071068, z: 0, w: 0.7071068}
|
||||
m_LocalPosition: {x: 5.9999995, y: 0, z: 2.83}
|
||||
m_LocalPosition: {x: 3.9999995, y: 0, z: 2.83}
|
||||
m_LocalScale: {x: 4.0053, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
|
5813
Assets/Prefabs/Chunks/Corridor_L 1.prefab
Normal file
5813
Assets/Prefabs/Chunks/Corridor_L 1.prefab
Normal file
File diff suppressed because it is too large
Load Diff
@ -1308,6 +1308,7 @@ MonoBehaviour:
|
||||
m_EditorClassIdentifier:
|
||||
<Begin>k__BackingField: {fileID: 4986045466033343642}
|
||||
<End>k__BackingField: {fileID: 2340129150570236126}
|
||||
gridRowCount: 10
|
||||
--- !u!1 &1193770462775183973
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -307,7 +307,7 @@ BoxCollider:
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2468247842154696319}
|
||||
m_Material: {fileID: 0}
|
||||
m_IsTrigger: 0
|
||||
m_IsTrigger: 1
|
||||
m_Enabled: 1
|
||||
serializedVersion: 2
|
||||
m_Size: {x: 3.3514357, y: 1, z: 1.3116827}
|
||||
|
8
Assets/Prefabs/Pools.meta
Normal file
8
Assets/Prefabs/Pools.meta
Normal file
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 5b415c01b13507f49b7c23b9a06148a9
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
49
Assets/Prefabs/Pools/ChunkPool.prefab
Normal file
49
Assets/Prefabs/Pools/ChunkPool.prefab
Normal file
@ -0,0 +1,49 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &6347578780605603610
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 6347578780605603612}
|
||||
- component: {fileID: 6347578780605603613}
|
||||
m_Layer: 0
|
||||
m_Name: ChunkPool
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &6347578780605603612
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6347578780605603610}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &6347578780605603613
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6347578780605603610}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 506813849e0819640b461c8c8c8331b9, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
<Capacity>k__BackingField: 20
|
||||
prefab: {fileID: -8446043830258454905, guid: 378b62e0e298e0642abc436c57f8825a, type: 3}
|
||||
spawner: {fileID: 0}
|
7
Assets/Prefabs/Pools/ChunkPool.prefab.meta
Normal file
7
Assets/Prefabs/Pools/ChunkPool.prefab.meta
Normal file
@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f1719db018a1324408d90c8d16384871
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -152,7 +152,7 @@ MonoBehaviour:
|
||||
m_Script: {fileID: 11500000, guid: 13e6eeecbe6be7e448121b1729686a08, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
<LaneWidth>k__BackingField: 6
|
||||
<LaneWidth>k__BackingField: 4
|
||||
laneCount: 3
|
||||
--- !u!4 &106057763
|
||||
Transform:
|
||||
@ -407,7 +407,11 @@ MonoBehaviour:
|
||||
m_Script: {fileID: 11500000, guid: 3eafc00aae1f6b74891927f3360acd11, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
obstaclePrefab: {fileID: -2344530007010565835, guid: dd64cf90044eea341a44470119043683, type: 3}
|
||||
LaneSystem: {fileID: 106057762}
|
||||
gridColumns: 5
|
||||
<ObstaclePools>k__BackingField:
|
||||
- {fileID: 1910831858}
|
||||
--- !u!1 &1541274382
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -487,7 +491,7 @@ MonoBehaviour:
|
||||
spawnDelay: 5
|
||||
chunkGenerator: {fileID: 1125063958}
|
||||
chunkPool: {fileID: 2025791532}
|
||||
--- !u!1 &2025791531
|
||||
--- !u!1 &1910831857
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
@ -495,45 +499,55 @@ GameObject:
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 2025791533}
|
||||
- component: {fileID: 2025791532}
|
||||
- component: {fileID: 1910831859}
|
||||
- component: {fileID: 1910831858}
|
||||
m_Layer: 0
|
||||
m_Name: ChunkPool
|
||||
m_Name: BoxAndBarrelsObstaclePool
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!114 &2025791532
|
||||
--- !u!114 &1910831858
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2025791531}
|
||||
m_GameObject: {fileID: 1910831857}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 506813849e0819640b461c8c8c8331b9, type: 3}
|
||||
m_Script: {fileID: 11500000, guid: 1290664e863a3d34596917f255587b4c, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
<Capacity>k__BackingField: 20
|
||||
prefab: {fileID: -8446043830258454905, guid: 378b62e0e298e0642abc436c57f8825a, type: 3}
|
||||
spawner: {fileID: 1872880027}
|
||||
--- !u!4 &2025791533
|
||||
<Capacity>k__BackingField: 30
|
||||
prefab: {fileID: -2344530007010565835, guid: dd64cf90044eea341a44470119043683, type: 3}
|
||||
--- !u!4 &1910831859
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2025791531}
|
||||
m_GameObject: {fileID: 1910831857}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 7
|
||||
m_RootOrder: 8
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &2025791532 stripped
|
||||
MonoBehaviour:
|
||||
m_CorrespondingSourceObject: {fileID: 6347578780605603613, guid: f1719db018a1324408d90c8d16384871, type: 3}
|
||||
m_PrefabInstance: {fileID: 6347578781539172145}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 506813849e0819640b461c8c8c8331b9, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
--- !u!4 &2249596435903131709 stripped
|
||||
Transform:
|
||||
m_CorrespondingSourceObject: {fileID: 6873339892592015098, guid: 01fa89ab9028c864b8560621b7d51f50, type: 3}
|
||||
@ -600,3 +614,68 @@ PrefabInstance:
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents: []
|
||||
m_SourcePrefab: {fileID: 100100000, guid: 01fa89ab9028c864b8560621b7d51f50, type: 3}
|
||||
--- !u!1001 &6347578781539172145
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 2
|
||||
m_Modification:
|
||||
m_TransformParent: {fileID: 0}
|
||||
m_Modifications:
|
||||
- target: {fileID: 6347578780605603610, guid: f1719db018a1324408d90c8d16384871, type: 3}
|
||||
propertyPath: m_Name
|
||||
value: ChunkPool
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6347578780605603612, guid: f1719db018a1324408d90c8d16384871, type: 3}
|
||||
propertyPath: m_RootOrder
|
||||
value: 7
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6347578780605603612, guid: f1719db018a1324408d90c8d16384871, type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6347578780605603612, guid: f1719db018a1324408d90c8d16384871, type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6347578780605603612, guid: f1719db018a1324408d90c8d16384871, type: 3}
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6347578780605603612, guid: f1719db018a1324408d90c8d16384871, type: 3}
|
||||
propertyPath: m_LocalRotation.w
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6347578780605603612, guid: f1719db018a1324408d90c8d16384871, type: 3}
|
||||
propertyPath: m_LocalRotation.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6347578780605603612, guid: f1719db018a1324408d90c8d16384871, type: 3}
|
||||
propertyPath: m_LocalRotation.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6347578780605603612, guid: f1719db018a1324408d90c8d16384871, type: 3}
|
||||
propertyPath: m_LocalRotation.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6347578780605603612, guid: f1719db018a1324408d90c8d16384871, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6347578780605603612, guid: f1719db018a1324408d90c8d16384871, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6347578780605603612, guid: f1719db018a1324408d90c8d16384871, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6347578780605603613, guid: f1719db018a1324408d90c8d16384871, type: 3}
|
||||
propertyPath: prefab
|
||||
value:
|
||||
objectReference: {fileID: 7423857566743054097, guid: 9b90fe6584244f945a5cf4bfffd577c7, type: 3}
|
||||
- target: {fileID: 6347578780605603613, guid: f1719db018a1324408d90c8d16384871, type: 3}
|
||||
propertyPath: spawner
|
||||
value:
|
||||
objectReference: {fileID: 1872880027}
|
||||
m_RemovedComponents: []
|
||||
m_SourcePrefab: {fileID: 100100000, guid: f1719db018a1324408d90c8d16384871, type: 3}
|
||||
|
8
Assets/Scripts/Editor.meta
Normal file
8
Assets/Scripts/Editor.meta
Normal file
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 5222042de9f204c4e957c6f9751bcff4
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -4,9 +4,20 @@ using UnityEngine;
|
||||
|
||||
public static class RandomExtentions
|
||||
{
|
||||
public static bool IsEmpty<T>(this List<T> list)
|
||||
{
|
||||
return list.Count == 0 ? true : false;
|
||||
}
|
||||
public static T GetRandomElement<T>(this List<T> list)
|
||||
{
|
||||
return list[Random.Range(0, list.Count)];
|
||||
}
|
||||
|
||||
public static bool GetRandomElement<T>(this List<T> list, out T element)
|
||||
{
|
||||
element = default(T);
|
||||
if (list.IsEmpty())
|
||||
return false;
|
||||
element = list[Random.Range(0, list.Count)];
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
8
Assets/Scripts/Input.meta
Normal file
8
Assets/Scripts/Input.meta
Normal file
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 8e1ed4f33777bdd4983d5561b1f47a35
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 2f4db8c4fe9d9ff4ba7ddd651102dcdb
|
||||
guid: 4d090d5d1f498694295ca089f41ac4bd
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 582e175196e55fa448354c86384b3c19
|
||||
guid: 047d01680e1795b449b9df2738021331
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: eb80cc0c16ecf014d91cf9778cce5499
|
||||
guid: f074f90b920b2b443b4ea90f974fab5b
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
@ -7,39 +7,38 @@ interface IObstacle
|
||||
public void Impact();
|
||||
}
|
||||
[RequireComponent(typeof(BoxCollider))]
|
||||
//[RequireComponent(typeof(Renderer))]
|
||||
public class Obstacle : MonoBehaviour,IObstacle,IDamageDealer,IResettable
|
||||
|
||||
public class Obstacle : MonoBehaviour,IObstacle,IDamageDealer,IResettable,IPoolable<Obstacle>
|
||||
{
|
||||
public BoxCollider Collider { get; private set; }
|
||||
public BasePool<Obstacle> OwningPool { private get; set; }
|
||||
|
||||
//private Renderer defaultRenderer;
|
||||
//private Renderer obstacleRenderer;
|
||||
private void Awake()
|
||||
{
|
||||
Collider = GetComponent<BoxCollider>();
|
||||
//defaultRenderer = GetComponent<Renderer>();
|
||||
//obstacleRenderer = defaultRenderer;
|
||||
}
|
||||
public void ResetToDefault()
|
||||
{
|
||||
//if (obstacleRenderer.material.color != defaultRenderer.material.color)
|
||||
// obstacleRenderer.material.color = defaultRenderer.material.color;
|
||||
//gameObject.transform.localRotation = Quaternion.identity;
|
||||
//gameObject.transform.localScale = Vector3.one;
|
||||
// gameObject.transform.localPosition = Vector3.zero;
|
||||
gameObject.SetActive(false);
|
||||
gameObject.transform.SetParent(null);
|
||||
transform.localPosition = Vector3.zero;
|
||||
transform.position = Vector3.zero;
|
||||
transform.rotation = Quaternion.identity;
|
||||
gameObject.transform.SetParent(OwningPool.transform);
|
||||
ReturnToPool();
|
||||
}
|
||||
public void Impact()
|
||||
{
|
||||
//obstacleRenderer.material.color = Color.red;
|
||||
gameObject.SetActive(false);
|
||||
ResetToDefault();
|
||||
}
|
||||
|
||||
public void DealDamage(IDamageable target, int amount)
|
||||
{
|
||||
target.TakeDamage(amount);
|
||||
}
|
||||
|
||||
public void ReturnToPool()
|
||||
{
|
||||
OwningPool.ReturnToPool(this);
|
||||
}
|
||||
}
|
||||
|
||||
public class Turret : MonoBehaviour, IObstacle, IDamageDealer, IResettable
|
||||
|
@ -5,11 +5,11 @@ using UnityEngine;
|
||||
public class PlayerAnimator
|
||||
{
|
||||
private Animator animator;
|
||||
private string runningAnimStr = "Run"; //HASH
|
||||
private string deadAnimStr = "Dead";
|
||||
private string jumpAnimStr = "Jump";
|
||||
private string slideAnimStr = "Slide";
|
||||
private string idleAnimStr = "Idle";
|
||||
private int runningHash = Animator.StringToHash("Run");
|
||||
private int deadHash = Animator.StringToHash("Dead");
|
||||
private int jumpHash = Animator.StringToHash("Jump");
|
||||
private int slideHash = Animator.StringToHash("Slide");
|
||||
private int idleHash = Animator.StringToHash("Idle");
|
||||
|
||||
public PlayerAnimator(Animator animator)
|
||||
{
|
||||
@ -18,22 +18,22 @@ public class PlayerAnimator
|
||||
}
|
||||
public void SetRunState(bool isRunning)
|
||||
{
|
||||
animator?.SetBool(runningAnimStr, isRunning);
|
||||
animator?.SetBool(runningHash, isRunning);
|
||||
}
|
||||
public void SetJumpState(bool isJumping)
|
||||
{
|
||||
animator?.SetBool(jumpAnimStr, isJumping);
|
||||
animator?.SetBool(jumpHash, isJumping);
|
||||
}
|
||||
public void SetDeadState(bool isDead)
|
||||
{
|
||||
animator?.SetBool(deadAnimStr, isDead);
|
||||
animator?.SetBool(deadHash, isDead);
|
||||
}
|
||||
public void SetSlideState(bool isSliding)
|
||||
{
|
||||
animator?.SetBool(slideAnimStr, isSliding);
|
||||
animator?.SetBool(slideHash, isSliding);
|
||||
}
|
||||
public void SetIdleState(bool isIdle)
|
||||
{
|
||||
animator?.SetBool(idleAnimStr, isIdle);
|
||||
animator?.SetBool(idleHash, isIdle);
|
||||
}
|
||||
}
|
||||
|
@ -4,9 +4,10 @@ using UnityEngine;
|
||||
|
||||
public class ChunkGenerationFromPrefab //: IChunkGenerationStrategy
|
||||
{
|
||||
[SerializeField] private readonly List<Chunk> chunks = new List<Chunk>();
|
||||
public void Generate()
|
||||
{
|
||||
// throw new System.NotImplementedException();
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -9,11 +9,10 @@ public class ChunkGenerator : MonoBehaviour
|
||||
[SerializeField] private LaneSystem LaneSystem;
|
||||
[SerializeField] private int gridColumns;
|
||||
public CoinPool CoinPool { get; private set; }
|
||||
public ObstaclePool ObstaclePool { get; private set; }
|
||||
[field: SerializeField] public List<ObstaclePool> ObstaclePools { get; private set; }
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
|
||||
//obstacleSize = obstaclePrefab.GetComponent<BoxCollider>().size;
|
||||
//coinSize = coinPrefab.GetComponent<BoxCollider>().size;
|
||||
//CoinPool = GetComponent<CoinPool>();
|
||||
@ -23,21 +22,12 @@ public class ChunkGenerator : MonoBehaviour
|
||||
}
|
||||
public Chunk Generate(Chunk chunkToFill)
|
||||
{
|
||||
var obstacle = Instantiate(obstaclePrefab);
|
||||
List<Vector3> gridPositions = new List<Vector3>();
|
||||
foreach (var lane in LaneSystem.Lanes)
|
||||
{
|
||||
float lanePosition = lane * LaneSystem.LaneWidth;
|
||||
for (int i = 0; i < gridColumns; i++)
|
||||
{
|
||||
Vector3 gridPosition = new Vector3(lanePosition,0, i * obstacle.Collider.size.z);
|
||||
gridPositions.Add(gridPosition);
|
||||
}
|
||||
}
|
||||
|
||||
//var obstacle = Instantiate(obstaclePrefab);
|
||||
var obstaclePool = ObstaclePools.GetRandomElement();
|
||||
var obstacle = obstaclePool.GetFromPool();
|
||||
chunkToFill.Obstacles.Add(obstacle);
|
||||
obstacle.transform.SetParent(chunkToFill.transform, false);
|
||||
obstacle.transform.localPosition = gridPositions.GetRandomElement();
|
||||
obstacle.transform.SetParent(chunkToFill.transform, true);
|
||||
obstacle.transform.localPosition = chunkToFill.GridPositions.GetRandomElement();
|
||||
//// int randomChunkPrefab = Random.Range(0, chunkPrefabs.Count);
|
||||
////Chunk chunk = Instantiate(chunkPrefabs[randomChunkPrefab], new Vector3(), new Quaternion());
|
||||
//Obstacle obstacle = ObstaclePool.GetFromPool();//chunkToFill.ObstaclePool.Get();
|
||||
|
@ -5,18 +5,21 @@ using UnityEngine;
|
||||
|
||||
public enum EDirection { NORTH, SOUTH, EAST, WEST }
|
||||
[RequireComponent(typeof(BoxCollider))]
|
||||
public abstract class Chunk : MonoBehaviour, IResettable
|
||||
public abstract class Chunk : MonoBehaviour, IResettable,IPoolable<Chunk>
|
||||
{
|
||||
protected ChunkSpawner spawner;
|
||||
|
||||
[field: SerializeField] public Transform Begin { get; private set; }
|
||||
[field: SerializeField] public Transform End { get; private set; }
|
||||
|
||||
[SerializeField] private int gridRowCount;
|
||||
public List<Coin> Coins { get; private set; }
|
||||
public List<Obstacle> Obstacles { get; private set; }
|
||||
public BoxCollider Collider { get; private set; }
|
||||
public EDirection Direction { get; protected set; }
|
||||
public BasePool<Chunk> OwningPool { private get; set; }
|
||||
|
||||
public readonly List<Vector3> GridPositions = new List<Vector3>();
|
||||
virtual public void Init(ChunkSpawner spawner)
|
||||
{
|
||||
this.spawner = spawner;
|
||||
@ -26,6 +29,24 @@ public abstract class Chunk : MonoBehaviour, IResettable
|
||||
Collider = GetComponent<BoxCollider>();
|
||||
Coins = new List<Coin>();
|
||||
Obstacles = new List<Obstacle>();
|
||||
|
||||
InitializeGrid();
|
||||
}
|
||||
|
||||
private void InitializeGrid()
|
||||
{
|
||||
float chunkLength = (End.position - Begin.position).magnitude;
|
||||
float rowLength = chunkLength / gridRowCount;
|
||||
|
||||
foreach (var lane in LaneSystem.Instance.Lanes)
|
||||
{
|
||||
float lanePosition = lane * LaneSystem.Instance.LaneWidth;
|
||||
for (int i = 0; i < gridRowCount; i++)
|
||||
{
|
||||
Vector3 gridPosition = new Vector3(lanePosition, 0, i * rowLength);
|
||||
GridPositions.Add(gridPosition);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void ResetToDefault()
|
||||
@ -38,22 +59,20 @@ public abstract class Chunk : MonoBehaviour, IResettable
|
||||
{
|
||||
if (other.TryGetComponent(out Player player))
|
||||
{
|
||||
//OnChunkPassed?.Invoke(this);
|
||||
spawner.DelayedReturnToPool(this);
|
||||
spawner.Spawn();
|
||||
}
|
||||
}
|
||||
//public bool IsOnCooldown()
|
||||
//{
|
||||
// return spawnCooldown > timeSinceLastSpawn ? true : false;
|
||||
//}
|
||||
|
||||
public void ChangeTransformBasedOnPreviousChunk(Chunk previousChunk)
|
||||
{
|
||||
ChangeDirectionBasedOnPreviousChunk(previousChunk);
|
||||
ChangePositionBasedOnPreviousChunk(previousChunk);
|
||||
ChangeRotationBasedOnPreviousChunk(previousChunk);
|
||||
}
|
||||
|
||||
abstract public void ChangeDirectionBasedOnPreviousChunk(Chunk previousChunk);
|
||||
|
||||
private void ChangePositionBasedOnPreviousChunk(Chunk previousChunk)
|
||||
{
|
||||
float diffBetweenBeginAndCenter = Begin.localPosition.z;
|
||||
@ -92,4 +111,9 @@ public abstract class Chunk : MonoBehaviour, IResettable
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
public void ReturnToPool()
|
||||
{
|
||||
OwningPool.ReturnToPool(this);
|
||||
}
|
||||
}
|
||||
|
@ -4,6 +4,7 @@ using UnityEngine;
|
||||
|
||||
public class LaneSystem : MonoBehaviour,IResettable
|
||||
{
|
||||
static public LaneSystem Instance { get; private set; }
|
||||
[field: SerializeField] public float LaneWidth { get; private set; }
|
||||
|
||||
[SerializeField] private int laneCount;
|
||||
@ -17,6 +18,7 @@ public class LaneSystem : MonoBehaviour,IResettable
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
Instance = this;
|
||||
Lanes = new List<int>(laneCount);
|
||||
bool isLanesEven = laneCount % 2 == 0;
|
||||
if (isLanesEven)
|
||||
|
@ -1,6 +1,6 @@
|
||||
using UnityEngine;
|
||||
|
||||
public class BasePool<T> : MonoBehaviour where T : MonoBehaviour
|
||||
public class BasePool<T> : MonoBehaviour where T : MonoBehaviour,IPoolable<T>
|
||||
{
|
||||
[field: SerializeField] public int Capacity { get; private set; }
|
||||
[SerializeField] private T prefab;
|
||||
@ -16,6 +16,7 @@ public class BasePool<T> : MonoBehaviour where T : MonoBehaviour
|
||||
T instance = Instantiate(prefab);
|
||||
instance.gameObject.SetActive(false);
|
||||
instance.transform.SetParent(gameObject.transform, false);
|
||||
instance.OwningPool = this;
|
||||
return instance;
|
||||
}
|
||||
|
||||
|
@ -27,7 +27,6 @@ public class ChunkPool : BasePool<Chunk>
|
||||
chunk.Coins.Clear();
|
||||
foreach (var obstacle in chunk.Obstacles)
|
||||
{
|
||||
obstacle.transform.SetParent(null);
|
||||
obstacle.ResetToDefault();
|
||||
}
|
||||
chunk.Obstacles.Clear();
|
||||
|
8
Assets/Scripts/Road/Pools/IPoolable.cs
Normal file
8
Assets/Scripts/Road/Pools/IPoolable.cs
Normal file
@ -0,0 +1,8 @@
|
||||
|
||||
using UnityEngine;
|
||||
|
||||
public interface IPoolable<T> where T : MonoBehaviour,IPoolable<T>
|
||||
{
|
||||
public BasePool<T> OwningPool { set; }
|
||||
public void ReturnToPool();
|
||||
}
|
11
Assets/Scripts/Road/Pools/IPoolable.cs.meta
Normal file
11
Assets/Scripts/Road/Pools/IPoolable.cs.meta
Normal file
@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 2abb11f088e64c4488227070b7765d68
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -12,7 +12,7 @@ public class ObjectPool<T> : IEnumerable<T> where T : MonoBehaviour
|
||||
private Action<T> actionOnRelease;
|
||||
|
||||
private List<T> pool;
|
||||
private List<T> inactiveElements;
|
||||
|
||||
public ObjectPool(Func<T> actionOnCreate, Action<T> actionOnGet, Action<T> actionOnRelease, int initialCapacity)
|
||||
{
|
||||
Capacity = initialCapacity;
|
||||
@ -80,14 +80,17 @@ public class ObjectPool<T> : IEnumerable<T> where T : MonoBehaviour
|
||||
element = null;
|
||||
return false;
|
||||
}
|
||||
|
||||
public List<T> GetInactiveElements()
|
||||
{
|
||||
return pool.FindAll(obj => !obj.gameObject.activeInHierarchy);
|
||||
}
|
||||
|
||||
public List<T> GetActiveElements()
|
||||
{
|
||||
return pool.FindAll(obj => obj.gameObject.activeInHierarchy);
|
||||
}
|
||||
|
||||
public T ExpandPool()
|
||||
{
|
||||
var obj = actionOnCreate();
|
||||
@ -95,6 +98,7 @@ public class ObjectPool<T> : IEnumerable<T> where T : MonoBehaviour
|
||||
pool.Add(obj);
|
||||
return obj;
|
||||
}
|
||||
|
||||
public void ReturnToPool(T obj)
|
||||
{
|
||||
if (obj == null)
|
||||
@ -105,6 +109,7 @@ public class ObjectPool<T> : IEnumerable<T> where T : MonoBehaviour
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
public IEnumerator<T> GetEnumerator()
|
||||
{
|
||||
return pool.GetEnumerator();
|
||||
|
@ -1,5 +1,7 @@
|
||||
using System;
|
||||
using UnityEngine;
|
||||
|
||||
public class ObstaclePool : BasePool<Chunk>
|
||||
{ }
|
||||
public class ObstaclePool : BasePool<Obstacle>
|
||||
{
|
||||
|
||||
}
|
||||
|
8
Assets/Scripts/Tools.meta
Normal file
8
Assets/Scripts/Tools.meta
Normal file
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 35b79b54978109946b1feaeb0cbd14a5
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
49
Assets/Scripts/Tools/PoolPrefabCreator.cs
Normal file
49
Assets/Scripts/Tools/PoolPrefabCreator.cs
Normal file
@ -0,0 +1,49 @@
|
||||
#if UNITY_EDITOR
|
||||
|
||||
using UnityEditor;
|
||||
using UnityEngine;
|
||||
|
||||
|
||||
public static class PoolPrefabCreator
|
||||
{
|
||||
private const string POOL_PREFAB_PATH = "Assets/Prefabs/Pools/";
|
||||
|
||||
//[MenuItem("Tools/Prefab/CreatePoolPrefabFromSelected")]
|
||||
//private static void CreatePoolPrefab()
|
||||
//{
|
||||
// GameObject loadedPrefab = PrefabUtility.GetPrefabInstanceHandle(Selection.activeObject) as GameObject;
|
||||
// if ((Selection.activeObject as GameObject).TryGetComponent(out IPoolable<loadedPrefab as MonoBehaviour> poolable))
|
||||
// {
|
||||
// MonoBehaviour mono = poolable as MonoBehaviour;
|
||||
// GameObject instance = PrefabUtility.InstantiatePrefab(mono) as GameObject;
|
||||
// MonoBehaviour poolGameObject = new GameObject().AddComponent<BasePool<MonoBehaviour>>();
|
||||
// var poolComponent = poolGameObject.GetComponent<BasePool<MonoBehaviour>>();
|
||||
// //poolGameObject.
|
||||
// //if (OnCreateRequest != null)
|
||||
// // return OnCreateRequest();
|
||||
// //var t = typeof(T);
|
||||
// //if (typeof(Component).IsAssignableFrom(t))
|
||||
// // return (new GameObject(t.Name)).AddComponent<T>();
|
||||
// //return System.Activator.CreateInstance<T>();
|
||||
|
||||
// var pool = PrefabUtility.InstantiatePrefab(poolComponent);
|
||||
|
||||
// PrefabUtility.SaveAsPrefabAsset(pool as GameObject, POOL_PREFAB_PATH);
|
||||
// }
|
||||
// //= new List<Image>(loadedPrefab.GetComponent<Image>());
|
||||
// // = PrefabUtility.InstantiatePrefab(Selection.activeObject as GameObject);
|
||||
// //BasePool<MonoBehaviour> pool = GameObject.Instantiate();
|
||||
//}
|
||||
|
||||
//[MenuItem("Tools/Prefab/CreatePoolPrefabFromSelected", true)]
|
||||
//private static bool ValidateInstantiatePrefab()
|
||||
//{
|
||||
// GameObject go = Selection.activeObject as GameObject;
|
||||
// if (go == null)
|
||||
// return false;
|
||||
|
||||
// return PrefabUtility.IsPartOfPrefabAsset(go);
|
||||
//}
|
||||
}
|
||||
|
||||
#endif
|
11
Assets/Scripts/Tools/PoolPrefabCreator.cs.meta
Normal file
11
Assets/Scripts/Tools/PoolPrefabCreator.cs.meta
Normal file
@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a274b7bec54ceab4cb23781963b348c9
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
Loading…
x
Reference in New Issue
Block a user