예제 #1
0
        /// <summary>
        /// 根据参数配置创建类的实例
        /// </summary>
        /// <param name="createArgs">参数配置</param>
        /// <returns>返回类实例</returns>
        public static Hero Create(XElement createArgs)
        {
            CharacterArgs data = CharacterArgs.CreateFrom(createArgs);

            int row, col;

            try
            {
                row = int.Parse(createArgs.Attribute("row").Value);
                col = int.Parse(createArgs.Attribute("col").Value);
            }
            catch (Exception)
            {
                throw new Exception("错误的位置");
            }
            Coord showPosation = new Coord(col, row);

            string fileName = data.FaceFile;
            Size   unitSize = GetSize(createArgs.Attribute("unitSize").Value);

            Hero player = new Hero(showPosation, data, unitSize);

            //获取背包数据
            player.Pack = Packet.Create(createArgs.Element("packet"));

            //加载技能信息
            if (createArgs.Element("skill") != null)
            {
                XElement faceXml = createArgs.Element("skill").Element("skillImages");
                string[] images  = Weapon.GetSkillImages(faceXml);
                player.SetSkillFlash(images[0], images[1], images[2]);
            }

            return(player);
        }
예제 #2
0
        /// <summary>
        /// 与武器接触触发获取事件,如果等级不够则无法获取
        /// </summary>
        /// <param name="player">事件触发者</param>
        public override void TriggerEvent(Hero player)
        {
            if (Enable && player.Level >= this.LevelDemand)
            {
                //获取之后更新技能动画
                player.SetSkillFlash(CommonAttackFaceFile, GoodAttackFaceFile, BestAttackFaceFile);
            }

            base.TriggerEvent(player);
        }
예제 #3
0
        /// <summary>
        /// 与武器接触触发获取事件,如果等级不够则无法获取
        /// </summary>
        /// <param name="player">事件触发者</param>
        public override void TriggerEvent(Hero player)
        {
            if (Enable && player.Level >= this.LevelDemand)
            { 
                //获取之后更新技能动画
                player.SetSkillFlash(CommonAttackFaceFile, GoodAttackFaceFile, BestAttackFaceFile);
            }

            base.TriggerEvent(player);
        }
예제 #4
0
파일: Hero.cs 프로젝트: sleepandeat/Program
        /// <summary>
        /// 根据参数配置创建类的实例
        /// </summary>
        /// <param name="createArgs">参数配置</param>
        /// <returns>返回类实例</returns>
        public static Hero Create(XElement createArgs)
        {
            CharacterArgs data = CharacterArgs.CreateFrom(createArgs);

            int row, col;
            try
            {
                row = int.Parse(createArgs.Attribute("row").Value);
                col = int.Parse(createArgs.Attribute("col").Value);
            }
            catch (Exception)
            {
                throw new Exception("错误的位置");
            }
            Coord showPosation = new Coord(col, row);

            string fileName = data.FaceFile;
            Size unitSize = GetSize(createArgs.Attribute("unitSize").Value);

            Hero player = new Hero(showPosation, data, unitSize);

            //获取背包数据
            player.Pack = Packet.Create(createArgs.Element("packet"));

            //加载技能信息
            if (createArgs.Element("skill") != null)
            {
                XElement faceXml = createArgs.Element("skill").Element("skillImages");
                string[] images = Weapon.GetSkillImages(faceXml);
                player.SetSkillFlash(images[0], images[1], images[2]);
            }

            return player;
        }