开始处理计算横条位置问题

This commit is contained in:
SD-20250424WZPW\Administrator 2025-04-25 16:09:16 +08:00
parent 9d699c70bc
commit 56355509b6
3 changed files with 144 additions and 69 deletions

File diff suppressed because one or more lines are too long

View File

@ -86,7 +86,10 @@ namespace GameLogic
m_tmpAllValue.text = m_AllPush.ToString();
}
private void UpdateScale(long m_AllPush)
/// <summary>
/// 计算百分比大小值
/// </summary>
public void UpdateScale(long value)
{
// 避免除0
if (m_AllPush == 0)
@ -94,30 +97,23 @@ namespace GameLogic
return;
}
//// 基于当前总值,计算自己scale大小
//var results = this.m_AllPush / (float)m_AllPush;
// 基于当前总值,计算自己scale大小
var results = this.m_AllPush / (float)m_AllPush;
//// 求出实际值
//// var s = EventConts.MaxActorScale * results;
Log.Debug(results);
// 求出实际值
var s = EventConts.MaxActorScale * results;
//var s = results * EventConts.actorScaleConst + sclaeAdd;
//if (s < EventConts.MinActorScale)
//{
// s = EventConts.MinActorScale;
//}
//else if (s >= EventConts.MaxActorScale)
//{
// s = EventConts.MaxActorScale;
//}
//// 每次都更新
//// 两者相差值超过
//if (Mathf.Abs(this.m_Go.transform.localScale.x - s) > 0.05f)
//{
// m_OldScale = s;
// this.m_Go.transform.DOScale(m_OldScale, 0.5f);
//}
if (s < EventConts.MinActorScale)
{
s = EventConts.MinActorScale;
}
else if (s >= EventConts.MaxActorScale)
{
s = EventConts.MaxActorScale;
}
}
}

View File

@ -12,12 +12,11 @@ namespace GameLogic
{
public class DataGameSceneManager : GameBase.Singleton<DataGameSceneManager>
{
private Transform teamList;
private Dictionary<string, UnitPlayerData> m_DicUnitPlayerDatas = new Dictionary<string, UnitPlayerData>(); //局内玩家数据
public List<ActorHItem> m_TeamSortList = new List<ActorHItem>(); // 用于排序的阵营列表数据
public Dictionary<string, ActorHItem> m_DicTeamList = new Dictionary<string, ActorHItem>();
public float m_GameTimerLen = 0;
public List<string> m_Strs = new List<string>() { "陈", "王", "李", "张", "刘", "杨", "黄", "赵", "吴", "周",
"徐", "孙", "马", "朱", "胡","何","林","高","罗","郑",
@ -33,6 +32,8 @@ namespace GameLogic
public MeshRenderer m_PanelBg;
private int m_UpdateShowEmoTimer = -1;
public long m_AllTeamPush = 0;
public void OnInit()
{
FindGameComponent();
@ -55,7 +56,6 @@ namespace GameLogic
private void FindGameComponent()
{
teamList = GameObject.Find("TeamList").transform;
m_PanelBg = GameObject.Find("Plane").GetComponent<MeshRenderer>();
}
@ -226,22 +226,19 @@ namespace GameLogic
long allValue = 0;
// // 更新阵营当前总值大小
// foreach (var item in m_TeamLists)
// {
// // 执行内部更新
// item.Value.OnUpdate();
// 更新阵营当前总值大小
foreach (var item in m_TeamSortList)
{
// 计算总值
allValue += item.GetAllPower();
}
// // 计算总值
// allValue += item.Value.GetPush();
// }
// // 在遍历一次,求出总值后,各自计算一次自己的scale
// foreach (var item in m_TeamLists)
// {
// // 执行内部更新
// item.Value.UpdateScale(allValue);
// }
// 在遍历一次,求出总值后,各自计算一次自己的scale
foreach (var item in m_TeamSortList)
{
// 执行内部更新
item.UpdateScale(allValue);
}
// // Determine the scale for the top team
@ -463,13 +460,18 @@ namespace GameLogic
// GameEvent.Send(EventConts.AddGiftMessage, unitPlayerData, giftConfig, num);
// }
// // 每次积分变动
// m_TeamSortList.Sort((a, b) =>
// {
// return a.GetIndexRankUnityData() == null ? 1 :
// b.GetIndexRankUnityData() == null ? -1 :
// a.GetIndexRankUnityData().m_Score.CompareTo(b.GetIndexRankUnityData().m_Score) * -1;
// });
// 每次积分变动
m_TeamSortList.Sort((a, b) =>
{
if (a.GetAllPower() > b.GetAllPower())
{
return -1;
}
else
{
return 1;
}
});
}