Exemple #1
0
        /// <summary>
        /// 执行添加任意地图的动态怪物
        /// </summary>
        private bool RunAddDynamicMonsters(int index)
        {
            if (index < 0 || index >= Max_WaitingAddDynamicMonsterQueneCount)
            {
                return(false);
            }

            MonsterZoneQueueItem monsterZoneQueueItem = null;

            //等待爆副本怪的队列
            lock (WaitingAddDynamicMonsterQueue) //线程锁
            {
                if (WaitingAddDynamicMonsterQueue[index].Count > 0)
                {
                    monsterZoneQueueItem = WaitingAddDynamicMonsterQueue[index].Dequeue();
                }
            }

            if (null != monsterZoneQueueItem)
            {
                //SysConOut.WriteLine(string.Format("monsterZoneQueueItem.CopyMapID={0}, monsterZoneQueueItem.ManagerType={1}", monsterZoneQueueItem.CopyMapID, monsterZoneQueueItem.ManagerType));
                //LogManager.WriteLog(LogTypes.Error, string.Format("monsterZoneQueueItem.CopyMapID={0}, monsterZoneQueueItem.ManagerType={1}", monsterZoneQueueItem.CopyMapID, monsterZoneQueueItem.ManagerType));

                //动态生成怪物
                monsterZoneQueueItem.MyMonsterZone.LoadDynamicMonsters(monsterZoneQueueItem);
                return(true);
            }

            return(false);
        }
Exemple #2
0
        private bool RunAddDynamicMonsters(int index)
        {
            bool result;

            if (index < 0 || index >= 10)
            {
                result = false;
            }
            else
            {
                MonsterZoneQueueItem monsterZoneQueueItem = null;
                lock (this.WaitingAddDynamicMonsterQueue)
                {
                    if (this.WaitingAddDynamicMonsterQueue[index].Count > 0)
                    {
                        monsterZoneQueueItem = this.WaitingAddDynamicMonsterQueue[index].Dequeue();
                    }
                }
                if (null != monsterZoneQueueItem)
                {
                    monsterZoneQueueItem.MyMonsterZone.LoadDynamicMonsters(monsterZoneQueueItem);
                    result = true;
                }
                else
                {
                    result = false;
                }
            }
            return(result);
        }
Exemple #3
0
        /// <summary>
        /// 执行立刻刷新普通地图怪物的操作
        /// </summary>
        private bool RunReloadNormalMapMonsters()
        {
            MonsterZoneQueueItem monsterZoneQueueItem = null;

            //等待刷新副本怪的队列
            lock (WaitingReloadNormalMapMonsterQueue) //线程锁
            {
                if (WaitingReloadNormalMapMonsterQueue.Count > 0)
                {
                    monsterZoneQueueItem = WaitingReloadNormalMapMonsterQueue.Dequeue();
                }
            }

            if (null != monsterZoneQueueItem)
            {
                monsterZoneQueueItem.MyMonsterZone.ReloadNormalMapMonsters(Global._TCPManager.MySocketListener, Global._TCPManager.TcpOutPacketPool, monsterZoneQueueItem.BirthCount);
                return(true);
            }

            return(false);
        }
Exemple #4
0
        /// <summary>
        /// 执行销毁动态的副本怪物
        /// </summary>
        private bool RunDestroyCopyMapMonsters()
        {
            MonsterZoneQueueItem monsterZoneQueueItem = null;

            //等待删除副本怪的队列
            lock (WaitingDestroyFuBenMonsterQueue) //线程锁
            {
                if (WaitingDestroyFuBenMonsterQueue.Count > 0)
                {
                    monsterZoneQueueItem = WaitingDestroyFuBenMonsterQueue.Dequeue();
                }
            }

            if (null != monsterZoneQueueItem)
            {
                monsterZoneQueueItem.MyMonsterZone.ClearCopyMapMonsters(monsterZoneQueueItem.CopyMapID);
                return(true);
            }

            return(false);
        }
Exemple #5
0
        /// <summary>
        /// 执行添加动态的副本怪物
        /// </summary>
        private bool RunAddCopyMapMonsters()
        {
            MonsterZoneQueueItem monsterZoneQueueItem = null;

            //等待爆副本怪的队列
            lock (WaitingAddFuBenMonsterQueue) //线程锁
            {
                if (WaitingAddFuBenMonsterQueue.Count > 0)
                {
                    monsterZoneQueueItem = WaitingAddFuBenMonsterQueue.Dequeue();
                }
            }

            if (null != monsterZoneQueueItem)
            {
                monsterZoneQueueItem.MyMonsterZone.LoadCopyMapMonsters(monsterZoneQueueItem.CopyMapID);
                return(true);
            }

            return(false);
        }
Exemple #6
0
        /// <summary>
        /// 执行添加竞技场机器人
        /// </summary>
        private bool RunAddRobots()
        {
            MonsterZoneQueueItem monsterZoneQueueItem = null;

            //等待爆副本怪的队列
            lock (WaitingReloadRobotQueue) //线程锁
            {
                if (WaitingReloadRobotQueue.Count > 0)
                {
                    monsterZoneQueueItem = WaitingReloadRobotQueue.Dequeue();
                }
            }

            if (null != monsterZoneQueueItem)
            {
                //动态生成怪物
                monsterZoneQueueItem.MyMonsterZone.LoadDynamicRobot(monsterZoneQueueItem);
                return(true);
            }

            return(false);
        }
Exemple #7
0
        private bool RunReloadNormalMapMonsters()
        {
            MonsterZoneQueueItem monsterZoneQueueItem = null;

            lock (this.WaitingReloadNormalMapMonsterQueue)
            {
                if (this.WaitingReloadNormalMapMonsterQueue.Count > 0)
                {
                    monsterZoneQueueItem = this.WaitingReloadNormalMapMonsterQueue.Dequeue();
                }
            }
            bool result;

            if (null != monsterZoneQueueItem)
            {
                monsterZoneQueueItem.MyMonsterZone.ReloadNormalMapMonsters(Global._TCPManager.MySocketListener, Global._TCPManager.TcpOutPacketPool, monsterZoneQueueItem.BirthCount);
                result = true;
            }
            else
            {
                result = false;
            }
            return(result);
        }
Exemple #8
0
        private bool RunDestroyCopyMapMonsters()
        {
            MonsterZoneQueueItem monsterZoneQueueItem = null;

            lock (this.WaitingDestroyFuBenMonsterQueue)
            {
                if (this.WaitingDestroyFuBenMonsterQueue.Count > 0)
                {
                    monsterZoneQueueItem = this.WaitingDestroyFuBenMonsterQueue.Dequeue();
                }
            }
            bool result;

            if (null != monsterZoneQueueItem)
            {
                monsterZoneQueueItem.MyMonsterZone.ClearCopyMapMonsters(monsterZoneQueueItem.CopyMapID);
                result = true;
            }
            else
            {
                result = false;
            }
            return(result);
        }
Exemple #9
0
        private bool RunAddRobots()
        {
            MonsterZoneQueueItem monsterZoneQueueItem = null;

            lock (this.WaitingReloadRobotQueue)
            {
                if (this.WaitingReloadRobotQueue.Count > 0)
                {
                    monsterZoneQueueItem = this.WaitingReloadRobotQueue.Dequeue();
                }
            }
            bool result;

            if (null != monsterZoneQueueItem)
            {
                monsterZoneQueueItem.MyMonsterZone.LoadDynamicRobot(monsterZoneQueueItem);
                result = true;
            }
            else
            {
                result = false;
            }
            return(result);
        }