예제 #1
0
 private void Awake()
 {
     _behaviorExecutor     = GetComponent <BehaviorExecutor>();
     _meshRenderer         = GetComponent <MeshRenderer>();
     _navMeshAgent         = GetComponent <NavMeshAgent>();
     _patrolPathController = GetComponent <PatrolPathController>();
 }
예제 #2
0
 private void LoadBehaviors()
 {
     for (var i = info.Behaviors.Count - 1; i >= 0; i--)
     {
         var executor = new BehaviorExecutor(this, info.Behaviors[i]);
         behaviorExecutors.Add(executor);
     }
 }
예제 #3
0
    // Start is called before the first frame update
    void Start()
    {
        animator = GetComponent <Animator>();

        executor = GetComponent <BehaviorExecutor>();

        //executor.SetBehaviorParam("animationClip", animator);
    }
예제 #4
0
    public override void setBehaviourParams()
    {
        BehaviorExecutor behaviorExecutor = GetComponent <BehaviorExecutor>();
        GameManager      gManager         = sirLasagna.GetComponent <GameManager>();

        behaviorExecutor.SetBehaviorParam("gameObject", gameObject);
        behaviorExecutor.SetBehaviorParam("homePosition", transform.position);
        behaviorExecutor.SetBehaviorParam("player", gManager.player.gameObject);
    }
예제 #5
0
    private void Update()
    {
        if (!actionsEnabled)
        {
            return;
        }

        activeBehavior = null;
        MakeObservations();
        PickActiveBehavior();
    }
예제 #6
0
 private void PickActiveBehavior()
 {
     if (usesDemoBehaviors)
     {
         activeDemoBehavior = behaviors.FirstOrDefault(behavior => behavior.IsApplicable());
     }
     else
     {
         activeBehavior = behaviorExecutors.FirstOrDefault(behavior => behavior.IsApplicable());
     }
 }
    void Start()
    {
        GameObject       instance         = Instantiate(prefab, position, Quaternion.identity) as GameObject;
        BehaviorExecutor behaviorExecutor = instance.GetComponent <BehaviorExecutor>();

        if (behaviorExecutor != null)
        {
            behaviorExecutor.SetBehaviorParam("wanderArea", wanderArea);
            behaviorExecutor.SetBehaviorParam("player", player);
        }
    }
        public void DownloadSourceCode_AutomationTools_MultipleFiles()
        {
            string categoryName = "Automation Tools";
            string articleTitle = "Create Multiple Files Page Objects with Visual Studio Item Templates";

            BehaviorExecutor.Execute(
                new HomePageNavigateBehavior(),
                new HomePageNavigateFindHowAssertBehavior(categoryName),
                new HomePageFindsHowNavigateBehavior(categoryName),
                new CategoryPageCategoryBackgroundAssertBehavior(categoryName),
                new CategoryPageOpenArticleBehavior(articleTitle),
                new ArticlePageDownloadSourceCodeBehavior());
        }
        public void DownloadSourceCode_Jenkins_Outpout()
        {
            string categoryName = "DevOps and CI";
            string articleTitle = "Output MSTest Tests Logs To Jenkins Console Log";

            BehaviorExecutor.Execute(
                new HomePageNavigateBehavior(),
                new HomePageNavigateFindHowAssertBehavior(categoryName),
                new HomePageFindsHowNavigateBehavior(categoryName),
                new CategoryPageCategoryBackgroundAssertBehavior(categoryName),
                new CategoryPageOpenArticleBehavior(articleTitle),
                new ArticlePageDownloadSourceCodeBehavior());
        }
        public void DownloadSourceCode_DesignPatterns_Facade()
        {
            string categoryName = "Design Pattern";
            string articleTitle = "Facade Design Pattern in Automated Testing";

            BehaviorExecutor.Execute(
                new HomePageNavigateBehavior(),
                new HomePageNavigateFindHowAssertBehavior(categoryName),
                new HomePageFindsHowNavigateBehavior(categoryName),
                new CategoryPageCategoryBackgroundAssertBehavior(categoryName),
                new CategoryPageOpenArticleBehavior(articleTitle),
                new ArticlePageDownloadSourceCodeBehavior());
        }
