/// <summary> /// 修改眼睛 /// </summary> /// <param name="eyeId"></param> public void ChangeEye(long eyeId) { this.characterData.eyeId = eyeId; CharacterInfoBean characterInfo = CreatureHandler.Instance.manager.GetCharacterInfoEye(eyeId); if (characterInfo == null) { LogUtil.LogError($"查询眼睛数据失败,没有ID为 {eyeId} 的眼睛数据"); } else { CreatureHandler.Instance.manager.GetCharacterEyeTex(characterInfo.model_name, (data) => { if (data == null) { LogUtil.LogError($"查询眼睛贴图失败,没有名字为 {characterInfo.model_name} 的眼睛贴图"); } else { headMat.SetTexture("Tex_Eye", data); } }); } }
/// <summary> /// 修改嘴巴 /// </summary> /// <param name="mouthId"></param> public void ChangeMouth(long mouthId) { this.characterData.mouthId = mouthId; CharacterInfoBean characterInfo = CreatureHandler.Instance.manager.GetCharacterInfoMouth(mouthId); if (characterInfo == null) { LogUtil.LogError($"查询嘴巴数据失败,没有ID为 {mouthId} 的嘴巴数据"); } else { CreatureHandler.Instance.manager.GetCharacterMouthTex(characterInfo.model_name, (data) => { if (data == null) { LogUtil.LogError($"查询嘴巴贴图失败,没有名字为 {characterInfo.model_name} 的嘴巴贴图"); } else { headMat.SetTexture("Tex_Mouth", data); } }); } }
/// <summary> /// 选择回调 /// </summary> /// <param name="selectView"></param> /// <param name="position"></param> public void ChangeSelectPosition(SelectView selectView, int position) { CreatureCptCharacter character = GetCharacter(); if (character == null) { LogUtil.LogError("没有找到Character组件"); return; } if (selectView == ui_ViewSelectChange_Hair) { CharacterInfoBean characterInfo = listHairInfoData[position]; character.characterSkin.ChangeHair(characterInfo.id); } else if (selectView == ui_ViewSelectChange_Eye) { CharacterInfoBean characterInfo = listEyeInfoData[position]; character.characterSkin.ChangeEye(characterInfo.id); } else if (selectView == ui_ViewSelectChange_Mouth) { CharacterInfoBean characterInfo = listMouthInfoData[position]; character.characterSkin.ChangeMouth(characterInfo.id); } else if (selectView == ui_ViewSelectChange_Clothes) { ItemsInfoBean itemsInfo = listClotehsInfoData[position]; character.characterEquip.ChangeClothes(itemsInfo.id); } }
/// <summary> /// 获取角色嘴巴信息 /// </summary> /// <param name="ids"></param> /// <returns></returns> public List <CharacterInfoBean> GetCharacterInfoMouth(List <long> ids) { List <CharacterInfoBean> listData = new List <CharacterInfoBean>(); for (int i = 0; i < ids.Count; i++) { CharacterInfoBean itemData = GetCharacterInfoMouth(ids[i]); listData.Add(itemData); } return(listData); }
/// <summary> /// 获取名字列表 /// </summary> /// <param name="listCharacterInfo"></param> /// <returns></returns> public static List <string> GetNameList(List <CharacterInfoBean> listCharacterInfo) { List <string> listName = new List <string>(listCharacterInfo.Count); for (int i = 0; i < listCharacterInfo.Count; i++) { CharacterInfoBean itemData = listCharacterInfo[i]; listName.Add(itemData.name); } return(listName); }
/// <summary> /// 初始化数据 /// </summary> public void InitData() { //设置回调 ui_ViewSelectChange_Hair.SetCallBack(this); ui_ViewSelectChange_Eye.SetCallBack(this); ui_ViewSelectChange_Mouth.SetCallBack(this); ui_ViewSelectChange_Clothes.SetCallBack(this); ui_ViewSelectColorChange_Hair.SetCallBack(this); ui_ViewSelectColorChange_Skin.SetCallBack(this); //设置头发 List <long> listHairId = GameDataHandler.Instance.GetBaseInfoListLong(1); listHairInfoData = CreatureHandler.Instance.manager.GetCharacterInfoHair(listHairId); List <string> listHairData = CharacterInfoBean.GetNameList(listHairInfoData); ui_ViewSelectChange_Hair.SetListData(listHairData); //设置眼睛 List <long> listEyeId = GameDataHandler.Instance.GetBaseInfoListLong(2); listEyeInfoData = CreatureHandler.Instance.manager.GetCharacterInfoEye(listEyeId); List <string> listEyeData = CharacterInfoBean.GetNameList(listEyeInfoData); ui_ViewSelectChange_Eye.SetListData(listEyeData); //设置嘴巴 List <long> listMouthId = GameDataHandler.Instance.GetBaseInfoListLong(3); listMouthInfoData = CreatureHandler.Instance.manager.GetCharacterInfoMouth(listMouthId); List <string> listMouthData = CharacterInfoBean.GetNameList(listMouthInfoData); ui_ViewSelectChange_Mouth.SetListData(listMouthData); //设置衣服 List <long> listClothesId = GameDataHandler.Instance.GetBaseInfoListLong(4); listClotehsInfoData = ItemsHandler.Instance.manager.GetItemsInfoById(listClothesId); List <string> listClothesData = ItemsInfoBean.GetNameList(listClotehsInfoData); ui_ViewSelectChange_Clothes.SetListData(listClothesData); }
/// <summary> /// 改变性别 /// </summary> /// <param name="sexType"></param> public void ChangeSex(SexTypeEnum sexType) { this.characterData.SetSex(sexType); long skinId = 0; switch (sexType) { case SexTypeEnum.Man: skinId = 2; break; case SexTypeEnum.Woman: skinId = 1; break; } CharacterInfoBean characterInfo = CreatureHandler.Instance.manager.GetCharacterInfoSkin(skinId); if (characterInfo == null) { LogUtil.LogError($"查询皮肤数据失败,没有ID为 {skinId} 的皮肤数据"); } else { CreatureHandler.Instance.manager.GetCharacterSkinTex(characterInfo.model_name, (data) => { if (data == null) { LogUtil.LogError($"查询皮肤贴图失败,没有名字为 {characterInfo.model_name} 的皮肤贴图"); } else { bodyMat.mainTexture = data; } }); } }
/// <summary> /// 改变发型 /// </summary> /// <param name="hairId"></param> public void ChangeHair(long hairId) { this.characterData.hairId = hairId; CptUtil.RemoveChild(objHairContainer.transform); if (hairId == 0) { //没有头发 return; } CharacterInfoBean characterInfo = CreatureHandler.Instance.manager.GetCharacterInfoHair(hairId); if (characterInfo == null) { LogUtil.LogError($"查询发型数据失败,没有ID为 {hairId} 的发型数据"); } else { CreatureHandler.Instance.manager.GetCharacterHairModel(characterInfo.model_name, (data) => { if (data == null) { LogUtil.LogError($"查询发型失败,没有名字为 {characterInfo.model_name} 的发型模型"); } else { GameObject objHair = CreatureHandler.Instance.Instantiate(objHairContainer, data); objHair.transform.localPosition = Vector3.zero; //objHair.transform.localEulerAngles = Vector3.zero; MeshRenderer hairMeshRebderer = objHair.GetComponent <MeshRenderer>(); hairMeshRebderer.material = hairMatModel; hairMat = hairMeshRebderer.material; } }); } }
public bool UpdateMouthData(CharacterInfoBean data) { return(UpdateData(tableNameMouthForMain, data)); }
/// <summary> /// 更新数据 /// </summary> /// <param name="data"></param> /// <returns></returns> public bool UpdateHairData(CharacterInfoBean data) { return(UpdateData(tableNameHairForMain, data)); }
public void SetCharacterInfoMouthData(CharacterInfoBean data) { serviceCharacterInfo.UpdateMouthData(data); }
public void SetCharacterInfoEyeData(CharacterInfoBean data) { serviceCharacterInfo.UpdateEyeData(data); }
/// <summary> /// 保存游戏数据 /// </summary> /// <param name="data"></param> public void SetCharacterInfoHairData(CharacterInfoBean data) { serviceCharacterInfo.UpdateHairData(data); }