/// <summary> /// 加载玩家到场景中 /// </summary> /// <param name="pos"></param> /// <param name="attrib"></param> /// <param name="isControlPlayer"></param> public void Load(Vector3 pos, PlayerAttrib attrib, bool isControlPlayer) { mAttrib = attrib; mIsControlPlayer = isControlPlayer; //从配置文件中加载角色模型 string baseModPath; if (mAttrib.sex == 0) { baseModPath = PlayerConfig.Instance.cfg.malePrefabs[mAttrib.baseMod]; } else { baseModPath = PlayerConfig.Instance.cfg.femalePrefabs[mAttrib.baseMod]; } GameObject res = (GameObject)ResManager.singleton.LoadAsset(baseModPath, typeof(GameObject)); mObj = GameObject.Instantiate <GameObject>(res); mObj.transform.SetParent(ClientScene.Instance.playerRoot.transform, false); mObj.transform.position = pos; mNavAgent = mObj.AddComponent <NavMeshAgent>(); mAnim = mObj.GetComponent <Animator>(); if (mIsControlPlayer) { CameraControl.Instance.Init(mObj.transform); } }
/// <summary> /// 加载场景 /// </summary> /// <param name="playerPos"></param> /// <param name="attrib"></param> public void Load(Vector3 pos, PlayerAttrib attrib) { OnPlayerPosChanged(pos, () => { if (mMainPlayer == null) { mMainPlayer = new Player(); mMainPlayer.Load(pos, attrib, true); mAllPlayers.Add(attrib.id, mMainPlayer); } }); }