/// <summary> /// Add simple ground plane to block layout. /// </summary> public static GameObject AddGroundPlane( ref DFBlock blockData, Transform parent = null, ClimateBases climateBase = ClimateBases.Temperate, ClimateSeason climateSeason = ClimateSeason.Summer) { DaggerfallUnity dfUnity = DaggerfallUnity.Instance; if (!dfUnity.IsReady) { return(null); } GameObject go = new GameObject("Ground"); if (parent != null) { go.transform.parent = parent; } // Assign components DaggerfallGroundPlane dfGround = go.AddComponent <DaggerfallGroundPlane>(); MeshFilter meshFilter = go.GetComponent <MeshFilter>(); // Assign climate and mesh Color32[] tileMap; Mesh mesh = dfUnity.MeshReader.GetSimpleGroundPlaneMesh( ref blockData, out tileMap, dfUnity.MeshReader.AddMeshTangents, dfUnity.MeshReader.AddMeshLightmapUVs); if (mesh) { meshFilter.sharedMesh = mesh; } // Assign tileMap and climate dfGround.tileMap = tileMap; dfGround.SetClimate(dfUnity, climateBase, climateSeason); // Assign collider if (dfUnity.Option_AddMeshColliders) { go.AddComponent <BoxCollider>(); } // Assign static if (dfUnity.Option_SetStaticFlags) { GameObjectHelper.TagStaticGeometry(go); } return(go); }