private void UpdateLocalToWorldMatrix(Matrix parentLocalToWorldMatrix) { if (parentLocalToWorldMatrix.Equals(localToWorldMatrix)) { return; } localToWorldMatrix = parentLocalToWorldMatrix; foreach (GameObject child in children.Values) { child.UpdateLocalToWorldMatrix(LocalToWorldMatrix); } scene.Respace(this); }