// Use this for initialization
 void Start()
 {
     controller  = GetComponent <SoldierController>();
     weapon      = GetComponentInChildren <Weapon>();
     agentState  = controller.GetState();
     targetState = agentState.enemyState;
 }
Exemple #2
0
 private void FixedUpdate()
 {
     if (controllable.GetState().isDead)
     {
         return;
     }
     Move();
     TurnAndShoot();
 }
 void Update()
 {
     if (!controller.GetState().isDead)
     {
         float time = Time.realtimeSinceStartup;
         root.Run();
         Dispatcher.GetInstance().SendEvent(new NewFrame(aiTools.agentState.side, Time.realtimeSinceStartup - time));
     }
 }
Exemple #4
0
        // Use this for initialization
        void Start()
        {
            controller   = GetComponent <SoldierController>();
            state        = controller.GetState();
            navMeshAgent = GetComponent <NavMeshAgent>();
            floorMask    = LayerMask.GetMask("Floor");
            path         = new NavMeshPath();

            movementDestinationMarker = GameObject.CreatePrimitive(PrimitiveType.Cylinder);
            movementDestinationMarker.GetComponent <Collider>().enabled = false;
            movementDestinationMarker.transform.localScale = new Vector3(0.4f, 2.0f, 0.4f);
        }
        public void Init()
        {
            if (_isInited)
            {
                return;
            }

            _world      = WorldState.GetInstance();
            _navigation = GetComponent <Navigation>();
            _shooting   = GetComponent <Shooting>();
            _terrain    = GetComponent <TerrainReasoning>();

            _controller = GetComponent <SoldierController>();
            _agentState = _controller.GetState();
            _enemyState = _agentState.enemyState;
        }
            void Update()
            {
                if (controller.GetState().isDead)
                {
                    aiTools.shooting.SetAimingEnabled(false);
                    aiTools.shooting.SetShootingEnabled(false);
                    aiTools.navigation.SetDestination(null);
                    destination = null;
                    return;
                }
                float time = Time.realtimeSinceStartup;

                UpdateCrispValues();
                Fuzzify();
                Infer();
                Defuzzify();
                ApplyResultValues();
                DoStuff();
                Dispatcher.GetInstance().SendEvent(new NewFrame(aiTools.agentState.side, Time.realtimeSinceStartup - time));
            }