コード例 #1
0
        /// <summary>
        /// updates all data from gui to template
        /// </summary>
        public void UpdateTemplate()
        {
            //used to read object data and update gui changes
            ObjectsReader obrdUpdater = new ObjectsReader();

            //Program.frmTemplateEdit.thTemplate.GetObjectsSet (

            //this updates all gui changes to all objects
            #region iterates through all chklists and update all changes

            for (int i = 1; i < chklstBattleObjects.Items.Count; i++)
            {
                TemplateMapObject tmoObject = (TemplateMapObject)chklstBattleObjects.Items[i];

                if (this.chklstBattleObjects.CheckedItems.Contains(tmoObject))
                {
                    obrdUpdater.UpdateObject(tmoObject);
                }
                else
                {
                    obrdUpdater.UpdateObjectWithZeroChance(tmoObject);
                }
            }

            for (int i = 1; i < chklstEnhancingObjects.Items.Count; i++)
            {
                TemplateMapObject tmoObject = (TemplateMapObject)chklstEnhancingObjects.Items[i];

                if (this.chklstEnhancingObjects.CheckedItems.Contains(tmoObject))
                {
                    obrdUpdater.UpdateObject(tmoObject);
                }
                else
                {
                    obrdUpdater.UpdateObjectWithZeroChance(tmoObject);
                }
            }

            for (int i = 1; i < chklstArtifacts.Items.Count; i++)
            {
                TemplateMapObject tmoObject = (TemplateMapObject)chklstArtifacts.Items[i];

                if (this.chklstArtifacts.CheckedItems.Contains(tmoObject))
                {
                    obrdUpdater.UpdateObject(tmoObject);
                }
                else
                {
                    obrdUpdater.UpdateObjectWithZeroChance(tmoObject);
                }
            }

            #endregion

            //update zones general appear chance
            Program.frmTemplateEdit.thTemplate.UpdateZoneAttribute(iZoneIndex, "ObjectsSet" + iObjectSet.ToString(), msktxtChance.Text, "Appear_Chance");
            Program.frmTemplateEdit.thTemplate.UpdateZoneAttribute(iZoneIndex, "ObjectsSet" + iObjectSet.ToString(), msktxtDwellNumber.Text, "Dwelling_Number");


            //this will insert the new Objects node inside right zone and object set
            Program.frmTemplateEdit.thTemplate.UpdateObjectSetProperty(obrdUpdater.GetObjectsData(), iZoneIndex, iObjectSet);
        }