VFX更新
This commit is contained in:
parent
48e59be163
commit
85f9ee7418
@ -253,7 +253,7 @@ AnimationClip:
|
||||
m_Level: 0
|
||||
m_CycleOffset: 0
|
||||
m_HasAdditiveReferencePose: 0
|
||||
m_LoopTime: 1
|
||||
m_LoopTime: 0
|
||||
m_LoopBlend: 0
|
||||
m_LoopBlendOrientation: 0
|
||||
m_LoopBlendPositionY: 0
|
||||
|
||||
@ -235,7 +235,7 @@ AnimationClip:
|
||||
m_Level: 0
|
||||
m_CycleOffset: 0
|
||||
m_HasAdditiveReferencePose: 0
|
||||
m_LoopTime: 0
|
||||
m_LoopTime: 1
|
||||
m_LoopBlend: 0
|
||||
m_LoopBlendOrientation: 0
|
||||
m_LoopBlendPositionY: 0
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -671,20 +671,24 @@ namespace Logic.Action
|
||||
|
||||
//临时做法,用来播放VFX,获取Main,理应向MapData写入一个VFX的RenderMark的
|
||||
var main = GameObject.Find("Main").GetComponent<Main>();
|
||||
var v1 = Table.Instance.GridToWorld(actionParams.GridData);
|
||||
actionParams.MapData.GetGridDataByCityId(city.Id, out var g2);
|
||||
var v2 = Table.Instance.GridToWorld(g2);
|
||||
if (actionParams.MapData == main.MapData)
|
||||
{
|
||||
var v1 = Table.Instance.GridToWorld(actionParams.GridData);
|
||||
actionParams.MapData.GetGridDataByCityId(city.Id, out var g2);
|
||||
var v2 = Table.Instance.GridToWorld(g2);
|
||||
|
||||
Timer.Instance.TimerRegister(Main.CityLogic, () =>
|
||||
{
|
||||
main.MapRenderer.ROGridMap[g2.Id].SetBounceAnim();
|
||||
Main.CityLogic.CityUpdateExp(actionParams.MapData,city,wonderInfo.Exp);
|
||||
},
|
||||
Table.Instance.AnimDataAssets.ProjectileCityExpMoveTime);
|
||||
Timer.Instance.TimerRegister(Main.CityLogic, () =>
|
||||
{
|
||||
main.MapRenderer.ROGridMap[g2.Id].SetBounceAnim();
|
||||
Main.CityLogic.CityUpdateExp(actionParams.MapData,city,wonderInfo.Exp);
|
||||
},
|
||||
Table.Instance.AnimDataAssets.ProjectileCityExpMoveTime);
|
||||
|
||||
//播放雾效和丢出cityexp的动画
|
||||
actionParams.GridData.VFXRenderMarkFog = true;
|
||||
main.MapRenderer.ProjectileManager.CreateProjectileMulti(main,actionParams.MapData,v1,v2,ProjectileType.CityExp,ProjectileMoveType.CityExpHighParabola,wonderInfo.Exp);
|
||||
}
|
||||
|
||||
//播放雾效和丢出cityexp的动画
|
||||
actionParams.GridData.VFXRenderMarkFog = true;
|
||||
main.MapRenderer.ProjectileManager.CreateProjectileMulti(main,actionParams.MapData,v1,v2,ProjectileType.CityExp,ProjectileMoveType.CityExpHighParabola,wonderInfo.Exp);
|
||||
|
||||
|
||||
|
||||
@ -759,25 +763,29 @@ namespace Logic.Action
|
||||
|
||||
//临时做法,用来播放VFX,获取Main,理应向MapData写入一个VFX的RenderMark的
|
||||
var main = GameObject.Find("Main").GetComponent<Main>();
|
||||
var v1 = Table.Instance.GridToWorld(actionParams.GridData);
|
||||
actionParams.MapData.GetGridDataByCityId(cityData.Id, out var g2);
|
||||
var v2 = Table.Instance.GridToWorld(g2);
|
||||
if (main.MapData == actionParams.MapData)
|
||||
{
|
||||
var v1 = Table.Instance.GridToWorld(actionParams.GridData);
|
||||
actionParams.MapData.GetGridDataByCityId(cityData.Id, out var g2);
|
||||
var v2 = Table.Instance.GridToWorld(g2);
|
||||
|
||||
|
||||
//播放城市增加exp的动画
|
||||
Timer.Instance.TimerRegister(Main.CityLogic, () =>
|
||||
{
|
||||
main.MapRenderer.ROGridMap[g2.Id].SetBounceAnim();
|
||||
Main.CityLogic.CityUpdateExp(actionParams.MapData,cityData,Table.Instance.QueryActionExp(_actionId));
|
||||
},
|
||||
Table.Instance.AnimDataAssets.ProjectileCityExpMoveTime);
|
||||
//播放城市增加exp的动画
|
||||
Timer.Instance.TimerRegister(Main.CityLogic, () =>
|
||||
{
|
||||
main.MapRenderer.ROGridMap[g2.Id].SetBounceAnim();
|
||||
Main.CityLogic.CityUpdateExp(actionParams.MapData,cityData,Table.Instance.QueryActionExp(_actionId));
|
||||
},
|
||||
Table.Instance.AnimDataAssets.ProjectileCityExpMoveTime);
|
||||
|
||||
//播放雾效和丢出cityexp的动画
|
||||
actionParams.GridData.VFXRenderMarkFog = true;
|
||||
main.MapRenderer.ProjectileManager.CreateProjectile(main,actionParams.MapData,v1,v2,ProjectileType.CityExp,ProjectileMoveType.CityExpHighParabola);
|
||||
//播放雾效和丢出cityexp的动画
|
||||
actionParams.GridData.VFXRenderMarkFog = true;
|
||||
main.MapRenderer.ProjectileManager.CreateProjectile(main,actionParams.MapData,v1,v2,ProjectileType.CityExp,ProjectileMoveType.CityExpHighParabola);
|
||||
|
||||
actionParams.GridData.Resource = ResourceType.None;
|
||||
actionParams.GridData.RenderMark = true;
|
||||
}
|
||||
|
||||
actionParams.GridData.Resource = ResourceType.None;
|
||||
actionParams.GridData.RenderMark = true;
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -940,20 +948,24 @@ namespace Logic.Action
|
||||
|
||||
//临时做法,用来播放VFX,获取Main,理应向MapData写入一个VFX的RenderMark的
|
||||
var main = GameObject.Find("Main").GetComponent<Main>();
|
||||
var v1 = Table.Instance.GridToWorld(actionParams.GridData);
|
||||
actionParams.MapData.GetGridDataByCityId(cityData.Id, out var g2);
|
||||
var v2 = Table.Instance.GridToWorld(g2);
|
||||
if (main.MapData == actionParams.MapData)
|
||||
{
|
||||
var v1 = Table.Instance.GridToWorld(actionParams.GridData);
|
||||
actionParams.MapData.GetGridDataByCityId(cityData.Id, out var g2);
|
||||
var v2 = Table.Instance.GridToWorld(g2);
|
||||
|
||||
Timer.Instance.TimerRegister(Main.CityLogic, () =>
|
||||
{
|
||||
main.MapRenderer.ROGridMap[g2.Id].SetBounceAnim();
|
||||
Main.CityLogic.CityUpdateExp(actionParams.MapData,cityData,cityExp);
|
||||
},
|
||||
Table.Instance.AnimDataAssets.ProjectileCityExpMoveTime);
|
||||
Timer.Instance.TimerRegister(Main.CityLogic, () =>
|
||||
{
|
||||
main.MapRenderer.ROGridMap[g2.Id].SetBounceAnim();
|
||||
Main.CityLogic.CityUpdateExp(actionParams.MapData,cityData,cityExp);
|
||||
},
|
||||
Table.Instance.AnimDataAssets.ProjectileCityExpMoveTime);
|
||||
|
||||
//播放雾效和丢出cityexp的动画
|
||||
actionParams.GridData.VFXRenderMarkFog = true;
|
||||
main.MapRenderer.ProjectileManager.CreateProjectileMulti(main,actionParams.MapData,v1,v2,ProjectileType.CityExp,ProjectileMoveType.CityExpHighParabola,cityExp);
|
||||
//播放雾效和丢出cityexp的动画
|
||||
actionParams.GridData.VFXRenderMarkFog = true;
|
||||
main.MapRenderer.ProjectileManager.CreateProjectileMulti(main,actionParams.MapData,v1,v2,ProjectileType.CityExp,ProjectileMoveType.CityExpHighParabola,cityExp);
|
||||
|
||||
}
|
||||
|
||||
|
||||
return true;
|
||||
@ -1548,12 +1560,23 @@ namespace Logic.Action
|
||||
{
|
||||
gridData.Resource = ResourceType.None;
|
||||
gridData.RenderMark = true;
|
||||
if (UnityEngine.Random.Range(0, 100) < 3)
|
||||
if (UnityEngine.Random.Range(0, 100) < 50)
|
||||
{
|
||||
actionParams.PlayerData.PlayerWealth += 10;
|
||||
|
||||
//临时做法,用来播放VFX,获取Main,理应向MapData写入一个VFX的RenderMark的
|
||||
var main = GameObject.Find("Main").GetComponent<Main>();
|
||||
if (actionParams.MapData == main.MapData)
|
||||
{
|
||||
var v1 = Table.Instance.GridToWorld(gridData);
|
||||
|
||||
//播放获得钱的动画
|
||||
//main.MapRenderer.ProjectileManager.CreateProjectileMulti(main,mapData,startPos,endPos,ProjectileType.Coin,ProjectileMoveType.CoinParabola,Main.CityLogic.GetCityStarsPerTurn(mapData,city),0.05f);
|
||||
//main.MapRenderer.ProjectileManager.CreateProjectileMulti(main,actionParams.MapData,v1,v2,ProjectileType.CityExp,ProjectileMoveType.CityExpHighParabola,wonderInfo.Exp);
|
||||
}
|
||||
}
|
||||
//给一个随机科技
|
||||
else if (UnityEngine.Random.Range(0, 100) < 3)
|
||||
else if (UnityEngine.Random.Range(0, 100) < 0)
|
||||
{
|
||||
var tt = new List<TechType>();
|
||||
foreach (TechType tech in System.Enum.GetValues(typeof(TechType)))
|
||||
|
||||
@ -17,15 +17,23 @@ public class DebugUI
|
||||
|
||||
public bool NeedShow = false;
|
||||
|
||||
private uint _turn = 999;
|
||||
public DebugUI(Main main, MapData mapData)
|
||||
{
|
||||
_main = main;
|
||||
_mapData = mapData;
|
||||
|
||||
|
||||
Transform root = _main.UIManager.ROUIManager.transform;
|
||||
Transform panelRoot = root.Find("DebugPanel");
|
||||
if (panelRoot == null) return;
|
||||
|
||||
if (DebugCenter.Instance.DebugMode)
|
||||
{
|
||||
panelRoot.gameObject.SetActive(true);
|
||||
}
|
||||
else return;
|
||||
|
||||
RODebugUI = panelRoot.gameObject;
|
||||
|
||||
Button startButton = panelRoot.Find("ButtonStart")?.GetComponent<Button>();
|
||||
@ -65,7 +73,7 @@ public class DebugUI
|
||||
RODebugUI.SetActive(false);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private void ToggleMainPanel()
|
||||
{
|
||||
bool newState = !buttonGroup.activeSelf;
|
||||
@ -85,6 +93,11 @@ public class DebugUI
|
||||
|
||||
UpdateAllUnitInfo();
|
||||
}
|
||||
if (key == "AllPlayer")
|
||||
{
|
||||
|
||||
UpdateAllPlayerInfo();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -103,13 +116,21 @@ public class DebugUI
|
||||
{
|
||||
if (!DebugCenter.Instance.DebugMode)
|
||||
return;
|
||||
if(_main.UIManager.BottomInfoUI != null)
|
||||
if(_main.UIManager.BottomInfoUI != null && RODebugUI.transform.Find("PanelGroup/Selected").gameObject.activeSelf)
|
||||
_main.UIManager.BottomInfoUI.UpdateDebugInfo();
|
||||
//return;
|
||||
if (_mapData.PlayerMap.SelfPlayerData.Turn != _turn)
|
||||
{
|
||||
_turn = _mapData.PlayerMap.SelfPlayerData.Turn;
|
||||
UpdateAllPlayerInfo();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
public void UpdateAllUnitInfo()
|
||||
{
|
||||
var c = RODebugUI.transform.Find("PanelGroup/AllUnit/Scroll View/ViewPort/Content");
|
||||
var c = RODebugUI.transform.Find("PanelGroup/AllUnit/Scroll View/Viewport/Content");
|
||||
foreach (Transform child in c)
|
||||
GameObject.Destroy(child.gameObject);
|
||||
foreach (var unit in _mapData.UnitMap.UnitList)
|
||||
@ -133,4 +154,39 @@ public class DebugUI
|
||||
tmp.color = Color.white;
|
||||
}
|
||||
}
|
||||
|
||||
public void UpdateAllPlayerInfo()
|
||||
{
|
||||
var c = RODebugUI.transform.Find("PanelGroup/AllPlayer/Scroll View/Viewport/Content");
|
||||
foreach (Transform child in c)
|
||||
GameObject.Destroy(child.gameObject);
|
||||
|
||||
foreach (var player in _mapData.PlayerMap.PlayerDataList)
|
||||
{
|
||||
GameObject textObj = new GameObject("TMP_Child");
|
||||
|
||||
// 设置其父对象
|
||||
textObj.transform.SetParent(c, false); // false 保留局部坐标
|
||||
|
||||
// 添加 RectTransform(UI 元素需要)
|
||||
RectTransform rectTransform = textObj.AddComponent<RectTransform>();
|
||||
rectTransform.anchorMin = new Vector2(0.5f, 0.5f);
|
||||
rectTransform.anchorMax = new Vector2(0.5f, 0.5f);
|
||||
rectTransform.anchoredPosition = Vector2.zero;
|
||||
|
||||
// 添加 TextMeshProUGUI 组件
|
||||
TextMeshProUGUI tmp = textObj.AddComponent<TextMeshProUGUI>();
|
||||
tmp.text = $"-------- ID={player.Id}, Civ={player.PlayerCivId}, Force={player.PlayerForceId} --------\n";
|
||||
tmp.text += $"Money = {player.PlayerWealth}, Stratery = ???\n";
|
||||
tmp.text += " --- \n";
|
||||
tmp.fontSize = 24;
|
||||
tmp.alignment = TextAlignmentOptions.Center;
|
||||
tmp.color = Color.white;
|
||||
|
||||
var fitter = textObj.AddComponent<ContentSizeFitter>();
|
||||
fitter.verticalFit = ContentSizeFitter.FitMode.PreferredSize;
|
||||
//fitter.horizontalFit = ContentSizeFitter.FitMode.Unconstrained;*/
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -53,7 +53,6 @@ public class UIManager
|
||||
public void Init()
|
||||
{
|
||||
SettingUI = new SettingUI(_main, _mapData);
|
||||
DebugUI = new DebugUI(_main,_mapData);
|
||||
GameUI = new GameUI(_main,_mapData);
|
||||
//这里要异步new和init,不然new里会用到还没被new完的自己
|
||||
GameUI.Init();
|
||||
@ -72,6 +71,7 @@ public class UIManager
|
||||
CenterMessageUI = new CenterMessageUI(_main,_mapData);
|
||||
TechTreeUI = new TechTreeUI(_main,_mapData);
|
||||
CityUpgradeActionUI = new CityUpgradeActionUI(_main,_mapData);
|
||||
DebugUI = new DebugUI(_main,_mapData);
|
||||
}
|
||||
|
||||
|
||||
@ -92,12 +92,13 @@ public class UIManager
|
||||
TimeEndUI.Update();
|
||||
MessageUI.Update();
|
||||
RankingUI.Update();
|
||||
DebugUI.Update();
|
||||
}
|
||||
|
||||
// ✅ 每帧更新新增的 UI
|
||||
SettingUI.Update();
|
||||
GameUI.Update();
|
||||
DebugUI.Update();
|
||||
|
||||
}
|
||||
|
||||
public void EndTurn()
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user