Beispiel #1
0
		public void Initialize (Vector2d StartPosition, Vector2d StartRotation)
		{
			if (FirstInitialize) {
				FirstInitialize = false;
				cachedGameObject = base.gameObject;
				cachedTransform = base.transform;
			}

			HasParent = false;

			PositionChanged = true;
			RotationChanged = true;
			VelocityChanged = true;
			Position = StartPosition;
			Rotation = StartRotation;

			if (Shape != ColliderType.None) {
				GeneratePoints ();
				GenerateBounds ();
				BuildPoints ();
				BuildBounds ();
			}
			for (int i = 0; i < 4; i++) {
				LocatedPartitionExists [i] = false;
			}
			PhysicsManager.Assimilate (this);
		}
        public void Initialize(Vector2d StartPosition, Vector2d StartRotation)
        {
            Parent = null;

            PositionChanged       = true;
            RotationChanged       = true;
            VelocityChanged       = true;
            PositionChangedBuffer = false;
            RotationChangedBuffer = false;

            Priority = _priority;
            Velocity = Vector2d.zero;
            VelocityFastMagnitude = 0;
            Position = StartPosition;
            Rotation = StartRotation;


            _parent       = null;
            LocalPosition = Vector2d.zero;
            LocalRotation = Vector2d.up;

            XMin = 0;
            XMax = 0;
            YMin = 0;
            YMax = 0;


            PastGridXMin = long.MaxValue;
            PastGridXMax = long.MaxValue;
            PastGridYMin = long.MaxValue;
            PastGridYMax = long.MaxValue;

            if (Shape != ColliderType.None)
            {
                BuildPoints();
                BuildBounds();
            }

            ID = PhysicsManager.Assimilate(this);
            Partition.PartitionObject(this);

            visualPosition = Position.ToVector3(0f);
            lastVisualPos  = visualPosition;
            _positionalTransform.position = visualPosition;

            visualRot     = Quaternion.LookRotation(Rotation.ToVector3(0f));
            lastVisualRot = visualRot;
            _positionalTransform.rotation = visualRot;
        }
Beispiel #3
0
        public void Initialize(Vector3d StartPosition, Vector2d StartRotation, bool isDynamic = true)
        {
            Active = true;
            PositionalTransform = _positionalTransform;
            RotationalTransform = _rotationalTransform;
            if (!Setted)
            {
                this.Setup(null);
            }
            this.RaycastVersion = 0;

            this.HeightPosChanged = true;

            CheckVariables();

            PositionChanged       = true;
            RotationChanged       = true;
            VelocityChanged       = true;
            PositionChangedBuffer = true;
            RotationChangedBuffer = true;

            Priority          = BasePriority;
            Velocity          = Vector2d.zero;
            VelocityMagnitude = 0;
            LastPosition      = _position = StartPosition.ToVector2d();
            _heightPos        = StartPosition.z;
            _rotation         = StartRotation;
            ForwardNeedsSet   = true;
            FastRadius        = this.Radius * this.Radius;

            XMin = 0;
            XMax = 0;
            YMin = 0;
            YMax = 0;


            PastGridXMin = int.MaxValue;
            PastGridXMax = int.MaxValue;
            PastGridYMin = int.MaxValue;
            PastGridYMax = int.MaxValue;

            if (Shape != ColliderType.None)
            {
                BuildPoints();
                BuildBounds();
            }

            ID = PhysicsManager.Assimilate(this, isDynamic);
            Partition.PartitionObject(this);
            if (PositionalTransform != null)
            {
                CanSetVisualPosition         = true;
                _visualPosition              = _position.ToVector3(HeightPos.ToFloat());
                lastVisualPos                = _visualPosition;
                PositionalTransform.position = _visualPosition;
            }
            else
            {
                CanSetVisualPosition = false;
            }
            if (RotationalTransform != null)
            {
                CanSetVisualRotation = true;
                visualRot            = GetVisualRot();
                //				_rotationOffset = transform.GetComponent<InvasionDay.GeoHandler>()._eulerOffset;
                lastVisualRot = visualRot;
            }
            else
            {
                CanSetVisualRotation = false;
            }
            SetVisuals();
            velocityPosition = Vector3.zero;
            this.ImmovableCollisionDirection = Vector2d.zero;
            PartitionChanged = true;
        }
Beispiel #4
0
        public void Initialize(Vector2dHeight StartPosition, Vector2d StartRotation)
        {
            PositionalTransform = _positionalTransform;
            RotationalTransform = _rotationalTransform;
            if (!Setted)
            {
                this.Setup(null);
            }
            this.RaycastVersion = 0;

            this.HeightPosChanged = true;

            CheckVariables();

            PositionChanged       = true;
            RotationChanged       = true;
            VelocityChanged       = true;
            PositionChangedBuffer = true;
            RotationChangedBuffer = true;

            Priority = _basePriority;
            Velocity = Vector2d.zero;
            VelocityFastMagnitude = 0;
            LastPosition          = _position = StartPosition.ToVector2d();
            _heightPos            = StartPosition.Height;
            _rotation             = StartRotation;
            ForwardNeedsSet       = true;

            XMin = 0;
            XMax = 0;
            YMin = 0;
            YMax = 0;


            PastGridXMin = int.MaxValue;
            PastGridXMax = int.MaxValue;
            PastGridYMin = int.MaxValue;
            PastGridYMax = int.MaxValue;

            if (Shape != ColliderType.None)
            {
                BuildPoints();
                BuildBounds();
            }

            ID = PhysicsManager.Assimilate(this);
            Partition.PartitionObject(this);
            if (PositionalTransform != null)
            {
                CanSetVisualPosition         = true;
                _visualPosition              = _position.ToVector3(HeightPos.ToFloat());
                lastVisualPos                = _visualPosition;
                PositionalTransform.position = _visualPosition;
            }
            else
            {
                CanSetVisualPosition = false;
            }
            if (RotationalTransform != null)
            {
                CanSetVisualRotation         = true;
                visualRot                    = Quaternion.LookRotation(Forward.ToVector3(0f));
                lastVisualRot                = visualRot;
                RotationalTransform.rotation = visualRot;
            }
            else
            {
                CanSetVisualRotation = false;
            }
        }
Beispiel #5
0
 public virtual void Initialize(Vector3d StartPosition, Vector2d StartRotation, bool isDynamic = true)
 {
     InitializeVariables(StartPosition, StartRotation, isDynamic);
     ID = PhysicsManager.Assimilate(this, isDynamic);
     Partition.PartitionObject(this);
 }