public void ResetScratchCard() { if (CycleRewardsManager.Instance.CurrentScratchDay != UserDataControl.Instance.UserData.RewardsData.lastClaimedScratch) { currentPrize = prizes[GetRewardByDay]; RawardImage.sprite = currentPrize.sprite; Card.Reset(); } }
private void Awake() { Progress.OnProgress += OnProgress_Handler; if (Card.MainCamera == null) { Card.MainCamera = MainCamera; } if (Card.ScratchSurface == null) { scratchSurfaceMaterial = new Material(MaskShader); scratchSurfaceMaterial.mainTexture = ScratchSurfaceSprite.texture; Card.ScratchSurface = scratchSurfaceMaterial; } if (Card.Eraser == null) { eraserMaterial = new Material(BrushShader); eraserMaterial.mainTexture = EraseTexture; Card.Eraser = eraserMaterial; } if (Card.Progress == null) { progressMaterial = new Material(MaskProgressShader); Card.Progress = progressMaterial; } switch (RenderType) { case ScratchCardRenderType.MeshRenderer: MeshCard.SetActive(true); SpriteCard.SetActive(false); ImageCard.SetActive(false); Card.Surface = MeshCard.transform; MeshCard.GetComponent <Renderer>().material = scratchSurfaceMaterial; break; case ScratchCardRenderType.SpriteRenderer: MeshCard.SetActive(false); SpriteCard.SetActive(true); ImageCard.SetActive(false); Card.Surface = SpriteCard.transform; var sprite = SpriteCard.GetComponent <SpriteRenderer>(); sprite.sprite = ScratchSurfaceSprite; sprite.material = scratchSurfaceMaterial; break; case ScratchCardRenderType.CanvasRenderer: MeshCard.SetActive(false); SpriteCard.SetActive(false); ImageCard.SetActive(true); Card.Surface = ImageCard.transform; var image = ImageCard.GetComponent <Image>(); image.sprite = ScratchSurfaceSprite; image.material = scratchSurfaceMaterial; currentPrize = prizes[GetRewardByDay]; RawardImage.sprite = currentPrize.sprite; break; } }