Exemplo n.º 1
0
        public virtual IBrain getDieBrain(GameLib.Entity.NonPlayerCharacter.AICharacter character)
        {
            IBrain newBrain = new Die();

            newBrain.init(character);
            return(newBrain);
        }
Exemplo n.º 2
0
 public override void init(GameLib.Entity.NonPlayerCharacter.AICharacter character)
 {
     player = GameObject.FindGameObjectWithTag("Player");
     //Initialize your attributes or other necessities below.
     character.State = character.Entity.getBehaviourStateFactory().getIdleState(character.Entity);
     ((NonPlayerCharacter.Dog)character).trigger.enabled = true;
 }
Exemplo n.º 3
0
        public override IBrain getMoveBrain(GameLib.Entity.NonPlayerCharacter.AICharacter character)
        {
            IBrain noBrain = new Move();

            noBrain.init(character);
            return(noBrain);
        }
Exemplo n.º 4
0
        public override void update(GameLib.Entity.NonPlayerCharacter.AICharacter character)
        {
            //Add your code below.

            KeysPressed keysPressed = character.getEntity().getKeysPressed();

            keysPressed.reset();

            if (isWaiting)
            {
                if (character.transform.position.x > player.transform.position.x)
                {
                    character.SpriteRenderer.flipX = true;
                }
                if (character.transform.position.x < player.transform.position.x)
                {
                    character.SpriteRenderer.flipX = false;
                }
            }
            else
            {
                if (newPosition.x > 0.0f)
                {
                    keysPressed.right = true;
                }
                if (newPosition.x < 0.0f)
                {
                    keysPressed.left = true;
                }
                if (newPosition.y > 0.0f)
                {
                    keysPressed.up = true;
                }
                if (newPosition.y < 0.0f)
                {
                    keysPressed.down = true;
                }
            }
            character.KeysPressed = keysPressed;

            maxTimeForWalking -= Time.deltaTime;
            if (!isWaiting && maxTimeForWalking < 0.0f)
            {
                maxTimeForWalking = Random.Range(0.50f, 2.0f);
                isWaiting         = true;
            }
            else if (isWaiting && maxTimeForWalking < 0.0f)
            {
                character.AiCharacterController.switchBrain(((BrainFactory)character.AiCharacterController.Factory).getAttackBrain(character));
            }
        }
Exemplo n.º 5
0
        public override void update(GameLib.Entity.NonPlayerCharacter.AICharacter character)
        {
            //Add your code below.

            KeysPressed keysPressed = character.getEntity().getKeysPressed();

            keysPressed.reset();
            character.KeysPressed = keysPressed;

            respawnTimer -= Time.deltaTime;
            if (respawnTimer < 0.0f)
            {
                Sun sun = GameObject.FindGameObjectWithTag("Sun").GetComponent <Sun>();
                sun.respawn(character.gameObject);
            }
        }
Exemplo n.º 6
0
        public override void init(GameLib.Entity.NonPlayerCharacter.AICharacter character)
        {
            player = GameObject.FindGameObjectWithTag("Player");
            //Initialize your attributes or other necessities below.

            if (Random.value >= 0.501f)
            {
                newPosition.x = player.transform.position.x + Random.Range(-20.0f, 20.0f);
            }
            else
            {
                newPosition.y = player.transform.position.y + Random.Range(-20.0f, 20.0f);
            }

            maxTimeForWalking       = Random.Range(0.20f, 0.70f);
            character.MovementSpeed = 2.0f;
            isWaiting = false;
        }
Exemplo n.º 7
0
        public override void update(GameLib.Entity.NonPlayerCharacter.AICharacter character)
        {
            //Add your code below.
            //            Debug.Log("Dog is attacking");

            //1 if in position do the attack
            posTar = ((NonPlayerCharacter.Dog)character).target.transform.position;
            pos    = ((NonPlayerCharacter.Dog)character).transform.position;

            KeysPressed keysPressed = character.getEntity().getKeysPressed();

            keysPressed.reset();

            attackCoolDown -= Time.deltaTime;

            if (attackCoolDown <= 0.0f && maxAttackDistance >= Vector2.Distance(posTar,
                                                                                pos))
            {
                attackCoolDown     = Random.Range(2.0f, 4.0f);
                keysPressed.attack = true;
            }

            if ((pos.y) < (posTar.y - 0.1f))
            {
                keysPressed.up = true;
            }
            if (pos.y > (posTar.y + 0.1f))
            {
                keysPressed.down = true;
            }
            if (pos.x < (posTar.x - 0.1f))
            {
                keysPressed.right = true;
            }
            if (pos.x > (posTar.x + 0.1f))
            {
                keysPressed.left = true;
            }
            character.KeysPressed = keysPressed;
        }
Exemplo n.º 8
0
 public override void init(GameLib.Entity.NonPlayerCharacter.AICharacter character)
 {
     player = GameObject.FindGameObjectWithTag("Player");
     //Initialize your attributes or other necessities below.
     respawnTimer = UnityEngine.Random.Range(4.0f, 5.50f);
 }
Exemplo n.º 9
0
 public override void update(GameLib.Entity.NonPlayerCharacter.AICharacter character)
 {
     //Add your code below.
 }
Exemplo n.º 10
0
 public override void init(GameLib.Entity.NonPlayerCharacter.AICharacter character)
 {
     //Initialize your attributes or other necessities below.
     character.MovementSpeed = 5.0f;
 }