示例#1
0
 void Start()
 {
     resources    = GetComponent <PlayerResources>();
     noDrillMask  = ~LayerMask.GetMask("Player");
     baseCooldown = drillAttackCooldown.Frequency;
     aiMovement   = GetComponent <AiMovement>();
 }
示例#2
0
 private void OnTriggerEnter2D(Collider2D other)
 {
     if (other.CompareTag("PatrolTurnPoint"))
     {
         currentMovement = Turn();
     }
 }
示例#3
0
    // Use this for initialization
    void Start()
    {
        while (sidekick == null)
        {
            sidekick = GameObject.FindGameObjectWithTag(Constants.Tags.SideKick);
            //   Debug.Log(sidekick);
        }
        sidekickMovement = sidekick.GetComponent <AiMovement>();


        while (player == null)
        {
            player = GameObject.FindGameObjectWithTag(Constants.Tags.Player);
            //   Debug.Log(player);
        }

        if (UseObstacle)
        {
            obstacle = GameObject.FindGameObjectWithTag("Obstacle");
            obstacle.GetComponent <NavMeshObstacle>().enabled = false;
        }

        speech = GameObject.FindGameObjectWithTag(Constants.Tags.SpeechCanvas).GetComponent <InteractableSpeechBubble>();
        //sidekick.GetComponent<SidekickControls>().enabled = false;
        //sidekick.GetComponent<SidekickControls>().enabled = false;
        //sidekick.GetComponent<SidekickControls>().enabled = false;
    }
        private bool _canMove       = false;            // allowing player to move
        // Use this for initialization
        void Start()
        {
            _agent = GetComponent <NavMeshAgent>();
            _ai    = GetComponent <AiMovement>();
            //    _uiControl = GameObject.FindGameObjectWithTag(Constants.Tags.GameUI).GetComponent<UiController>();

            movementLight = (GameObject)Instantiate(MovementLight, Vector3.zero, Quaternion.identity);
        }
示例#5
0
        private void Start()
        {
            MapGroundCheckers();
            MapHandsInteractions();
            characterController = GetComponent <CharacterController>();
            currentMovement     = PickMovement();

            turnChecker.LeftSurface += () => { currentMovement = Turn(); };
        }
示例#6
0
        private void OnHandCollisionEnter2D(Collision2D other)
        {
            if (!other.gameObject.CompareTag("Level Tiles"))
            {
                return;
            }

            currentMovement = Turn();
        }
    //float speed;

    void Start()
    {
        _ai                           = GameObject.FindGameObjectWithTag(Constants.Tags.SideKick).GetComponent <AiMovement>();
        _player                       = GameObject.FindGameObjectWithTag(Constants.Tags.Player).GetComponent <NavMeshAgent>();
        _sideKickAgent                = GameObject.FindGameObjectWithTag(Constants.Tags.SideKick).GetComponent <NavMeshAgent>();
        _playerMovementScript         = GameObject.FindGameObjectWithTag(Constants.Tags.Player).GetComponent <PlayerMovement>();
        _playerMovementScript.enabled = PlayerCanAct;
        GoToNextWaypoint();
    }
示例#8
0
 //float speed;
 void Start()
 {
     _ai = GameObject.FindGameObjectWithTag(Constants.Tags.SideKick).GetComponent<AiMovement>();
     _player = GameObject.FindGameObjectWithTag(Constants.Tags.Player).GetComponent<NavMeshAgent>();
     _sideKickAgent = GameObject.FindGameObjectWithTag(Constants.Tags.SideKick).GetComponent<NavMeshAgent>();
     _playerMovementScript = GameObject.FindGameObjectWithTag(Constants.Tags.Player).GetComponent<PlayerMovement>();
     _playerMovementScript.enabled = PlayerCanAct;
     GoToNextWaypoint();
 }
    // OnStateEnter is called when a transition starts and the state machine starts to evaluate this state
    override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
    {
        Vector2 aim = new Vector2(animator.GetFloat(aimCode + "X"), animator.GetFloat(aimCode + "Y"));

        movementSpeed = animator.GetFloat(speedCode);

        movement = animator.GetComponentInParent <AiMovement>();
        movement.SetRotationPoint(aim);
        directionOfMove = (aim - (Vector2)movement.transform.position).normalized * movementSpeed;
    }
示例#10
0
 public override void Start()
 {
     base.Start();
     spriteRenderer          = GetComponent <SpriteRenderer>();
     enemyAttack             = gameObject.GetComponent <AiAttack>();
     enemyMovement           = gameObject.GetComponent <AiMovement>();
     colliderList            = gameObject.GetComponentsInChildren <Collider2D>();
     dataToPassBetweenScenes = GameObject.FindGameObjectWithTag("PassData").GetComponent <DataToPassBetweenScenes>();
     player = GameObject.Find("MyCharacter");
 }
