public static void Setup()
        {
            UnityInstance = GameObject.CreatePrimitive(PrimitiveType.Sphere).AddComponent <MonoBehaviour> ();
            UnityInstance.GetComponent <Renderer>().enabled = false;
            GameObject.DontDestroyOnLoad(UnityInstance.gameObject);

            AbilityInterfacer.Setup();

            AgentController.Setup();
            TeamManager.Setup();

            ProjectileManager.Setup();
            EffectManager.Setup();
            BehaviourHelper.GlobalSetup();
            PhysicsManager.Setup();
            ClientManager.Setup(MainGameManager.MainNetworkHelper);
            InterfaceManager.Setup();

            Application.targetFrameRate = 30;
            Time.fixedDeltaTime         = BaseDeltaTime;
            Time.maximumDeltaTime       = Time.fixedDeltaTime * 2;

            InputManager.Setup();
        }
Example #2
0
        internal static void Deactivate()
        {
            DefaultMessageRaiser.EarlyDeactivate();

            if (GameStarted == false)
            {
                return;
            }
            Selector.Clear();
            AgentController.Deactivate();
            BehaviourHelperManager.Deactivate();
            ProjectileManager.Deactivate();
            EffectManager.Deactivate();
            ClientManager.Deactivate();

            ClientManager.Quit();
            PhysicsManager.Deactivate();
            GameStarted = false;
            LSServer.Deactivate();
            DefaultMessageRaiser.LateDeactivate();
            CoroutineManager.Deactivate();

            DefaultMessageRaiser.Reset();
        }
Example #3
0
 static void DeactivatePair(CollisionPair collisionPair)
 {
     PhysicsManager.DeactivateCollisionPair(collisionPair);
 }
Example #4
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;
        }
Example #5
0
        public void Initialize(LSBody b1, LSBody b2)
        {
            if (b1 == b2)
            {
                Debug.Log("boom: " + b1.ID + ", " + b2.ID);
            }
            IsValid = PhysicsManager.RequireCollisionPair(b1, b2);

            PartitionVersion = 0;
            Body1            = b1;
            Body2            = b2;

            IsColliding  = false;
            DistX        = 0;
            DistY        = 0;
            PenetrationX = 0;
            PenetrationY = 0;

            CacheSqrDistance  = b1.Radius + b2.Radius;
            CacheSqrDistance *= CacheSqrDistance;
            if (!IsValid)
            {
                return;
            }

            LeCollisionType = CollisionType.None;
            if (Body1.Shape == ColliderType.None || Body2.Shape == ColliderType.None)
            {
            }
            else if (Body1.Shape == ColliderType.Circle)
            {
                if (Body2.Shape == ColliderType.Circle)
                {
                    LeCollisionType = CollisionType.Circle_Circle;
                }
                else if (Body2.Shape == ColliderType.AABox)
                {
                    LeCollisionType = CollisionType.Circle_AABox;
                }
                else if (Body2.Shape == ColliderType.Polygon)
                {
                    LeCollisionType = CollisionType.Circle_Polygon;
                }
            }
            else if (Body1.Shape == ColliderType.AABox)
            {
                if (Body2.Shape == ColliderType.Circle)
                {
                    LeCollisionType = CollisionType.Circle_AABox;
                }
                else if (Body2.Shape == ColliderType.AABox)
                {
                    LeCollisionType = CollisionType.AABox_AABox;
                }
                else if (Body2.Shape == ColliderType.Polygon)
                {
                    LeCollisionType = CollisionType.AABox_Polygon;
                }
            }
            else if (Body1.Shape == ColliderType.Polygon)
            {
                if (Body2.Shape == ColliderType.Circle)
                {
                    LeCollisionType = CollisionType.Circle_Polygon;
                }
                else if (Body2.Shape == ColliderType.AABox)
                {
                    LeCollisionType = CollisionType.AABox_Polygon;
                }
                else if (Body2.Shape == ColliderType.Polygon)
                {
                    LeCollisionType = CollisionType.Polygon_Polygon;
                }
            }

            DoPhysics = ((Body1.IsTrigger || Body2.IsTrigger) == false);
            if (DoPhysics)
            {
            }
            Active = true;
        }
Example #6
0
 public void Deactivate()
 {
     PhysicsManager.Dessimilate(Body);
 }
Example #7
0
 private static void LateSimulate()
 {
     BehaviourHelper.GlobalLateSimulate();
     AgentController.LateSimulate();
     PhysicsManager.LateSimulate();
 }
Example #8
0
 public void Deactivate()
 {
     Partition.UpdateObject(this, false);
     PhysicsManager.Dessimilate(this);
 }
Example #9
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;
            }
        }
Example #10
0
 public virtual void Initialize(Vector3d StartPosition, Vector2d StartRotation, bool isDynamic = true)
 {
     InitializeVariables(StartPosition, StartRotation, isDynamic);
     ID = PhysicsManager.Assimilate(this, isDynamic);
     Partition.PartitionObject(this);
 }
Example #11
0
 public void Deactivate()
 {
     PhysicsManager.Dessimilate(this);
 }