推力增加,基础滚动

This commit is contained in:
SD-20250424WZPW\Administrator 2025-04-25 14:37:15 +08:00
parent 3cf3f70328
commit 2692da2c04
7 changed files with 768 additions and 126 deletions

File diff suppressed because one or more lines are too long

View File

@ -26,19 +26,26 @@ namespace GameLogic
m_tmpAllValue = FindChildComponent<TextMeshProUGUI>("Mid/m_imgValue/m_rectCar/m_tmpAllValue");
}
#endregion
public int m_Index;
private long m_AllScore;
public int m_Index;
private List<UnitPlayerData> m_ListUnitPlayDatas = new List<UnitPlayerData>();
private int m_AddPush = 0; // 初始推力值
private long m_AllPush = 0; // 当前总值
private int m_AllAddPush = 0;//永久增加推力值
protected override void OnCreate()
{
base.OnCreate();
GameModule.Timer.AddTimer(TimerHandler, 0.1f, true);
}
protected override void OnUpdate()
private void TimerHandler(object[] e)
{
base.OnUpdate();
AddMyPush();
RefreshUI();
}
public void OnInit(int i)
@ -51,14 +58,67 @@ namespace GameLogic
m_imgSign.sprite = GameModule.Resource.LoadAsset<Sprite>("zjm_mz_" + assetsId);
m_imgValue.sprite = GameModule.Resource.LoadAsset<Sprite>("zjm_jdt_" + assetsId);
m_tmpSign.text = DataGameSceneManager.Instance.m_Strs[i];
m_tmpAllValue.text = m_AllScore.ToString();
m_tmpAllValue.text = m_AllPush.ToString();
}
public void AddPlayer(UnitPlayerData data)
{
data.teamId = m_Index;
m_ListUnitPlayDatas.Add(data);
m_AddPush++;
}
public long GetAllPower()
{
return m_AllScore;
return m_AllPush;
}
private void AddMyPush()
{
m_AllPush += m_AddPush;
}
private void RefreshUI()
{
m_tmpAllValue.text = m_AllPush.ToString();
}
private void UpdateScale(long m_AllPush)
{
// 避免除0
if (m_AllPush == 0)
{
return;
}
//// 基于当前总值,计算自己scale大小
//var results = this.m_AllPush / (float)m_AllPush;
//// 求出实际值
//// 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);
//}
}
}
}

View File