示例#11
0
    void Start()
    {
        playerRigidBody      = player.GetComponent <Rigidbody2D>();
        playerMovement       = player.GetComponent <PlayerMovement>();
        playerDrill          = player.GetComponent <PlayerDrill>();
        playerSpriteRenderer = player.GetComponent <SpriteRenderer>();

        aiRigidBody = ai.GetComponent <Rigidbody2D>();
        aiMovement  = ai.GetComponent <AiMovement>();
        aiDrill     = ai.GetComponent <AiDrill>();
    }
示例#12
0
    public void Init()
    {
        Movement = new AiMovement(this, player);
        Shoot    = new AiShoot(this, player);
        Evade    = new AiEvade(this, player);
        Item     = new AiMapItem(this, player);
        debug    = new AiDebug(this, player);

        game.PlayerManager.OnAllPlayersAdded.AddAction(() => DoInTime(InvokeEvaluateGoals, 1));
        isInited = true;
    }
示例#13
0
    new private void Start()
    {
        base.Start();
        mind = GetComponentInParent <AiUnitMind>();
        if (mind)
        {
            mind.enabled = false;
        }

        movement = GetComponentInParent <AiMovement>();
        if (movement)
        {
            movement.enabled = false;
        }
    }
示例#14
0
        private void SetMovement(AiMovement movement)
        {
            switch (movement)
            {
            case AiMovement.Left:
                characterController.Left();
                break;

            case AiMovement.Right:
                characterController.Right();
                break;

            case AiMovement.Stop:
                characterController.Right();
                // characterController.Stop();
                break;
            }
        }
示例#15
0
        // Use this for initialization
        void Start()
        {
            _sideKick              = GameObject.FindGameObjectWithTag(Constants.Tags.SideKick);
            _sideKickAgent         = _sideKick.GetComponent <NavMeshAgent>();
            _sideKickMovement      = _sideKick.GetComponent <AiMovement>();
            _player                = GameObject.FindGameObjectWithTag(Constants.Tags.Player);
            _sidekickPickupHandler = _sideKick.GetComponent <PickupHandler>();

            var db = GameObject.FindGameObjectWithTag(Constants.Tags.DatabaseManager);

            if (db != null)
            {
                _dbManager = db.GetComponent <DatabaseManager>();
            }
            else
            {
                Debug.Log("No dbmanager in scene!! - Problem?");
            }
        }
示例#16
0
 public override void executeMovement(GameObject target_reference, GameObject active_npc)
 {
     if (withinPerception(target_reference, active_npc))
     {
         Debug.Log("omw");
         Vector3 last_pos = active_npc.transform.position;
         active_npc.transform.position = AiMovement.kinematicArrive(
             target_reference,
             active_npc,
             1.0f, a_speed, t2t);
         active_npc.transform.eulerAngles = AiMovement.changeLookAngle(target_reference, active_npc);
         aid.last_recorded_velocity       = (active_npc.transform.position - last_pos).magnitude;
     }
     else
     {
         Debug.Log("--------out");
         aid.last_recorded_velocity = 0;
         aid.fully_rotated          = false;
     }
 }
示例#17
0
    protected void Start()
    {
        if (!fraction)
        {
            fraction = GetComponent <AiFraction>();
        }

        if (!health)
        {
            health = GetComponent <HealthController>();
        }

        if (!mind)
        {
            mind = GetComponent <AiUnitMind>();
        }

        if (!movement)
        {
            movement = GetComponent <AiMovement>();
        }
    }
