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; } }
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); }