Example #1
0
    protected override void onGrab()
    {
        if (!IsOpened)
        {
            spriteRenderer.sprite = chestOpenSprite;
            spriteRenderer.DOFade(0, 1.5f)
            .SetDelay(0.3f)
            .OnComplete(() => GameObject.Destroy(gameObject));


            Vector3  destPos       = BattleCanvas.Instance.GetScoreTipPanel().transform.position + new Vector3(0.25f, -0.3f, 0);
            Treasure chestTreasure = getRandomChestTreasure();
            chestTreasure.transform.position = new Vector3(transform.position.x - 0.15f, transform.position.y, 0);
            chestTreasure.transform.SetParent(transform.parent);
            chestTreasure.transform
            .DOMoveY(spriteRenderer.sprite.bounds.size.y * 0.5f, 0.35f)
            .SetRelative();

            chestTreasure.transform.localScale = Vector3.zero;
            chestTreasure.transform.DOScale(1, 0.35f);

            chestTreasure.transform
            .DOMove(destPos, Vector3.Distance(chestTreasure.transform.position, destPos) * 0.0045f)
            .SetDelay(2f)
            .OnComplete(() => {
                BattleCanvas.Instance.AddScore(chestTreasure.GetScore());
                GameObject.Destroy(chestTreasure.gameObject);
            });


            IsOpened = true;
        }
    }
Example #2
0
 void OnTriggerEnter2D(Collider2D collision)
 {
     if (collision.tag == "Hook")
     {
         if (miningMachine.Status != MiningMachineStatus.Idle)
         {
             animator.Play("Idle");
             miningMachine.Status = MiningMachineStatus.Idle;
         }
     }
     else if (collision.tag == "Treasures")
     {
         Treasure treasure = collision.GetComponentInParent <Treasure>();
         if (treasure == miningMachine.DragTreasure)
         {
             BattleCanvas.Instance.AddScore(treasure.GetScore());
             miningMachine.DragTreasure = null;
             GameObject.Destroy(treasure.gameObject);
         }
     }
 }