public void AddVegetationItemInstanceEx(string vegetationItemID, Vector3 position, Vector3 scale, Quaternion rotation, byte vegetationSourceID, float minimumDistance, float distanceFalloff) { PersistentVegetationInfo persistentVegetationInfo = GetPersistentVegetationInfo(vegetationItemID); if (persistentVegetationInfo == null) { persistentVegetationInfo = new PersistentVegetationInfo { VegetationItemID = vegetationItemID }; PersistentVegetationInfoList.Add(persistentVegetationInfo); } float closestDistance = CalculateClosestItemDistance(position, persistentVegetationInfo.VegetationItemList); if (closestDistance < minimumDistance) { return; } PersistentVegetationItem persistentVegetationItem = new PersistentVegetationItem { Position = position, Rotation = rotation, Scale = scale, VegetationSourceID = vegetationSourceID, DistanceFalloff = distanceFalloff }; persistentVegetationInfo.AddPersistentVegetationItemInstance(ref persistentVegetationItem); }
public void UpdatePersistentVegetationItemInstanceSourceId(ref PersistentVegetationItem persistentVegetationItem, byte newSourceID) { if (persistentVegetationItem.VegetationSourceID != newSourceID) { DecreaseSourceCount(persistentVegetationItem.VegetationSourceID); persistentVegetationItem.VegetationSourceID = newSourceID; IncreaseSourceCount(persistentVegetationItem.VegetationSourceID); } }
public void AddVegetationItemInstance(string vegetationItemID, Vector3 position, Vector3 scale, Quaternion rotation, byte vegetationSourceID, float distanceFalloff) { PersistentVegetationInfo persistentVegetationInfo = GetPersistentVegetationInfo(vegetationItemID); if (persistentVegetationInfo == null) { persistentVegetationInfo = new PersistentVegetationInfo { VegetationItemID = vegetationItemID }; PersistentVegetationInfoList.Add(persistentVegetationInfo); } PersistentVegetationItem persistentVegetationItem = new PersistentVegetationItem { Position = position, Rotation = rotation, Scale = scale, VegetationSourceID = vegetationSourceID, DistanceFalloff = distanceFalloff }; persistentVegetationInfo.AddPersistentVegetationItemInstance(ref persistentVegetationItem); }
public void AddPersistentVegetationItemInstance(ref PersistentVegetationItem persistentVegetationItem) { IncreaseSourceCount(persistentVegetationItem.VegetationSourceID); VegetationItemList.Add(persistentVegetationItem); }
public void RemovePersistentVegetationItemInstance(ref PersistentVegetationItem persistentVegetationItem) { DecreaseSourceCount(persistentVegetationItem.VegetationSourceID); VegetationItemList.Remove(persistentVegetationItem); }