Ejemplo n.º 1
0
    private void Start()
    {
        _currentInput = GetComponent <IInput>();

        _move   = GetComponent <IMove>();
        _attack = GetComponent <IAttack>();
        _find   = GetComponent <ITargetFinder>();
    }
Ejemplo n.º 2
0
    public override void Init(string objectID, BaseEntityController controller, bool weaponsActive, VesselShipStats shipStats, SceneController sceneController)
    {
        base.Init(objectID, controller, weaponsActive, shipStats, sceneController);

        //  Retrieves interface for the target finder
        targetFinder = this.GetComponent <ITargetFinder>();

        //  creates new target checker for relative direction check
        targetChecker = new TargetDirectionCheck();
    }
        public void Init()
        {
            targetFinder = GetComponent <ITargetFinder>();

            inputController = ControllersManager.Instance.GetController <IInputController>();

            UpdateManager.Instance.onUpdate += CustomUpdate;

            thisTransform = transform;

            inputController.onFire += OnFireHandler;
        }
Ejemplo n.º 4
0
    public override void BeginState()
    {
        Debug.Log("Begun Wander State");
        controller = this.GetComponent <AIController>();
        objectID   = controller.objectID;
        shipStats  = GameManager.Instance.gameSettings.vesselStats.Where(x => x.type.Equals(controller.vesselSelection)).First();

        targetFinder       = this.GetComponent <ITargetFinder>();
        movementController = this.GetComponent <AIMovementController>();

        InvokeRepeating("SetNewAngle", 5f, 5f);
        InvokeRepeating("CheckForNewTarget", 3f, 3f);
    }
Ejemplo n.º 5
0
    public override void BeginState()
    {
        Debug.Log("Begun Pursuit State");
        controller = this.GetComponent <AIController>();
        objectID   = controller.objectID;
        shipStats  = GameManager.Instance.gameSettings.vesselStats.Where(x => x.type.Equals(controller.vesselSelection)).First();
        dirChecker = new TargetDirectionCheck();

        //  Collect components for class
        weaponAim          = this.GetComponent <IWeaponAim>();
        weaponSystem       = this.GetComponent <IWeaponSystem>();
        targetFinder       = this.GetComponent <ITargetFinder>();
        weaponTargetSetter = this.GetComponent <ISetWeaponTarget>();
        movementController = this.GetComponent <AIMovementController>();

        targetFinder.FindTarget();
        weaponTargetSetter.SetTarget();
    }
Ejemplo n.º 6
0
        private static LocalTargetInfo TryFindNewTarget_Copy(this Building_TurretGun b, Predicate <Thing> validator,
                                                             ITargetFinder finder)
        {
            var targetScanFlags = TargetScanFlags.NeedThreat | TargetScanFlags.NeedAutoTargetable |
                                  TargetScanFlags.NeedNotUnderThickRoof;

            if (b.AttackVerb.IsIncendiary())
            {
                targetScanFlags |= TargetScanFlags.NeedNonBurning;
            }
            LocalTargetInfo result;

            if (finder != null && finder.ShouldUse(b) &&
                (result = finder.FindTarget(b, targetScanFlags, validator)) != null && result.IsValid)
            {
                return(result);
            }

            return((Thing)AttackTargetFinder.BestShootTargetFromCurrentPosition(b, targetScanFlags,
                                                                                validator));
        }