Better action system

This commit is contained in:
ThomasCharester committed 2026-10-30 02:58:51 +03:00
1 parent 2bd71f8dc5
commit 71bb4c3b5b
110 files changed
+73523 -86288

No files matched your search

+7 -35
View File
@@ -65,14 +65,8 @@ namespace Code.Game.TestingLevel
.AsUniTask();
var factoryConfig = new SingleConfig<PlayerFactorySettings>();
var playerDecisionMarkerConfig = new SingleConfig<PlayerDecisionMarkerConfig>();
var attackActionsConfigs = new MultipleConfig<BattleActionParameters>();
await UniTask.WhenAll(
factoryConfig.LoadConfig(),
attackActionsConfigs.LoadConfigs(),
playerDecisionMarkerConfig.LoadConfig());
await factoryConfig.LoadConfig();
var factory = new PlayerFactory(factoryConfig);
var player = await factory.CreatePlayer();
@@ -80,36 +74,19 @@ namespace Code.Game.TestingLevel
var playerMovementController = player.GetComponent<MovementController>();
var playerControlsProvider = player.GetComponent<PlayerControlsProvider>();
var playerAnimatorProvider = player.GetComponent<EntityAnimator>();
var playerTimelineActor = player.GetComponent<PlayerControlledTimelineActor>();
var playerProperties = player.GetComponent<EntityProperties>();
playerMovementController.Freeze = true;
BattleActionDecisionPanel battleActionDecisionPanel =
(BattleActionDecisionPanel)await Context.UIFactory
.LoadPanel(UIPanelType.BattleActionDecision, false);
BattleTimelinePanel battleTimelinePanel =
(BattleTimelinePanel)await Context.UIFactory
.LoadPanel(UIPanelType.BattleTimelinePanel, false);
MarkerManager markerManager = new(playerDecisionMarkerConfig);
void InstallExtra(Scene scene, ContainerBuilder builder)
{
builder.RegisterValue(attackActionsConfigs);
builder.RegisterValue(playerDecisionMarkerConfig);
builder.RegisterValue(markerManager);
builder.RegisterValue(factoryConfig);
builder.RegisterValue(factory, new[] { typeof(IPlayerFactory) });
builder.RegisterValue(playerKinematicCharacterMotor);
builder.RegisterValue(playerMovementController);
builder.RegisterValue(playerControlsProvider);
builder.RegisterValue(playerAnimatorProvider);
builder.RegisterValue(playerTimelineActor);
builder.RegisterValue(battleActionDecisionPanel);
builder.RegisterValue(battleTimelinePanel);
builder.RegisterValue(playerProperties);
}
await UniTask.WhenAll(
@@ -119,6 +96,7 @@ namespace Code.Game.TestingLevel
LoadSceneMode.Single,
true,
InstallExtra),
//////
Context.SceneLoader
.LoadSceneAsync(
SceneId.FirstTestingSegment,
@@ -128,7 +106,8 @@ namespace Code.Game.TestingLevel
.LoadSceneAsync(
SceneId.SecondTestingSegment,
LoadSceneMode.Additive,
false),
false),
//////
waitForContainer
);
@@ -138,14 +117,7 @@ namespace Code.Game.TestingLevel
.SetPositionAndRotation(
container.Resolve<TestingLevelData>().playerSpawnPoint.position,
container.Resolve<TestingLevelData>().playerSpawnPoint.rotation);
var entities =
Object.FindObjectsByType<EntityTimelineActor>()
.Select(x => x.gameObject)
.ToList();
GameObjectInjector.InjectRecursiveMany(entities, container);
playerMovementController.Freeze = false;
}