Beispiel #1
0
 public override void Initialize(Scene scene)
 {
     base.Initialize(scene);
     if (Mgr <GameEngine> .Singleton._gameEngineMode == GameEngine.GameEngineMode.MapEditor)
     {
         m_debugShape.SetAsCircle(0.2f, Vector2.Zero);
         m_debugShape.RelateGameObject = m_gameObject;
     }
 }
Beispiel #2
0
        protected void UpdateSensor()
        {
            PhysicsSystem physicsSystem = m_gameObject.Scene.GetPhysicsSystem();

            if (physicsSystem == null)
            {
                return;
            }
            if (m_body != null)
            {
                physicsSystem.GetWorld().RemoveBody(m_body);
                m_body = null;
            }
            m_body = BodyFactory.CreateCircle(physicsSystem.GetWorld(), m_radius,
                                              0.1f, new Tag(3, 0.0f, m_gameObject));
            FixtureCollisionCategroy.SetCollsionCategroy(m_body, FixtureCollisionCategroy.Kind.RoleSensor);
            m_body.BodyType       = BodyType.Static;
            m_body.IsSensor       = true;
            m_body.CollisionGroup = -1;
            m_body.OnCollision   += OnCollision;
            m_debugShape.SetAsCircle(m_radius, m_offset);
        }