コード例 #1
0
        /// <summary>
        /// 数据的初始化
        /// </summary>
        /// <param name="go">Go.</param>
        /// <param name="num">Number.</param>
        /// <param name="id">Identifier.</param>
        /// <param name="camp">Camp.</param>
        void DynamicDataInit(ServerNPC curHero, NPCConfigData econfig, CAMP camp)
        {
            ///
            /// 填充阵营
            ///
            curHero.Camp = camp;

            ///
            /// 填充NPC数据
            ///
            NPCData dynamicData = new NPCData();

            dynamicData.rtData     = new NPCRuntimeData(econfig);
            dynamicData.configData = econfig;
            dynamicData.btData     = new NPCBattleData();
            curHero.data           = dynamicData;

            ///
            /// 向WarManager注册
            ///
            serNpcMgr.SignID(curHero);

            WarServerManager warMgr = WarServerManager.Instance;
            ///
            /// 填充技能数据
            ///
            RtNpcSkillModel skMd = new RtNpcSkillModel(econfig.ID, curHero.UniqueID);
            ServerLifeNpc   life = curHero as ServerLifeNpc;

            if (life != null)
            {
                life.runSkMd = skMd;
            }

            ///
            /// 填充默认的buff
            ///
            for (short i = 0; i < Consts.MAX_SKILL_COUNT; ++i)
            {
                RtSkData sk = skMd.getRuntimeSkill(i);
                if (sk != null)
                {
                    int passive = sk.skillCfg.PassiveBuff;
                    if (passive > 0)
                    {
                        BuffCtorParam ctor = new BuffCtorParam()
                        {
                            bufNum    = passive,
                            fromNpcId = curHero.UniqueID,
                            toNpcId   = curHero.UniqueID,
                            origin    = OriginOfBuff.BornWithSkill,
                            initLayer = 1,
                            duration  = Consts.USE_BUFF_CONFIG_DURATION,
                        };
                        warMgr.bufMgr.createBuff(ctor);
                    }
                }
            }
        }
コード例 #2
0
        public void OnLevelWasLoaded(int level)
        {
            //根据WarInfo来决定加载服务器端模块和客户端模块
            if (Application.loadedLevelName == SceneName.BattleScene)
            {
                //创建出来战斗的客户端控制层
                GameObject       goCli     = GameObject.FindGameObjectWithTag("WarClient");
                WarClientManager warCliMgr = goCli.GetComponentInChildren <WarClientManager>();
                warCliMgr.realCli = Client;
                warCliMgr.Init();

                if (warInfo.Side == WarSide.ServerAndClient)
                {
                    //创建出来战斗的服务器控制层
                    GameObject goSer    = GameObject.FindGameObjectWithTag("WarServer");
                    GameObject goSerMgr = new GameObject("WarMgr");
                    UnityUtils.AddChild_Reverse(goSerMgr, goSer);
                    WarServerManager warSerMgr = goSerMgr.AddComponent <WarServerManager>();
                    warSerMgr.realServer = Server;
                }
            }
        }