/// <summary> /// Add a skill to the start of the queue /// </summary> /// <param name="skill"></param> /// <returns></returns> public bool TrainSkillNow(DirectInvType skill) { //if (!DirectEve.HasSupportInstances()) //{ // DirectEve.Log("DirectEve: Error: This method requires a support instance."); // return false; //} if (!AreMySkillsReady) { return(false); } // Assume level 1 var currentLevel = 1; // Get the skill from 'MySkills' var mySkill = MySkills.FirstOrDefault(s => s.TypeId == skill.TypeId); if (mySkill != null) { currentLevel = mySkill.Level; } return(DirectEve.ThreadedLocalSvcCall("skillqueue", "TrainSkillNow", skill.TypeId, currentLevel)); }
/// <summary> /// Add a skill to the end of the queue /// </summary> /// <param name="skill"></param> /// <returns></returns> public bool AddSkillToEndOfQueue(DirectInvType skill) { //if (!DirectEve.HasSupportInstances()) //{ // DirectEve.Log("DirectEve: Error: This method requires a support instance."); // return false; //} if (!AreMySkillsReady) { return(false); } // Assume level 1 var currentLevel = 1; // Get the skill from 'MySkills' var mySkill = MySkills.FirstOrDefault(s => s.TypeId == skill.TypeId); if (mySkill != null) { currentLevel = mySkill.Level; } // Assume 1 level higher then current var nextLevel = currentLevel + 1; // Check if the skill is already in the queue // due to the OrderByDescending on Level, this will // result in the highest version of this skill in the queue mySkill = MySkillQueue.OrderByDescending(s => s.Level).FirstOrDefault(s => s.TypeId == skill.TypeId); if (mySkill != null) { nextLevel = mySkill.Level + 1; } return(DirectEve.ThreadedLocalSvcCall("skillqueue", "AddSkillToEnd", skill.TypeId, currentLevel, nextLevel)); }