/// <summary> /// 获取玩家对该NPC的信息,刷新界面数值 /// </summary> /// <param name="favorable"></param> void GetNpcAndPlayerInfo(Favorable favorable) { npcFavorableValue.text = favorable.NPC2PlayerValue.ToString(); playerFavorableValue.text = favorable.Player2NPCValue.ToString(); cardiacValue.text = favorable.cardiacValue.ToString(); }
/// <summary> /// 获取服务器上的一些数据 /// </summary> void GetServerInfo() { if (StaticData.playerInfoData.favorableData.Count <= 0)//如果本地没有数据就请求并记录本地 只请求一次 { //默认值(配置表里的数据) foreach (var item in StaticData.configExcel.HallRole) { if (!item.isImpulseRole) { continue; //如果不是心动时刻的角色就下一个 } Favorable favorable = new Favorable(); favorable.NPCId = item.ID; favorable.NpcSetPainting = item.SetPainting; favorable.headPortrait = item.HeadPortraitImage; favorableList.Add(favorable); } CSEmptyFavorableInfo cSEmptyFavorableInfo = new CSEmptyFavorableInfo(); //bool receive = false;等待返回 ProtocalManager.Instance().SendCSEmptyFavorableInfo(cSEmptyFavorableInfo, (SCFavorableInfo FavorableInfo) => { Init(FavorableInfo); StaticData.playerInfoData.favorableData = favorableList;//数据保存到本地 }, (ErrorInfo e) => { Debug.Log("请求失败"); }); //await UniTask.WaitUntil(()=>receive==true); } else { Debug.Log("本地已缓存好感数据"); favorableList = StaticData.playerInfoData.favorableData; impulesMainView.OpenView(favorableList); } //JoinViewRefreshGift(); }
void OnClick(Favorable favorable) { //打开页面 ViewSwitchAnima(); impulesNPCView.OpenView(favorable); Debug.Log($"男主id:{favorable.NPCId},对玩家的好感:{favorable.NPC2PlayerValue},玩家对男主的好感:{favorable.Player2NPCValue}"); }
/// <summary> /// 属性赋值 /// </summary> /// <param name="favorable"></param> public void FieldAssignment(Favorable favorable) { this.NPCId = favorable.NPCId; this.NPC2PlayerValue = favorable.NPC2PlayerValue; this.Player2NPCValue = favorable.Player2NPCValue; this.cardiacValue = favorable.cardiacValue; this.headPortrait = favorable.headPortrait; this.NpcSetPainting = favorable.NpcSetPainting; }
//显示界面 同时动画 public void OpenView(Favorable favorable) { this.LastFavorableState.FieldAssignment(favorable); this.NewFavorableState.FieldAssignment(favorable); giftInfo.NpcID = favorable.NPCId;//记录礼物赠送的对象id //移动动画 this.transform.DOLocalMoveX(ShowValue, moveAnimaTime); //刷新数值info GetNpcAndPlayerInfo(favorable); //选中 PitchOnBtn(); //刷新礼物列表 ShowGiftList(); //ShowPitchOn(uIImpulseComponent.ImpulseGiftGoods[0], giftList.content.GetChild(0).GetComponent<ImpulesGiftItem>()); ShowPitchOn(uIImpulseComponent.ImpulseGiftGoods[0], giftList.content.GetChild(0).GetComponent <ImpulesGiftItem>()); }
/// <summary> /// 刷新界面好感动画 /// </summary> /// <param name="favorable"></param> void RefreshNpcAndPlayerInfoAnima(Favorable favorable)//TODO { //int npcLevel = CalculateFavorableLevel(favorable.NPC2PlayerValue); //npcFavorableLevel.text = $"Lv.{npcLevel.ToString()}";//npc好感等级 //除去等级剩余经验 //float curNPCExp = GetCurLevelEXP(favorable.NPC2PlayerValue, npcLevel); //npcFavorableValue.text = $"{curNPCExp}/{GetTotalExperience(npcLevel)}";//npc好感数值 //npcExpBar.fillAmount = curNPCExp / GetTotalExperience(npcLevel);//npc经验条 //int playerLevel = CalculateFavorableLevel(favorable.Player2NPCValue); //playerFavorableLevel.text = $"Lv.{playerLevel.ToString()}";//玩家好感等级 //float curPlayerExp = GetCurLevelEXP(favorable.Player2NPCValue, playerLevel);//除去等级剩余经验 //playerFavorableValue.text = $"{curPlayerExp}/{GetTotalExperience(playerLevel)}";//玩家好感数值 //playerExpBar.fillAmount = curPlayerExp / GetTotalExperience(playerLevel);//玩家经验条 npcFavorableValue.text = favorable.NPC2PlayerValue.ToString(); playerFavorableValue.text = favorable.Player2NPCValue.ToString(); cardiacValue.text = favorable.cardiacValue.ToString(); }
/// <summary> /// 好感值存入缓存(外部初始化好感列表)章节用到 /// </summary> public static void CacheFavorable() { List <Favorable> favorableList = new List <Favorable>(); //好感列表赋初值 foreach (var item in StaticData.configExcel.HallRole) { if (!item.isImpulseRole) { continue; //如果不是心动时刻的角色就下一个 } Favorable favorable = new Favorable(); favorable.NPCId = item.ID; favorable.NpcSetPainting = item.SetPainting; favorable.headPortrait = item.HeadPortraitImage; favorableList.Add(favorable); } CSEmptyFavorableInfo cSEmptyFavorableInfo = new CSEmptyFavorableInfo(); ProtocalManager.Instance().SendCSEmptyFavorableInfo(cSEmptyFavorableInfo, (SCFavorableInfo FavorableInfo) => { if (FavorableInfo != null)//赋保存后的值 { foreach (var item in FavorableInfo.FavorableInfo) { for (int i = 0; i < favorableList.Count; i++) { if (item.HeroId != favorableList[i].NPCId) { continue; } favorableList[i].NPC2PlayerValue = item.HeroPlayerValue; favorableList[i].Player2NPCValue = item.PlayerHeroValue; favorableList[i].cardiacValue = favorableList[i].NPC2PlayerValue <= favorableList[i].Player2NPCValue ? favorableList[i].NPC2PlayerValue : favorableList[i].Player2NPCValue; } } } StaticData.playerInfoData.favorableData = favorableList;//数据保存到本地 Debug.Log("好感列表初始化成功"); }, (ErrorInfo e) => { Debug.LogError("请求初始化好感请求失败"); }); }