override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) { cat = animator.gameObject; catAI = cat.GetComponent <CatAI>(); opponent = catAI.GetPlayer(); cage = catAI.GetCage(); }
List <Transform> FindVisibleTargets() { List <Transform> visibleObjects = new List <Transform>(); Collider[] objectsInRadius = Physics.OverlapSphere(transform.position, viewRadius, targetMask); for (int i = 0; i < objectsInRadius.Length; i++) { Transform target = objectsInRadius[i].transform; Vector3 direction = (target.position - transform.position).normalized; if (Vector3.Angle(transform.forward, direction) < viewAngle / 2) { RaycastHit hit; if (!Physics.Raycast(transform.position, direction, out hit, viewRadius, obstacleMask)) { visibleObjects.Add(target); CatAI cat = objectsInRadius[i].gameObject.GetComponent <CatAI>(); if (cat != null) { //cat.StopWalking(); } } } } return(visibleObjects); }
public CatBrain(CatAI cat) { this.cat = cat; this.currentActiveState = new RestingState(this.cat); this.physicalState = new CatPhysicalState(); this.mentalState = new MentalState(); this.eventQueue = new EventQueue(EVENT_UPDATE_INTERVAL); }
public CatBrain(CatAI cat, ActiveState initialActiveState) { this.cat = cat; this.currentActiveState = initialActiveState; this.physicalState = new CatPhysicalState(); this.mentalState = new MentalState(); this.eventQueue = new EventQueue(EVENT_UPDATE_INTERVAL); }
public void Run() { AITemplate catAI = new CatAI(); AITemplate dogAI = new DogAI(); catAI.RunTempletePlane(); dogAI.RunTempletePlane(); }
public CuddlingState(CatAI cat) : base(cat) { Debug.Log("Cuddling!"); animator = cat.GetComponent <Animator>(); animator.SetBool("PET", true); lastPet = Time.time; }
// Start is called before the first frame update void Start() { catSprite = GameManager.singleton.GetNewCat(); catSprite.transform.parent = this.gameObject.transform; catSprite.transform.localPosition = Vector3.zero; breedingAparatus = GetComponent <CatMultiply>(); catMove = GetComponent <CatAI>(); }
void BarkAtCats(CatAI cat) { float chase = Random.value; // RandomBarks(cat.gameObject); SingleBark(cat.gameObject); //Make the cat flee! cat.RunFromDog(gameObject.transform); FollowTarget(cat.gameObject.transform, 5f); RandomBarks(); }
private void Awake() { //catAnimation = this.gameObject.GetComponent<Animation>(); emojiManager = this.gameObject.GetComponent <CatEmoji>(); animator = this.gameObject.GetComponent <Animator>(); agent = this.gameObject.GetComponent <NavMeshAgent>(); catAI = this.gameObject.GetComponent <CatAI>(); scoreManager = GameObject.Find("ScorePage").GetComponent <ScoreManager>(); state = State.IDLING; //walkTo(target); touchTimer = 20f; moodPoints = 100; hungryPts = 0; audioSource = this.gameObject.GetComponent <AudioSource>(); }
// Spawns cats in a random location catRadius units away from the initial targeted player private void spawnCats(int numberOfCats) { float catDistance = 360.0f / numberOfCats; float currentAngle = Random.Range(0, 360); for (int i = 0; i < numberOfCats; i++) { float radAngle = currentAngle * Mathf.Deg2Rad; Vector3 position = new Vector3(Mathf.Sin(radAngle) * catRadius, 2, Mathf.Cos(radAngle) * catRadius); GameObject catObj = Instantiate(catPrefab, position, Quaternion.identity, transform); CatAI cat = catObj.GetComponent <CatAI>(); cat.setTargetedPlayer(targetedPlayer); _cats.Add(cat); currentAngle += catDistance; } }
public HuntingState(CatAI cat) : base(cat) { Debug.Log("Hunting for food!"); // setup initial animations/navigation for hunting }
public RestingState(CatAI cat) : base(cat) { Debug.Log("Resting and licking"); animator = cat.GetComponent <Animator>(); }
public ActiveState(CatAI cat) { this.cat = cat; }
public RoamingState(CatAI cat) : base(cat) { Debug.Log("Just roaming"); }