public PhysicsInstanceDefinition_Ex(PhysicsInstanceDefinition physicsInstanceDefinition, PhysicsInstanceDefinitionType typeOfInstance)
        {
            m_physicsInstanceDefinition = physicsInstanceDefinition;
            TypeOfInstance = typeOfInstance;

            if (m_physicsInstanceDefinition != null && !string.IsNullOrWhiteSpace(m_physicsInstanceDefinition.BoundingData))
                ParseBoundingData(m_physicsInstanceDefinition.BoundingData);
        }
        private void Select(PhysicsInstanceDefinition physicsInstanceDefinition)
        {
            RemoveUserControl();

            if (physicsInstanceDefinition.BoundingData.ToLowerInvariant().Contains("halfvalues"))
            {
                m_userControl_physicsInstanceDefinition = new UserControl_PhysicsInstanceDefinition(new PhysicsInstanceDefinition_WithBoundingBox(physicsInstanceDefinition));
            }
            else if (physicsInstanceDefinition.BoundingData.ToLowerInvariant().Contains("radius"))
            {
                m_userControl_physicsInstanceDefinition = new UserControl_PhysicsInstanceDefinition(new PhysicsInstanceDefinition_WithCircle(physicsInstanceDefinition));
            }
            else if (physicsInstanceDefinition.BoundingData.ToLowerInvariant().Contains("characterwidth"))
            {
                m_userControl_physicsInstanceDefinition = new UserControl_PhysicsInstanceDefinition(new PhysicsInstanceDefinition_WithFont(physicsInstanceDefinition));
            }

            m_grid_main.SetRowColumn(m_userControl_physicsInstanceDefinition, 1, 0);
        }
        public UserControl_PhysicsInstanceDefinition(PhysicsInstanceDefinition_WithCircle physicsInstanceDefinition_ex)
            : base("Physics Instance Type Definition", false)
        {
            PhysicsInstanceDefinitionType = physicsInstanceDefinition_ex.TypeOfInstance;

            m_physicsInstanceDefinition = physicsInstanceDefinition_ex.PhysicsInstanceDefinition;

            if (DataIsNull())
            {
                m_textBlock_id.Text = "N/A";
                m_textBox_name.Text = string.Empty;
            }
            else
            {
                m_textBlock_id.Text = m_physicsInstanceDefinition.Id.ToString();
                m_textBox_name.Text = m_physicsInstanceDefinition.Name;
                m_comboBox_entityInstanceDefinition.SelectedItem = m_physicsInstanceDefinition.EntityInstanceDefinition;
                m_comboBox_collisionType.SelectedItem = m_physicsInstanceDefinition.CollisionType;
                m_comboBox_physType.SelectedItem = m_physicsInstanceDefinition.PhysType;

                var circle = physicsInstanceDefinition_ex as PhysicsInstanceDefinition_WithCircle;
                SetCircleControls(circle);
            }
        }
 public PhysicsInstanceDefinition_WithCircle(PhysicsInstanceDefinition physicsInstanceDefinition)
     : base(physicsInstanceDefinition, PhysicsInstanceDefinitionType.Circle)
 {
 }
 public PhysicsInstanceDefinition_WithBoundingBox(PhysicsInstanceDefinition physicsInstanceDefinition)
     : base(physicsInstanceDefinition, PhysicsInstanceDefinitionType.AABB)
 {
 }
 public PhysicsInstanceDefinition_WithFont(PhysicsInstanceDefinition physicsInstanceDefinition)
     : base(physicsInstanceDefinition, PhysicsInstanceDefinitionType.AABB)
 {
 }
        protected override int AddNewData()
        {
            m_physicsInstanceDefinition = DataManager.Generate<PhysicsInstanceDefinition>();
            m_physicsInstanceDefinition.Name = m_textBox_name.Text;
            m_physicsInstanceDefinition.EntityInstanceDefinition = m_comboBox_entityInstanceDefinition.SelectedItem as EntityInstanceDefinition;
            m_physicsInstanceDefinition.CollisionType = m_comboBox_collisionType.SelectedItem as CollisionType;
            m_physicsInstanceDefinition.PhysType = m_comboBox_physType.SelectedItem as PhysType;

            m_physicsInstanceDefinitionEx.PhysicsInstanceDefinition = m_physicsInstanceDefinition;

            DataManager.PhysicsInstanceDefinitions.Add(m_physicsInstanceDefinition);

            return m_physicsInstanceDefinition.Id;
        }