@ -51,7 +51,7 @@ namespace GameLogic
public class UnitPlayerData
{
public string teamId;
public int teamId;
public ProtCustMessageData protCustMessageData;
public long m_Score; // 当局积分
public long m_AllWinCount;// 当局胜点

View File

@ -177,47 +177,16 @@ namespace GameLogic
return;
}
// // 随机落座
// if (EventConts.gameStateType == GameStateType.团队赛)
// {
// int targetId = Random.Range(1, EventConts.MaxPlayerIds);
// var actor = DataGameSceneManager.Instance.GetTeamActor((targetId - 1).ToString());
// if (actor == null)
// {
// Log.Error("没有获取到实体玩家,tid = {0}", targetId);
// return;
// }
// actor.AddUnitPlayer(data);
// }
// else if (EventConts.gameStateType == GameStateType.个人赛)
// {
// var actor = DataGameSceneManager.Instance.GetTeamActor(data.teamId);
// if (actor == null)
// {
// actor = DataGameSceneManager.Instance.CraeteTeamActor(data);
// actor.AddUnitPlayer(data);
// }
// }
int targetId = Random.Range(1, EventConts.MaxPlayerIds);
var actor = DataGameSceneManager.Instance.GetTeamActor((targetId - 1).ToString());
if (actor == null)
{
Log.Error("没有获取到实体玩家,tid = {0}", targetId);
return;
}
actor.AddPlayer(data);
}
// if (data.teamId == "-1")
// {
// // 随机落座
// if (EventConts.gameStateType == GameStateType.团队赛)
// {
// int targetId = Random.Range(1, EventConts.MaxPlayerIds);
// var actor = DataGameSceneManager.Instance.GetTeamActor((targetId - 1).ToString());
// if (actor == null)
// {
// Log.Error("没有获取到实体玩家,tid = {0}", targetId);
// return;
// }
// actor.AddUnitPlayer(data);
// }
// }
foreach (var item in m_GiftIds)
{
// 对应的礼物效果

View File

@ -16,6 +16,8 @@ namespace GameLogic
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>() { "陈", "王", "李", "张", "刘", "杨", "黄", "赵", "吴", "周",
"徐", "孙", "马", "朱", "胡","何","林","高","罗","郑",
@ -29,10 +31,6 @@ namespace GameLogic
// 礼物特效
public List<GiftItemData> m_GiftItemDatas = new List<GiftItemData>();
public MeshRenderer m_PanelBg;
public GameObject m_SpeedEffect; // 全局加速特效
private float m_SpeefEffectTimer = 0; // 全局加速特效时长
public GameObject m_SnowEffect; // 全局减速特效
private float m_SnowEffectTimer = 0;// 全局减速特效时长
private int m_UpdateShowEmoTimer = -1;
public void OnInit()
@ -58,8 +56,6 @@ namespace GameLogic
private void FindGameComponent()
{
teamList = GameObject.Find("TeamList").transform;
m_SpeedEffect = GameObject.Find("Effect").transform.GetChild(0).gameObject;
m_SnowEffect = GameObject.Find("Effect").transform.GetChild(1).gameObject;
m_PanelBg = GameObject.Find("Plane").GetComponent<MeshRenderer>();
}
@ -108,7 +104,7 @@ namespace GameLogic
UnitPlayerData unitPlayerData = new UnitPlayerData()
{
protCustMessageData = protCustMessageData,
teamId = "-1"
teamId = -1
};
if (string.IsNullOrEmpty(protCustMessageData.imgURL))
@ -501,8 +497,6 @@ namespace GameLogic
m_DicUnitPlayerDatas.Clear();
m_VipItemDatas.Clear();
m_GiftItemDatas.Clear();
m_SpeefEffectTimer = 0;
m_SnowEffectTimer = 0;
WinAllValue = 0;
ScoreAllValue = 0;
@ -521,6 +515,15 @@ namespace GameLogic
GameEvent.Send(EventConts.RestGameBattle);
}
public ActorHItem GetTeamActor(string key)
{
if (!m_DicTeamList.ContainsKey(key))
{
return null;
}
return m_DicTeamList[key];
}
#endregion
@ -563,13 +566,6 @@ namespace GameLogic
return;
}
m_SnowEffectTimer -= Time.deltaTime;
m_SpeefEffectTimer -= Time.deltaTime;
// 控制特效显示时长
m_SnowEffect.gameObject.SetActive(m_SnowEffectTimer > 0);
m_SpeedEffect.gameObject.SetActive(m_SpeefEffectTimer > 0);
// 减少游戏时长
m_GameTimerLen -= Time.deltaTime;
@ -590,8 +586,6 @@ namespace GameLogic
// 强制结束
SetGameState(false);
m_SpeedEffect.gameObject.SetActive(false);
m_SnowEffect.gameObject.SetActive(false);
WinAllValue = 0;
ScoreAllValue = 0;
@ -610,8 +604,6 @@ namespace GameLogic
// m_TeamSortList.Clear();
m_GiftItemDatas.Clear();
m_VipItemDatas.Clear();
m_SpeefEffectTimer = 0;
m_SnowEffectTimer = 0;
}
}
}

View File

@ -78,6 +78,7 @@ namespace GameLogic
r.anchoredPosition = new Vector2(0, 478 - i * (109 - 5f));
r.localPosition = new Vector3(r.localPosition.x, r.localPosition.y, 0);
actorHItem.OnInit(i);
DataGameSceneManager.Instance.m_DicTeamList.Add((i + 1).ToString(), actorHItem);
DataGameSceneManager.Instance.m_TeamSortList.Add(actorHItem);
}

View File

@ -19,29 +19,29 @@ namespace GameLogic
m_Run = transform.Find("Run").gameObject;
}
public void OnInit(UnitPlayerData unitPlayerData)
{
m_Name.text = unitPlayerData.protCustMessageData.nickName;
m_Run.transform.DOLocalMoveX(78, 1f);
if (EventConts.gameStateType == GameStateType.)
{
m_Info.text = "加入玩法";
}
else if (EventConts.gameStateType == GameStateType.)
{
m_Info.text = "加入" + DataGameSceneManager.Instance.GetStrs((int.Parse(unitPlayerData.teamId)));
}
//public void OnInit(UnitPlayerData unitPlayerData)
//{
// m_Name.text = unitPlayerData.protCustMessageData.nickName;
// m_Run.transform.DOLocalMoveX(78, 1f);
// if (EventConts.gameStateType == GameStateType.个人赛)
// {
// m_Info.text = "加入玩法";
// }
// else if (EventConts.gameStateType == GameStateType.团队赛)
// {
// m_Info.text = "加入" + DataGameSceneManager.Instance.GetStrs((int.Parse(unitPlayerData.teamId)));
// }
transform.DOLocalMoveX(42, 0.25f).SetEase(Ease.Linear).OnComplete(async () =>
{
await UniTask.Delay(2500);
if (this != null && this.gameObject != null && transform.parent != null)
{
Destroy(gameObject);
}
});
// transform.DOLocalMoveX(42, 0.25f).SetEase(Ease.Linear).OnComplete(async () =>
// {
// await UniTask.Delay(2500);
// if (this != null && this.gameObject != null && transform.parent != null)
// {
// Destroy(gameObject);
// }
// });
}
//}
}
}