예제 #11
0
    void Spawn()
    {
        if (spawnCount <= Spawns)
        {
            GameObject       instance  = Instantiate(prefab, GetRandomPosition(), Quaternion.identity) as GameObject;
            BehaviorExecutor component = instance.GetComponent <BehaviorExecutor>();
            component.SetBehaviorParam("wanderArea", wanderArea);
            component.SetBehaviorParam("player", entities[Random.Range(0, entities.Count)]);

            ++spawnCount;

            entities.Add(instance);
        }
        else
        {
            CancelInvoke();
        }
    }
예제 #12
0
    //public Text text;

    /// <summary>
    /// method that instantiates the gameobjet in a certain position and adds the BehaviorExcutor component to follow the player
    /// </summary>
    void Start()
    {
        GameObject       instance         = Instantiate(prefab, position, Quaternion.identity) as GameObject;
        BehaviorExecutor behaviorExecutor = instance.GetComponent <BehaviorExecutor>();


        //Codigo comentado para comprobaciones de editor y runtime

        //if (BBUnity.Managers.BBManager.Instance.IsEditor)
        //    text.text = "EDITOR";
        //else
        //    text.text = "RUNTIME";

        if (behaviorExecutor != null)
        {
            behaviorExecutor.SetBehaviorParam("wanderArea", wanderArea);
            behaviorExecutor.SetBehaviorParam("player", player);
        }
    }
예제 #13
0
    public void Setup()
    {
        m_Instance.name = m_AI_behaviour;

        //m_Movement                          = m_Instance.GetComponent<TankMovement>();
        //m_Shooting                          = m_Instance.GetComponent<TankShooting>();
        m_CanvasGameObject = m_Instance.GetComponentInChildren <Canvas>().gameObject;

        m_ColoredPlayerText = "<color=#" + ColorUtility.ToHtmlStringRGB(m_PlayerColor) + ">PLAYER " + m_PlayerNumber + "</color>";
        MeshRenderer[] renderers  = m_Instance.GetComponentsInChildren <MeshRenderer>();
        Transform[]    transforms = m_Instance.GetComponentsInChildren <Transform>();

        for (int i = 0; i < renderers.Length; ++i)
        {
            renderers[i].material.color = m_PlayerColor;
        }

        //m_Movement.m_PlayerNumber           = m_PlayerNumber;
        //m_Movement.m_target_transform       = m_target.transform;
        //m_Movement.m_AI_behaviour           = m_AI_behaviour;
        //m_Movement.waypoints                = m_patrol_waypoints;

        //m_Shooting.m_PlayerNumber           = m_PlayerNumber;
        //m_Shooting.m_target_transform       = m_target.transform;
        //m_Shooting.m_turret_renderer        = renderers[3];


        m_behaviour_executor = m_Instance.GetComponent <BehaviorExecutor>();

        Debug.Log(m_behaviour_executor.name);

        m_behaviour_executor.blackboard.SetBehaviorParam("target", m_target);
        m_behaviour_executor.blackboard.SetBehaviorParam("ai_behaviour", m_AI_behaviour);
        m_behaviour_executor.blackboard.SetBehaviorParam("root_waypoint", m_root_waypoint);
        m_behaviour_executor.blackboard.SetBehaviorParam("fire_transform", transforms[16]);
        m_behaviour_executor.blackboard.SetBehaviorParam("turret", renderers[3]);
        m_behaviour_executor.blackboard.SetBehaviorParam("cooldown", 0.0f);
        m_behaviour_executor.blackboard.SetBehaviorParam("max_cooldown", 3.0f);
        m_behaviour_executor.blackboard.SetBehaviorParam("fired", true);
        m_behaviour_executor.blackboard.SetBehaviorParam("ammo", 3);
        m_behaviour_executor.blackboard.SetBehaviorParam("base_waypoint", m_SpawnPoint);
    }
예제 #14
0
    // Start is called before the first frame update
    void Start()
    {
        animator = GetComponent <Animator>();

        executor = GetComponent <BehaviorExecutor>();

        agent = GetComponent <NavMeshAgent>();

        player = FindObjectOfType <Player>();

        QM = FindObjectOfType <QuestManager>();

        ID = gameObject.name;

        GetStartRotation();

        if (executor)
        {
            executor.enabled = false;
        }
    }
예제 #15
0
    // Start is called before the first frame update
    void Start()
    {
        animator = GetComponent <Animator>();

        executor = GetComponent <BehaviorExecutor>();
    }