public static FighterInfo createFighterFromMsgHero(BattleSideEnum side, BattleMsgHero msgHero)
		{
			FighterInfo _info = new FighterInfo();
			_info.Index = msgHero.Index;
			_info.BattleSide = side;
			_info.addNormalProp(BattleKeyConstants.BATTLE_KEY_HERO_TEMPLATE, msgHero.TemplateId);
			_info.addNormalProp(BattleKeyConstants.BATTLE_KEY_HERO_JOB, msgHero.JobId);
			_info.addNormalProp(BattleKeyConstants.BATTLE_KEY_HERO_TYPE, msgHero.HeroType);
			_info.FighterType = FighterType.HERO;
			_info.BattleProperty = msgHero.FighteProp;
			_info.SkillIdList = msgHero.AllSkill;
			_info.ActiveSkillId = msgHero.ActiveSkillId;
			_info.LeaderSkillId = msgHero.LeaderSkill;
			return _info;
		}
		public static FighterInfo createFighterFromMsgMonster(BattleSideEnum side, BattleMsgMonster msgMonster)
		{
			FighterInfo _info = new FighterInfo();
			_info.Index = msgMonster.Index;
			_info.BattleSide = side;
			_info.addNormalProp(BattleKeyConstants.BATTLE_KEY_HERO_TEMPLATE, msgMonster.TemplateId);
			_info.addNormalProp(BattleKeyConstants.BATTLE_KEY_HERO_JOB, 1);
			_info.FighterType = FighterType.MONSTER;
			createMonsterDrop(_info, msgMonster.DropMap);
			return _info;
		}
		protected internal static void setMonsterDrop(int key, FighterInfo info, Dictionary<sbyte, int> dropMap)
		{
			sbyte _byteKey = (sbyte) key;
			if (dropMap.ContainsKey(_byteKey))
			{
				int _dropHero = dropMap[_byteKey];
				info.addNormalProp(key, _dropHero);
			}
		}