Inheritance: InteractiveObject
 /// <summary>
 /// 
 /// </summary>
 /// <param name="character"></param>
 /// <param name="skill"></param>
 /// <param name="type"></param>
 public CraftPlanExchange(CharacterEntity character, CraftPlan plan, JobSkill skill, ExchangeTypeEnum type = ExchangeTypeEnum.EXCHANGE_CRAFTPLAN)
     : base(type)
 {
     m_caseItems = new Dictionary<long, int>();
     m_templateQuantity = new Dictionary<int, long>();
     m_plan = plan;
     Character = character;
     Skill = (CraftSkill)skill;
     Job = Character.CharacterJobs.GetJob(skill.Id);
     MaxCase = Job.CraftMaxCase;
 }
 /// <summary>
 /// 
 /// </summary>
 /// <param name="plan"></param>
 /// <param name="skill"></param>
 public void CraftStart(CraftPlan plan, JobSkill skill)
 {
     CurrentAction = new GameCraftPlanExchangeAction(this, plan, skill);
     StartAction(GameActionTypeEnum.EXCHANGE);
 }
 /// <summary>
 /// 
 /// </summary>
 /// <param name="character"></param>
 /// <param name="plan"></param>
 /// <param name="skill"></param>
 public GameCraftPlanExchangeAction(CharacterEntity character, CraftPlan plan, JobSkill skill)
     : base(new CraftPlanExchange(character, plan, skill), character)
 {
 }