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