public bool Trickle(BufferedGhostState downFrom) { bool flag = false; for (int index = 0; index < this.properties.Count; ++index) { BufferedGhostProperty property = this.properties[index]; if (!property.isNetValue && downFrom.properties[index].valid) { property.value = downFrom.properties[index].value; property.valid = true; flag = true; } } return(flag); }
public void Apply(BufferedGhostState previous, float lerp = 1f) { BufferedGhostState.lastAppliedState = this; BufferedGhostState.lastPreviousState = previous; for (int index = 0; index < this.properties.Count; ++index) { BufferedGhostProperty property = this.properties[index]; if (property.valid) { property.binding.value = property.value; } else if (previous != null) { property.binding.value = property.value = previous.properties[index].value; } else { property.value = property.binding.value; } } }