Exemplo n.º 1
0
        /// <summary>
        /// 增加敏捷
        /// </summary>
        public static void AddAgility(Queue <MotaEventArgs> datas, Hero player)
        {
            MotaEventArgs data = datas.Dequeue();

            player.Agility += data.Value;
            EventEffect(data);
        }
Exemplo n.º 2
0
        /// <summary>
        /// 增加魔法
        /// </summary>
        public static void AddMagic(Queue <MotaEventArgs> datas, Hero player)
        {
            MotaEventArgs data = datas.Dequeue();

            player.Magic += data.Value;
            EventEffect(data);
        }
Exemplo n.º 3
0
        /// <summary>
        /// 下楼
        /// </summary>
        public static void DownFloor(Queue <MotaEventArgs> datas, Hero player)
        {
            MotaEventArgs data = datas.Dequeue();

            MotaWorld.GetInstance().MapManager.CurFloorIndex = MotaWorld.GetInstance().MapManager.CurFloorNode.PreFloor;
            EventEffect(data);
        }
Exemplo n.º 4
0
        /// <summary>
        /// 倍增血量
        /// </summary>
        public static void MulHp(Queue <MotaEventArgs> datas, Hero player)
        {
            MotaEventArgs data = datas.Dequeue();

            player.Hp += (int)(player.Hp * data.Rate);
            EventEffect(data);
        }
Exemplo n.º 5
0
        /// <summary>
        /// 播放音效(用户定义的音效播放)
        /// </summary>
        public static void PlaySound(Queue <MotaEventArgs> datas, Hero player)
        {
            MotaEventArgs data = datas.Dequeue();

            SoundsList.PlaySound(data.Sound);
            EventEffect(data);
        }
Exemplo n.º 6
0
        /// <summary>
        /// 设置事件效果
        /// </summary>
        /// <param name="method">事件参数</param>
        public static void EventEffect(MotaEventArgs data)
        {
            if (data.Method == EffectType.Blood || data.Method == EffectType.Goods || data.Method == EffectType.LevelUp)
            {
                MotaWorld.GetInstance().GoodsGetWindow.Open(new ShortMessage("获得" + data.Name, data.ExistStation));
            }

            //获取物品时显示消息
            if (data.Method == EffectType.Goods)
            {
                //播放音效
                SoundsList.PlaySound(SoundType.获得物品);
            }

            if (data.Method == EffectType.Blood)
            {
                SoundsList.PlaySound(SoundType.获取血瓶);
            }

            //获取道具时提升信息
            if (data.Method == EffectType.Prop)
            {
                MotaWorld.GetInstance().MessageShowWindow.Open(Property.GetDescribe(data.Prop));

                SoundsList.PlaySound(SoundType.获取道具);
            }

            if (data.Method == EffectType.LevelUp)
            {
                SoundsList.PlaySound(SoundType.升级);
            }
        }
Exemplo n.º 7
0
        /// <summary>
        /// 增加道具
        /// </summary>
        public static void AddProperty(Queue <MotaEventArgs> datas, Hero player)
        {
            MotaEventArgs data = datas.Dequeue();

            player.Pack.AddProperty(data.Prop, data.Value);
            EventEffect(data);
        }
Exemplo n.º 8
0
        /// <summary>
        /// 添加事件并提供作用数据
        /// </summary>
        /// <param name="e">事件方法</param>
        /// <param name="data">作用数据</param>
        public void AddEvent(TouchHandle e, MotaEventArgs data)
        {
            TouchEvent += e;

            //设置事件参数的固有属性
            data.Name         = EventName;
            data.ExistStation = Common.GetStation(this.Location);
            TouchEventData.Enqueue(data);
        }
Exemplo n.º 9
0
        /// <summary>
        /// 打开对话窗口
        /// </summary>
        public static void OpenDialogue(Queue <MotaEventArgs> datas, Hero player)
        {
            MotaEventArgs data = datas.Dequeue();

            Dialogue[] dialogues = data.Messages;
            MotaWorld.GetInstance().DialogueWindow.Open(dialogues);

            EventEffect(data);
        }
Exemplo n.º 10
0
        /// <summary>
        /// 关闭地表
        /// </summary>
        public static void CloseGround(Queue <MotaEventArgs> datas, Hero player)
        {
            MotaEventArgs data = datas.Dequeue();
            //如果目标位置存在地表,关闭它
            Background bg = MotaWorld.GetInstance().MapManager.Tower[data.DesPosation.Floor].BackMap[data.DesPosation.Seat.Row, data.DesPosation.Seat.Col];

            if (bg != null)
            {
                bg.Close();
            }
            EventEffect(data);
        }
Exemplo n.º 11
0
        /// <summary>
        /// 关闭事件
        /// </summary>
        public static void CloseEvent(Queue <MotaEventArgs> datas, Hero player)
        {
            MotaEventArgs data = datas.Dequeue();
            //如果目标位置存在事件,关闭它
            MapEvent me = MotaWorld.GetInstance().MapManager.Tower[data.DesPosation.Floor].EventMap[data.DesPosation.Seat.Row, data.DesPosation.Seat.Col];

            if (me != null)
            {
                me.Close();
            }
            EventEffect(data);
        }
Exemplo n.º 12
0
        /// <summary>
        /// 进入陷阱事件,损耗一定的生命值,并产生晃动效果
        /// 如果拥有路障道具的话,可以避免生命值的损耗
        /// </summary>
        public static void OnTrap(Queue <MotaEventArgs> datas, Hero player)
        {
            MotaEventArgs data = datas.Dequeue();

            //检查是否拥有自然之靴
            if (!player.Pack.ExistProperty(PropName.自然之靴))
            {
                player.Hp -= data.Value;
                MotaWorld.GetInstance().MapManager.Shake();
            }

            EventEffect(data);
        }
Exemplo n.º 13
0
        /// <summary>
        /// 添加事件并提供作用数据
        /// </summary>
        /// <param name="e">事件方法</param>
        /// <param name="data">作用数据</param>
        public void AddEvent(TouchHandle e, MotaEventArgs data)
        {
            TouchEvent += e;

            //设置事件参数的固有属性
            data.Name = EventName;
            data.ExistStation = Common.GetStation(this.Location);
            TouchEventData.Enqueue(data);
        }
Exemplo n.º 14
0
        /// <summary>
        /// 设置事件效果
        /// </summary>
        /// <param name="method">事件参数</param>
        public static void EventEffect(MotaEventArgs data)
        {
            if (data.Method == EffectType.Blood || data.Method == EffectType.Goods || data.Method == EffectType.LevelUp)
            {
                MotaWorld.GetInstance().GoodsGetWindow.Open(new ShortMessage("获得" + data.Name, data.ExistStation));
            }

            //获取物品时显示消息
            if (data.Method == EffectType.Goods)
            {
                //播放音效
                SoundsList.PlaySound(SoundType.获得物品);
            }

            if (data.Method == EffectType.Blood)
            {
                SoundsList.PlaySound(SoundType.获取血瓶);
            }

            //获取道具时提升信息
            if (data.Method == EffectType.Prop)
            {
                MotaWorld.GetInstance().MessageShowWindow.Open(Property.GetDescribe(data.Prop));

                SoundsList.PlaySound(SoundType.获取道具);
            }

            if (data.Method == EffectType.LevelUp)
            {
                SoundsList.PlaySound(SoundType.升级);
            }
        }