コード例 #1
0
        private void BtnAdd_Click(object sender, EventArgs e)
        {
            if (Manager.ObjectSet == null)
            {
                return;
            }

            bool   name_collision         = true;
            int    new_element_name_index = LBObjects.Items.Count;
            string new_element_name       = "";

            while (name_collision == true)
            {
                new_element_name = "obj" + new_element_name_index;

                name_collision = false;

                foreach (object item in LBObjects.Items)
                {
                    if (new_element_name.CompareTo(item) == 0)
                    {
                        name_collision = true;
                        ++new_element_name_index;
                        continue;
                    }
                }
            }

            Rectangle selection = SurfaceTexture.GetSelection();

            ObjectSetElementData new_element = new ObjectSetElementData
            {
                ElementName = new_element_name,
                OffsetU     = selection.X,
                OffsetV     = selection.Y,
                Size        = new SSize(selection.Width, selection.Height)
            };

            Manager.ObjectSet.Elements.Add(new_element);

            LBObjects.Items.Add(new_element_name);

            LBObjects.SelectedIndex = LBObjects.Items.Count - 1;
        }