bool CheckNeedSaveTip() { bool needTip = false; CustomCharactor.CustomData _data = CreateCustomData(); List <CustomCharactor.CustomData> DList = CustomDataMgr.Instance.CustomDataList; if (DList.Count != 0) { foreach (CustomCharactor.CustomData item in DList) { if (CompareCustomData(_data, item)) { needTip = true; break; } } } else { needTip = true; } return(needTip); }
private CustomCharactor.CustomData CreateCustomData() { CustomCharactor.CustomData customData = new CustomCharactor.CustomData(); customData.headIcon = PeViewStudio.TakePhoto(mCurrent.gameObject, 64, 64, PeViewStudio.s_HeadPhotoPos, PeViewStudio.s_HeadPhotoRot); byte[] buf = mCurrent.mAppearData.Serialize(); customData.appearData = new AppearData(); customData.appearData.Deserialize(buf); customData.sex = (Sex == ESex.Male) ? CustomCharactor.ESex.Male : CustomCharactor.ESex.Female; customData.nudeAvatarData = new CustomCharactor.AvatarData(mCurrent.mNude); return(customData); }
bool CompareCustomData(CustomCharactor.CustomData _new, CustomCharactor.CustomData _old) { bool difference = false; //lz-2016.10.16 【错误 #4473】空对象 if (null != _new && null != _new.appearData && null != _old && null != _old.appearData) { AppearData newapp = _new.appearData; AppearData oldapp = _old.appearData; //color if (newapp.mEyeColor != oldapp.mEyeColor) { difference = true; } else if (newapp.mLipColor != oldapp.mLipColor) { difference = true; } else if (newapp.mSkinColor != oldapp.mSkinColor) { difference = true; } else if (newapp.mHairColor != oldapp.mHairColor) { difference = true; } //lz-2016.10.16 【错误 #4473】空对象 if (null != mScrollItemList && mScrollItemList.Count > 0) { //weight for (int i = 0; i < mScrollItemList.Count; i++) { float newweight = newapp.GetWeight(mScrollItemList[i].mType); float oldweight = oldapp.GetWeight(mScrollItemList[i].mType); if (!Mathf.Approximately(newweight, oldweight)) { difference = true; break; } } } //sex if (_new.sex != _old.sex) { difference = true; } } return(difference); }
void LoadAppearData(CustomCharactor.CustomData mCustomData) { if (mCustomData == null) { return; } Sex = (mCustomData.sex == CustomCharactor.ESex.Male) ? ESex.Male : ESex.Female; ChangeSex(); mCurrent.mAppearData = mCustomData.appearData; mCurrent.mNude = mCustomData.nudeAvatarData; ResetBuildUIValue(); RebuildModel(); }
protected void RPC_S2C_AvatarData(uLink.BitStream stream, uLink.NetworkMessageInfo info) { CreateAi(); if (ExternId >= PeEntityCreator.HumanMonsterMask) { byte[] customData = stream.Read <byte[]>(); CustomCharactor.CustomData charactorData = new CustomCharactor.CustomData(); charactorData.Deserialize(customData); if (null != _entity) { PeEntityCreator.ApplyCustomCharactorData(_entity, charactorData); } } RPCServer(EPacketType.PT_AI_ExternData); }
bool SaveAppearData() { CustomCharactor.CustomData customData = CreateCustomData(); return(CustomDataMgr.Instance.SaveData(customData)); }