Exemplo n.º 1
0
        /// <summary>
        /// 收到服务器消息,同步其他玩家建筑位置
        /// </summary>
        /// <param name="param"></param>
        private void OnSendBuildPosition_bcst(object param)
        {
            var    handle    = param as mmopb.sendBuildPosition_bcst;
            string enemyName = DataMgr.Instance.PrefebsDic[handle.buildType];

            if (handle.roleId == PlayerID)
            {
                return;
            }
            newBuild = (GameObject)Resources.Load("Prefabs/" + enemyName + "_Build");
            Quaternion quaternion   = new Quaternion(handle.xQuternion, handle.yQuternion, handle.zQuternion, handle.wQuternion);
            BuildCtrl  newBuildCtrl = Instantiate(newBuild, new Vector3(handle.x, handle.y, handle.z), quaternion).AddComponent <BuildCtrl>();
            GameObject particle     = Resources.Load("Prefabs/MagicZoneGreen") as GameObject;
            GameObject newParticle  = Instantiate(particle, newBuildCtrl.gameObject.transform);

            newParticle.SetActive(false);
            lock (lockObject)
            {
                if (Camp == Camp.Dark)
                {
                    DataMgr.Instance.BrightBuildDic.Add(DataMgr.SoldierBuildId, newBuildCtrl);
                }
                else
                {
                    DataMgr.Instance.DarkBuildDic.Add(DataMgr.SoldierBuildId, newBuildCtrl);
                }
                newBuildCtrl.Init(DataMgr.SoldierBuildId++, handle.roleId, Camp == Camp.Dark ? Camp.Bright : Camp.Dark, quaternion, enemyName);
            }
        }
Exemplo n.º 2
0
        //初始化建筑
        void InitBuild()
        {
            //加载模型和材质贴图的预制体
            soldierName = DataMgr.Instance.PrefebsDic[(int)LocalUser.Instance.CardStatus];
            newBuild    = (GameObject)Resources.Load("Prefabs/" + soldierName + "_Build");
            BuildCtrl  newBuildCtrl = Instantiate(newBuild, BuildPos, StartRotate).AddComponent <BuildCtrl>();
            GameObject particle     = Resources.Load("Prefabs/MagicZoneGreen") as GameObject;
            GameObject newParticle  = Instantiate(particle, newBuildCtrl.gameObject.transform);

            newParticle.SetActive(false);
            lock (lockObject)
            {
                if (Camp == Camp.Bright)
                {
                    DataMgr.Instance.BrightBuildDic.Add(DataMgr.SoldierBuildId, newBuildCtrl);
                }
                else
                {
                    DataMgr.Instance.DarkBuildDic.Add(DataMgr.SoldierBuildId, newBuildCtrl);
                }
                newBuildCtrl.Init(DataMgr.SoldierBuildId++, PlayerID, Camp, StartRotate, soldierName);
            }
        }