示例#1
0
        public void Unregister(NativeTransform nativeTransform)
        {
            _transforms.Remove(nativeTransform);

            if (_pullTargets.Contains(nativeTransform))
            {
                _pullTargets.Remove(nativeTransform);
            }

            if (_pushTargets.Contains(nativeTransform))
            {
                _pushTargets.Remove(nativeTransform);
            }
            _onValueChanged?.Invoke();
        }
示例#2
0
        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();
        }
示例#3
0
 public void Initialize(TransformRegistry transformRegistry, BlittableCollider[] colliders)
 {
     _nativeTransform     = new NativeTransform(transformRegistry, TransformSynchronizationType.PullOnly, transform);
     _nativeColliderGroup = new NativeColliderGroup(colliders, _nativeTransform);
 }