示例#18
0
    public override void executeMovement(GameObject target_reference, GameObject active_npc)
    {
        float seperation = (target_reference.transform.position - active_npc.transform.position).magnitude;

        if (seperation < a_seperation)
        {
            active_npc.transform.position = new Vector3(
                active_npc.transform.position.x + a_seperation / 2,
                active_npc.transform.position.y,
                active_npc.transform.position.z);
        }
        else if (aid.fully_rotated == true)
        {
            Vector3 last_pos = active_npc.transform.position;
            active_npc.transform.position = AiMovement.kinematicFlee(
                target_reference,
                active_npc,
                1.0f, max_speed, 5.0f);
            active_npc.transform.eulerAngles = AiMovement.changeLookAngle_Flee(target_reference, active_npc);
            aid.last_recorded_velocity       = (active_npc.transform.position - last_pos).magnitude;
        }
        else
        {
            Vector3 diff      = -(target_reference.transform.position - active_npc.transform.position);
            Vector3 diff_norm = -(target_reference.transform.position - active_npc.transform.position).normalized;

            active_npc.transform.eulerAngles = AiMovement.changeLookAngle(target_reference, active_npc);

            float move_sens = 0.3f;
            if (
                Mathf.Abs(diff_norm.x - active_npc.transform.forward.x) < move_sens
                &&
                Mathf.Abs(diff_norm.z - active_npc.transform.forward.z) < move_sens
                )
            {
                aid.fully_rotated = true;
            }
        }
    }
    public void SpawnEnemy(int enemyOption = 0, int indexSpawnPosition = 0)
    {
        #region Paremeter_Fixing
        if (enemyOption > optionsOfEnemies.Count)
        {
            enemyOption = optionsOfEnemies.Count - 1;
        }
        if (enemyOption < 0)
        {
            enemyOption = 0;
        }
        if (indexSpawnPosition > spawnPositions.Count)
        {
            indexSpawnPosition = spawnPositions.Count - 1;
        }
        if (indexSpawnPosition < 0)
        {
            indexSpawnPosition = 0;
        }
        #endregion

        #region Handle_Error_Cases
        if (spawnPositions.Count == 0)
        {
            return;
        }
        if (optionsOfEnemies.Count == 0)
        {
            return;
        }
        #endregion

        Vector3    decidedPosition = spawnPositions[indexSpawnPosition];
        GameObject enemy           = Instantiate(optionsOfEnemies[enemyOption], decidedPosition, Quaternion.identity, transform);
        AiMovement movment         = enemy.GetComponent <AiMovement>();
        movment.transformParentForPointsToGoTo = pointsToRespawnOn;
        movment.CheckParentFotPointsToGoTo();
    }
示例#20
0
    public override void executeMovement(GameObject target_reference, GameObject active_npc)
    {
        var seperation = Vector3.Distance(target_reference.transform.position, active_npc.transform.position);

        if (seperation < a_seperation / 1.2)
        {
            active_npc.transform.position = target_reference.transform.position;
            aid.in_contact = true;
        }
        else if (aid.fully_rotated)
        {
            Vector3 last_pos = active_npc.transform.position;
            active_npc.transform.position = AiMovement.kinematicSeek(
                target_reference,
                active_npc, 1.0f, max_speed);
            active_npc.transform.eulerAngles = AiMovement.changeLookAngle(target_reference, active_npc);
            aid.last_recorded_velocity       = (active_npc.transform.position - last_pos).magnitude;
        }
        else
        {
            Vector3 diff      = (target_reference.transform.position - active_npc.transform.position);
            Vector3 diff_norm = (target_reference.transform.position - active_npc.transform.position).normalized;

            active_npc.transform.eulerAngles = AiMovement.changeLookAngle(target_reference, active_npc);

            float move_sens = 0.2f;
            if (
                Mathf.Abs(diff_norm.x - active_npc.transform.forward.x) < move_sens
                &&
                Mathf.Abs(diff_norm.z - active_npc.transform.forward.z) < move_sens
                )
            {
                aid.fully_rotated = true;
            }
        }
    }
示例#21
0
 new private void Start()
 {
     base.Start();
     movement   = GetComponentInParent <AiMovement>();
     _transform = transform;
 }
示例#22
0
 private void Awake()
 {
     movement = this.GetComponent <AiMovement> ();
 }
示例#23
0
 void Awake()
 {
     instance = this;
 }
示例#24
0
 new protected void Start()
 {
     base.Start();
     movement = GetComponentInParent <AiMovement>();
 }
 public void setMovementScript(AiMovement move)
 {
     this.aiMovement = move;
 }
示例#26
0
 private void Start()
 {
     _animator   = GetComponent <Animator>();
     _rigidbody  = GetComponent <Rigidbody2D>();
     _aiMovement = GetComponent <AiMovement>();
 }
 public void setMovementScript(AiMovement move)
 {
     this.aiMovement = move;
 }
示例#28
0
    // Use this for initialization
    void Start()
    {
        while (sidekick == null)
        {
            sidekick = GameObject.FindGameObjectWithTag(Constants.Tags.SideKick);
         //   Debug.Log(sidekick);
        }
        sidekickMovement = sidekick.GetComponent<AiMovement>();

        while (player == null)
        {
            player = GameObject.FindGameObjectWithTag(Constants.Tags.Player);
         //   Debug.Log(player);
        }

        if (UseObstacle)
        {
            obstacle = GameObject.FindGameObjectWithTag("Obstacle");
            obstacle.GetComponent<NavMeshObstacle>().enabled = false;
        }

        speech = GameObject.FindGameObjectWithTag(Constants.Tags.SpeechCanvas).GetComponent<InteractableSpeechBubble>();
        //sidekick.GetComponent<SidekickControls>().enabled = false;
        //sidekick.GetComponent<SidekickControls>().enabled = false;
        //sidekick.GetComponent<SidekickControls>().enabled = false;
    }