Merge branch 'develop' of bitbucket.org:usaya/popcorn into develop
This commit is contained in:
		
						commit
						dd8e4bb2b6
					
				
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 54 KiB | 
|  | @ -0,0 +1,92 @@ | |||
| fileFormatVersion: 2 | ||||
| guid: eec1c209826c64ee992031fcf2063f7b | ||||
| TextureImporter: | ||||
|   internalIDToNameTable: [] | ||||
|   externalObjects: {} | ||||
|   serializedVersion: 11 | ||||
|   mipmaps: | ||||
|     mipMapMode: 0 | ||||
|     enableMipMap: 0 | ||||
|     sRGBTexture: 1 | ||||
|     linearTexture: 0 | ||||
|     fadeOut: 0 | ||||
|     borderMipMap: 0 | ||||
|     mipMapsPreserveCoverage: 0 | ||||
|     alphaTestReferenceValue: 0.5 | ||||
|     mipMapFadeDistanceStart: 1 | ||||
|     mipMapFadeDistanceEnd: 3 | ||||
|   bumpmap: | ||||
|     convertToNormalMap: 0 | ||||
|     externalNormalMap: 0 | ||||
|     heightScale: 0.25 | ||||
|     normalMapFilter: 0 | ||||
|   isReadable: 0 | ||||
|   streamingMipmaps: 0 | ||||
|   streamingMipmapsPriority: 0 | ||||
|   grayScaleToAlpha: 0 | ||||
|   generateCubemap: 6 | ||||
|   cubemapConvolution: 0 | ||||
|   seamlessCubemap: 0 | ||||
|   textureFormat: 1 | ||||
|   maxTextureSize: 2048 | ||||
|   textureSettings: | ||||
|     serializedVersion: 2 | ||||
|     filterMode: -1 | ||||
|     aniso: -1 | ||||
|     mipBias: -100 | ||||
|     wrapU: 1 | ||||
|     wrapV: 1 | ||||
|     wrapW: 1 | ||||
|   nPOTScale: 0 | ||||
|   lightmap: 0 | ||||
|   compressionQuality: 50 | ||||
|   spriteMode: 1 | ||||
|   spriteExtrude: 1 | ||||
|   spriteMeshType: 1 | ||||
|   alignment: 0 | ||||
|   spritePivot: {x: 0.5, y: 0.5} | ||||
|   spritePixelsToUnits: 100 | ||||
|   spriteBorder: {x: 0, y: 0, z: 0, w: 0} | ||||
|   spriteGenerateFallbackPhysicsShape: 1 | ||||
|   alphaUsage: 1 | ||||
|   alphaIsTransparency: 1 | ||||
|   spriteTessellationDetail: -1 | ||||
|   textureType: 8 | ||||
|   textureShape: 1 | ||||
|   singleChannelComponent: 0 | ||||
|   maxTextureSizeSet: 0 | ||||
|   compressionQualitySet: 0 | ||||
|   textureFormatSet: 0 | ||||
|   applyGammaDecoding: 0 | ||||
|   platformSettings: | ||||
|   - serializedVersion: 3 | ||||
|     buildTarget: DefaultTexturePlatform | ||||
|     maxTextureSize: 2048 | ||||
|     resizeAlgorithm: 0 | ||||
|     textureFormat: -1 | ||||
|     textureCompression: 1 | ||||
|     compressionQuality: 50 | ||||
|     crunchedCompression: 0 | ||||
|     allowsAlphaSplitting: 0 | ||||
|     overridden: 0 | ||||
|     androidETC2FallbackOverride: 0 | ||||
|     forceMaximumCompressionQuality_BC6H_BC7: 0 | ||||
|   spriteSheet: | ||||
|     serializedVersion: 2 | ||||
|     sprites: [] | ||||
|     outline: [] | ||||
|     physicsShape: [] | ||||
|     bones: [] | ||||
|     spriteID: 5e97eb03825dee720800000000000000 | ||||
|     internalID: 0 | ||||
|     vertices: [] | ||||
|     indices:  | ||||
|     edges: [] | ||||
|     weights: [] | ||||
|     secondaryTextures: [] | ||||
|   spritePackingTag:  | ||||
|   pSDRemoveMatte: 0 | ||||
|   pSDShowRemoveMatteOption: 0 | ||||
|   userData:  | ||||
|   assetBundleName:  | ||||
|   assetBundleVariant:  | ||||
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 49 KiB | 
|  | @ -0,0 +1,92 @@ | |||
| fileFormatVersion: 2 | ||||
| guid: 4717ef924abc849e18f0fa060a7420d3 | ||||
| TextureImporter: | ||||
|   internalIDToNameTable: [] | ||||
|   externalObjects: {} | ||||
|   serializedVersion: 11 | ||||
|   mipmaps: | ||||
|     mipMapMode: 0 | ||||
|     enableMipMap: 0 | ||||
|     sRGBTexture: 1 | ||||
|     linearTexture: 0 | ||||
|     fadeOut: 0 | ||||
|     borderMipMap: 0 | ||||
|     mipMapsPreserveCoverage: 0 | ||||
|     alphaTestReferenceValue: 0.5 | ||||
|     mipMapFadeDistanceStart: 1 | ||||
|     mipMapFadeDistanceEnd: 3 | ||||
|   bumpmap: | ||||
|     convertToNormalMap: 0 | ||||
|     externalNormalMap: 0 | ||||
|     heightScale: 0.25 | ||||
|     normalMapFilter: 0 | ||||
|   isReadable: 0 | ||||
|   streamingMipmaps: 0 | ||||
|   streamingMipmapsPriority: 0 | ||||
|   grayScaleToAlpha: 0 | ||||
|   generateCubemap: 6 | ||||
|   cubemapConvolution: 0 | ||||
|   seamlessCubemap: 0 | ||||
|   textureFormat: 1 | ||||
|   maxTextureSize: 2048 | ||||
|   textureSettings: | ||||
|     serializedVersion: 2 | ||||
|     filterMode: -1 | ||||
|     aniso: -1 | ||||
|     mipBias: -100 | ||||
|     wrapU: 1 | ||||
|     wrapV: 1 | ||||
|     wrapW: 1 | ||||
|   nPOTScale: 0 | ||||
|   lightmap: 0 | ||||
|   compressionQuality: 50 | ||||
|   spriteMode: 1 | ||||
|   spriteExtrude: 1 | ||||
|   spriteMeshType: 1 | ||||
|   alignment: 0 | ||||
|   spritePivot: {x: 0.5, y: 0.5} | ||||
|   spritePixelsToUnits: 100 | ||||
|   spriteBorder: {x: 0, y: 0, z: 0, w: 0} | ||||
|   spriteGenerateFallbackPhysicsShape: 1 | ||||
|   alphaUsage: 1 | ||||
|   alphaIsTransparency: 1 | ||||
|   spriteTessellationDetail: -1 | ||||
|   textureType: 8 | ||||
|   textureShape: 1 | ||||
|   singleChannelComponent: 0 | ||||
|   maxTextureSizeSet: 0 | ||||
|   compressionQualitySet: 0 | ||||
|   textureFormatSet: 0 | ||||
|   applyGammaDecoding: 0 | ||||
|   platformSettings: | ||||
|   - serializedVersion: 3 | ||||
|     buildTarget: DefaultTexturePlatform | ||||
|     maxTextureSize: 2048 | ||||
|     resizeAlgorithm: 0 | ||||
|     textureFormat: -1 | ||||
|     textureCompression: 1 | ||||
|     compressionQuality: 50 | ||||
|     crunchedCompression: 0 | ||||
|     allowsAlphaSplitting: 0 | ||||
|     overridden: 0 | ||||
|     androidETC2FallbackOverride: 0 | ||||
|     forceMaximumCompressionQuality_BC6H_BC7: 0 | ||||
|   spriteSheet: | ||||
|     serializedVersion: 2 | ||||
|     sprites: [] | ||||
|     outline: [] | ||||
|     physicsShape: [] | ||||
|     bones: [] | ||||
|     spriteID: 5e97eb03825dee720800000000000000 | ||||
|     internalID: 0 | ||||
|     vertices: [] | ||||
|     indices:  | ||||
|     edges: [] | ||||
|     weights: [] | ||||
|     secondaryTextures: [] | ||||
|   spritePackingTag:  | ||||
|   pSDRemoveMatte: 0 | ||||
|   pSDShowRemoveMatteOption: 0 | ||||
|   userData:  | ||||
|   assetBundleName:  | ||||
|   assetBundleVariant:  | ||||
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 1.4 KiB | 
|  | @ -0,0 +1,92 @@ | |||
| fileFormatVersion: 2 | ||||
| guid: 689a549b288e841bd8ccd6abedae2cf4 | ||||
| TextureImporter: | ||||
|   internalIDToNameTable: [] | ||||
|   externalObjects: {} | ||||
|   serializedVersion: 11 | ||||
|   mipmaps: | ||||
|     mipMapMode: 0 | ||||
|     enableMipMap: 0 | ||||
|     sRGBTexture: 1 | ||||
|     linearTexture: 0 | ||||
|     fadeOut: 0 | ||||
|     borderMipMap: 0 | ||||
|     mipMapsPreserveCoverage: 0 | ||||
|     alphaTestReferenceValue: 0.5 | ||||
|     mipMapFadeDistanceStart: 1 | ||||
|     mipMapFadeDistanceEnd: 3 | ||||
|   bumpmap: | ||||
|     convertToNormalMap: 0 | ||||
|     externalNormalMap: 0 | ||||
|     heightScale: 0.25 | ||||
|     normalMapFilter: 0 | ||||
|   isReadable: 0 | ||||
|   streamingMipmaps: 0 | ||||
|   streamingMipmapsPriority: 0 | ||||
|   grayScaleToAlpha: 0 | ||||
|   generateCubemap: 6 | ||||
|   cubemapConvolution: 0 | ||||
|   seamlessCubemap: 0 | ||||
|   textureFormat: 1 | ||||
|   maxTextureSize: 2048 | ||||
|   textureSettings: | ||||
|     serializedVersion: 2 | ||||
|     filterMode: -1 | ||||
|     aniso: -1 | ||||
|     mipBias: -100 | ||||
|     wrapU: 1 | ||||
|     wrapV: 1 | ||||
|     wrapW: 1 | ||||
|   nPOTScale: 0 | ||||
|   lightmap: 0 | ||||
|   compressionQuality: 50 | ||||
|   spriteMode: 1 | ||||
|   spriteExtrude: 1 | ||||
|   spriteMeshType: 1 | ||||
|   alignment: 0 | ||||
|   spritePivot: {x: 0.5, y: 0.5} | ||||
|   spritePixelsToUnits: 100 | ||||
|   spriteBorder: {x: 0, y: 0, z: 0, w: 0} | ||||
|   spriteGenerateFallbackPhysicsShape: 1 | ||||
|   alphaUsage: 1 | ||||
|   alphaIsTransparency: 1 | ||||
|   spriteTessellationDetail: -1 | ||||
|   textureType: 8 | ||||
|   textureShape: 1 | ||||
|   singleChannelComponent: 0 | ||||
|   maxTextureSizeSet: 0 | ||||
|   compressionQualitySet: 0 | ||||
|   textureFormatSet: 0 | ||||
|   applyGammaDecoding: 0 | ||||
|   platformSettings: | ||||
|   - serializedVersion: 3 | ||||
|     buildTarget: DefaultTexturePlatform | ||||
|     maxTextureSize: 2048 | ||||
|     resizeAlgorithm: 0 | ||||
|     textureFormat: -1 | ||||
|     textureCompression: 1 | ||||
|     compressionQuality: 50 | ||||
|     crunchedCompression: 0 | ||||
|     allowsAlphaSplitting: 0 | ||||
|     overridden: 0 | ||||
|     androidETC2FallbackOverride: 0 | ||||
|     forceMaximumCompressionQuality_BC6H_BC7: 0 | ||||
|   spriteSheet: | ||||
|     serializedVersion: 2 | ||||
|     sprites: [] | ||||
|     outline: [] | ||||
|     physicsShape: [] | ||||
|     bones: [] | ||||
|     spriteID: 5e97eb03825dee720800000000000000 | ||||
|     internalID: 0 | ||||
|     vertices: [] | ||||
|     indices:  | ||||
|     edges: [] | ||||
|     weights: [] | ||||
|     secondaryTextures: [] | ||||
|   spritePackingTag:  | ||||
|   pSDRemoveMatte: 0 | ||||
|   pSDShowRemoveMatteOption: 0 | ||||
|   userData:  | ||||
|   assetBundleName:  | ||||
|   assetBundleVariant:  | ||||
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 16 KiB | 
|  | @ -0,0 +1,92 @@ | |||
| fileFormatVersion: 2 | ||||
| guid: 86062d3d3af094019a8a3cb208366af5 | ||||
| TextureImporter: | ||||
|   internalIDToNameTable: [] | ||||
|   externalObjects: {} | ||||
|   serializedVersion: 11 | ||||
|   mipmaps: | ||||
|     mipMapMode: 0 | ||||
|     enableMipMap: 0 | ||||
|     sRGBTexture: 1 | ||||
|     linearTexture: 0 | ||||
|     fadeOut: 0 | ||||
|     borderMipMap: 0 | ||||
|     mipMapsPreserveCoverage: 0 | ||||
|     alphaTestReferenceValue: 0.5 | ||||
|     mipMapFadeDistanceStart: 1 | ||||
|     mipMapFadeDistanceEnd: 3 | ||||
|   bumpmap: | ||||
|     convertToNormalMap: 0 | ||||
|     externalNormalMap: 0 | ||||
|     heightScale: 0.25 | ||||
|     normalMapFilter: 0 | ||||
|   isReadable: 0 | ||||
|   streamingMipmaps: 0 | ||||
|   streamingMipmapsPriority: 0 | ||||
|   grayScaleToAlpha: 0 | ||||
|   generateCubemap: 6 | ||||
|   cubemapConvolution: 0 | ||||
|   seamlessCubemap: 0 | ||||
|   textureFormat: 1 | ||||
|   maxTextureSize: 2048 | ||||
|   textureSettings: | ||||
|     serializedVersion: 2 | ||||
|     filterMode: -1 | ||||
|     aniso: -1 | ||||
|     mipBias: -100 | ||||
|     wrapU: 1 | ||||
|     wrapV: 1 | ||||
|     wrapW: 1 | ||||
|   nPOTScale: 0 | ||||
|   lightmap: 0 | ||||
|   compressionQuality: 50 | ||||
|   spriteMode: 1 | ||||
|   spriteExtrude: 1 | ||||
|   spriteMeshType: 1 | ||||
|   alignment: 9 | ||||
|   spritePivot: {x: 0.58631194, y: 0.515432} | ||||
|   spritePixelsToUnits: 100 | ||||
|   spriteBorder: {x: 0, y: 0, z: 0, w: 0} | ||||
|   spriteGenerateFallbackPhysicsShape: 1 | ||||
|   alphaUsage: 1 | ||||
|   alphaIsTransparency: 1 | ||||
|   spriteTessellationDetail: -1 | ||||
|   textureType: 8 | ||||
|   textureShape: 1 | ||||
|   singleChannelComponent: 0 | ||||
|   maxTextureSizeSet: 0 | ||||
|   compressionQualitySet: 0 | ||||
|   textureFormatSet: 0 | ||||
|   applyGammaDecoding: 0 | ||||
|   platformSettings: | ||||
|   - serializedVersion: 3 | ||||
|     buildTarget: DefaultTexturePlatform | ||||
|     maxTextureSize: 2048 | ||||
|     resizeAlgorithm: 0 | ||||
|     textureFormat: -1 | ||||
|     textureCompression: 1 | ||||
|     compressionQuality: 50 | ||||
|     crunchedCompression: 0 | ||||
|     allowsAlphaSplitting: 0 | ||||
|     overridden: 0 | ||||
|     androidETC2FallbackOverride: 0 | ||||
|     forceMaximumCompressionQuality_BC6H_BC7: 0 | ||||
|   spriteSheet: | ||||
|     serializedVersion: 2 | ||||
|     sprites: [] | ||||
|     outline: [] | ||||
|     physicsShape: [] | ||||
|     bones: [] | ||||
|     spriteID: 5e97eb03825dee720800000000000000 | ||||
|     internalID: 0 | ||||
|     vertices: [] | ||||
|     indices:  | ||||
|     edges: [] | ||||
|     weights: [] | ||||
|     secondaryTextures: [] | ||||
|   spritePackingTag:  | ||||
|   pSDRemoveMatte: 0 | ||||
|   pSDShowRemoveMatteOption: 0 | ||||
|   userData:  | ||||
|   assetBundleName:  | ||||
|   assetBundleVariant:  | ||||
|  | @ -240,9 +240,10 @@ GameObject: | |||
|   serializedVersion: 6 | ||||
|   m_Component: | ||||
|   - component: {fileID: 3320409656134683753} | ||||
|   - component: {fileID: 680149628799017792} | ||||
|   - component: {fileID: 7815373139353427344} | ||||
|   - component: {fileID: 6660189001731691529} | ||||
|   - component: {fileID: 3170654326839881890} | ||||
|   - component: {fileID: 680149628799017792} | ||||
|   m_Layer: 0 | ||||
|   m_Name: MarketManager | ||||
|   m_TagString: Untagged | ||||
|  | @ -265,6 +266,37 @@ Transform: | |||
|   m_Father: {fileID: 3667080857874733261} | ||||
|   m_RootOrder: 0 | ||||
|   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} | ||||
| --- !u!114 &680149628799017792 | ||||
| MonoBehaviour: | ||||
|   m_ObjectHideFlags: 0 | ||||
|   m_CorrespondingSourceObject: {fileID: 0} | ||||
|   m_PrefabInstance: {fileID: 0} | ||||
|   m_PrefabAsset: {fileID: 0} | ||||
|   m_GameObject: {fileID: 8739647597683206087} | ||||
|   m_Enabled: 1 | ||||
|   m_EditorHideFlags: 0 | ||||
|   m_Script: {fileID: 11500000, guid: 772e0346311a433fb714573f207813d2, type: 3} | ||||
|   m_Name:  | ||||
|   m_EditorClassIdentifier:  | ||||
|   walkerInterval: 10 | ||||
|   adWalkerDuration: 60 | ||||
|   adWalkerCount: 20 | ||||
|   tastingCustomerInterval: 5 | ||||
| --- !u!114 &7815373139353427344 | ||||
| MonoBehaviour: | ||||
|   m_ObjectHideFlags: 0 | ||||
|   m_CorrespondingSourceObject: {fileID: 0} | ||||
|   m_PrefabInstance: {fileID: 0} | ||||
|   m_PrefabAsset: {fileID: 0} | ||||
|   m_GameObject: {fileID: 8739647597683206087} | ||||
|   m_Enabled: 1 | ||||
|   m_EditorHideFlags: 0 | ||||
|   m_Script: {fileID: 11500000, guid: 573c945685b348baa1a1ba6aeeb38714, type: 3} | ||||
|   m_Name:  | ||||
|   m_EditorClassIdentifier:  | ||||
|   specialOrderCount: 5 | ||||
|   walkerSpecialRate: 0.01 | ||||
|   customerSpecialRate: 0.01 | ||||
| --- !u!114 &6660189001731691529 | ||||
| MonoBehaviour: | ||||
|   m_ObjectHideFlags: 0 | ||||
|  | @ -280,6 +312,7 @@ MonoBehaviour: | |||
|   customerFlow: {fileID: 680149628799017792} | ||||
|   orderPosisionObject: {fileID: 8461447348824790522} | ||||
|   customerData: {fileID: 3170654326839881890} | ||||
|   customerSetting: {fileID: 7815373139353427344} | ||||
|   customerControllerPrefab: {fileID: 5715829407227760309, guid: 6fbb038c9aae840f2bea57bce30740f7, | ||||
|     type: 3} | ||||
| --- !u!114 &3170654326839881890 | ||||
|  | @ -317,18 +350,6 @@ MonoBehaviour: | |||
|   - {fileID: 1134751513859088931, guid: 09a4786fa1ab00e4b9c5bf9cebf256bc, type: 3} | ||||
|   specialCustomerList: | ||||
|   - {fileID: 5301193561386860206, guid: 72f4243f8f258bc48b42e3ae5e1ba2b5, type: 3} | ||||
| --- !u!114 &680149628799017792 | ||||
| MonoBehaviour: | ||||
|   m_ObjectHideFlags: 0 | ||||
|   m_CorrespondingSourceObject: {fileID: 0} | ||||
|   m_PrefabInstance: {fileID: 0} | ||||
|   m_PrefabAsset: {fileID: 0} | ||||
|   m_GameObject: {fileID: 8739647597683206087} | ||||
|   m_Enabled: 1 | ||||
|   m_EditorHideFlags: 0 | ||||
|   m_Script: {fileID: 11500000, guid: 772e0346311a433fb714573f207813d2, type: 3} | ||||
|   m_Name:  | ||||
|   m_EditorClassIdentifier:  | ||||
| --- !u!1001 &8914311020904666258 | ||||
| PrefabInstance: | ||||
|   m_ObjectHideFlags: 0 | ||||
|  |  | |||
|  | @ -46,7 +46,7 @@ public class Title : MonoBehaviour | |||
|             .Subscribe(t => | ||||
|             { | ||||
|                 // 一般客orセレブ | ||||
|                 var (isSpecial, orderCount) = Market.GetCustomerData(false); | ||||
|                 var (isSpecial, orderCount) = Market.Instance.GetCustomerData(false); | ||||
|      | ||||
|                 // 複数パターンある場合ChooseRandom | ||||
|                 var prefab = isSpecial ? customerData.ChooseSpecialPrefab() : customerData.ChooseNormalPrefab(); | ||||
|  |  | |||
|  | @ -11,10 +11,17 @@ public class CustomerFlow : MonoBehaviour | |||
|     private readonly Subject<IObservable<Unit>> adStartObservable = new Subject<IObservable<Unit>>(); | ||||
|     private IObservable<bool> tastingCustomerObservable; | ||||
|     private static readonly float checkHeartInterval = 1f; | ||||
|     // 歩行者の出現間隔 | ||||
|     private static readonly float walkerInterval = 60f / 6; | ||||
|     // 試食で来るお客さん間隔 | ||||
|     private static readonly float tastingCustomerInterval = 5f; | ||||
|      | ||||
|     [Header("1分間あたりの歩行者数")] | ||||
|     [SerializeField] private float walkerInterval = 60f / 6; | ||||
| 
 | ||||
|     [Header("宣伝時間(秒)")] | ||||
|     [SerializeField] private float adWalkerDuration = 60f; | ||||
|     [Header("宣伝で来るお客さんの数")] | ||||
|     [SerializeField] private int adWalkerCount = 20; | ||||
|      | ||||
|     [Header("試食のお客さん出現間隔(秒)")] | ||||
|     [SerializeField] private float tastingCustomerInterval = 5f; | ||||
| 
 | ||||
|     public IObservable<bool> Flow => walkerObservable.Merge(customerObservable, adWalkerObservable, tastingCustomerObservable); | ||||
|      | ||||
|  | @ -85,8 +92,8 @@ public class CustomerFlow : MonoBehaviour | |||
| 
 | ||||
|     private IObservable<Unit> AdWalkerTimer() | ||||
|     { | ||||
|         return Observable.Interval(TimeSpan.FromSeconds(3f)) | ||||
|             .Take(TimeSpan.FromSeconds(60f)) | ||||
|         return Observable.Timer(TimeSpan.Zero, TimeSpan.FromSeconds(adWalkerDuration/adWalkerCount)) | ||||
|             .Take(TimeSpan.FromSeconds(adWalkerDuration)) | ||||
|             .AsUnitObservable(); | ||||
|     } | ||||
| } | ||||
|  |  | |||
|  | @ -0,0 +1,45 @@ | |||
| using System.Linq; | ||||
| using UnityEngine; | ||||
| 
 | ||||
| namespace MyGame.Scenes.marketing.Scripts | ||||
| { | ||||
|     public class CustomerSetting : MonoBehaviour | ||||
|     { | ||||
|         [SerializeField] private int specialOrderCount = 5; | ||||
|         [SerializeField] private float walkerSpecialRate = .01f; | ||||
|         [SerializeField] private float customerSpecialRate = .01f; | ||||
|          | ||||
|         private static readonly (int want, float weight)[] CustomerWeightTable = { | ||||
|             (1, 75f), | ||||
|             (2, 15f), | ||||
|             (3, 3.5f), | ||||
|             (4, 1.25f), | ||||
|             (5, .25f), | ||||
|             (0, 5f), | ||||
|         }; | ||||
|          | ||||
|         public (bool isSpecial, int orderCount) GetCustomerData (bool isCustomer) | ||||
|         { | ||||
|             var specialRate = isCustomer ? walkerSpecialRate : customerSpecialRate; | ||||
|             var isSpecial = Random.value < specialRate; | ||||
| 
 | ||||
|             // セレブは5個購入固定 | ||||
|             return isSpecial ? (true, specialOrderCount) : (false, GetOrderCount()); | ||||
|         } | ||||
|          | ||||
|         // お客さん出現パターン確率計算と行動パターン計算 | ||||
|         private static int GetOrderCount() | ||||
|         { | ||||
|             var randomPoint = Random.value * CustomerWeightTable.Sum(x => x.weight); | ||||
|             foreach (var value in CustomerWeightTable) | ||||
|             { | ||||
|                 if (randomPoint < value.weight) | ||||
|                 {  | ||||
|                     return value.want; | ||||
|                 } | ||||
|                 randomPoint -= value.weight; | ||||
|             } | ||||
|             return CustomerWeightTable.Last().want; | ||||
|         } | ||||
|     } | ||||
| } | ||||
|  | @ -0,0 +1,3 @@ | |||
| fileFormatVersion: 2 | ||||
| guid: 573c945685b348baa1a1ba6aeeb38714 | ||||
| timeCreated: 1638163510 | ||||
|  | @ -2,6 +2,7 @@ | |||
| using System.Collections; | ||||
| using System.Collections.Generic; | ||||
| using System.Linq; | ||||
| using MyGame.Scenes.marketing.Scripts; | ||||
| using TMPro; | ||||
| using UniRx; | ||||
| using UniRx.Triggers; | ||||
|  | @ -18,21 +19,15 @@ public enum ShopState | |||
| public class Market : SingletonMonoBehaviour<Market> | ||||
| {  | ||||
|     public static readonly int ShopStockCount = 20; | ||||
|     private static readonly int SpecialOrderCount = 5; | ||||
|     private static readonly (int want, float weight)[] CustomerWeightTable = { | ||||
|         (1, 75f), | ||||
|         (2, 15f), | ||||
|         (3, 3.5f), | ||||
|         (4, 1.25f), | ||||
|         (5, .25f), | ||||
|         (0, 5f), | ||||
|     }; | ||||
|     private static readonly float walkerSpecialRate = .01f; | ||||
|     private static readonly float customerSpecialRate = .01f; | ||||
|      | ||||
|     // 購入時アニメーションタイミング | ||||
|     private static readonly float waitSellTime = 1.5f; | ||||
|     private static readonly float waitRefillTime = 1f; | ||||
| 
 | ||||
|     [SerializeField] private CustomerFlow customerFlow; | ||||
|     [SerializeField] private GameObject orderPosisionObject; | ||||
|     [SerializeField] private CustomerData customerData; | ||||
|     [SerializeField] private CustomerSetting customerSetting; | ||||
|     [SerializeField] private CustomerController customerControllerPrefab; | ||||
| 
 | ||||
|     public List<ProductStockData> DisplayFlavors => displayFlavors; | ||||
|  | @ -229,13 +224,13 @@ public class Market : SingletonMonoBehaviour<Market> | |||
|                 } | ||||
|             } | ||||
| 
 | ||||
