Exemple #1
0
 /// <summary>
 /// Because <see cref="FiredProjectile"/> are often a High Speed Rigid body, we force the RigidBody interpolation mode to Interpolate
 /// </summary>
 private static InteractiveObjectBoxLogicColliderDefinitionStruct BuildBoxColliderDefinition(FiredProjectileDefinition FiredProjectileDefinition)
 {
     InteractiveObjectBoxLogicColliderDefinitionStruct InteractiveObjectBoxLogicColliderDefinitionStruct = FiredProjectileDefinition.InteractiveObjectBoxLogicColliderDefinition;
     InteractiveObjectBoxLogicColliderDefinitionStruct.RigidbodyInterpolation = RigidbodyInterpolation.Extrapolate;
     InteractiveObjectBoxLogicColliderDefinitionStruct.Enabled = true;
     return InteractiveObjectBoxLogicColliderDefinitionStruct;
 }
Exemple #2
0
        public void CreateLogicCollider(InteractiveObjectBoxLogicColliderDefinitionStruct InteractiveObjectBoxLogicColliderDefinitionStruct, int layer = 0)
        {
            if (InteractiveObjectBoxLogicColliderDefinitionStruct.Enabled)
            {
                var LogicColliderObject = InstanciateLogicCollider(layer);

                LogicCollider                       = LogicColliderObject.AddComponent <BoxCollider>();
                LogicCollider.isTrigger             = true;
                ((BoxCollider)LogicCollider).center = InteractiveObjectBoxLogicColliderDefinitionStruct.LocalCenter;
                ((BoxCollider)LogicCollider).size   = InteractiveObjectBoxLogicColliderDefinitionStruct.LocalSize;

                this.AddRigidBodyIfNecessary(InteractiveObjectBoxLogicColliderDefinitionStruct.HasRigidBody, LogicColliderObject, InteractiveObjectBoxLogicColliderDefinitionStruct.RigidbodyInterpolation);
            }
        }