public void Unregister(NativeTransform nativeTransform) { _transforms.Remove(nativeTransform); if (_pullTargets.Contains(nativeTransform)) { _pullTargets.Remove(nativeTransform); } if (_pushTargets.Contains(nativeTransform)) { _pushTargets.Remove(nativeTransform); } _onValueChanged?.Invoke(); }
public void Register(NativeTransform nativeTransform, TransformSynchronizationType synchronizationType) { _transforms.Add(nativeTransform); switch (synchronizationType) { case TransformSynchronizationType.PullOnly: _pullTargets.Add(nativeTransform); break; case TransformSynchronizationType.PushOnly: _pushTargets.Add(nativeTransform); break; default: throw new ArgumentOutOfRangeException(nameof(synchronizationType), synchronizationType, null); } _onValueChanged?.Invoke(); }
public void Initialize(TransformRegistry transformRegistry, BlittableCollider[] colliders) { _nativeTransform = new NativeTransform(transformRegistry, TransformSynchronizationType.PullOnly, transform); _nativeColliderGroup = new NativeColliderGroup(colliders, _nativeTransform); }