private void SpaceDrop(InputManager input)
 {
     // If tower part is not add to the tower by now, then if mouse left button is release, nullify parts
     if (input.Mouse.LeftButton == ButtonState.Released && (m_part != null || m_towerPart != null))
     {
         m_part      = null;
         m_towerPart = null;
     }
 }
        private void AddPartMechanics(InputManager input, TowerConstruct construct, Tower tower, int i, int k)
        {
            // If left buttons is pressed, if hoverheight is at part, if there is no stored part,
            // if part is not null and there are still components spaces to spare
            if (input.Mouse.LeftButton == ButtonState.Released &&
                m_hoverHeight == construct.Parts[i].PartHeight &&
                construct.Parts[i].Slots[k].StoredPart == null &&
                m_part != null &&
                construct.Parts.Count < tower.MaxComponents)
            {
                // If (tower part is a rotr and there is no rotor) or (tower part is not a rotor), then add part and give values
                if ((m_towerPart is BaseRotor && m_menu.RotorCount < 1) || !(m_towerPart is BaseRotor))
                {
                    // If tower part is a rotor, then increase rotor count
                    if (m_towerPart is BaseRotor)
                    {
                        m_menu.RotorCount++;
                        m_rotorIndex         = m_part.SubIndex;
                        construct.RotorIndex = m_part.SubIndex;
                    }

                    // Set part height, position, relative rotation, internal index for rotation and external index for construct
                    m_part.PartHeight    = construct.Parts[i].PartHeight + 1;
                    m_part.Position      = construct.Parts[i].Slots[k].Position;
                    m_part.RelativeRot   = m_part.Rotation - construct.Parts[i].Rotation;
                    m_part.Index         = construct.Parts[i].Slots[k].Index;
                    m_part.ExtendedIndex = construct.Parts.Count;

                    // set tower part offset, relative rotation, internal index for rotation, parent index (to track parent), sub index, type index and external index on the tower
                    m_towerPart.Position         = tower.TowerParts[i].Offsets[k];
                    m_towerPart.RelativeRotation = m_towerPart.Rotation - tower.TowerParts[i].Rotation;
                    m_towerPart.TowerIndex       = construct.Parts[i].Slots[k].Index;
                    m_towerPart.ParentIndex      = tower.TowerParts[i].ExtendedIndex;
                    m_towerPart.SubIndex         = m_part.SubIndex;
                    m_towerPart.TypeIndex        = m_part.TypeIndex;
                    m_towerPart.ExtendedIndex    = tower.TowerParts.Count;

                    // add part to construct and tower part to tower
                    construct.Parts.Add(m_part);
                    construct.Parts[i].Parts.Add(m_part);
                    construct.Parts[i].Slots[k].StoredPart = m_part;

                    m_towerPart.UpdateProps();
                    tower.TowerParts.Add(m_towerPart);
                    tower.TowerParts[i].TowerParts.Add(m_towerPart);
                    tower.TowerCost += m_towerPart.PartCost;
                    tower.UpdateAllProps();
                }

                // nullify part and tower part
                m_part      = null;
                m_towerPart = null;
            }
        }
 private void UtilityButtonBehaviours(InputManager input, TowerConstruct construct, Tower tower, ContentManager content)
 {
     if (m_menu.PartMenus[4].SelectionButtons[0].IsPressed)
     {
         List <Vector2> vecList = new List <Vector2>();
         m_part      = new BasePart(content.Load <Texture2D>("Art\\GameArt\\TowerPartArt\\UtilitySheet"), new Vector2(input.Mouse.X, input.Mouse.Y), Color.White, 1, 0, content, vecList, 4, 0, construct.Parts.Count, 4, 4, 7);
         m_towerPart = new RangeBoostModule(content.Load <Texture2D>("Art\\GameArt\\TowerPartArt\\UtilitySheet"), new Vector2(input.Mouse.X, input.Mouse.Y), Color.White, 1, 4, 4, 7, vecList, 4, 0);
     }
     if (m_menu.PartMenus[4].SelectionButtons[1].IsPressed)
     {
         List <Vector2> vecList = new List <Vector2>();
         m_part      = new BasePart(content.Load <Texture2D>("Art\\GameArt\\TowerPartArt\\UtilitySheet"), new Vector2(input.Mouse.X, input.Mouse.Y), Color.White, 1, 0, content, vecList, 4, 1, construct.Parts.Count, 4, 4, 7);
         m_towerPart = new DamageBoostModule(content.Load <Texture2D>("Art\\GameArt\\TowerPartArt\\UtilitySheet"), new Vector2(input.Mouse.X, input.Mouse.Y), Color.White, 1, 4, 4, 7, vecList, 4, 1);
     }
     if (m_menu.PartMenus[4].SelectionButtons[2].IsPressed)
     {
         List <Vector2> vecList = new List <Vector2>();
         m_part      = new BasePart(content.Load <Texture2D>("Art\\GameArt\\TowerPartArt\\UtilitySheet"), new Vector2(input.Mouse.X, input.Mouse.Y), Color.White, 1, 0, content, vecList, 4, 2, construct.Parts.Count, 4, 4, 7);
         m_towerPart = new RateBoostModule(content.Load <Texture2D>("Art\\GameArt\\TowerPartArt\\UtilitySheet"), new Vector2(input.Mouse.X, input.Mouse.Y), Color.White, 1, 4, 4, 7, vecList, 4, 2);
     }
     if (m_menu.PartMenus[4].SelectionButtons[3].IsPressed)
     {
         List <Vector2> vecList = new List <Vector2>();
         m_part      = new BasePart(content.Load <Texture2D>("Art\\GameArt\\TowerPartArt\\UtilitySheet"), new Vector2(input.Mouse.X, input.Mouse.Y), Color.White, 1, 0, content, vecList, 4, 3, construct.Parts.Count, 4, 4, 7);
         m_towerPart = new HealthBoostModule(content.Load <Texture2D>("Art\\GameArt\\TowerPartArt\\UtilitySheet"), new Vector2(input.Mouse.X, input.Mouse.Y), Color.White, 1, 4, 4, 7, vecList, 4, 3);
     }
     if (m_menu.PartMenus[4].SelectionButtons[4].IsPressed)
     {
         List <Vector2> vecList = new List <Vector2>();
         m_part      = new BasePart(content.Load <Texture2D>("Art\\GameArt\\TowerPartArt\\UtilitySheet"), new Vector2(input.Mouse.X, input.Mouse.Y), Color.White, 1, 0, content, vecList, 4, 4, construct.Parts.Count, 4, 4, 7);
         m_towerPart = new HealingModule(content.Load <Texture2D>("Art\\GameArt\\TowerPartArt\\UtilitySheet"), new Vector2(input.Mouse.X, input.Mouse.Y), Color.White, 1, 4, 4, 7, 5, vecList, 4, 4);
     }
     if (m_menu.PartMenus[4].SelectionButtons[5].IsPressed)
     {
         List <Vector2> vecList = new List <Vector2>();
         m_part      = new BasePart(content.Load <Texture2D>("Art\\GameArt\\TowerPartArt\\UtilitySheet"), new Vector2(input.Mouse.X, input.Mouse.Y), Color.White, 1, 0, content, vecList, 4, 5, construct.Parts.Count, 4, 4, 7);
         m_towerPart = new MotivationModule(content.Load <Texture2D>("Art\\GameArt\\TowerPartArt\\UtilitySheet"), new Vector2(input.Mouse.X, input.Mouse.Y), Color.White, 1, 4, 4, 7, 5, vecList, 4, 5);
     }
     if (m_menu.PartMenus[4].SelectionButtons[6].IsPressed)
     {
         List <Vector2> vecList = new List <Vector2>();
         m_part      = new BasePart(content.Load <Texture2D>("Art\\GameArt\\TowerPartArt\\UtilitySheet"), new Vector2(input.Mouse.X, input.Mouse.Y), Color.White, 1, 0, content, vecList, 4, 6, construct.Parts.Count, 4, 4, 7);
         m_towerPart = new TimeDilationModule(content.Load <Texture2D>("Art\\GameArt\\TowerPartArt\\UtilitySheet"), new Vector2(input.Mouse.X, input.Mouse.Y), Color.White, 1, 4, 4, 7, 5, vecList, 4, 6);
     }
 }
 private void ComponentButtonBehaviours(InputManager input, TowerConstruct construct, Tower tower, ContentManager content)
 {
     if (m_menu.PartMenus[2].SelectionButtons[0].IsPressed)
     {
         List <Vector2> vecList = new List <Vector2>();
         vecList.Add(new Vector2(0, -12));
         m_part      = new BasePart(content.Load <Texture2D>("Art\\GameArt\\TowerPartArt\\Components\\Component1"), new Vector2(input.Mouse.X, input.Mouse.Y), Color.White, 1, 0, content, vecList, 2, 0, construct.Parts.Count, 1, 1, 1);
         m_towerPart = new BasicComponentSingle(content.Load <Texture2D>("Art\\GameArt\\TowerPartArt\\Components\\Component"), new Vector2(input.Mouse.X, input.Mouse.Y), Color.White, 1, 1, 1, 1, vecList, 2, 0);
     }
     if (m_menu.PartMenus[2].SelectionButtons[1].IsPressed)
     {
         List <Vector2> vecList = new List <Vector2>();
         vecList.Add(new Vector2(0, -12));
         vecList.Add(new Vector2(0, 12));
         m_part      = new BasePart(content.Load <Texture2D>("Art\\GameArt\\TowerPartArt\\Components\\Component2"), new Vector2(input.Mouse.X, input.Mouse.Y), Color.White, 1, 0, content, vecList, 2, 1, construct.Parts.Count, 1, 1, 1);
         m_towerPart = new BasicComponentDouble(content.Load <Texture2D>("Art\\GameArt\\TowerPartArt\\Components\\Component"), new Vector2(input.Mouse.X, input.Mouse.Y), Color.White, 1, 1, 1, 1, vecList, 2, 1);
     }
 }
 private void OffenseButtonBehaviours(InputManager input, TowerConstruct construct, Tower tower, ContentManager content)
 {
     if (m_menu.PartMenus[3].SelectionButtons[0].IsPressed)
     {
         List <Vector2> vecList = new List <Vector2>();
         m_part      = new BasePart(content.Load <Texture2D>("Art\\GameArt\\TowerPartArt\\WeaponsSheet"), new Vector2(input.Mouse.X, input.Mouse.Y), Color.White, 1, 0, content, vecList, 3, 0, construct.Parts.Count, 8, 4, 6);
         m_towerPart = new NormalCannonModule(content.Load <Texture2D>("Art\\GameArt\\TowerPartArt\\WeaponsSheet"), new Vector2(input.Mouse.X, input.Mouse.Y), Color.White, 1, 8, 4, 6, content, vecList, 3, 0);
     }
     if (m_menu.PartMenus[3].SelectionButtons[1].IsPressed)
     {
         List <Vector2> vecList = new List <Vector2>();
         m_part      = new BasePart(content.Load <Texture2D>("Art\\GameArt\\TowerPartArt\\WeaponsSheet"), new Vector2(input.Mouse.X, input.Mouse.Y), Color.White, 1, 0, content, vecList, 3, 1, construct.Parts.Count, 8, 4, 6);
         m_towerPart = new HeavyCannonModule(content.Load <Texture2D>("Art\\GameArt\\TowerPartArt\\WeaponsSheet"), new Vector2(input.Mouse.X, input.Mouse.Y), Color.White, 1, 8, 4, 6, content, vecList, 3, 1);
     }
     if (m_menu.PartMenus[3].SelectionButtons[2].IsPressed)
     {
         List <Vector2> vecList = new List <Vector2>();
         m_part      = new BasePart(content.Load <Texture2D>("Art\\GameArt\\TowerPartArt\\WeaponsSheet"), new Vector2(input.Mouse.X, input.Mouse.Y), Color.White, 1, 0, content, vecList, 3, 2, construct.Parts.Count, 8, 4, 6);
         m_towerPart = new LaserCannonModule(content.Load <Texture2D>("Art\\GameArt\\TowerPartArt\\WeaponsSheet"), new Vector2(input.Mouse.X, input.Mouse.Y), Color.White, 1, 8, 4, 6, content, vecList, 3, 2);
     }
     if (m_menu.PartMenus[3].SelectionButtons[3].IsPressed)
     {
         List <Vector2> vecList = new List <Vector2>();
         m_part      = new BasePart(content.Load <Texture2D>("Art\\GameArt\\TowerPartArt\\WeaponsSheet"), new Vector2(input.Mouse.X, input.Mouse.Y), Color.White, 1, 0, content, vecList, 3, 3, construct.Parts.Count, 8, 4, 6);
         m_towerPart = new MissileCannonModule(content.Load <Texture2D>("Art\\GameArt\\TowerPartArt\\WeaponsSheet"), new Vector2(input.Mouse.X, input.Mouse.Y), Color.White, 1, 8, 4, 6, content, vecList, 3, 3);
     }
     if (m_menu.PartMenus[3].SelectionButtons[4].IsPressed)
     {
         List <Vector2> vecList = new List <Vector2>();
         m_part      = new BasePart(content.Load <Texture2D>("Art\\GameArt\\TowerPartArt\\WeaponsSheet"), new Vector2(input.Mouse.X, input.Mouse.Y), Color.White, 1, 0, content, vecList, 3, 4, construct.Parts.Count, 8, 4, 6);
         m_towerPart = new FlameCannonModule(content.Load <Texture2D>("Art\\GameArt\\TowerPartArt\\WeaponsSheet"), new Vector2(input.Mouse.X, input.Mouse.Y), Color.White, 1, 8, 4, 6, content, vecList, 3, 4);
     }
     if (m_menu.PartMenus[3].SelectionButtons[5].IsPressed)
     {
         List <Vector2> vecList = new List <Vector2>();
         m_part      = new BasePart(content.Load <Texture2D>("Art\\GameArt\\TowerPartArt\\WeaponsSheet"), new Vector2(input.Mouse.X, input.Mouse.Y), Color.White, 1, 0, content, vecList, 3, 5, construct.Parts.Count, 8, 4, 6);
         m_towerPart = new SplashCannonModule(content.Load <Texture2D>("Art\\GameArt\\TowerPartArt\\WeaponsSheet"), new Vector2(input.Mouse.X, input.Mouse.Y), Color.White, 1, 8, 4, 6, content, vecList, 3, 5);
     }
 }
        private void FoundationButtonBehaviours(TowerConstruct construct, Tower tower, ContentManager content)
        {
            if (m_menu.PartMenus[0].SelectionButtons[0].IsPressed)
            {
                List <Vector2> vecList = new List <Vector2>();
                vecList.Add(new Vector2(0, 0));
                m_part      = new BasePart(content.Load <Texture2D>("Art\\GameArt\\TowerPartArt\\FoundationsSheet"), new Vector2(126, 126), Color.White, 1, 0, content, vecList, 0, 0, construct.Parts.Count, 4, 4, 3);
                m_towerPart = new LightFoundations(content.Load <Texture2D>("Art\\GameArt\\TowerPartArt\\FoundationsSheet"), new Vector2(126, 126), Color.White, 1, 4, 4, 3, vecList, 0, 0);
                if (construct.Parts[0] != null)
                {
                    construct.Parts.RemoveAt(0);
                    construct.Parts.Add(m_part);
                    construct.Parts[0].ExtendedIndex = 0;
                    tower.TowerDimensions            = 1;
                    m_foundationsIndex         = 0;
                    construct.FoundationsIndex = 0;

                    if (tower.TowerParts.Count > 0 && tower.TowerParts[0] != null)
                    {
                        tower.TowerParts.RemoveAt(0);
                        tower.TowerParts.Add(m_towerPart);
                        tower.TowerCost = m_towerPart.PartCost;
                        tower.TowerParts[0].ParentIndex   = 999;
                        tower.TowerParts[0].ExtendedIndex = 0;
                        tower.MaxComponents        = 10;
                        m_menu.FoundationCount     = 1;
                        m_foundationsIndex         = 0;
                        construct.FoundationsIndex = 0;
                    }
                    else
                    {
                        tower.TowerParts.Add(m_towerPart);
                        tower.TowerCost = m_towerPart.PartCost;
                        tower.TowerParts[0].ParentIndex   = 999;
                        tower.TowerParts[0].ExtendedIndex = 0;
                        tower.MaxComponents        = 10;
                        m_menu.FoundationCount     = 1;
                        m_foundationsIndex         = 0;
                        construct.FoundationsIndex = 0;
                    }

                    m_part      = null;
                    m_towerPart = null;
                }
                else
                {
                    construct.Parts.Add(m_part);
                    construct.Parts[0].ExtendedIndex = 0;
                    tower.TowerDimensions            = 1;
                    tower.MaxComponents        = 10;
                    m_menu.FoundationCount     = 1;
                    m_foundationsIndex         = 0;
                    construct.FoundationsIndex = 0;
                    m_part      = null;
                    m_towerPart = null;
                }
            }
            else if (m_menu.PartMenus[0].SelectionButtons[1].IsPressed)
            {
                List <Vector2> vecList = new List <Vector2>();
                vecList.Add(new Vector2(0, 0));
                m_part      = new BasePart(content.Load <Texture2D>("Art\\GameArt\\TowerPartArt\\FoundationsSheet"), new Vector2(126, 126), Color.White, 2, 0, content, vecList, 0, 1, construct.Parts.Count, 4, 4, 3);
                m_towerPart = new MediumFoundations(content.Load <Texture2D>("Art\\GameArt\\TowerPartArt\\FoundationsSheet"), new Vector2(126, 126), Color.White, 2, 4, 4, 3, vecList, 0, 1);

                if (construct.Parts[0] != null)
                {
                    construct.Parts.RemoveAt(0);
                    construct.Parts.Add(m_part);
                    tower.TowerDimensions      = 2;
                    m_foundationsIndex         = 1;
                    construct.FoundationsIndex = 1;

                    if (tower.TowerParts.Count > 0 && tower.TowerParts[0] != null)
                    {
                        tower.TowerParts.RemoveAt(0);
                        tower.TowerParts.Add(m_towerPart);
                        tower.TowerCost = m_towerPart.PartCost;
                        tower.TowerParts[0].ParentIndex   = 999;
                        tower.TowerParts[0].ExtendedIndex = 0;
                        tower.MaxComponents        = 15;
                        m_menu.FoundationCount     = 2;
                        m_foundationsIndex         = 1;
                        construct.FoundationsIndex = 1;
                    }
                    else
                    {
                        tower.TowerParts.Add(m_towerPart);
                        tower.TowerCost = m_towerPart.PartCost;
                        tower.TowerParts[0].ParentIndex   = 999;
                        tower.TowerParts[0].ExtendedIndex = 0;
                        tower.MaxComponents        = 15;
                        m_menu.FoundationCount     = 2;
                        m_foundationsIndex         = 1;
                        construct.FoundationsIndex = 1;
                    }

                    m_part      = null;
                    m_towerPart = null;
                }
                else
                {
                    construct.Parts.Add(m_part);
                    tower.TowerDimensions      = 2;
                    tower.MaxComponents        = 15;
                    m_menu.FoundationCount     = 1;
                    m_foundationsIndex         = 1;
                    construct.FoundationsIndex = 1;
                    m_part      = null;
                    m_towerPart = null;
                }
            }
            else if (m_menu.PartMenus[0].SelectionButtons[2].IsPressed)
            {
                List <Vector2> vecList = new List <Vector2>();
                vecList.Add(new Vector2(0, 0));
                m_part      = new BasePart(content.Load <Texture2D>("Art\\GameArt\\TowerPartArt\\FoundationsSheet"), new Vector2(126, 126), Color.White, 3, 0, content, vecList, 0, 2, construct.Parts.Count, 4, 4, 3);
                m_towerPart = new HeavyFoundations(content.Load <Texture2D>("Art\\GameArt\\TowerPartArt\\FoundationsSheet"), new Vector2(126, 126), Color.White, 3, 4, 4, 3, vecList, 0, 2);
                if (construct.Parts[0] != null)
                {
                    construct.Parts.RemoveAt(0);
                    construct.Parts.Add(m_part);
                    tower.TowerDimensions      = 3;
                    m_foundationsIndex         = 2;
                    construct.FoundationsIndex = 2;

                    if (tower.TowerParts.Count > 0 && tower.TowerParts[0] != null)
                    {
                        tower.TowerParts.RemoveAt(0);
                        tower.TowerParts.Add(m_towerPart);
                        tower.TowerCost = m_towerPart.PartCost;
                        tower.TowerParts[0].ParentIndex   = 999;
                        tower.TowerParts[0].ExtendedIndex = 0;
                        tower.MaxComponents        = 20;
                        m_menu.FoundationCount     = 3;
                        m_foundationsIndex         = 2;
                        construct.FoundationsIndex = 2;
                    }
                    else
                    {
                        tower.TowerParts.Add(m_towerPart);
                        tower.TowerCost = m_towerPart.PartCost;
                        tower.TowerParts[0].ParentIndex   = 999;
                        tower.TowerParts[0].ExtendedIndex = 0;
                        tower.MaxComponents        = 20;
                        m_menu.FoundationCount     = 3;
                        m_foundationsIndex         = 2;
                        construct.FoundationsIndex = 2;
                    }

                    m_part      = null;
                    m_towerPart = null;
                }
                else
                {
                    construct.Parts.Add(m_part);
                    tower.TowerDimensions      = 3;
                    tower.MaxComponents        = 20;
                    m_menu.FoundationCount     = 3;
                    m_foundationsIndex         = 2;
                    construct.FoundationsIndex = 2;
                    m_part      = null;
                    m_towerPart = null;
                }
            }
        }
        private void RotorButtonBehaviours(InputManager input, TowerConstruct construct, Tower tower, ContentManager content)
        {
            if (m_menu.PartMenus[1].SelectionButtons[0].IsPressed)
            {
                List <Vector2> vecList = new List <Vector2>();
                vecList.Add(new Vector2(0, -5));
                m_part      = new BasePart(content.Load <Texture2D>("Art\\GameArt\\TowerPartArt\\Rotors\\Light\\SmallRotor1"), new Vector2(input.Mouse.X, input.Mouse.Y), Color.White, 1, 0, content, vecList, 1, 0, construct.Parts.Count, 1, 1, 1);
                m_towerPart = new SmallBasicRotor(content.Load <Texture2D>("Art\\GameArt\\TowerPartArt\\Rotors\\Light\\SmallRotor1"), new Vector2(input.Mouse.X, input.Mouse.Y), Color.White, 1, 1, 1, 1, vecList, 1, 0);
                //m_menu.RotorCount++;
            }
            if (m_menu.PartMenus[1].SelectionButtons[1].IsPressed)
            {
                List <Vector2> vecList = new List <Vector2>();
                vecList.Add(new Vector2(-11, 6));
                vecList.Add(new Vector2(11, 6));
                m_part      = new BasePart(content.Load <Texture2D>("Art\\GameArt\\TowerPartArt\\Rotors\\Light\\SmallRotor2"), new Vector2(input.Mouse.X, input.Mouse.Y), Color.White, 1, 0, content, vecList, 1, 1, construct.Parts.Count, 1, 1, 1);
                m_towerPart = new SmallAdvancedRotor(content.Load <Texture2D>("Art\\GameArt\\TowerPartArt\\Rotors\\Light\\SmallRotor2"), new Vector2(input.Mouse.X, input.Mouse.Y), Color.White, 1, 1, 1, 1, vecList, 1, 1);
                //m_menu.RotorCount++;
            }
            if (m_menu.PartMenus[1].SelectionButtons[2].IsPressed)
            {
                List <Vector2> vecList = new List <Vector2>();
                vecList.Add(new Vector2(0, -8));
                vecList.Add(new Vector2(-11, 6));
                vecList.Add(new Vector2(11, 6));
                m_part      = new BasePart(content.Load <Texture2D>("Art\\GameArt\\TowerPartArt\\Rotors\\Light\\SmallRotor3"), new Vector2(input.Mouse.X, input.Mouse.Y), Color.White, 1, 0, content, vecList, 1, 2, construct.Parts.Count, 1, 1, 1);
                m_towerPart = new SmallPrototypeRotor(content.Load <Texture2D>("Art\\GameArt\\TowerPartArt\\Rotors\\Light\\SmallRotor3"), new Vector2(input.Mouse.X, input.Mouse.Y), Color.White, 1, 1, 1, 1, vecList, 1, 2);
                //m_menu.RotorCount++;
            }
            if (m_menu.PartMenus[1].SelectionButtons[3].IsPressed)
            {
                List <Vector2> vecList = new List <Vector2>();
                vecList.Add(new Vector2(0, -21));
                m_part      = new BasePart(content.Load <Texture2D>("Art\\GameArt\\TowerPartArt\\Rotors\\Medium\\MediumRotor1"), new Vector2(input.Mouse.X, input.Mouse.Y), Color.White, 1, 0, content, vecList, 1, 3, construct.Parts.Count, 1, 1, 1);
                m_towerPart = new MediumBasicRotor(content.Load <Texture2D>("Art\\GameArt\\TowerPartArt\\Rotors\\Medium\\MediumRotor1"), new Vector2(input.Mouse.X, input.Mouse.Y), Color.White, 1, 1, 1, 1, vecList, 1, 3);
                //m_menu.RotorCount++;
            }
            if (m_menu.PartMenus[1].SelectionButtons[4].IsPressed)
            {
                List <Vector2> vecList = new List <Vector2>();
                vecList.Add(new Vector2(-22, 13));
                vecList.Add(new Vector2(22, 13));
                m_part      = new BasePart(content.Load <Texture2D>("Art\\GameArt\\TowerPartArt\\Rotors\\Medium\\MediumRotor2"), new Vector2(input.Mouse.X, input.Mouse.Y), Color.White, 1, 0, content, vecList, 1, 4, construct.Parts.Count, 1, 1, 1);
                m_towerPart = new MediumAdvancedRotor(content.Load <Texture2D>("Art\\GameArt\\TowerPartArt\\Rotors\\Medium\\MediumRotor2"), new Vector2(input.Mouse.X, input.Mouse.Y), Color.White, 1, 1, 1, 1, vecList, 1, 4);
                //m_menu.RotorCount++;
            }
            if (m_menu.PartMenus[1].SelectionButtons[5].IsPressed)
            {
                List <Vector2> vecList = new List <Vector2>();
                vecList.Add(new Vector2(0, -21));
                vecList.Add(new Vector2(-22, 13));
                vecList.Add(new Vector2(22, 13));
                m_part      = new BasePart(content.Load <Texture2D>("Art\\GameArt\\TowerPartArt\\Rotors\\Medium\\MediumRotor3"), new Vector2(input.Mouse.X, input.Mouse.Y), Color.White, 1, 0, content, vecList, 1, 5, construct.Parts.Count, 1, 1, 1);
                m_towerPart = new MediumPrototypeRotor(content.Load <Texture2D>("Art\\GameArt\\TowerPartArt\\Rotors\\Medium\\MediumRotor3"), new Vector2(input.Mouse.X, input.Mouse.Y), Color.White, 1, 1, 1, 1, vecList, 1, 5);
                //m_menu.RotorCount++;
            }
            if (m_menu.PartMenus[1].SelectionButtons[6].IsPressed)
            {
                List <Vector2> vecList = new List <Vector2>();
                vecList.Add(new Vector2(0, -11));
                m_part      = new BasePart(content.Load <Texture2D>("Art\\GameArt\\TowerPartArt\\Rotors\\Heavy\\LargeRotor1"), new Vector2(input.Mouse.X, input.Mouse.Y), Color.White, 1, 0, content, vecList, 1, 6, construct.Parts.Count, 4, 4, 1);
                m_towerPart = new HeavyBasicRotor(content.Load <Texture2D>("Art\\GameArt\\TowerPartArt\\Rotors\\Heavy\\LargeRotor1"), new Vector2(input.Mouse.X, input.Mouse.Y), Color.White, 1, 4, 4, 1, vecList, 1, 6);
                //m_menu.RotorCount++;
            }
            if (m_menu.PartMenus[1].SelectionButtons[7].IsPressed)
            {
                List <Vector2> vecList = new List <Vector2>();
                vecList.Add(new Vector2(-34, 27));
                vecList.Add(new Vector2(34, 27));
                m_part      = new BasePart(content.Load <Texture2D>("Art\\GameArt\\TowerPartArt\\Rotors\\Heavy\\LargeRotor2"), new Vector2(input.Mouse.X, input.Mouse.Y), Color.White, 1, 0, content, vecList, 1, 7, construct.Parts.Count, 4, 4, 1);
                m_towerPart = new HeavyAdvancedRotor(content.Load <Texture2D>("Art\\GameArt\\TowerPartArt\\Rotors\\Heavy\\LargeRotor2"), new Vector2(input.Mouse.X, input.Mouse.Y), Color.White, 1, 4, 4, 1, vecList, 1, 7);
                //m_menu.RotorCount++;
            }
            if (m_menu.PartMenus[1].SelectionButtons[8].IsPressed)
            {
                List <Vector2> vecList = new List <Vector2>();
                vecList.Add(new Vector2(-24, -40));
                vecList.Add(new Vector2(24, -40));
                vecList.Add(new Vector2(-34, 27));
                vecList.Add(new Vector2(34, 27));
                m_part      = new BasePart(content.Load <Texture2D>("Art\\GameArt\\TowerPartArt\\Rotors\\Heavy\\LargeRotor3"), new Vector2(input.Mouse.X, input.Mouse.Y), Color.White, 1, 0, content, vecList, 1, 8, construct.Parts.Count, 4, 4, 1);
                m_towerPart = new HeavyPrototypeRotor(content.Load <Texture2D>("Art\\GameArt\\TowerPartArt\\Rotors\\Heavy\\LargeRotor3"), new Vector2(input.Mouse.X, input.Mouse.Y), Color.White, 1, 4, 4, 1, vecList, 1, 8);
                //m_menu.RotorCount++;
            }

            if (m_towerPart != null)
            {
                m_towerPart.SourceRectY = 2;
            }
        }