|             this.CallWaitForSeconds(1.5f, () => | ||||
|             this.CallWaitForSeconds(waitSellTime, () => | ||||
|             { | ||||
|                 sellObservable.OnNext(coin); | ||||
|                 sellOrderSubject.OnNext(orders); | ||||
|                 CheckStock(gameData.ShopStock); | ||||
| 
 | ||||
|                 this.CallWaitForSeconds(1f, () => | ||||
|                 this.CallWaitForSeconds(waitRefillTime, () => | ||||
|                 { | ||||
|                     refillSubject.OnNext((isReorder, refillList)); | ||||
|                     foreach (var controller in customers) | ||||
|  | @ -341,28 +336,9 @@ public class Market : SingletonMonoBehaviour<Market> | |||
|     } | ||||
| 
 | ||||
| 
 | ||||
|     public static (bool isSpecial, int orderCount) GetCustomerData (bool isCustomer) | ||||
|     public (bool isSpecial, int orderCount) GetCustomerData (bool isCustomer) | ||||
|     { | ||||
|         var specialRate = isCustomer ? walkerSpecialRate : customerSpecialRate; | ||||
|         var isSpecial = Random.value < specialRate; | ||||
| 
 | ||||
|         // セレブは5個購入固定 | ||||
|         return isSpecial ? (true, specialOrderCount: SpecialOrderCount) : (false, GetOrderCount()); | ||||
|     } | ||||
|      | ||||
|     // お客さん出現パターン確率計算と行動パターン計算 | ||||
|     private static int GetOrderCount() | ||||
|     { | ||||
|         var randomPoint = Random.value * CustomerWeightTable.Sum(x => x.weight); | ||||
|         foreach (var value in CustomerWeightTable) | ||||
|         { | ||||
|             if (randomPoint < value.weight) | ||||
|             {  | ||||
|                 return value.want; | ||||
|             } | ||||
|             randomPoint -= value.weight; | ||||
|         } | ||||
|         return CustomerWeightTable.Last().want; | ||||
|         return customerSetting.GetCustomerData(isCustomer); | ||||
|     } | ||||
| 
 | ||||
|     private CustomerController SpawnCustomer() | ||||
|  |  | |||
|  | @ -1760,7 +1760,7 @@ Transform: | |||
|   m_PrefabAsset: {fileID: 0} | ||||
|   m_GameObject: {fileID: 438315598} | ||||
|   m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} | ||||
|   m_LocalPosition: {x: 3.72, y: -2.45, z: 0} | ||||
|   m_LocalPosition: {x: 3.68, y: -2.45, z: 0} | ||||
|   m_LocalScale: {x: 1, y: 1, z: 1} | ||||
|   m_Children: | ||||
|   - {fileID: 699827849} | ||||
|  | @ -1809,7 +1809,7 @@ SpriteRenderer: | |||
|   m_SortingLayerID: 0 | ||||
|   m_SortingLayer: 0 | ||||
|   m_SortingOrder: 4 | ||||
|   m_Sprite: {fileID: 21300000, guid: 19e47aa2657cc1f47adfca0ad007a309, type: 3} | ||||
|   m_Sprite: {fileID: 21300000, guid: 86062d3d3af094019a8a3cb208366af5, type: 3} | ||||
|   m_Color: {r: 1, g: 1, b: 1, a: 1} | ||||
|   m_FlipX: 0 | ||||
|   m_FlipY: 0 | ||||
|  | @ -2072,7 +2072,7 @@ Transform: | |||
|   m_PrefabAsset: {fileID: 0} | ||||
|   m_GameObject: {fileID: 456610254} | ||||
|   m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} | ||||
|   m_LocalPosition: {x: -0.32, y: 0.19, z: 0} | ||||
|   m_LocalPosition: {x: -0.22, y: 0.35, z: 0} | ||||
|   m_LocalScale: {x: 1, y: 1, z: 1} | ||||
|   m_Children: [] | ||||
|   m_Father: {fileID: 438315599} | ||||
|  | @ -2117,7 +2117,7 @@ SpriteRenderer: | |||
|   m_SortingLayerID: 0 | ||||
|   m_SortingLayer: 0 | ||||
|   m_SortingOrder: 2 | ||||
|   m_Sprite: {fileID: 21300000, guid: 39338f73bd1e4f443958fdf6e03d345b, type: 3} | ||||
|   m_Sprite: {fileID: 21300000, guid: 689a549b288e841bd8ccd6abedae2cf4, type: 3} | ||||
|   m_Color: {r: 1, g: 1, b: 1, a: 1} | ||||
|   m_FlipX: 0 | ||||
|   m_FlipY: 0 | ||||
|  | @ -7395,7 +7395,7 @@ SpriteRenderer: | |||
|   m_SortingLayerID: 0 | ||||
|   m_SortingLayer: 0 | ||||
|   m_SortingOrder: 5 | ||||
|   m_Sprite: {fileID: 21300000, guid: 7dd324e32c7db624e8c74fea88f45ca7, type: 3} | ||||
|   m_Sprite: {fileID: 21300000, guid: 1c2a241c79997427ba36c3cb6e5e3eba, type: 3} | ||||
|   m_Color: {r: 1, g: 1, b: 1, a: 1} | ||||
|   m_FlipX: 0 | ||||
|   m_FlipY: 0 | ||||
|  | @ -13696,7 +13696,7 @@ Transform: | |||
|   m_PrefabAsset: {fileID: 0} | ||||
|   m_GameObject: {fileID: 1806801954} | ||||
|   m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} | ||||
|   m_LocalPosition: {x: -0.188, y: -0.97, z: 0} | ||||
|   m_LocalPosition: {x: -0.188, y: -1.039, z: 0} | ||||
|   m_LocalScale: {x: 1, y: 1, z: 1} | ||||
|   m_Children: [] | ||||
|   m_Father: {fileID: 438315599} | ||||
|  | @ -19141,7 +19141,7 @@ Transform: | |||
|   m_PrefabAsset: {fileID: 0} | ||||
|   m_GameObject: {fileID: 1987982869} | ||||
|   m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} | ||||
|   m_LocalPosition: {x: -0.39, y: 3.05, z: 0} | ||||
|   m_LocalPosition: {x: -0.39, y: 3.08, z: 0} | ||||
|   m_LocalScale: {x: 1, y: 1, z: 1} | ||||
|   m_Children: [] | ||||
|   m_Father: {fileID: 1482901211} | ||||
|  | @ -19186,7 +19186,7 @@ SpriteRenderer: | |||
|   m_SortingLayerID: 0 | ||||
|   m_SortingLayer: 0 | ||||
|   m_SortingOrder: 6 | ||||
|   m_Sprite: {fileID: 21300000, guid: cee29e082ddcf9743ab95cb745d03b2f, type: 3} | ||||
|   m_Sprite: {fileID: 21300000, guid: 4717ef924abc849e18f0fa060a7420d3, type: 3} | ||||
|   m_Color: {r: 1, g: 1, b: 1, a: 1} | ||||
|   m_FlipX: 0 | ||||
|   m_FlipY: 0 | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue