Beispiel #1
0
        private Api(string apiKey, CoordinateSystem coordinateSystem, Transform parentTransformForStreamedObjects, ConfigParams configParams)
        {
            CollisionStates = configParams.Collisions;

            if (!APIKeyHelpers.AppearsValid(apiKey))
            {
                throw new InvalidApiKeyException(string.Format(InvalidApiKeyExceptionMessage, apiKey));
            }

            try
            {
                m_implementation = new ApiImplementation(apiKey, coordinateSystem, parentTransformForStreamedObjects, configParams);
            }
            catch (DllNotFoundException dllNotFound)
            {
                bool couldNotFindWRLDBinary = dllNotFound.Message.ToLower().Contains("streamalpha");
                bool is32Bit = IntPtr.Size == 4;

                if (couldNotFindWRLDBinary && is32Bit)
                {
                    var guiTextObject = new GameObject("OtherErrorMessage");
                    var errorMessage  = guiTextObject.AddComponent <ErrorMessage>();
                    errorMessage.Title = "WRLD Error: Unsupported Build Architecture";
                    errorMessage.Text  =
                        "It looks like you're trying to run a 32 bit build of the game.  Unfortunately that isn't currently supported.\n\n" +
                        "Please go to 'File->Build Settings' in the Unity menu and select 'x86_64' as your Architecture to continue.";
                }
                else
                {
                    throw;
                }
            }
        }
        public void ChangeCollision(ConfigParams.CollisionConfig collisions)
        {
            var terrainCollision  = (collisions.TerrainCollision) ? CollisionStreamingType.SingleSidedCollision : CollisionStreamingType.NoCollision;
            var roadCollision     = (collisions.RoadCollision) ? CollisionStreamingType.DoubleSidedCollision : CollisionStreamingType.NoCollision;
            var buildingCollision = (collisions.BuildingCollision) ? CollisionStreamingType.SingleSidedCollision : CollisionStreamingType.NoCollision;

            m_terrainStreamer.ChangeCollision(terrainCollision);
            m_roadStreamer.ChangeCollision(roadCollision);
            m_buildingStreamer.ChangeCollision(buildingCollision);
        }
Beispiel #3
0
 public void UpdateCollision(ConfigParams.CollisionConfig collisions)
 {
     m_nativePluginRunner.UpdateCollisions(collisions);
 }
Beispiel #4
0
 public void UpdateCollisions(ConfigParams.CollisionConfig collisions)
 {
     m_mapGameObjectScene.ChangeCollision(collisions);
 }
 public MapGameObjectScene(MaterialRepository materialRepository, Transform parentForStreamedObjects, ConfigParams.CollisionConfig collisions)
 {
     m_terrainStreamer  = new GameObjectStreamer("Terrain", materialRepository, parentForStreamedObjects, collisions.TerrainCollision);
     m_roadStreamer     = new GameObjectStreamer("Roads", materialRepository, parentForStreamedObjects, collisions.RoadCollision);
     m_buildingStreamer = new GameObjectStreamer("Buildings", materialRepository, parentForStreamedObjects, collisions.BuildingCollision);
     m_meshUploader     = new MeshUploader();
     ms_instance        = this;
 }