カスタマイズ機能入手パターン追加対応

This commit is contained in:
kimura 2022-08-09 15:21:15 +09:00
parent 2f494942f1
commit 54a9627471
4 changed files with 262 additions and 1118 deletions

View File

@ -1341,6 +1341,8 @@ MonoBehaviour:
selectedObject: {fileID: 7345703844887354918}
selectedFrameObject: {fileID: 1107814534788598305}
unselectedObject: {fileID: 1101663351218072558}
iconWingObject: {fileID: 9136989294876732286}
iconChiliObject: {fileID: 1229513145285640295}
unlockLevelText: {fileID: 2013268342774345650}
priceText: {fileID: 9136989294777611129}
iconTarget: {fileID: 1400898384260248944}

View File

@ -22,6 +22,8 @@ namespace MyGame.Scenes.marketing.Scripts
[SerializeField] private GameObject selectedObject;
[SerializeField] private GameObject selectedFrameObject;
[SerializeField] private GameObject unselectedObject;
[SerializeField] private GameObject iconWingObject;
[SerializeField] private GameObject iconChiliObject;
[SerializeField] private Text unlockLevelText;
[SerializeField] private Text priceText;
[SerializeField] private Transform iconTarget;
@ -100,6 +102,8 @@ namespace MyGame.Scenes.marketing.Scripts
priceText.text = customizeData.price.ToString();
iconTarget.DestroyAllChildrens();
Instantiate(customizeData.GetIconPrefab(), iconTarget);
iconWingObject.SetActive(customizeData.PriceType == ShopCustomizePriceType.Coin);
iconChiliObject.SetActive(customizeData.PriceType == ShopCustomizePriceType.TotalScore1);
}
}
}

View File

@ -18,14 +18,18 @@ namespace MyGame.Scenes.marketing.Scripts
[SerializeField] private Animator backgroundAnimator;
[SerializeField] private Button closeButton;
[SerializeField] private Button closeButton2;
[SerializeField] private ButtonOnOff goToMiniGameButton;
[SerializeField] private ButtonOnOff purchaseButton;
[SerializeField] private Text nameText;
[SerializeField] private Text textText;
[SerializeField] private Text priceText;
[SerializeField] private Text wingPriceText;
[SerializeField] private Text needScoreText;
[SerializeField] private Transform imageTransform;
[SerializeField] private Transform detailImageTransform;
[SerializeField] private GameObject purchaseObject;
[SerializeField] private GameObject detailObject;
[SerializeField] private GameObject wingPriceObject;
[SerializeField] private GameObject needScoreObject;
[SerializeField] private float defaultHeight;
[SerializeField] private float tallHeight;
private void Start()
{
@ -47,18 +51,31 @@ namespace MyGame.Scenes.marketing.Scripts
LocalCacheManager.Remove(PurchaseCallbackTag);
TransitionManager.Instance.UnloadScene(GameScenes.CustomizationPurchase);
}).AddTo(this);
goToMiniGameButton.OnClickObservable.Take(1).Subscribe(_ =>
{
LocalCacheManager.Remove(PurchaseCallbackTag);
TransitionManager.Instance.UnloadScene(GameScenes.CustomizationPurchase);
TransitionManager.Instance.LoadScene(GameScenes.MiniGame);
}).AddTo(this);
var detailMode = LocalCacheManager.Load<bool>(DetailModeTag);
purchaseObject.SetActive(!detailMode);
detailObject.SetActive(detailMode);
var windowRT = transform as RectTransform;
var windowDelta = windowRT.sizeDelta;
windowDelta.y = customizeData.PriceType == ShopCustomizePriceType.TotalScore1 ? tallHeight : defaultHeight;
windowRT.sizeDelta = windowDelta;
wingPriceObject.SetActive(!detailMode && customizeData.PriceType == ShopCustomizePriceType.Coin);
needScoreObject.SetActive(!detailMode && customizeData.PriceType == ShopCustomizePriceType.TotalScore1);
purchaseButton.SetActive(GameDataManager.GameData.ShopCustomizeCoin >= customizeData.price);
purchaseButton.gameObject.SetActive(customizeData.PriceType == ShopCustomizePriceType.Coin);
goToMiniGameButton.gameObject.SetActive(customizeData.PriceType == ShopCustomizePriceType.TotalScore1);
nameText.text = customizeData.Name;
textText.text = customizeData.Text;
priceText.text = customizeData.price.ToString();
wingPriceText.text = customizeData.price.ToString();
needScoreText.text = customizeData.price.ToString();
imageTransform.DestroyAllChildrens();
Instantiate(customizeData.GetIconPrefab(), imageTransform);
detailImageTransform.DestroyAllChildrens();
Instantiate(customizeData.GetIconPrefab(), detailImageTransform);
(detailMode ? detailImageTransform : imageTransform).gameObject.SetActive(true);
Instantiate(customizeData.GetIconPrefab(), detailMode ? detailImageTransform : imageTransform);
}
public static void ShowDialog(ShopCustomizeData customizeData, bool detailMode, Action onPurchase = null, Action onClose = null){