Ejemplo n.º 1
0
    void Awake()
    {
        _navmesh = Plane.GetComponent <DotsNavNavmesh>();

        foreach (var obstacle in FindObjectsOfType <DotsNavObstacle>())
        {
            var l = new List <Vector2>();
            for (int i = 0; i < obstacle.Vertices.Length; i++)
            {
                l.Add(obstacle.GetVertexWorldSpace(i).xz);
            }
            _toDump.Add(l);
        }

        _cameraController = FindObjectOfType <CameraController>();
        _cameraController.Initialize(Plane.Size);
        _lineDrawer = GetComponent <LineDrawer>();
        _camera     = Camera.main;
        Help.gameObject.SetActive(!Application.isEditor);
        _agent = FindObjectOfType <DotsNavPathFindingAgent>();

        var tr = _agent.transform;

        _start       = tr.parent;
        _goal        = _start.Find("Goal");
        _goal.parent = null;

        if (Reverse)
        {
            var tempPos = _start.position;
            _start.position = _goal.position;
            _goal.position  = tempPos;
        }

        var size = _start.localScale.x;
        var s    = new Vector3(size, size, size);

        _goal.localScale = s;
        _agent.GetComponent <DotsNavAgent>().Radius = size / 2;
    }
Ejemplo n.º 2
0
        void Start()
        {
            // Ensure gameobject conversion when loading a scene
            World.All[0].GetOrCreateSystem <InitializationSystemGroup>().Update();

            _navmesh          = Plane.GetComponent <DotsNavNavmesh>();
            _cameraController = FindObjectOfType <CameraController>();
            _cameraController.Initialize(Plane.Size, .5f);
            _lineDrawer = GetComponent <LineDrawer>();
            _camera     = Camera.main;
            Help.gameObject.SetActive(!Application.isEditor);
            _agent = FindObjectOfType <DotsNavPathFindingAgent>();
            var tr = _agent.transform;

            _start       = tr.parent;
            _goal        = _start.Find("Goal");
            _goal.parent = null;
            var size = _start.localScale.x;
            var s    = new Vector3(size, size, size);

            _goal.localScale = s;
            _agent.GetComponent <DotsNavAgent>().Radius = size / 2;
        }