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(); }
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(); }
static void DeactivatePair(CollisionPair collisionPair) { PhysicsManager.DeactivateCollisionPair(collisionPair); }
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; }
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; }
public void Deactivate() { PhysicsManager.Dessimilate(Body); }
private static void LateSimulate() { BehaviourHelper.GlobalLateSimulate(); AgentController.LateSimulate(); PhysicsManager.LateSimulate(); }
public void Deactivate() { Partition.UpdateObject(this, false); PhysicsManager.Dessimilate(this); }
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; } }
public virtual void Initialize(Vector3d StartPosition, Vector2d StartRotation, bool isDynamic = true) { InitializeVariables(StartPosition, StartRotation, isDynamic); ID = PhysicsManager.Assimilate(this, isDynamic); Partition.PartitionObject(this); }
public void Deactivate() { PhysicsManager.Dessimilate(this); }