Exemple #1
0
        /// <summary>
        /// Called by Unity.
        /// Can be overriden but be sure to call base.Start() to allow the agent to initialize properly.
        /// </summary>
        public virtual void Start()
        {
            if (searchGrid == null)
            {
                // Try to access a default grid
                searchGrid = AStarGridManager.DefaultGrid;

                // Check for error
                if (searchGrid == null)
                {
                    // Print a warning
                    Debug.LogWarning(string.Format("Agent [{0}]: The are no AStar Grids in the scene. Pathfinding is not possible", gameObject.name));
                }
            }
        }
        // Methods
        /// <summary>
        /// Called by Unity.
        /// </summary>
        public virtual void Start()
        {
            // CHeck if we have a grid
            if (searchGrid == null)
            {
                // Try to access a default grid
                searchGrid = AStarGridManager.DefaultGrid;

                // Check for error
                if (searchGrid == null)
                {
                    // Print a warning
                    Debug.LogWarning(string.Format("Agent [{0}]: The are no AStar Grids in the scene. Pathfinding is not possible", gameObject.name));
                }
            }


            // Try to get a collider
            colliderObstacle = GetComponent <Collider2D>();

            // Check for collider
            if (colliderObstacle == null)
            {
                Debug.LogWarningFormat("DynamicObstacle '{0}' does not have a Collider2D attached!", gameObject.name);
            }

            lastPosition = transform.position;
            lastRotation = transform.eulerAngles;
            lastScale    = transform.localScale;

            // Register obstacle
            if (searchGrid != null && colliderObstacle != null)
            {
                searchGrid.registerObstacle(this);
            }

            // Trigger an update for the obstacle
            invalidate();
        }
 internal static void unregisterGrid(AStarGrid grid)
 {
     // Remove the grid from the list
     activeGrids.Remove(grid);
 }
 // Methods
 internal static void registerGrid(AStarGrid grid)
 {
     // Add the grid to the active grids
     activeGrids.Add(grid);
 }