public FoliageInfo(FoliageObject newFoliageObject, float currentTime) { foliageObject = newFoliageObject; callback = ThreadedScaleUpdater.Instance.UpdateScaleCallback; destroyedCallback = ThreadedScaleUpdater.Instance.RemoveObject; updateScalePercent = foliageObject.selfTerrainObjectType.dna.scaleDifferenceUpdatePercent; //prevent the scale from smooth updating at the start, as it'll already be set currentScale = foliageObject.GetAgedScaleFloat(currentTime); lastScale = currentScale; }
public void UpdateScale(float currentTime) { if (foliageObject == null) { destroyedCallback(this); return; } currentScale = foliageObject.GetAgedScaleFloat(currentTime); if ((currentScale / lastScale - 1f) > updateScalePercent) { callback(this); lastScale = currentScale; } }
public FoliageInfo (FoliageObject newFoliageObject, float currentTime) { foliageObject = newFoliageObject; callback = ThreadedScaleUpdater.Instance.UpdateScaleCallback; destroyedCallback = ThreadedScaleUpdater.Instance.RemoveObject; updateScalePercent = foliageObject.selfTerrainObjectType.dna.scaleDifferenceUpdatePercent; //prevent the scale from smooth updating at the start, as it'll already be set currentScale = foliageObject.GetAgedScaleFloat(currentTime); lastScale = currentScale; }