ProjectAstero 03 – Border Mechanics


Hi,

In this video we are going to make proper border mechanics for our game,

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Tut_TransferGameObjects : MonoBehaviour
{
    bool ReadyForTransfer;

    private void Start()
    {
        ReadyForTransfer = true;
    }
    public void Transfer(string _borderTag)
    {
        switch (_borderTag)
        {
            case "LeftBorder":
                transform.position = new Vector2((-1) * transform.position.x, transform.position.y);          
                break;
            case "RightBorder":
                transform.position = new Vector2((-1) * transform.position.x, transform.position.y);
                break;
            case "TopBorder":
                transform.position = new Vector2( transform.position.x, (-1) * transform.position.y);
                break;
            case "BottomBorder":
                transform.position = new Vector2(transform.position.x, (-1) * transform.position.y);
                break;
        }
    }

    private void OnTriggerEnter2D(Collider2D collision)
    {
        if (ReadyForTransfer)
        {
            Transfer(collision.tag);
            ReadyForTransfer = false;
            StartCoroutine(BecomeReadyForTransfer());
        }
        
    }

    IEnumerator BecomeReadyForTransfer()
    {
        yield return new WaitForSeconds(0.1f);
        ReadyForTransfer = true;
    }
}

Leave a Reply

Your email address will not be published. Required fields are marked *