diff --git a/popcorn/Assets/MyGame/Resource/Animation/NormalBody.controller b/popcorn/Assets/MyGame/Resource/Animation/NormalBody.controller index 1b62411a..45e8d096 100644 --- a/popcorn/Assets/MyGame/Resource/Animation/NormalBody.controller +++ b/popcorn/Assets/MyGame/Resource/Animation/NormalBody.controller @@ -1,5 +1,55 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: +--- !u!1101 &-8401196184388869647 +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: WalkFrontEat + m_EventTreshold: 0 + m_DstStateMachine: {fileID: 0} + m_DstState: {fileID: 1218383692422006508} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0 + m_TransitionOffset: 0 + m_ExitTime: 0.75 + m_HasExitTime: 0 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 +--- !u!1101 &-6933872665675759000 +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: WalkSide + m_EventTreshold: 0 + m_DstStateMachine: {fileID: 0} + m_DstState: {fileID: -2685166620078894664} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0 + m_TransitionOffset: 0 + m_ExitTime: 0.75 + m_HasExitTime: 0 + m_HasFixedDuration: 0 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 --- !u!1102 &-6652428263484434225 AnimatorState: serializedVersion: 5 @@ -26,6 +76,25 @@ AnimatorState: m_MirrorParameter: m_CycleOffsetParameter: m_TimeParameter: +--- !u!1107 &-3557210042345114067 +AnimatorStateMachine: + serializedVersion: 5 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: New Layer + m_ChildStates: [] + m_ChildStateMachines: [] + m_AnyStateTransitions: [] + m_EntryTransitions: [] + m_StateMachineTransitions: {} + m_StateMachineBehaviours: [] + m_AnyStatePosition: {x: 50, y: 20, z: 0} + m_EntryPosition: {x: 50, y: 120, z: 0} + m_ExitPosition: {x: 800, y: 120, z: 0} + m_ParentStateMachinePosition: {x: 800, y: 20, z: 0} + m_DefaultState: {fileID: 0} --- !u!1102 &-2685166620078894664 AnimatorState: serializedVersion: 5 @@ -52,32 +121,6 @@ AnimatorState: m_MirrorParameter: m_CycleOffsetParameter: m_TimeParameter: ---- !u!1102 &-2267689134815443191 -AnimatorState: - serializedVersion: 5 - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: customer_nomal_stay_back_look - 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: 8ecc03c0ea9b8b148a20e7c1a1c1a57a, type: 2} - m_Tag: - m_SpeedParameter: - m_MirrorParameter: - m_CycleOffsetParameter: - m_TimeParameter: --- !u!91 &9100000 AnimatorController: m_ObjectHideFlags: 0 @@ -86,7 +129,43 @@ AnimatorController: m_PrefabAsset: {fileID: 0} m_Name: NormalBody serializedVersion: 5 - m_AnimatorParameters: [] + m_AnimatorParameters: + - m_Name: WalkFront + m_Type: 9 + m_DefaultFloat: 0 + m_DefaultInt: 0 + m_DefaultBool: 0 + m_Controller: {fileID: 0} + - m_Name: WalkSide + m_Type: 9 + m_DefaultFloat: 0 + m_DefaultInt: 0 + m_DefaultBool: 0 + m_Controller: {fileID: 0} + - m_Name: WalkBack + m_Type: 9 + m_DefaultFloat: 0 + m_DefaultInt: 0 + m_DefaultBool: 0 + m_Controller: {fileID: 0} + - m_Name: StayBack + m_Type: 9 + m_DefaultFloat: 0 + m_DefaultInt: 0 + m_DefaultBool: 0 + m_Controller: {fileID: 0} + - m_Name: WalkFrontEat + m_Type: 9 + m_DefaultFloat: 0 + m_DefaultInt: 0 + m_DefaultBool: 0 + m_Controller: {fileID: 0} + - m_Name: WalkSideEat + m_Type: 9 + m_DefaultFloat: 0 + m_DefaultInt: 0 + m_DefaultBool: 0 + m_Controller: {fileID: 0} m_AnimatorLayers: - serializedVersion: 5 m_Name: Base Layer @@ -126,6 +205,56 @@ AnimatorState: m_MirrorParameter: m_CycleOffsetParameter: m_TimeParameter: +--- !u!1101 &2879318932547563138 +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: WalkBack + m_EventTreshold: 0 + m_DstStateMachine: {fileID: 0} + m_DstState: {fileID: 6151281156751506126} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0 + m_TransitionOffset: 0 + m_ExitTime: 0.75 + m_HasExitTime: 0 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 +--- !u!1101 &3241850798776372350 +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: WalkFront + m_EventTreshold: 0 + m_DstStateMachine: {fileID: 0} + m_DstState: {fileID: 7772821984771188997} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0 + m_TransitionOffset: 0 + m_ExitTime: 0.75 + m_HasExitTime: 0 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 --- !u!1107 &5568689306204657748 AnimatorStateMachine: serializedVersion: 5 @@ -137,35 +266,41 @@ AnimatorStateMachine: m_ChildStates: - serializedVersion: 1 m_State: {fileID: 7772821984771188997} - m_Position: {x: 200, y: 0, z: 0} + m_Position: {x: 290, y: -70, z: 0} - serializedVersion: 1 m_State: {fileID: 1218383692422006508} - m_Position: {x: 235, y: 65, z: 0} + m_Position: {x: 330, y: 0, z: 0} - serializedVersion: 1 m_State: {fileID: 6151281156751506126} - m_Position: {x: 270, y: 130, z: 0} + m_Position: {x: 360, y: 60, z: 0} - serializedVersion: 1 m_State: {fileID: -6652428263484434225} - m_Position: {x: 305, y: 195, z: 0} + m_Position: {x: 400, y: 130, z: 0} - serializedVersion: 1 m_State: {fileID: -2685166620078894664} - m_Position: {x: 340, y: 260, z: 0} + m_Position: {x: 430, y: 190, z: 0} - serializedVersion: 1 m_State: {fileID: 7323215065137421921} - m_Position: {x: 375, y: 325, z: 0} + m_Position: {x: 470, y: 260, z: 0} - serializedVersion: 1 - m_State: {fileID: -2267689134815443191} - m_Position: {x: 410, y: 390, z: 0} + m_State: {fileID: 7484173205884000859} + m_Position: {x: 310, y: 330, z: 0} m_ChildStateMachines: [] - m_AnyStateTransitions: [] + m_AnyStateTransitions: + - {fileID: 3241850798776372350} + - {fileID: -8401196184388869647} + - {fileID: 2879318932547563138} + - {fileID: 6505056884794429815} + - {fileID: 8021089965930707737} + - {fileID: -6933872665675759000} m_EntryTransitions: [] m_StateMachineTransitions: {} m_StateMachineBehaviours: [] m_AnyStatePosition: {x: 50, y: 20, z: 0} - m_EntryPosition: {x: 50, y: 120, z: 0} + m_EntryPosition: {x: 50, y: 140, z: 0} m_ExitPosition: {x: 800, y: 120, z: 0} m_ParentStateMachinePosition: {x: 800, y: 20, z: 0} - m_DefaultState: {fileID: 7772821984771188997} + m_DefaultState: {fileID: 7484173205884000859} --- !u!1102 &6151281156751506126 AnimatorState: serializedVersion: 5 @@ -192,6 +327,31 @@ AnimatorState: m_MirrorParameter: m_CycleOffsetParameter: m_TimeParameter: +--- !u!1101 &6505056884794429815 +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: StayBack + m_EventTreshold: 0 + m_DstStateMachine: {fileID: 0} + m_DstState: {fileID: -6652428263484434225} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0 + m_TransitionOffset: 0 + m_ExitTime: 0.75 + m_HasExitTime: 0 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 --- !u!1102 &7323215065137421921 AnimatorState: serializedVersion: 5 @@ -218,6 +378,32 @@ AnimatorState: m_MirrorParameter: m_CycleOffsetParameter: m_TimeParameter: +--- !u!1102 &7484173205884000859 +AnimatorState: + serializedVersion: 5 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Wait + 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: 0} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: + m_TimeParameter: --- !u!1102 &7772821984771188997 AnimatorState: serializedVersion: 5 @@ -244,3 +430,28 @@ AnimatorState: m_MirrorParameter: m_CycleOffsetParameter: m_TimeParameter: +--- !u!1101 &8021089965930707737 +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: WalkSideEat + m_EventTreshold: 0 + m_DstStateMachine: {fileID: 0} + m_DstState: {fileID: 7323215065137421921} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0 + m_TransitionOffset: 0 + m_ExitTime: 0.75 + m_HasExitTime: 0 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 diff --git a/popcorn/Assets/MyGame/Resource/Animation/heart.controller b/popcorn/Assets/MyGame/Resource/Animation/heart.controller index 8a35f64c..d9c7781a 100644 --- a/popcorn/Assets/MyGame/Resource/Animation/heart.controller +++ b/popcorn/Assets/MyGame/Resource/Animation/heart.controller @@ -1,5 +1,27 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: +--- !u!1101 &-917989621425119279 +AnimatorStateTransition: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_Conditions: [] + m_DstStateMachine: {fileID: 0} + m_DstState: {fileID: 7770551281916087710} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0 + m_TransitionOffset: 0 + m_ExitTime: 1 + m_HasExitTime: 1 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 --- !u!91 &9100000 AnimatorController: m_ObjectHideFlags: 0 @@ -8,7 +30,13 @@ AnimatorController: m_PrefabAsset: {fileID: 0} m_Name: heart serializedVersion: 5 - m_AnimatorParameters: [] + m_AnimatorParameters: + - m_Name: BigHeart + m_Type: 9 + m_DefaultFloat: 0 + m_DefaultInt: 0 + m_DefaultBool: 0 + m_Controller: {fileID: 0} m_AnimatorLayers: - serializedVersion: 5 m_Name: Base Layer @@ -32,7 +60,8 @@ AnimatorState: m_Name: heart m_Speed: 1 m_CycleOffset: 0 - m_Transitions: [] + m_Transitions: + - {fileID: -917989621425119279} m_StateMachineBehaviours: [] m_Position: {x: 50, y: 50, z: 0} m_IKOnFeet: 0 @@ -48,6 +77,31 @@ AnimatorState: m_MirrorParameter: m_CycleOffsetParameter: m_TimeParameter: +--- !u!1101 &6818666326688946123 +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: BigHeart + m_EventTreshold: 0 + m_DstStateMachine: {fileID: 0} + m_DstState: {fileID: 224529198616294665} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0 + m_TransitionOffset: 0 + m_ExitTime: 0.75 + m_HasExitTime: 0 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 --- !u!1107 &7516647177462776758 AnimatorStateMachine: serializedVersion: 5 @@ -59,9 +113,13 @@ AnimatorStateMachine: m_ChildStates: - serializedVersion: 1 m_State: {fileID: 224529198616294665} - m_Position: {x: 200, y: 0, z: 0} + m_Position: {x: 270, y: 0, z: 0} + - serializedVersion: 1 + m_State: {fileID: 7770551281916087710} + m_Position: {x: 280, y: 120, z: 0} m_ChildStateMachines: [] - m_AnyStateTransitions: [] + m_AnyStateTransitions: + - {fileID: 6818666326688946123} m_EntryTransitions: [] m_StateMachineTransitions: {} m_StateMachineBehaviours: [] @@ -69,4 +127,30 @@ AnimatorStateMachine: m_EntryPosition: {x: 50, y: 120, z: 0} m_ExitPosition: {x: 800, y: 120, z: 0} m_ParentStateMachinePosition: {x: 800, y: 20, z: 0} - m_DefaultState: {fileID: 224529198616294665} + m_DefaultState: {fileID: 7770551281916087710} +--- !u!1102 &7770551281916087710 +AnimatorState: + serializedVersion: 5 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Wait + 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: 0} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: + m_TimeParameter: diff --git a/popcorn/Assets/MyGame/Scenes/marketing/Scripts/Market.cs b/popcorn/Assets/MyGame/Scenes/marketing/Scripts/Market.cs index fd7f605b..b0be6fe1 100644 --- a/popcorn/Assets/MyGame/Scenes/marketing/Scripts/Market.cs +++ b/popcorn/Assets/MyGame/Scenes/marketing/Scripts/Market.cs @@ -4,14 +4,15 @@ using System.Collections.Generic; using System.Linq; using UniRx; using UnityEngine; +using Random = UnityEngine.Random; public class Market : MonoBehaviour { - public static readonly int ShopStockCount = 21; + public static readonly int ShopStockCount = 20; [SerializeField] private ShopStockView stockView; - [SerializeField] private MarketCartView cartView; + // Start is called before the first frame update void Start() { @@ -25,71 +26,112 @@ public class Market : MonoBehaviour StockFlavorLog(); - cartView.SetStock(GameDataManager.GameData.ShopStock); + // 陳列 + var displayFlavors = gameData.ShopStock.Select(x => x).ToList(); + cartView.SetStock(displayFlavors); + + // 売り順決定 + var shuffledOrder = ShuffleOrder(displayFlavors.Count); // お客さんの出現タイミング(10秒間に1回) Observable.Timer(TimeSpan.FromSeconds(2f), TimeSpan.FromSeconds(10f)) .Subscribe(_ => { // 品切れ - if (GameDataManager.GameData.ShopStock.Count == 0) + if (gameData.ShopStock.Count == 0) { return; } - // 店頭の先頭から売る - var id = GameDataManager.GameData.ShopStock[0]; - GameDataManager.GameData.ShopStock.RemoveAt(0); + // shuffledOrder順に販売 + var orderNum = shuffledOrder[0]; + shuffledOrder.RemoveAt(0); + var targetFlavorId = displayFlavors[orderNum]; + Debug.Log($"sell:{orderNum} flavor:{targetFlavorId} {shuffledOrder.Count}"); + + cartView.SellStock(orderNum); + var targetIndex = gameData.ShopStock.FindIndex(x => x == targetFlavorId); + var stockData = gameData.ShopStock[targetIndex]; + gameData.ShopStock.RemoveAt(targetIndex); + + // コイン獲得 var bonusRate = 0; - var flavor = allRecipe.First(x => x.RecipeId == id); + var flavor = allRecipe.First(x => x.RecipeId == stockData); CoinManager.Instance.AddCoinWithEffect(flavor.Price * (1 + bonusRate / 100), () => { }); - // 売上反映 - GameDataManager.GameData.coin = CoinManager.Instance.OwnCoin; + gameData.coin = CoinManager.Instance.OwnCoin; GameDataManager.SaveGameData(); - cartView.SellStock(); + // 自動補充 refill - RefillProduct(); - stockView.SetStock(GameDataManager.GameData.StorageTanks); - cartView.SetStock(GameDataManager.GameData.ShopStock); + RefillOneProduct(); + var setStockFlag = false; + // 補充された場合フレーバー再設定 + if (gameData.ShopStock.Count == ShopStockCount) + { + shuffledOrder.Add(orderNum); + displayFlavors[orderNum] = gameData.ShopStock.Last(); + } + else if (gameData.ShopStock.Count <= 13 && shuffledOrder.Exists(x => x > 13)) + { + displayFlavors = gameData.ShopStock.Select(x => x).ToList(); + shuffledOrder = ShuffleOrder(displayFlavors.Count); + setStockFlag = true; + } + else if (gameData.ShopStock.Count <= 7 && shuffledOrder.Exists(x => x > 7)) + { + displayFlavors = gameData.ShopStock.Select(x => x).ToList(); + shuffledOrder = ShuffleOrder(displayFlavors.Count); + setStockFlag = true; + } + + // 表示更新 + this.CallWaitForSeconds(1f, () => + { + stockView.SetStock(gameData.StorageTanks); + if (gameData.ShopStock.Count == ShopStockCount) + { + // 補充したフレーバーのスキンを設定 + cartView.Refill(orderNum, displayFlavors[orderNum]); + } + else if (setStockFlag) + { + cartView.SetStock(displayFlavors); + } + }); + StockFlavorLog(); }).AddTo(this); } - private void RefillProduct() + private List ShuffleOrder(int length) { - // 店頭に補充 - // 手前のタンクから出し多分stockをへらす - // へらした分を店頭リストに追加する - // 店頭とタンクのフレーバーの扱いが違うのに注意 - // 店頭にはフレーバーごとに並び順があるのでリストに1つづつ入れる必要がある - var gameData = GameDataManager.GameData; - var shopSpace = ShopStockCount - gameData.ShopStock.Count; - var index = 0; - var tankCount = gameData.StorageTanks.Count; - while (shopSpace > 0) + return Enumerable.Range(0, length) + .OrderBy(_ => Random.value).ToList(); + } + + private void RefillOneProduct() + { + foreach (var tank in GameDataManager.GameData.StorageTanks) { - if (index > tankCount - 1) + if (tank.Stock == 0) + { + continue; + } + if (GameDataManager.GameData.ShopStock.Count == ShopStockCount) { break; } - var tank = gameData.StorageTanks[index]; - var stockCount = Mathf.Min(shopSpace, tank.Stock); - gameData.ShopStock.AddRange(Enumerable.Repeat(tank.FlavorId, stockCount)); - shopSpace -= stockCount; - tank.Stock -= stockCount; - gameData.StorageTanks[index] = tank; - index++; + GameDataManager.GameData.ShopStock.Add(tank.FlavorId); + tank.Stock--; } GameDataManager.SaveGameData(); } public static void StockFlavorLog() { - var gameData = GameDataManager.GameData; var shopStockString = ""; foreach (var data in RecipeData.GetAllRecipe()) { - var shopStockCount = gameData.ShopStock.FindAll(x => x == data.RecipeId).Count; - var tank = gameData.StorageTanks.FindAll(x => x.FlavorId == data.RecipeId).Sum(x => x.Stock); + var shopStockCount = GameDataManager.GameData.ShopStock.FindAll(x => x == data.RecipeId).Count; + var tank = GameDataManager.GameData.StorageTanks.FindAll(x => x.FlavorId == data.RecipeId).Sum(x => x.Stock); if (shopStockCount + tank == 0) { continue; diff --git a/popcorn/Assets/MyGame/Scenes/marketing/Scripts/MarketCartView.cs b/popcorn/Assets/MyGame/Scenes/marketing/Scripts/MarketCartView.cs index d60c316b..ac371eab 100644 --- a/popcorn/Assets/MyGame/Scenes/marketing/Scripts/MarketCartView.cs +++ b/popcorn/Assets/MyGame/Scenes/marketing/Scripts/MarketCartView.cs @@ -18,21 +18,25 @@ public class MarketCartView : MonoBehaviour { ResetDisplay(); // 陳列 - var i = 0; - foreach (var flavor in shopStock) + for (int i = 0; i < shopStock.Count; i++) { var popcorn = popcornPositions[i]; - popcorn.ChangeSkin(flavor); + popcorn.ChangeSkin(shopStock[i]); this.CallWaitForSeconds(.05f * i, () => { popcorn.gameObject.SetActive(true); }); - i++; } } - public void SellStock() + public void Refill(int index, int flavor) { - popcornPositions[0].gameObject.SetActive(false); + popcornPositions[index].ChangeSkin(flavor); + popcornPositions[index].gameObject.SetActive(true); + } + + public void SellStock(int index) + { + popcornPositions[index].gameObject.SetActive(false); } } diff --git a/popcorn/Assets/MyGame/Scenes/marketing/Scripts/MarketPopcornView.cs b/popcorn/Assets/MyGame/Scenes/marketing/Scripts/MarketPopcornView.cs index 680da764..eccfa817 100644 --- a/popcorn/Assets/MyGame/Scenes/marketing/Scripts/MarketPopcornView.cs +++ b/popcorn/Assets/MyGame/Scenes/marketing/Scripts/MarketPopcornView.cs @@ -1,15 +1,26 @@ +using System; using UnityEngine; public class MarketPopcornView : MonoBehaviour { [SerializeField] private SpriteRenderer popcornRenderer; [SerializeField] private Sprite caramelSprite; - + private Sprite defaultSkin; + + private void Awake() + { + defaultSkin = popcornRenderer.sprite; + } + public void ChangeSkin(int flavor) { if (flavor == 2) { popcornRenderer.sprite = caramelSprite; } + else + { + popcornRenderer.sprite = defaultSkin; + } } }