Messtone LLC Manages(A.I.):

Messtone deployings Unity AI need to move a GameObject towards another one by a given distance, Exaple` x=minion.x+cos(angle)*distance;z=minion.z+sin(angle)*distance; using System;using System.Collections; using System.Collections.Generic; using UnityEngine;using UnityEngine.AI; public class EnemyAI:MonoBehaviour{private float tolerance=1.2f public NavMeshSurface navMesh; private List<GameObject> board;private List<Vector 3>minionDesiredLocations;private int currentMinionIndex=0; private enum State{Draw,Place,GetBoard,Move,MinionMoving}private State state=State.Draw; public GameObject PlaceCard(List<GameObject>hand){//Generate a random integer to see what card to play int randomIndex=(int)UnityEngine.Random.Range(0,hand.Count – 1);Debug.Log(“AI Generated Index: ” + randomIndex);return hand[randomIndex];} private bool MoveMinion(GameObject minion,List<GameObject>enemyMinions){NavMeshAgent minionAgent=minion.GetCompinent<NavMeshAgent>( ); Card minionCard=minion.transform.Find(“Card”).GetComponent<Card>( );Vector3 maPosition=minion.transform.position;//Finding the closest position of the enemy minion float minDistance=100.Of; Vector3 closestMinionPosition=Vector3.negativeInfinity;foreach(GameObject enemyMinion in enemyMinions){//Calculating distance between the enemy AI minion and the enemy float distance=Vector3.Distance(minion.transform.position,enemyMinion.transform.position);if(distance<=minDistance){minDistannce=distance;//Attacking the minion is close to the one if(minDistance<=minionCard.cardRange){float xRange=UnityEngine.Random.Range(-tolerance,tolerance); float yRange=Unity engine.Random.Range(-tolerance,tolerance);closestMinionPosition=enemyMinion.transform.position + new Vector3(xRange, 0, yRange);minionDesiredLocations[currentMinionIndex]=closestMinionPosition;minionAgent.SetDestination(closestMinionPosition);NavMeshHit hit;if(NavMesh.SamplePosition(closestMinionPosition,out hit,1.Of,NavMesh.AllAreas)){minionDesireLocations[currentMinionIndex]=hit.position;minionionAgent.SetDestination(hit.position; return true;}}else{

Leave a comment