void RebuildModels() { if (modesCount != 0) { for (int i = 0; i < modeInfoList.Count; i++) { if (modeInfoList[i].mMode != null) { GameObject.Destroy(modeInfoList[i].mMode); } } modeInfoList.Clear(); } modesCount = MLPlayerInfo.Instance.GetMaxRoleCount(); for (int i = 0; i < modesCount; i++) { ModeInfo modeinfo = new ModeInfo(); modeinfo.mRoleInfo = MLPlayerInfo.Instance.GetRoleInfo(i); if (modeinfo.mRoleInfo == null) { modeinfo.mModel = null; } else { bool bFemale = modeinfo.mRoleInfo.sex == 1; CustomCharactor.ESex sex = bFemale ? CustomCharactor.ESex.Female : CustomCharactor.ESex.Male; GameObject ob = GameObject.Instantiate(sex == CustomCharactor.ESex.Female ? ModePrefab[0] : ModePrefab[1]) as GameObject; modeinfo.mModel = ob.GetComponent <PlayerModel>(); modeinfo.mModel.mAppearData = new AppearBlendShape.AppearData(); modeinfo.mModel.mAppearData.Deserialize(modeinfo.mRoleInfo.mRoleInfo.appearData); modeinfo.mModel.mNude = new CustomCharactor.AvatarData(); modeinfo.mModel.mNude.Deserialize(modeinfo.mRoleInfo.mRoleInfo.nudeData); modeinfo.mModel.mClothed = bFemale ? mFemaleAvataData : mMaleAvataData; modeinfo.mMode.transform.parent = roleCompents[i].m_boxCollider.transform; modeinfo.mMode.transform.localPosition = bFemale ? new Vector3(mRoleModeLocalPos_Female.x, mRoleModeLocalPos_Female.y, mRoleModeLocalPos_Female.z) : new Vector3(mRoleModeLocalPos_Male.x, mRoleModeLocalPos_Male.y, mRoleModeLocalPos_Male.z); modeinfo.mMode.transform.localRotation = Quaternion.Euler(new Vector3(0, 90, 0)); modeinfo.mMode.transform.localScale = new Vector3(mRoleModeLocalScale.x, mRoleModeLocalScale.y, mRoleModeLocalScale.x); modeinfo.mMode.SetActive(true); modeinfo.mModel.BuildModel(); } modeInfoList.Add(modeinfo); } }
public static PeSex Convert(CustomCharactor.ESex v) { if (v == CustomCharactor.ESex.Female) { return(PeSex.Female); } else if (v == CustomCharactor.ESex.Male) { return(PeSex.Male); } else { return(PeSex.Max); } }