Esempio n. 1
0
        public NavMeshBuildSettings GetBuildSettings()

        {
            var buildSettings = NavMesh.GetSettingsByID(m_AgentTypeID);

            if (buildSettings.agentTypeID == -1)

            {
                Debug.LogWarning("No build settings for agent type ID " + agentTypeID, this);

                buildSettings.agentTypeID = m_AgentTypeID;
            }



            if (overrideTileSize)

            {
                buildSettings.overrideTileSize = true;

                buildSettings.tileSize = tileSize;
            }

            if (overrideVoxelSize)

            {
                buildSettings.overrideVoxelSize = true;

                buildSettings.voxelSize = voxelSize;
            }

            return(buildSettings);
        }
Esempio n. 2
0
        void OnValidate()
        {
            if (UnshareNavMeshAsset())
            {
                Debug.LogWarning("Duplicating NavMeshSurface does not duplicate the referenced navmesh data", this);
                m_NavMeshData = null;
            }

            var settings = NavMesh.GetSettingsByID(m_AgentTypeID);

            if (settings.agentTypeID != -1)
            {
                // When unchecking the override control, revert to automatic value.
                const float kMinVoxelSize = 0.01f;
                if (!m_OverrideVoxelSize)
                {
                    m_VoxelSize = settings.agentRadius / 3.0f;
                }
                if (m_VoxelSize < kMinVoxelSize)
                {
                    m_VoxelSize = kMinVoxelSize;
                }

                // When unchecking the override control, revert to default value.
                const int kMinTileSize     = 16;
                const int kMaxTileSize     = 1024;
                const int kDefaultTileSize = 256;

                if (!m_OverrideTileSize)
                {
                    m_TileSize = kDefaultTileSize;
                }
                // Make sure tilesize is in sane range.
                if (m_TileSize < kMinTileSize)
                {
                    m_TileSize = kMinTileSize;
                }
                if (m_TileSize > kMaxTileSize)
                {
                    m_TileSize = kMaxTileSize;
                }

                const float kMinimumMinRegionArea = 0;
                if (m_MinRegionArea < kMinimumMinRegionArea)
                {
                    m_MinRegionArea = kMinimumMinRegionArea;
                }
            }
        }
        public NavMeshBuildSettings GetBuildSettings()
        {
            var buildSettings = NavMesh.GetSettingsByID(m_AgentTypeID);

            if (overrideTileSize)
            {
                buildSettings.overrideTileSize = true;
                buildSettings.tileSize         = tileSize;
            }
            if (overrideVoxelSize)
            {
                buildSettings.overrideVoxelSize = true;
                buildSettings.voxelSize         = voxelSize;
            }
            return(buildSettings);
        }
        void OnValidate()
        {
            if (!s_NavMeshSurfaces.Contains(this))
            {
                return;
            }

            var settings = NavMesh.GetSettingsByID(m_AgentTypeID);

            if (settings.agentTypeID != -1)
            {
                // When unchecking the override control, revert to automatic value.
                const float kMinVoxelSize = 0.01f;
                if (!m_OverrideVoxelSize)
                {
                    m_VoxelSize = settings.agentRadius / 3.0f;
                }
                if (m_VoxelSize < kMinVoxelSize)
                {
                    m_VoxelSize = kMinVoxelSize;
                }

                // When unchecking the override control, revert to default value.
                const int kMinTileSize     = 16;
                const int kMaxTileSize     = 1024;
                const int kDefaultTileSize = 256;

                if (!m_OverrideTileSize)
                {
                    m_TileSize = kDefaultTileSize;
                }
                // Make sure tilesize is in sane range.
                if (m_TileSize < kMinTileSize)
                {
                    m_TileSize = kMinTileSize;
                }
                if (m_TileSize > kMaxTileSize)
                {
                    m_TileSize = kMaxTileSize;
                }
            }
        }
Esempio n. 5
0
        public NavMeshBuildSettings GetBuildSettings()
        {
            NavMeshBuildSettings settingsByID = NavMesh.GetSettingsByID(this.m_AgentTypeID);

            if (settingsByID.agentTypeID == -1)
            {
                Debug.LogWarning("No build settings for agent type ID " + this.agentTypeID, this);
                settingsByID.agentTypeID = this.m_AgentTypeID;
            }
            if (this.overrideTileSize)
            {
                settingsByID.overrideTileSize = true;
                settingsByID.tileSize         = this.tileSize;
            }
            if (this.overrideVoxelSize)
            {
                settingsByID.overrideVoxelSize = true;
                settingsByID.voxelSize         = this.voxelSize;
            }
            return(settingsByID);
        }
Esempio n. 6
0
        public NavMeshBuildSettings GetBuildSettings()
        {
            NavMeshBuildSettings settingsById = NavMesh.GetSettingsByID(this.m_AgentTypeID);

            if (((NavMeshBuildSettings) ref settingsById).get_agentTypeID() == -1)
            {
                Debug.LogWarning((object)("No build settings for agent type ID " + (object)this.agentTypeID), (Object)this);
                ((NavMeshBuildSettings) ref settingsById).set_agentTypeID(this.m_AgentTypeID);
            }
            if (this.overrideTileSize)
            {
                ((NavMeshBuildSettings) ref settingsById).set_overrideTileSize(true);
                ((NavMeshBuildSettings) ref settingsById).set_tileSize(this.tileSize);
            }
            if (this.overrideVoxelSize)
            {
                ((NavMeshBuildSettings) ref settingsById).set_overrideVoxelSize(true);
                ((NavMeshBuildSettings) ref settingsById).set_voxelSize(this.voxelSize);
            }
            return(settingsById);
        }