From c85a4481295f9a51a7348ffd3cd3f01af81709d5 Mon Sep 17 00:00:00 2001 From: kimura Date: Tue, 7 Dec 2021 15:31:35 +0900 Subject: [PATCH] =?UTF-8?q?=E3=82=BF=E3=83=B3=E3=82=AF=E8=B3=BC=E5=85=A5?= =?UTF-8?q?=E4=B8=8D=E5=8F=AF=E6=99=82=E3=81=AE=E8=A1=A8=E7=A4=BA=E5=AF=BE?= =?UTF-8?q?=E5=BF=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Scenes/marketing/Prefabs/detail.prefab | 65 +------------------ .../marketing/Scripts/ProductManagement.cs | 4 ++ .../Scripts/ProductManagementTankView.cs | 19 +++++- 3 files changed, 22 insertions(+), 66 deletions(-) diff --git a/popcorn/Assets/MyGame/Scenes/marketing/Prefabs/detail.prefab b/popcorn/Assets/MyGame/Scenes/marketing/Prefabs/detail.prefab index 74796d24..59f6c45d 100644 --- a/popcorn/Assets/MyGame/Scenes/marketing/Prefabs/detail.prefab +++ b/popcorn/Assets/MyGame/Scenes/marketing/Prefabs/detail.prefab @@ -754,8 +754,6 @@ GameObject: - component: {fileID: 4519309666120766310} - component: {fileID: 1012908116377367962} - component: {fileID: 3674398196704257451} - - component: {fileID: 6306209999279485786} - - component: {fileID: 7205822850874278242} m_Layer: 5 m_Name: Button_purchase_off m_TagString: Untagged @@ -820,65 +818,6 @@ MonoBehaviour: m_FillOrigin: 0 m_UseSpriteMesh: 0 m_PixelsPerUnitMultiplier: 1 ---- !u!114 &6306209999279485786 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3466150383814718663} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Navigation: - m_Mode: 3 - m_SelectOnUp: {fileID: 0} - m_SelectOnDown: {fileID: 0} - m_SelectOnLeft: {fileID: 0} - m_SelectOnRight: {fileID: 0} - m_Transition: 1 - m_Colors: - m_NormalColor: {r: 1, g: 1, b: 1, a: 1} - m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} - m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} - m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} - m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} - m_ColorMultiplier: 1 - m_FadeDuration: 0 - m_SpriteState: - m_HighlightedSprite: {fileID: 0} - m_PressedSprite: {fileID: 0} - m_SelectedSprite: {fileID: 0} - m_DisabledSprite: {fileID: 0} - m_AnimationTriggers: - m_NormalTrigger: Normal - m_HighlightedTrigger: Highlighted - m_PressedTrigger: Pressed - m_SelectedTrigger: Selected - m_DisabledTrigger: Disabled - m_Interactable: 1 - m_TargetGraphic: {fileID: 3674398196704257451} - m_OnClick: - m_PersistentCalls: - m_Calls: [] ---- !u!114 &7205822850874278242 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3466150383814718663} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 5e732834936f04d48be0ff3fa358563d, type: 3} - m_Name: - m_EditorClassIdentifier: - onClickPlaySEFilename: se_ButtonTap - randomPlaySEFilenames: [] - randomPlayVoiceFilenames: [] - vibrationType: 0 --- !u!1 &4441046490384227346 GameObject: m_ObjectHideFlags: 0 @@ -1649,7 +1588,7 @@ MonoBehaviour: lockedTankNumber: {fileID: 8175998083386752690} price: {fileID: 8175998083146003101} purchaseButton: {fileID: 8175998083657673474} - buttonSubImage: {fileID: 8175998082971778653} + purchaseButtonDisabledObject: {fileID: 3466150383814718663} --- !u!1 &8175998082772346535 GameObject: m_ObjectHideFlags: 0 @@ -2468,7 +2407,7 @@ MonoBehaviour: m_PressedTrigger: Pressed m_SelectedTrigger: Selected m_DisabledTrigger: Disabled - m_Interactable: 1 + m_Interactable: 0 m_TargetGraphic: {fileID: 8175998083657673473} m_OnClick: m_PersistentCalls: diff --git a/popcorn/Assets/MyGame/Scenes/marketing/Scripts/ProductManagement.cs b/popcorn/Assets/MyGame/Scenes/marketing/Scripts/ProductManagement.cs index 3490db47..53e05834 100644 --- a/popcorn/Assets/MyGame/Scenes/marketing/Scripts/ProductManagement.cs +++ b/popcorn/Assets/MyGame/Scenes/marketing/Scripts/ProductManagement.cs @@ -103,6 +103,9 @@ public class ProductManagement : MonoBehaviour consumeType = 2, prefabName = "tank" }; + // 購入可否 + tankView.SetCanBuy(shopData.price <= CoinManager.Instance.OwnCoin); + tankView.PurchaseButtonObservable .Where(_ => shopData.price <= CoinManager.Instance.OwnCoin) .TakeWhile(_ => tankView.State.Value == TankState.Lock || tankView.State.Value == TankState.Unavailable) @@ -121,6 +124,7 @@ public class ProductManagement : MonoBehaviour if (tankView.TankNumber + 1 <= tankList.Count) { tankList[tankView.TankNumber].SetState(TankState.Lock); + tankList[tankView.TankNumber].SetCanBuy(PriceList[tankView.TankNumber] <= CoinManager.Instance.OwnCoin); } }; ShopItemPurchaseView.ShowDialog((shopData, 0), purchaseAction); diff --git a/popcorn/Assets/MyGame/Scenes/marketing/Scripts/ProductManagementTankView.cs b/popcorn/Assets/MyGame/Scenes/marketing/Scripts/ProductManagementTankView.cs index a8b170ac..54542de1 100644 --- a/popcorn/Assets/MyGame/Scenes/marketing/Scripts/ProductManagementTankView.cs +++ b/popcorn/Assets/MyGame/Scenes/marketing/Scripts/ProductManagementTankView.cs @@ -26,12 +26,16 @@ public class ProductManagementTankView : MonoBehaviour [SerializeField] private TankRarityView rarityView; [SerializeField] private Button detailButton; [SerializeField] private GameObject arrow; + // 未購入 [SerializeField] private GameObject lockedTankObject; [SerializeField] private Text lockedTankNumber; [SerializeField] private Text price; [SerializeField] private Button purchaseButton; - [SerializeField] private Image buttonSubImage; + [SerializeField] private GameObject purchaseButtonDisabledObject; + private Color redColor; + private Color defaultColor; + private bool canBuy; private List productList; private int tankNumberInt; private readonly BoolReactiveProperty isEmply = new BoolReactiveProperty(); @@ -49,6 +53,8 @@ public class ProductManagementTankView : MonoBehaviour { var eventTrigger = gameObject.AddComponent(); TankClickObservable = eventTrigger.OnPointerClickAsObservable().TakeUntilDestroy(this).AsUnitObservable(); + defaultColor = price.color; + ColorUtility.TryParseHtmlString(Const.RedColorString, out redColor); } private void Start() @@ -57,7 +63,7 @@ public class ProductManagementTankView : MonoBehaviour detailButtonActive.AddTo(this); state.Subscribe(x => { - tankObject.SetActive(x != TankState.Lock && x != TankState.Unavailable); + tankObject.SetActive(!(x == TankState.Lock || x == TankState.Unavailable)); lockedTankObject.SetActive(x == TankState.Lock || x == TankState.Unavailable); purchaseButton.gameObject.SetActive(x == TankState.Lock); selectedIndicateObject.SetActive(x == TankState.Selected); @@ -115,6 +121,13 @@ public class ProductManagementTankView : MonoBehaviour public void SetPurchaseButtonActive(bool active) { purchaseButton.interactable = active; - buttonSubImage.color = active ? Color.white : purchaseButton.colors.disabledColor; + purchaseButtonDisabledObject.SetActive(state.Value == TankState.Lock && (!active || !canBuy)); + } + + public void SetCanBuy(bool active) + { + canBuy = active; + price.color = active ? defaultColor : Color.red; + SetPurchaseButtonActive(active); } }