Ejemplo n.º 1
0
 // Token: 0x06000C11 RID: 3089 RVA: 0x0005BF23 File Offset: 0x0005A323
 public virtual void bakeFoliage(FoliageBakeSettings bakeSettings, IFoliageSurface surface, Bounds bounds, float surfaceWeight, float collectionWeight)
 {
     if (!this.isSurfaceWeightValid(surfaceWeight))
     {
         return;
     }
     this.bakeFoliageSteps(surface, bounds, surfaceWeight, collectionWeight, new FoliageInfoAsset.BakeFoliageStepHandler(this.handleBakeFoliageStep));
 }
 public virtual void bakeFoliage(FoliageBakeSettings bakeSettings, IFoliageSurface surface, Bounds bounds, float weight)
 {
     foreach (FoliageInfoCollectionAsset.FoliageInfoCollectionElement foliageInfoCollectionElement in this.elements)
     {
         FoliageInfoAsset foliageInfoAsset = Assets.find <FoliageInfoAsset>(foliageInfoCollectionElement.asset);
         if (foliageInfoAsset != null)
         {
             foliageInfoAsset.bakeFoliage(bakeSettings, surface, bounds, weight, foliageInfoCollectionElement.weight);
         }
     }
 }
Ejemplo n.º 3
0
		protected virtual void handleBakeFoliageStep(IFoliageSurface surface, Bounds bounds, float surfaceWeight, float collectionWeight)
		{
			Vector3 testPosition = this.getTestPosition(bounds);
			Vector3 surfacePosition;
			Vector3 surfaceNormal;
			if (!surface.getFoliageSurfaceInfo(testPosition, out surfacePosition, out surfaceNormal))
			{
				return;
			}
			this.addFoliageToSurface(surfacePosition, surfaceNormal, true, false);
		}
Ejemplo n.º 4
0
 // Token: 0x06000C49 RID: 3145 RVA: 0x0005CB19 File Offset: 0x0005AF19
 public override void bakeFoliage(FoliageBakeSettings bakeSettings, IFoliageSurface surface, Bounds bounds, float surfaceWeight, float collectionWeight)
 {
     if (!bakeSettings.bakeInstancesMeshes)
     {
         return;
     }
     if (bakeSettings.bakeClear)
     {
         return;
     }
     base.bakeFoliage(bakeSettings, surface, bounds, surfaceWeight, collectionWeight);
 }
Ejemplo n.º 5
0
		protected virtual void bakeFoliageSteps(IFoliageSurface surface, Bounds bounds, float surfaceWeight, float collectionWeight, FoliageInfoAsset.BakeFoliageStepHandler callback)
		{
			float num = surfaceWeight * collectionWeight;
			float num2 = bounds.size.x * bounds.size.z;
			float num3 = num2 / this.density * num;
			int num4 = Mathf.FloorToInt(num3);
			if (Random.value < num3 - (float)num4)
			{
				num4++;
			}
			for (int i = 0; i < num4; i++)
			{
				callback(surface, bounds, surfaceWeight, collectionWeight);
			}
		}
Ejemplo n.º 6
0
 // Token: 0x06000CAD RID: 3245 RVA: 0x0005D890 File Offset: 0x0005BC90
 public static void addSurface(IFoliageSurface surface)
 {
     FoliageSystem.surfaces.Add(surface);
 }
Ejemplo n.º 7
0
 // Token: 0x06000CAE RID: 3246 RVA: 0x0005D89D File Offset: 0x0005BC9D
 public static void removeSurface(IFoliageSurface surface)
 {
     FoliageSystem.surfaces.Remove(surface);
 }