タンク購入不可時の表示対応
This commit is contained in:
parent
da06a21ca8
commit
c85a448129
|
|
@ -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:
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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<ProductData> productList;
|
||||
private int tankNumberInt;
|
||||
private readonly BoolReactiveProperty isEmply = new BoolReactiveProperty();
|
||||
|
|
@ -49,6 +53,8 @@ public class ProductManagementTankView : MonoBehaviour
|
|||
{
|
||||
var eventTrigger = gameObject.AddComponent<ObservableEventTrigger>();
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue