Newer
Older
TEST / Assets / Scripts / Item.cs
@a_kuznecov a_kuznecov on 20 Jun 2023 2 KB First Commit
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using static UnityEngine.GraphicsBuffer;

public class Item : MonoBehaviour
{
    public bool OnTwoPanel;
    public bool isMove;
    public bool StayInCell;
    public bool StayInCell2;
    public int ItemID;
    public Transform itemSprite;
    private Transform moveToPosition;


    void FixedUpdate()
    {
        if (OnTwoPanel)
        {
            RaycastHit2D hit = Physics2D.Raycast(new Vector2(transform.position.x, transform.position.y - 1f), Vector2.down);
            if (hit.collider != null)
            {
                if (hit.collider.GetComponent<Cell2>())
                {
                   // transform.parent = hit.collider.transform;
                    if (hit.collider.GetComponent<Cell2>().ItemInCell == null || hit.collider.GetComponent<Cell2>().ItemInCell == this)
                    {
                        moveToPosition = hit.collider.transform;
                        isMove = true;
                    }
                }
            }
        }
        if (!OnTwoPanel)
        {
            RaycastHit2D hit = Physics2D.Raycast(new Vector2(transform.position.x, transform.position.y - 1f), Vector2.down);
            if (hit.collider != null)
            {
                if (hit.collider.GetComponent<Cell>())
                {
                    transform.parent = hit.collider.transform;
                    if (hit.collider.GetComponent<Cell>().ItemInCell == null || hit.collider.GetComponent<Cell>().ItemInCell == this)
                    {
                        moveToPosition = hit.collider.transform;
                        isMove = true;
                    }
                }
            }
        }
        if (isMove)
        {
            transform.position = Vector3.MoveTowards(transform.position, moveToPosition.position, 5 * Time.deltaTime);
        }
    }

    public void startDeadAnimation(Transform deadPosition, GameObject wind, bool isTwoField)
    {
        itemSprite.parent = null;
        itemSprite.GetComponent<DeadAnimation>().WinMouch = wind;
        itemSprite.GetComponent<DeadAnimation>().OnTwoField = true;
        itemSprite.GetComponent<DeadAnimation>().MouthPosition = deadPosition;
        itemSprite.GetComponent<DeadAnimation>().ChekAnimationPlaying();
    }
}