diff --git a/Assets/Art/Materials/T_chevet_D.mat b/Assets/Art/Materials/T_chevet_D.mat new file mode 100644 index 0000000..a9328ee Binary files /dev/null and b/Assets/Art/Materials/T_chevet_D.mat differ diff --git a/Assets/Art/Materials/T_chevet_D.mat.meta b/Assets/Art/Materials/T_chevet_D.mat.meta new file mode 100644 index 0000000..40de197 --- /dev/null +++ b/Assets/Art/Materials/T_chevet_D.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7c515dc6f871f5348b83a50290cd52f5 +timeCreated: 1440284351 +licenseType: Free +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Art/Materials/T_commode_1_D.mat b/Assets/Art/Materials/T_commode_1_D.mat new file mode 100644 index 0000000..e2bbab1 Binary files /dev/null and b/Assets/Art/Materials/T_commode_1_D.mat differ diff --git a/Assets/Art/Materials/T_commode_1_D.mat.meta b/Assets/Art/Materials/T_commode_1_D.mat.meta new file mode 100644 index 0000000..0f391b5 --- /dev/null +++ b/Assets/Art/Materials/T_commode_1_D.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1894dbc07d32ec040af40e55380a9d5f +timeCreated: 1440297631 +licenseType: Free +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Art/Materials/T_commode_D.mat b/Assets/Art/Materials/T_commode_D.mat new file mode 100644 index 0000000..46b5a04 Binary files /dev/null and b/Assets/Art/Materials/T_commode_D.mat differ diff --git a/Assets/Art/Materials/T_commode_D.mat.meta b/Assets/Art/Materials/T_commode_D.mat.meta new file mode 100644 index 0000000..9cb6471 --- /dev/null +++ b/Assets/Art/Materials/T_commode_D.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 507be854a4d610b4c9227d57afdcb6d3 +timeCreated: 1440297625 +licenseType: Free +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Art/Materials/T_table_D.mat b/Assets/Art/Materials/T_table_D.mat new file mode 100644 index 0000000..2bad669 Binary files /dev/null and b/Assets/Art/Materials/T_table_D.mat differ diff --git a/Assets/Art/Materials/T_table_D.mat.meta b/Assets/Art/Materials/T_table_D.mat.meta new file mode 100644 index 0000000..6823e6c --- /dev/null +++ b/Assets/Art/Materials/T_table_D.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: cb9eee2422923294f8b16ba5554d38ae +timeCreated: 1440284354 +licenseType: Free +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Art/Materials/T_tabouret_1_D.mat b/Assets/Art/Materials/T_tabouret_1_D.mat new file mode 100644 index 0000000..2c1c8d1 Binary files /dev/null and b/Assets/Art/Materials/T_tabouret_1_D.mat differ diff --git a/Assets/Art/Materials/T_tabouret_1_D.mat.meta b/Assets/Art/Materials/T_tabouret_1_D.mat.meta new file mode 100644 index 0000000..9bd136f --- /dev/null +++ b/Assets/Art/Materials/T_tabouret_1_D.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2c1e52f94d0869e47838def9bbdfac06 +timeCreated: 1440284353 +licenseType: Free +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Art/Materials/T_tabouret_2_D.mat b/Assets/Art/Materials/T_tabouret_2_D.mat new file mode 100644 index 0000000..79c8f6a Binary files /dev/null and b/Assets/Art/Materials/T_tabouret_2_D.mat differ diff --git a/Assets/Art/Materials/T_tabouret_2_D.mat.meta b/Assets/Art/Materials/T_tabouret_2_D.mat.meta new file mode 100644 index 0000000..67cdf5c --- /dev/null +++ b/Assets/Art/Materials/T_tabouret_2_D.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 839208c8f5dbd954e9f4e6cd4285e003 +timeCreated: 1440284352 +licenseType: Free +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Art/Materials/T_tabouret_3_D.mat b/Assets/Art/Materials/T_tabouret_3_D.mat new file mode 100644 index 0000000..a7bd8bb Binary files /dev/null and b/Assets/Art/Materials/T_tabouret_3_D.mat differ diff --git a/Assets/Art/Materials/T_tabouret_3_D.mat.meta b/Assets/Art/Materials/T_tabouret_3_D.mat.meta new file mode 100644 index 0000000..a34266a --- /dev/null +++ b/Assets/Art/Materials/T_tabouret_3_D.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5cf6191e7bd3329498e04b29171dfcfd +timeCreated: 1440284352 +licenseType: Free +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Art/SM_Lit_Superpose.FBX b/Assets/Art/SM_Lit_Superpose.FBX new file mode 100644 index 0000000..a3254c9 Binary files /dev/null and b/Assets/Art/SM_Lit_Superpose.FBX differ diff --git a/Assets/Art/SM_Lit_Superpose.FBX.meta b/Assets/Art/SM_Lit_Superpose.FBX.meta new file mode 100644 index 0000000..685cf21 --- /dev/null +++ b/Assets/Art/SM_Lit_Superpose.FBX.meta @@ -0,0 +1,98 @@ +fileFormatVersion: 2 +guid: 1123f70c6f112c44493359e23a8cc687 +timeCreated: 1440284351 +licenseType: Free +ModelImporter: + serializedVersion: 18 + fileIDToRecycleName: + 100000: Object002 + 100002: Object003 + 100004: Object004 + 100006: Object005 + 100008: Object006 + 100010: //RootNode + 400000: Object002 + 400002: Object003 + 400004: Object004 + 400006: Object005 + 400008: Object006 + 400010: //RootNode + 2300000: Object002 + 2300002: Object003 + 2300004: Object004 + 2300006: Object005 + 2300008: Object006 + 3300000: Object002 + 3300002: Object003 + 3300004: Object004 + 3300006: Object005 + 3300008: Object006 + 4300000: Object002 + 4300002: Object003 + 4300004: Object004 + 4300006: Object005 + 4300008: Object006 + 7400000: Take 001 + 9500000: //RootNode + materials: + importMaterials: 1 + materialName: 0 + materialSearch: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + optimizeGameObjects: 0 + motionNodeName: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + animationCompression: 1 + animationRotationError: .5 + animationPositionError: .5 + animationScaleError: .5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + importBlendShapes: 1 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + optimizeMeshForGPU: 1 + keepQuads: 0 + weldVertices: 1 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + splitTangentsAcrossUV: 1 + normalImportMode: 0 + tangentImportMode: 1 + importAnimation: 1 + copyAvatar: 0 + humanDescription: + human: [] + skeleton: [] + armTwist: .5 + foreArmTwist: .5 + upperLegTwist: .5 + legTwist: .5 + armStretch: .0500000007 + legStretch: .0500000007 + feetSpacing: 0 + rootMotionBoneName: + lastHumanDescriptionAvatarSource: {instanceID: 0} + animationType: 2 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Art/SM_chevet.FBX b/Assets/Art/SM_chevet.FBX new file mode 100644 index 0000000..2b64286 Binary files /dev/null and b/Assets/Art/SM_chevet.FBX differ diff --git a/Assets/Art/SM_chevet.FBX.meta b/Assets/Art/SM_chevet.FBX.meta new file mode 100644 index 0000000..0994456 --- /dev/null +++ b/Assets/Art/SM_chevet.FBX.meta @@ -0,0 +1,74 @@ +fileFormatVersion: 2 +guid: 0b3a73315fe9a6a4cac00fff6de2726f +timeCreated: 1440284351 +licenseType: Free +ModelImporter: + serializedVersion: 18 + fileIDToRecycleName: + 100000: //RootNode + 400000: //RootNode + 2300000: //RootNode + 3300000: //RootNode + 4300000: Box071 + materials: + importMaterials: 1 + materialName: 0 + materialSearch: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + optimizeGameObjects: 0 + motionNodeName: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + animationCompression: 1 + animationRotationError: .5 + animationPositionError: .5 + animationScaleError: .5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + importBlendShapes: 1 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + optimizeMeshForGPU: 1 + keepQuads: 0 + weldVertices: 1 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + splitTangentsAcrossUV: 1 + normalImportMode: 0 + tangentImportMode: 1 + importAnimation: 1 + copyAvatar: 0 + humanDescription: + human: [] + skeleton: [] + armTwist: .5 + foreArmTwist: .5 + upperLegTwist: .5 + legTwist: .5 + armStretch: .0500000007 + legStretch: .0500000007 + feetSpacing: 0 + rootMotionBoneName: + lastHumanDescriptionAvatarSource: {instanceID: 0} + animationType: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Art/SM_chevet.fbm.meta b/Assets/Art/SM_chevet.fbm.meta new file mode 100644 index 0000000..e0509e2 --- /dev/null +++ b/Assets/Art/SM_chevet.fbm.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: e83c53db9cf3dad4d9d1958ba27d957d +folderAsset: yes +timeCreated: 1440284350 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Art/SM_chevet.fbm/T_chevet_D.tga b/Assets/Art/SM_chevet.fbm/T_chevet_D.tga new file mode 100644 index 0000000..279c7bc Binary files /dev/null and b/Assets/Art/SM_chevet.fbm/T_chevet_D.tga differ diff --git a/Assets/Art/SM_chevet.fbm/T_chevet_D.tga.meta b/Assets/Art/SM_chevet.fbm/T_chevet_D.tga.meta new file mode 100644 index 0000000..d880345 --- /dev/null +++ b/Assets/Art/SM_chevet.fbm/T_chevet_D.tga.meta @@ -0,0 +1,55 @@ +fileFormatVersion: 2 +guid: d8ec5ddb265e07b43afbfc423f4e5f8c +timeCreated: 1440284350 +licenseType: Free +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 8 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: -1 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Art/SM_commode_1_.FBX b/Assets/Art/SM_commode_1_.FBX new file mode 100644 index 0000000..a98c830 Binary files /dev/null and b/Assets/Art/SM_commode_1_.FBX differ diff --git a/Assets/Art/SM_commode_1_.FBX.meta b/Assets/Art/SM_commode_1_.FBX.meta new file mode 100644 index 0000000..c86c2af --- /dev/null +++ b/Assets/Art/SM_commode_1_.FBX.meta @@ -0,0 +1,74 @@ +fileFormatVersion: 2 +guid: 5db9b9991e715344a89919be8ce49389 +timeCreated: 1440297625 +licenseType: Free +ModelImporter: + serializedVersion: 18 + fileIDToRecycleName: + 100000: //RootNode + 400000: //RootNode + 2300000: //RootNode + 3300000: //RootNode + 4300000: Box054 + materials: + importMaterials: 1 + materialName: 0 + materialSearch: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + optimizeGameObjects: 0 + motionNodeName: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + animationCompression: 1 + animationRotationError: .5 + animationPositionError: .5 + animationScaleError: .5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + importBlendShapes: 1 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + optimizeMeshForGPU: 1 + keepQuads: 0 + weldVertices: 1 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + splitTangentsAcrossUV: 1 + normalImportMode: 0 + tangentImportMode: 1 + importAnimation: 1 + copyAvatar: 0 + humanDescription: + human: [] + skeleton: [] + armTwist: .5 + foreArmTwist: .5 + upperLegTwist: .5 + legTwist: .5 + armStretch: .0500000007 + legStretch: .0500000007 + feetSpacing: 0 + rootMotionBoneName: + lastHumanDescriptionAvatarSource: {instanceID: 0} + animationType: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Art/SM_commode_1_.fbm.meta b/Assets/Art/SM_commode_1_.fbm.meta new file mode 100644 index 0000000..03fce9a --- /dev/null +++ b/Assets/Art/SM_commode_1_.fbm.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: e24261dccdd4ec142959624f87ea6140 +folderAsset: yes +timeCreated: 1440297624 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Art/SM_commode_1_.fbm/T_commode_D.tga b/Assets/Art/SM_commode_1_.fbm/T_commode_D.tga new file mode 100644 index 0000000..8fefe03 Binary files /dev/null and b/Assets/Art/SM_commode_1_.fbm/T_commode_D.tga differ diff --git a/Assets/Art/SM_commode_1_.fbm/T_commode_D.tga.meta b/Assets/Art/SM_commode_1_.fbm/T_commode_D.tga.meta new file mode 100644 index 0000000..def9349 --- /dev/null +++ b/Assets/Art/SM_commode_1_.fbm/T_commode_D.tga.meta @@ -0,0 +1,55 @@ +fileFormatVersion: 2 +guid: f7e9071f7a47fb947858f8dabffd3bbf +timeCreated: 1440297625 +licenseType: Free +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 8 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: -1 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Art/SM_commode_2_.FBX b/Assets/Art/SM_commode_2_.FBX new file mode 100644 index 0000000..722435f Binary files /dev/null and b/Assets/Art/SM_commode_2_.FBX differ diff --git a/Assets/Art/SM_commode_2_.FBX.meta b/Assets/Art/SM_commode_2_.FBX.meta new file mode 100644 index 0000000..e363248 --- /dev/null +++ b/Assets/Art/SM_commode_2_.FBX.meta @@ -0,0 +1,74 @@ +fileFormatVersion: 2 +guid: ef8771875030cca4b8ae59900904752a +timeCreated: 1440297631 +licenseType: Free +ModelImporter: + serializedVersion: 18 + fileIDToRecycleName: + 100000: //RootNode + 400000: //RootNode + 2300000: //RootNode + 3300000: //RootNode + 4300000: Box065 + materials: + importMaterials: 1 + materialName: 0 + materialSearch: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + optimizeGameObjects: 0 + motionNodeName: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + animationCompression: 1 + animationRotationError: .5 + animationPositionError: .5 + animationScaleError: .5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + importBlendShapes: 1 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + optimizeMeshForGPU: 1 + keepQuads: 0 + weldVertices: 1 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + splitTangentsAcrossUV: 1 + normalImportMode: 0 + tangentImportMode: 1 + importAnimation: 1 + copyAvatar: 0 + humanDescription: + human: [] + skeleton: [] + armTwist: .5 + foreArmTwist: .5 + upperLegTwist: .5 + legTwist: .5 + armStretch: .0500000007 + legStretch: .0500000007 + feetSpacing: 0 + rootMotionBoneName: + lastHumanDescriptionAvatarSource: {instanceID: 0} + animationType: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Art/SM_commode_2_.fbm.meta b/Assets/Art/SM_commode_2_.fbm.meta new file mode 100644 index 0000000..7173300 --- /dev/null +++ b/Assets/Art/SM_commode_2_.fbm.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 36f98f419991a654d81ade73afcee8fa +folderAsset: yes +timeCreated: 1440297631 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Art/SM_commode_2_.fbm/T_commode_1_D.tga b/Assets/Art/SM_commode_2_.fbm/T_commode_1_D.tga new file mode 100644 index 0000000..38bcfe9 Binary files /dev/null and b/Assets/Art/SM_commode_2_.fbm/T_commode_1_D.tga differ diff --git a/Assets/Art/SM_commode_2_.fbm/T_commode_1_D.tga.meta b/Assets/Art/SM_commode_2_.fbm/T_commode_1_D.tga.meta new file mode 100644 index 0000000..77990c5 --- /dev/null +++ b/Assets/Art/SM_commode_2_.fbm/T_commode_1_D.tga.meta @@ -0,0 +1,55 @@ +fileFormatVersion: 2 +guid: d75d0130f08061a43a0aec68715549dd +timeCreated: 1440297631 +licenseType: Free +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 8 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: -1 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Art/SM_table.FBX b/Assets/Art/SM_table.FBX new file mode 100644 index 0000000..14a332a Binary files /dev/null and b/Assets/Art/SM_table.FBX differ diff --git a/Assets/Art/SM_table.FBX.meta b/Assets/Art/SM_table.FBX.meta new file mode 100644 index 0000000..8f92456 --- /dev/null +++ b/Assets/Art/SM_table.FBX.meta @@ -0,0 +1,74 @@ +fileFormatVersion: 2 +guid: ff2b042dd4c576b4ba51ed6b0e957121 +timeCreated: 1440284354 +licenseType: Free +ModelImporter: + serializedVersion: 18 + fileIDToRecycleName: + 100000: //RootNode + 400000: //RootNode + 2300000: //RootNode + 3300000: //RootNode + 4300000: Cylinder014 + materials: + importMaterials: 1 + materialName: 0 + materialSearch: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + optimizeGameObjects: 0 + motionNodeName: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + animationCompression: 1 + animationRotationError: .5 + animationPositionError: .5 + animationScaleError: .5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + importBlendShapes: 1 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + optimizeMeshForGPU: 1 + keepQuads: 0 + weldVertices: 1 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + splitTangentsAcrossUV: 1 + normalImportMode: 0 + tangentImportMode: 1 + importAnimation: 1 + copyAvatar: 0 + humanDescription: + human: [] + skeleton: [] + armTwist: .5 + foreArmTwist: .5 + upperLegTwist: .5 + legTwist: .5 + armStretch: .0500000007 + legStretch: .0500000007 + feetSpacing: 0 + rootMotionBoneName: + lastHumanDescriptionAvatarSource: {instanceID: 0} + animationType: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Art/SM_table.fbm.meta b/Assets/Art/SM_table.fbm.meta new file mode 100644 index 0000000..53ff7c3 --- /dev/null +++ b/Assets/Art/SM_table.fbm.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 10a913047a94a1b41bf313f4273e5a86 +folderAsset: yes +timeCreated: 1440284353 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Art/SM_table.fbm/T_table_D.tga b/Assets/Art/SM_table.fbm/T_table_D.tga new file mode 100644 index 0000000..08a4be7 Binary files /dev/null and b/Assets/Art/SM_table.fbm/T_table_D.tga differ diff --git a/Assets/Art/SM_table.fbm/T_table_D.tga.meta b/Assets/Art/SM_table.fbm/T_table_D.tga.meta new file mode 100644 index 0000000..ad833ae --- /dev/null +++ b/Assets/Art/SM_table.fbm/T_table_D.tga.meta @@ -0,0 +1,55 @@ +fileFormatVersion: 2 +guid: f1cbbb7bae0a9934980958fe2306e229 +timeCreated: 1440284354 +licenseType: Free +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 8 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: -1 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Art/SM_tabouret.FBX b/Assets/Art/SM_tabouret.FBX new file mode 100644 index 0000000..c40de81 Binary files /dev/null and b/Assets/Art/SM_tabouret.FBX differ diff --git a/Assets/Art/SM_tabouret.FBX.meta b/Assets/Art/SM_tabouret.FBX.meta new file mode 100644 index 0000000..a783995 --- /dev/null +++ b/Assets/Art/SM_tabouret.FBX.meta @@ -0,0 +1,74 @@ +fileFormatVersion: 2 +guid: e83f1b2f7e5de9f44a09f7d66dc898df +timeCreated: 1440284352 +licenseType: Free +ModelImporter: + serializedVersion: 18 + fileIDToRecycleName: + 100000: //RootNode + 400000: //RootNode + 2300000: //RootNode + 3300000: //RootNode + 4300000: Object013 + materials: + importMaterials: 1 + materialName: 0 + materialSearch: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + optimizeGameObjects: 0 + motionNodeName: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + animationCompression: 1 + animationRotationError: .5 + animationPositionError: .5 + animationScaleError: .5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + importBlendShapes: 1 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + optimizeMeshForGPU: 1 + keepQuads: 0 + weldVertices: 1 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + splitTangentsAcrossUV: 1 + normalImportMode: 0 + tangentImportMode: 1 + importAnimation: 1 + copyAvatar: 0 + humanDescription: + human: [] + skeleton: [] + armTwist: .5 + foreArmTwist: .5 + upperLegTwist: .5 + legTwist: .5 + armStretch: .0500000007 + legStretch: .0500000007 + feetSpacing: 0 + rootMotionBoneName: + lastHumanDescriptionAvatarSource: {instanceID: 0} + animationType: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Art/SM_tabouret.fbm.meta b/Assets/Art/SM_tabouret.fbm.meta new file mode 100644 index 0000000..4e37358 --- /dev/null +++ b/Assets/Art/SM_tabouret.fbm.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 76a0454811dfb184aa70e365c856fb69 +folderAsset: yes +timeCreated: 1440284352 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Art/SM_tabouret.fbm/T_tabouret_3_D.tga b/Assets/Art/SM_tabouret.fbm/T_tabouret_3_D.tga new file mode 100644 index 0000000..8eb5c82 Binary files /dev/null and b/Assets/Art/SM_tabouret.fbm/T_tabouret_3_D.tga differ diff --git a/Assets/Art/SM_tabouret.fbm/T_tabouret_3_D.tga.meta b/Assets/Art/SM_tabouret.fbm/T_tabouret_3_D.tga.meta new file mode 100644 index 0000000..41f53b0 --- /dev/null +++ b/Assets/Art/SM_tabouret.fbm/T_tabouret_3_D.tga.meta @@ -0,0 +1,55 @@ +fileFormatVersion: 2 +guid: 06bbdb9b44c5a504288eabb96a157aa6 +timeCreated: 1440284352 +licenseType: Free +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 8 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: -1 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Art/SM_tabouret1_.FBX b/Assets/Art/SM_tabouret1_.FBX new file mode 100644 index 0000000..37afbfc Binary files /dev/null and b/Assets/Art/SM_tabouret1_.FBX differ diff --git a/Assets/Art/SM_tabouret1_.FBX.meta b/Assets/Art/SM_tabouret1_.FBX.meta new file mode 100644 index 0000000..f96c2a4 --- /dev/null +++ b/Assets/Art/SM_tabouret1_.FBX.meta @@ -0,0 +1,74 @@ +fileFormatVersion: 2 +guid: 324326cf6ad16a64182c8119aee4bf6b +timeCreated: 1440284352 +licenseType: Free +ModelImporter: + serializedVersion: 18 + fileIDToRecycleName: + 100000: //RootNode + 400000: //RootNode + 2300000: //RootNode + 3300000: //RootNode + 4300000: Object014 + materials: + importMaterials: 1 + materialName: 0 + materialSearch: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + optimizeGameObjects: 0 + motionNodeName: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + animationCompression: 1 + animationRotationError: .5 + animationPositionError: .5 + animationScaleError: .5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + importBlendShapes: 1 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + optimizeMeshForGPU: 1 + keepQuads: 0 + weldVertices: 1 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + splitTangentsAcrossUV: 1 + normalImportMode: 0 + tangentImportMode: 1 + importAnimation: 1 + copyAvatar: 0 + humanDescription: + human: [] + skeleton: [] + armTwist: .5 + foreArmTwist: .5 + upperLegTwist: .5 + legTwist: .5 + armStretch: .0500000007 + legStretch: .0500000007 + feetSpacing: 0 + rootMotionBoneName: + lastHumanDescriptionAvatarSource: {instanceID: 0} + animationType: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Art/SM_tabouret1_.fbm.meta b/Assets/Art/SM_tabouret1_.fbm.meta new file mode 100644 index 0000000..3886abd --- /dev/null +++ b/Assets/Art/SM_tabouret1_.fbm.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: af3e70cf6e569fe42a2c5aa2b7e54029 +folderAsset: yes +timeCreated: 1440284351 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Art/SM_tabouret1_.fbm/T_tabouret_2_D.tga b/Assets/Art/SM_tabouret1_.fbm/T_tabouret_2_D.tga new file mode 100644 index 0000000..fbcb09e Binary files /dev/null and b/Assets/Art/SM_tabouret1_.fbm/T_tabouret_2_D.tga differ diff --git a/Assets/Art/SM_tabouret1_.fbm/T_tabouret_2_D.tga.meta b/Assets/Art/SM_tabouret1_.fbm/T_tabouret_2_D.tga.meta new file mode 100644 index 0000000..bcc0894 --- /dev/null +++ b/Assets/Art/SM_tabouret1_.fbm/T_tabouret_2_D.tga.meta @@ -0,0 +1,55 @@ +fileFormatVersion: 2 +guid: c0542fe0d656f204da3e7f7ea55becb2 +timeCreated: 1440284351 +licenseType: Free +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 8 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: -1 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Art/SM_tabouret2_.FBX b/Assets/Art/SM_tabouret2_.FBX new file mode 100644 index 0000000..06c728c Binary files /dev/null and b/Assets/Art/SM_tabouret2_.FBX differ diff --git a/Assets/Art/SM_tabouret2_.FBX.meta b/Assets/Art/SM_tabouret2_.FBX.meta new file mode 100644 index 0000000..ee499d5 --- /dev/null +++ b/Assets/Art/SM_tabouret2_.FBX.meta @@ -0,0 +1,74 @@ +fileFormatVersion: 2 +guid: f8d71ad97fe6bf24dbe88e556db405ef +timeCreated: 1440284353 +licenseType: Free +ModelImporter: + serializedVersion: 18 + fileIDToRecycleName: + 100000: //RootNode + 400000: //RootNode + 2300000: //RootNode + 3300000: //RootNode + 4300000: Object012 + materials: + importMaterials: 1 + materialName: 0 + materialSearch: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + optimizeGameObjects: 0 + motionNodeName: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + animationCompression: 1 + animationRotationError: .5 + animationPositionError: .5 + animationScaleError: .5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + importBlendShapes: 1 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + optimizeMeshForGPU: 1 + keepQuads: 0 + weldVertices: 1 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + splitTangentsAcrossUV: 1 + normalImportMode: 0 + tangentImportMode: 1 + importAnimation: 1 + copyAvatar: 0 + humanDescription: + human: [] + skeleton: [] + armTwist: .5 + foreArmTwist: .5 + upperLegTwist: .5 + legTwist: .5 + armStretch: .0500000007 + legStretch: .0500000007 + feetSpacing: 0 + rootMotionBoneName: + lastHumanDescriptionAvatarSource: {instanceID: 0} + animationType: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Art/SM_tabouret2_.fbm.meta b/Assets/Art/SM_tabouret2_.fbm.meta new file mode 100644 index 0000000..f2d8eea --- /dev/null +++ b/Assets/Art/SM_tabouret2_.fbm.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 511df599df8ad51429919bfc32187698 +folderAsset: yes +timeCreated: 1440284353 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Art/SM_tabouret2_.fbm/T_tabouret_1_D.tga b/Assets/Art/SM_tabouret2_.fbm/T_tabouret_1_D.tga new file mode 100644 index 0000000..1a567e1 Binary files /dev/null and b/Assets/Art/SM_tabouret2_.fbm/T_tabouret_1_D.tga differ diff --git a/Assets/Art/SM_tabouret2_.fbm/T_tabouret_1_D.tga.meta b/Assets/Art/SM_tabouret2_.fbm/T_tabouret_1_D.tga.meta new file mode 100644 index 0000000..52d3980 --- /dev/null +++ b/Assets/Art/SM_tabouret2_.fbm/T_tabouret_1_D.tga.meta @@ -0,0 +1,55 @@ +fileFormatVersion: 2 +guid: 048f9d1e5a228bc4fbb04e5a0c775080 +timeCreated: 1440284353 +licenseType: Free +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 8 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: -1 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/BunkBed.prefab b/Assets/Prefabs/BunkBed.prefab new file mode 100644 index 0000000..be87f47 Binary files /dev/null and b/Assets/Prefabs/BunkBed.prefab differ diff --git a/Assets/Prefabs/BunkBed.prefab.meta b/Assets/Prefabs/BunkBed.prefab.meta new file mode 100644 index 0000000..deb5ab9 --- /dev/null +++ b/Assets/Prefabs/BunkBed.prefab.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f93941ef628c4c84980e0c7f76463e59 +timeCreated: 1440291993 +licenseType: Free +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/Pillow.prefab b/Assets/Prefabs/Pillow.prefab new file mode 100644 index 0000000..b41c59f Binary files /dev/null and b/Assets/Prefabs/Pillow.prefab differ diff --git a/Assets/Prefabs/Pillow.prefab.meta b/Assets/Prefabs/Pillow.prefab.meta new file mode 100644 index 0000000..95a2a6e --- /dev/null +++ b/Assets/Prefabs/Pillow.prefab.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a576af077db55e24b82098add55cc9dc +timeCreated: 1440294303 +licenseType: Free +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scenes/PatScene.unity b/Assets/Scenes/PatScene.unity index 4ec728f..b4ec123 100644 Binary files a/Assets/Scenes/PatScene.unity and b/Assets/Scenes/PatScene.unity differ diff --git a/Assets/Scripts/Child.cs b/Assets/Scripts/Child.cs index 9220d97..c3dcba8 100644 --- a/Assets/Scripts/Child.cs +++ b/Assets/Scripts/Child.cs @@ -7,6 +7,9 @@ public class Child : MonoBehaviour public float Speed = 10f; public float JumpForce = 10f; public float MaxInvulnerableTime = 2f; + public float ThrowForce = 30f; + public float hitPushBackForce = 250f; + public GameObject GroundCheck; public Pillow pillow; public MomBehavior Mom; @@ -51,14 +54,31 @@ public class Child : MonoBehaviour } void OnTriggerEnter(Collider other) { - if (other.tag == "Pillow") { - - pillow = other.GetComponent(); - other.transform.parent = transform; // make the pillow a child of Child - - // TODO: place the pillow correctly or animate or something... + if (other.tag == "Pillow"){ - //Debug.Log(_isGrounded); + Pillow incomingPillow = other.GetComponent(); + + // picking up a pillow + if (this.pillow == null && !incomingPillow.IsThrown) { + + pillow = incomingPillow; + + pillow.transform.parent = transform; // make the pillow a child of Child + pillow.transform.localPosition = new Vector3(0f, 1.5f, 0f); + pillow.GetComponent().isKinematic = true; // dont make pillow obey to gravity when in a child's hands + + // TODO: place the pillow correctly or animate or something... + } + + // getting hit by a pillow + else if (incomingPillow.IsThrown) { + + //player is hit + Debug.Log("Child is hit by a pillow"); + + Push( other.GetComponent().velocity.normalized * 10 * hitPushBackForce); + Destroy(other.gameObject); + } } } @@ -152,6 +172,28 @@ public class Child : MonoBehaviour return colliders.Length > 0 ? colliders[0].GetComponent() : null; } + internal void Throw() { + + if (pillow != null) { + + Vector3 direction; + + if (target != null) { + direction = target.transform.position - pillow.transform.position; + } + else { + direction = transform.forward; + } + direction = direction.normalized; + + + pillow.Throw(direction * ThrowForce); + + pillow = null; + } + } + + void OnCollisionEnter(Collision collision) { if (collision.gameObject.tag == "Lava") diff --git a/Assets/Scripts/ChildController.cs b/Assets/Scripts/ChildController.cs index 2721ed7..bde9551 100644 --- a/Assets/Scripts/ChildController.cs +++ b/Assets/Scripts/ChildController.cs @@ -85,7 +85,7 @@ public class ChildController : MonoBehaviour else { transform.eulerAngles = new Vector3( transform.eulerAngles.x, - Mathf.Atan2(xLookingValue, zLookingValue) * Mathf.Rad2Deg, + Mathf.Atan2(xLookingValue, zLookingValue) * Mathf.Rad2Deg -90, // -90 to correct forward facing angle... transform.eulerAngles.z); } } @@ -111,6 +111,10 @@ public class ChildController : MonoBehaviour _child.WakeUp(); InputManager.Instance.PushActiveContext("Awake", (int)PlayerNumber); } + + if (input.Actions.Contains("Throw")) { + _child.Throw(); + } } } diff --git a/Assets/Scripts/MomBehavior.cs b/Assets/Scripts/MomBehavior.cs index c5615cd..5b70763 100644 --- a/Assets/Scripts/MomBehavior.cs +++ b/Assets/Scripts/MomBehavior.cs @@ -8,7 +8,6 @@ using InputHandler; public class MomBehavior : MonoBehaviour { - public Action OnWarning; public Action OnEnterRoom; public Action OnLeaveRoom; @@ -17,20 +16,23 @@ public class MomBehavior : MonoBehaviour public float MaxTriggerTime = 90f; public float WarningHeadsupTime = 5f; public float MotherStayTime = 2f; + public Door RoomDoor; public Child[] Children; + private enum State { Away, Warning, InRoom } + + private State _currentState; + private float _elapsedTime = 0f; private float _nextTriggerTime; - private bool _isInRoom; - private bool _gameOver = false; public bool IsInRoom { - get { return _isInRoom; } + get { return _currentState == State.InRoom; } } void Awake() @@ -46,83 +48,100 @@ public class MomBehavior : MonoBehaviour _elapsedTime += Time.deltaTime; - if (_elapsedTime >= _nextTriggerTime - WarningHeadsupTime && _elapsedTime < _nextTriggerTime) + switch (_currentState) { - WarningText.gameObject.SetActive(true); - - if (OnWarning != null) - { - OnWarning(); - } - } - else if (_elapsedTime >= _nextTriggerTime) - { - WarningText.gameObject.SetActive(false); - _nextTriggerTime = GetNextTriggerTime(); - - _elapsedTime = 0f; - - StartCoroutine(StayInRoom()); - } - - if (_isInRoom) - { - List safeChildren = new List(); - - foreach (Child child in Children) - { - if (child == null) continue; - - if (child.IsSleeping) + case State.Away: + if (_elapsedTime >= _nextTriggerTime - WarningHeadsupTime && _elapsedTime < _nextTriggerTime) { - safeChildren.Add(child); + SetState(State.Warning); } - else + break; + case State.Warning: + if (_elapsedTime >= _nextTriggerTime) { - Debug.Log("Player " + child.Index + " has been spotted by mom."); - - // TODO: Visual animation that the player lost (lasso?) - - Destroy(child.gameObject); + SetState(State.InRoom); + } + break; + case State.InRoom: + if (_elapsedTime >= 2f) + { + SetState(State.Away); } - } - if (safeChildren.Count == 0) - { - Debug.Log("Mom wins!"); - - MenusManager.Instance.ShowMenu("MomWinsMenu"); - - _gameOver = true; - } - else if (safeChildren.Count == 1) - { - Debug.Log("Player " + safeChildren[0].Index + " wins!"); - - PlayerWinsMenu menu = (PlayerWinsMenu)MenusManager.Instance.ShowMenu("PlayerWinsMenu"); - menu.SetPlayerIndex(safeChildren[0].Index); - - _gameOver = true; - } + CheckIfSleeping(); + break; } } - private IEnumerator StayInRoom() + private void SetState(State newState) { - if (OnEnterRoom != null) + switch (newState) { - OnEnterRoom(); + case State.Away: + RoomDoor.Close(OnLeaveRoom); + _elapsedTime = 0f; + break; + case State.Warning: + // Temporary + WarningText.gameObject.SetActive(true); + + RoomDoor.Open(); + break; + case State.InRoom: + // Temporary + WarningText.gameObject.SetActive(false); + _nextTriggerTime = GetNextTriggerTime(); + + _elapsedTime = 0f; + + if (OnEnterRoom != null) + { + OnEnterRoom(); + } + break; } - _isInRoom = true; + _currentState = newState; + } - yield return new WaitForSeconds(MotherStayTime); + private void CheckIfSleeping() + { + List safeChildren = new List(); - _isInRoom = false; - - if (OnLeaveRoom != null) + foreach (Child child in Children) { - OnLeaveRoom(); + if (child == null) continue; + + if (child.IsSleeping) + { + safeChildren.Add(child); + } + else + { + Debug.Log("Player " + child.Index + " has been spotted by mom."); + + // TODO: Visual animation that the player lost (lasso?) + + Destroy(child.gameObject); + } + } + + if (safeChildren.Count == 0) + { + Debug.Log("Mom wins!"); + + MenusManager.Instance.ShowMenu("MomWinsMenu"); + + _gameOver = true; + } + else if (safeChildren.Count == 1) + { + Debug.Log("Player " + safeChildren[0].Index + " wins!"); + + PlayerWinsMenu menu = (PlayerWinsMenu)MenusManager.Instance.ShowMenu("PlayerWinsMenu"); + menu.SetPlayerIndex(safeChildren[0].Index); + + _gameOver = true; } } diff --git a/Assets/Scripts/Pillow.cs b/Assets/Scripts/Pillow.cs index 22c8f03..09a0246 100644 --- a/Assets/Scripts/Pillow.cs +++ b/Assets/Scripts/Pillow.cs @@ -4,28 +4,51 @@ using System.Collections; public class Pillow : MonoBehaviour { public bool IsThrown = false; + + private bool IsPickable = true; + + private Collider _col; + private Rigidbody _rb; + // Use this for initialization void Start () { - + _col = GetComponent(); + _rb = GetComponent(); } // Update is called once per frame void Update () { - if (transform.position.y < -10) { + + if (transform.position.y < -1) { Destroy(this.gameObject); } + } - void OnTriggerEnter(Collider other) { - if (IsThrown && other.tag == "Player") { - - Debug.Log("A child got hit by a pillow!"); - - //other.GetComponent().takeHit(); - - Destroy(this.gameObject); + void OnCollisionEnter(Collision other) { + if (!IsPickable) { + // on first collision, revert the pillow as pickable + MakePickable(); } } + + public void Throw(Vector3 force) { + IsThrown = true; + IsPickable = false; + transform.parent = null; // detach the pillow from the child object + _rb.isKinematic = false; + _col.enabled = true; + _rb.AddForce(force, ForceMode.Impulse); + } + + public void MakePickable() { + IsThrown = false; + IsPickable = true; + + _col.enabled = true; + _rb.isKinematic = false; + } + } diff --git a/Assets/Test/Door.cs b/Assets/Test/Door.cs index 8ef7f11..658a567 100644 --- a/Assets/Test/Door.cs +++ b/Assets/Test/Door.cs @@ -1,41 +1,70 @@ using UnityEngine; -using System.Collections; +using System.Collections; +using System; -public class Door : MonoBehaviour { - - private float state = 0f; //From 0 to 1 (closed to open) - private float goal = -1f; //-1 or 1 - public float angles; - public float openingSpeed; - public AnimationCurve curvature; +public class Door : MonoBehaviour +{ + public float MaxAngle = 135f; + public float OpenDuration = 5f; + public float CloseDuration = 1f; - // Use this for initialization - void Start () { - - } - + /* // Update is called once per frame - void Update () { - - if (Input.GetKeyDown(KeyCode.A)) - { - goal *= -1; - } - + void Update () + { state = Mathf.Clamp(state + goal * openingSpeed * Time.deltaTime, 0f, 1f); //transform.rotation = Quaternion.identity; //transform.Rotate(Vector3.up * state * angles); transform.rotation = Quaternion.Euler(Vector3.up * curvature.Evaluate(state) * -angles); - } + }*/ public void Open() { - + StartCoroutine(OpenDoor()); } - public void Close() - { + private IEnumerator OpenDoor() + { + Vector3 initialRot = transform.localEulerAngles; + Vector3 finalRot = new Vector3(initialRot.x, initialRot.y - MaxAngle, initialRot.z); - } + float ratio = 0f; + + while (ratio < 1f) + { + ratio += Time.deltaTime / OpenDuration; + + transform.localEulerAngles = Vector3.Lerp(initialRot, finalRot, ratio); + + yield return null; + } + } + + public void Close(Action callback) + { + StartCoroutine("CloseDoor", callback); + } + + private IEnumerator CloseDoor(object callback) + { + Vector3 initialRot = transform.localEulerAngles; + Vector3 finalRot = new Vector3(initialRot.x, initialRot.y + MaxAngle, initialRot.z); + + float ratio = 0f; + + while (ratio < 1f) + { + ratio += Time.deltaTime / CloseDuration; + + transform.localEulerAngles = Vector3.Lerp(initialRot, finalRot, Mathf.Pow(ratio, 4)); + + yield return null; + } + + if (callback != null) + { + ((Action)callback)(); + } + } } diff --git a/ProjectSettings/ProjectSettings.asset b/ProjectSettings/ProjectSettings.asset index 6e63725..52c12ea 100644 Binary files a/ProjectSettings/ProjectSettings.asset and b/ProjectSettings/ProjectSettings.asset differ