コード例 #1
0
 public void AddCopyScene(GameClient client, CopyMap copyMap, SceneUIClasses sceneType)
 {
     if (copyMap.MapCode == this.MapCode)
     {
         int fuBenSeqId = copyMap.FuBenSeqID;
         int mapCode    = copyMap.MapCode;
         lock (this.copyDict)
         {
             MoRiJudgeCopy copy = null;
             if (!this.copyDict.TryGetValue(fuBenSeqId, out copy))
             {
                 copy           = new MoRiJudgeCopy();
                 copy.MyCopyMap = copyMap;
                 copy.GameId    = Global.GetClientKuaFuServerLoginData(client).GameId;
                 copy.StateTimeData.GameType = 3;
                 copy.StartTime            = TimeUtil.NowDateTime();
                 copy.EndTime              = copy.StartTime.AddMinutes((double)this.CopyMaxAliveMinutes);
                 copy.LimitKillCount       = 0;
                 copy.RoleCount            = 1;
                 copy.Passed               = false;
                 this.copyDict[fuBenSeqId] = copy;
             }
             else
             {
                 copy.RoleCount++;
             }
         }
         FuBenManager.AddFuBenSeqID(client.ClientData.RoleID, copyMap.FuBenSeqID, 0, copyMap.FubenMapID);
         copyMap.IsKuaFuCopy = true;
         copyMap.SetRemoveTicks(TimeUtil.NOW() + (long)((this.CopyMaxAliveMinutes + 3) * 60000));
         GlobalNew.UpdateKuaFuRoleDayLogData(client.ServerId, client.ClientData.RoleID, TimeUtil.NowDateTime(), client.ClientData.ZoneID, 0, 1, 0, 0, 3);
     }
 }
コード例 #2
0
        /// <summary>
        /// 添加副本
        /// </summary>
        /// <param name="client"></param>
        /// <param name="copyMap"></param>
        /// <param name="sceneType"></param>
        public void AddCopyScenes(GameClient client, CopyMap copyMap, SceneUIClasses sceneType)
        {
            if (sceneType != SceneUIClasses.CoupleArena)
            {
                return;
            }

            int fuBenSeqId = copyMap.FuBenSeqID;
            int mapCode    = copyMap.MapCode;

            lock (Mutex)
            {
                CoupleArenaCopyScene scene = null;
                if (!this.FuBenSeq2CopyScenes.TryGetValue(fuBenSeqId, out scene))
                {
                    scene          = new CoupleArenaCopyScene();
                    scene.GameId   = (int)Global.GetClientKuaFuServerLoginData(client).GameId;
                    scene.FuBenSeq = fuBenSeqId;
                    scene.MapCode  = mapCode;
                    scene.CopyMap  = copyMap;

                    FuBenSeq2CopyScenes[fuBenSeqId] = scene;
                }

                scene.EnterRoleSide[client.ClientData.RoleID] = client.ClientData.BattleWhichSide;
                copyMap.IsKuaFuCopy = true;
                copyMap.SetRemoveTicks(TimeUtil.NOW() + (WarCfg.WaitSec + WarCfg.FightSec + WarCfg.ClearSec + 120) * TimeUtil.SECOND);
                GlobalNew.UpdateKuaFuRoleDayLogData(client.ServerId, client.ClientData.RoleID, TimeUtil.NowDateTime(), client.ClientData.ZoneID, 0, 1, 0, 0, (int)GameTypes.CoupleArena);
            }
        }
コード例 #3
0
ファイル: MoRiJudgeManager.cs プロジェクト: chenchungit/ky
        // 添加一个末日审判副本
        public void AddCopyScene(GameClient client, CopyMap copyMap, SceneUIClasses sceneType)
        {
            if (copyMap.MapCode == this.MapCode)
            {
                int fuBenSeqId = copyMap.FuBenSeqID;
                int mapCode    = copyMap.MapCode;

                lock (copyDict)
                {
                    MoRiJudgeCopy copy = null;
                    if (!copyDict.TryGetValue(fuBenSeqId, out copy))
                    {
                        copy           = new MoRiJudgeCopy();
                        copy.MyCopyMap = copyMap;
                        copy.GameId    = Global.GetClientKuaFuServerLoginData(client).GameId;
                        copy.StateTimeData.GameType = (int)GameTypes.MoRiJudge;

                        // 副本的统计信息
                        copy.StartTime      = TimeUtil.NowDateTime();
                        copy.EndTime        = copy.StartTime.AddMinutes(this.CopyMaxAliveMinutes);
                        copy.LimitKillCount = 0;
                        copy.RoleCount      = 1;
                        copy.Passed         = false;

                        copyDict[fuBenSeqId] = copy;
                    }
                    else
                    {
                        copy.RoleCount++;
                    }
                }

                FuBenManager.AddFuBenSeqID(client.ClientData.RoleID, copyMap.FuBenSeqID, 0, copyMap.FubenMapID);

                copyMap.IsKuaFuCopy = true;
                // 增加清除时间
                copyMap.SetRemoveTicks(TimeUtil.NOW() + (this.CopyMaxAliveMinutes + 3) * TimeUtil.MINITE);

                //更新状态
                //  MoRiJudgeClient.getInstance().GameFuBenRoleChangeState(client.ClientData.RoleID, (int)KuaFuRoleStates.StartGame);
                // 开始游戏统计
                GlobalNew.UpdateKuaFuRoleDayLogData(client.ServerId, client.ClientData.RoleID, TimeUtil.NowDateTime(), client.ClientData.ZoneID, 0, 1, 0, 0, (int)GameTypes.MoRiJudge);
            }
        }