protected void Init(RangeGameObjectV2 RangeGameObjectV2, RangeObjectInitialization RangeObjectInitialization) { this.RangeGameObjectV2 = RangeGameObjectV2; this.RangeObjectInitialization = RangeObjectInitialization; this.RangeIntersectionV2System = new RangeIntersectionV2System(this); this.RangeExternalPhysicsOnlyListenersSystem = new RangeExternalPhysicsOnlyListenersSystem(this, this.RangeGameObjectV2.InteractiveInteractiveObjectPhysicsListener); if (RangeObjectInitialization.IsTakingIntoAccountObstacles) { this.RangeObstacleListenerSystem = new RangeObstacleListenerSystem(this, this.RangeGameObjectV2.InteractiveInteractiveObjectPhysicsListener); } this.RangeEventsManager.OnRangeObjectCreated(this); }
public static RangeObjectV2 Build(GameObject AssociatedGameObject, RangeObjectInitialization RangeObjectInitialization, CoreInteractiveObject AssociatedInteractiveObject, string objectName = "") { switch (RangeObjectInitialization) { case SphereRangeObjectInitialization SphereRangeObjectInitialization: return(new SphereRangeObjectV2(AssociatedGameObject, SphereRangeObjectInitialization, AssociatedInteractiveObject, objectName)); case BoxRangeObjectInitialization BoxRangeObjectInitialization: return(new BoxRangeObjectV2(AssociatedGameObject, BoxRangeObjectInitialization, AssociatedInteractiveObject, objectName)); case FrustumRangeObjectInitialization FrustumRangeObjectInitialization: return(new FrustumRangeObjectV2(AssociatedGameObject, FrustumRangeObjectInitialization, AssociatedInteractiveObject, objectName)); case RoundedFrustumRangeObjectInitialization RoundedFrustumRangeObjectInitialization: return(new RoundedFrustumRangeObjectV2(AssociatedGameObject, RoundedFrustumRangeObjectInitialization, AssociatedInteractiveObject, objectName)); } return(null); }
private void CommontInit(RangeObjectInitialization RangeObjectInitialization, RangeObjectV2 RangeObjectV2, CoreInteractiveObject AssociatedInteractiveObject, string objectName) { this.assocaitedRangeObject = RangeObjectV2; this.RangeGameObject = new GameObject(objectName); if (this.attachedGameObject != null) { this.RangeGameObject.transform.parent = this.attachedGameObject.transform; } this.RangeGameObject.transform.localRotation = Quaternion.identity; this.RangeGameObject.transform.localPosition = Vector3.zero; var rigidbody = this.RangeGameObject.AddComponent <Rigidbody>(); rigidbody.useGravity = false; rigidbody.isKinematic = true; this.InteractiveInteractiveObjectPhysicsListener = this.RangeGameObject.AddComponent <InteractiveInteractiveObjectPhysicsListener>(); this.InteractiveInteractiveObjectPhysicsListener.Init(AssociatedInteractiveObject); }
public static RangeObjectV2 FromRangeObjectInitialization(RangeObjectInitialization RangeObjectInitialization, GameObject parent) { RangeObjectV2 rangeObjectV2 = null; if (RangeObjectInitialization.GetType() == typeof(SphereRangeObjectInitialization)) { rangeObjectV2 = new SphereRangeObjectV2(parent, (SphereRangeObjectInitialization)RangeObjectInitialization, null); } else if (RangeObjectInitialization.GetType() == typeof(BoxRangeObjectInitialization)) { rangeObjectV2 = new BoxRangeObjectV2(parent, (BoxRangeObjectInitialization)RangeObjectInitialization, null); } else if (RangeObjectInitialization.GetType() == typeof(FrustumRangeObjectInitialization)) { rangeObjectV2 = new FrustumRangeObjectV2(parent, (FrustumRangeObjectInitialization)RangeObjectInitialization, null); } else if (RangeObjectInitialization.GetType() == typeof(RoundedFrustumRangeObjectInitialization)) { rangeObjectV2 = new RoundedFrustumRangeObjectV2(parent, (RoundedFrustumRangeObjectInitialization)RangeObjectInitialization, null); } return(rangeObjectV2); }