Skip to content
Snippets Groups Projects
OpponentController.cs 2.79 KiB
Newer Older
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System;

[RequireComponent(typeof(Animator))]
[RequireComponent(typeof(Rigidbody2D))]
[RequireComponent(typeof(StepBackScript))]
[RequireComponent(typeof(CrossOverScript))]
[RequireComponent(typeof(BehindBackScript))]
[RequireComponent(typeof(IAMovementScript))]
[RequireComponent(typeof(RoubarBolaScript))]
public class OpponentController : Controller
    private GameManager gameManager;
        inputs = new Inputs();
        canMove = true;
        canSkill = true;
        changeTurn();
    }

    private void setup()
    {
        animatorController = GetComponent<Animator>();
        gameManager = FindObjectOfType<GameManager>();
    }

    private void Update()
    {
        /*
        inputs.steal = UnityEngine.Random.Range(0, 2);
        inputs.crossOver = UnityEngine.Random.Range(0, 2);
    public override void changeTurn()
            GetComponent<StepBackScript>().enabled = true;
            GetComponent<CrossOverScript>().enabled = true;
            GetComponent<BehindBackScript>().enabled = true;
            animatorController.SetTrigger("AtkTurn");
            myTurn = false;
            StopCoroutine("defTurn");
            StartCoroutine("atkTurn");    
            GetComponent<RoubarBolaScript>().enabled = true;
            GetComponent<IAMovementScript>().enabled = true;
            animatorController.SetTrigger("DefTurn");
            myTurn = true;
            StopCoroutine("atkTurn");
            StartCoroutine("defTurn");    

    private IEnumerator atkTurn()
    {
        yield return null;
    }

    private IEnumerator defTurn()
    {
        while (true)
        {
            if (rb.velocity == Vector2.zero)
            {
                inputs.steal = UnityEngine.Random.Range(0, 5);
            }
            yield return null;
    }

    public virtual void OnDisable()
    {
        GetComponent<StepBackScript>().enabled = false;
        GetComponent<CrossOverScript>().enabled = false;
        GetComponent<BehindBackScript>().enabled = false;
        GetComponent<RoubarBolaScript>().enabled = false;
        GetComponent<IAMovementScript>().enabled = false;
        animatorController.SetTrigger("Idle");
    }

    public void moveToPosition(Transform atkPosition, Transform defPosition)
    {
        if (myTurn)
        {
            rb.MovePosition(atkPosition.position);
        }
        else
        {
            rb.MovePosition(defPosition.position);
        }
    }