当前位置: 首页>>代码示例>>C#>>正文


C# Plan.PlanTo方法代码示例

本文整理汇总了C#中Plan.PlanTo方法的典型用法代码示例。如果您正苦于以下问题:C# Plan.PlanTo方法的具体用法?C# Plan.PlanTo怎么用?C# Plan.PlanTo使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Plan的用法示例。


在下文中一共展示了Plan.PlanTo方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: CreatePlanFromCharacterSkillQueue

        /// <summary>
        /// Creates a plan from a character skill queue.
        /// </summary>
        /// <param name="newPlan">The new plan.</param>
        /// <param name="character">The character.</param>
        public static bool CreatePlanFromCharacterSkillQueue(Plan newPlan, Character character)
        {
            CCPCharacter ccpCharacter = character as CCPCharacter;

            if (ccpCharacter == null)
                return false;

            if (!ccpCharacter.SkillQueue.Any())
            {
                MessageBox.Show(@"There are no skills in the characters' queue.",
                    @"Plan Creation Failure",
                    MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                return false;
            }

            if (ccpCharacter.Plans.Any(x => x.Name == newPlan.Name))
            {
                MessageBox.Show(@"There is already a plan with the same name in the characters' Plans.",
                    @"Plan Creation Failure",
                    MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                return false;
            }

            // Add skill queue in plan
            foreach (QueuedSkill qSkill in ccpCharacter.SkillQueue)
            {
                newPlan.PlanTo(qSkill.Skill, qSkill.Level);
            }

            // Check if there is already a plan with the same skills
            if (ccpCharacter.Plans.Any(plan => !newPlan.Except(plan, new PlanEntryComparer()).Any()))
            {
                MessageBox.Show(@"There is already a plan with the same skills in the characters' Plans.",
                    @"Plan Creation Failure",
                    MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                return false;
            }

            // Add plan and save
            ccpCharacter.Plans.Insert(0, newPlan);

            return true;
        }
开发者ID:,项目名称:,代码行数:48,代码来源:

示例2: MergePlans

        /// <summary>
        /// Merge the selected plans.
        /// </summary>
        private void MergePlans()
        {
            // Build the merge plan
            var result = new Plan(m_character);
            using (result.SuspendingEvents())
            {
                // Merge the plans
                foreach (ListViewItem item in lbPlanList.SelectedItems)
                {
                    Plan plan = (Plan)item.Tag;
                    foreach (PlanEntry entry in plan)
                    {
                        // If not planned yet, we add the new entry
                        if (!result.IsPlanned(entry.Skill, entry.Level))
                            result.PlanTo(entry.Skill, entry.Level, entry.Priority, entry.Notes);

                        // Then we update the entry's groups
                        var newEntry = result.GetEntry(entry.Skill, entry.Level);

                        // The entry may be null if the character already knows it.
                        if (newEntry != null)
                            newEntry.PlanGroups.Add(plan.Name);
                    }
                }
            }

            // Request a new name for this plan
            using (NewPlanWindow npw = new NewPlanWindow())
            {
                DialogResult dr = npw.ShowDialog();
                if (dr == DialogResult.Cancel)
                    return;

                // Change the plan's name and add it
                result.Name = npw.Result;
                m_character.Plans.Add(result);
            }
        }
开发者ID:wow4all,项目名称:evemu_server,代码行数:41,代码来源:PlanManagementWindow.cs

示例3: ExportCharacterSkillsAsPlanAsync

        /// <summary>
        /// Exports the character's selected skills as plan.
        /// </summary>
        /// <param name="character">The character.</param>
        /// <param name="selectedSkills">The selected skills.</param>
        /// <returns></returns>
        /// <exception cref="System.ArgumentNullException"></exception>
        public static async Task ExportCharacterSkillsAsPlanAsync(Character character, IEnumerable<Skill> selectedSkills = null)
        {
            character.ThrowIfNull(nameof(character));

            // Create a character without any skill
            CharacterScratchpad scratchpad = new CharacterScratchpad(character);
            scratchpad.ClearSkills();

            // Create a new plan
            Plan plan = new Plan(scratchpad) { Name = "Skills Plan" };

            IEnumerable<Skill> skills = selectedSkills ?? character.Skills.Where(skill => skill.IsPublic);

            // Add all trained skill levels that the character has trained so far
            foreach (Skill skill in skills)
            {
                plan.PlanTo(skill, skill.Level);
            }

            await ExportPlanAsync(plan, character);
        }
开发者ID:,项目名称:,代码行数:28,代码来源:


注:本文中的Plan.PlanTo方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。