Example #1
0
 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);
     }
 }
Example #2
0
    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);
        }
    }