void onNotifyGameObjectAppear(GOAppear pMsg) { foreach (GSToGC.GOAppear.AppearInfo info in pMsg.info) { string path = "Monsters" + "/" + ConfigReader.HeroSelectXmlInfoDict[(int)info.objguid].HeroSelectName; // LoadModel((int)info, path); } }
void onNotifyGameObjectAppear(GOAppear pMsg) { //目的:创建并显示实体 设置实体信息 foreach (GSToGC.GOAppear.AppearInfo info in pMsg.info) { bool hasExist = false; foreach (var playerItem in PlayersManager.Instance.PlayerDic) { if (playerItem.Key == info.objguid) { hasExist = true; break; } } if (hasExist) { continue; } UInt64 sMasterGUID = info.masterguid; UInt64 sObjGUID = info.objguid; UInt64 sObjID = info.obj_type_id; Int32 IntCamp = info.camp;//实体阵营 NPC可以确定 但是并不能确定对战的阵营 Vector3 mvPos = this.ConvertPosToVector3(info.pos); Vector3 mvDir = this.ConvertDirToVector3(info.dir); //为模型添加组件 GameObject model = mPlayerModel[(int)info.obj_type_id]; Player playerComponent = null; if (mMyGuid == sMasterGUID) { playerComponent = model.AddComponent <MyPlayer>(); PlayersManager.Instance.LocalPlayer = playerComponent; LocalPlayer = model; OnLocalPlayerInit((int)sObjID);//设置技能图标 } else { playerComponent = model.AddComponent <Player>(); PlayersManager.Instance.targetPlayer = playerComponent; } playerComponent.RealEntity = model; PlayersManager.Instance.AddDic(info.objguid, playerComponent); playerComponent.GameObjGUID = sObjGUID; playerComponent.ObjTypeID = sObjID; playerComponent.InitSkillDic();//初始化技能列表 playerComponent.objTransform = model.transform; playerComponent.showHeroLifePlate(info); //显示血条 playerComponent.EntityFSMPosition = mvPos; model.transform.position = mvPos; model.transform.rotation = Quaternion.LookRotation(mvDir); model.SetActive(true); } }