Conversation
Data refactor
- Introduced `GAIASpawnSO`, `ISpawnSpecial` interface, and `GAIASpawnTesting` for modular and testable spawn logic. - Refactored `GaiaPackSystem` and `GaiaSpawnSystem` to utilize component lookups and improve resource management. - Enhanced pack creation in `SpawnNPC` with dynamic size and role-based requirements. - Updated biome and pack structures for improved spawning configuration with scene management integration.
- Introduced "Orc Boss" to bestiary resources for future gameplay integration. - Added testing asset for spawn scenarios and biome configurations. - Updated `CreatureInfo` to use `ICharacterData` for enhanced data flexibility.
- Updated `CharacterBuilder.WithStats` and related methods to include NPC `Name` in stats initialization. - Modified `SetupDataEntity` to support name assignment during character setup. - Changed `SpawnNPC`, `SpawnPlayer`, and related spawner classes to align with new stats API. - Upgraded Unity packages including `com.unity.probuilder` to 6.0.7, `com.unity.memoryprofiler` to 1.1.8, and more for improved stability and compatibility.
…ures - Introduced `GaiaLevelManagement`, `GaiaSpawnRequest`, and `GaiaTimeOfDaySystem` for biome-level control and timed lighting adjustments. - Added `LevelManagerAuthoring` and `MaintShopAuthoring` scripts for custom authoring workflows. - Created `GaiaSpawnBiome` and `MaintShop` components to support spawn and worker management. - Enhanced spawning systems with dynamic requests and pack handling. - Updated `CreatureInfo` and `Orc Boss` data to include time-of-day properties.
- Enhanced `SpawnNPC` to include NPC `Role` in AI setup and spawning logic. - Modified `AIStat` to add `Level` property for better AI entity differentiation. - Refactored `GaiaPackSystem` to improve leader scoring with level and distance-weighted algorithms. - Introduced `ScoreLeaders` and `ApplyLeaders` jobs for optimized role and pack management. - Updated `PassportAspect` to expose `Level` property, aligning with AIStat. - Cleaned up and removed unused debug logs in `GaiaSpawnRequest`.
… calculation - Added `UpdatePackCenter` job in `GaiaPackSystem` for calculating the pack's centroid and cohesion. - Refactored `PackJoinJob` and renamed variables for consistency (`ecb` to `ECB`). - Updated `UpdateWanderLocation` to include logic for `PackMember` with cohesion-aware wander positions. - Enhanced wander logic with candidate generation and fallback mechanisms to ensure proper behavior. - Updated `UniversalRenderPipelineGlobalSettings.asset` with new debugger resources.
- Enhanced wander logic by introducing weighted scoring for cohesion. - Replaced absolute closest fallback with cohesion-weighted selection. - Updated candidate evaluation process for improved pack behavior.
- Simplified `UpdatePackCenter` by using `ComponentLookup` and `DynamicBuffer` for pack member access. - Removed redundant debug logs and refactored wander logic in `UpdateWanderLocation`. - Added `PackList` buffer for improved pack entity tracking. - Enhanced `GaiaSpawnSystem` with buffer setup for `PackList`. - Updated rendering assets for debugger resource configuration.
…CenterPoint` for improved movement logic and clarity. - Introduced `BufferLookup` for `PackList` in `GaiaPackSystem` to enhance pack operations and tracking. - Abstracted `UpdateWanderLocation` into `WanderLocationSystemBase` for modular and reusable wander logic. - Added `SoloWanderLocationSystem` and `PackWanderLocationSystem` to handle individual and pack-based wander behavior respectively. - Updated `UniversalRenderPipelineGlobalSettings` with new debugger resources.
…nder logic and rendering settings - Deleted `GaiaPackMovement` system and cleaned up associated files. - Simplified `UpdateWanderLocation` by adjusting random position selections. - Updated `UniversalRenderPipelineGlobalSettings` with additional debugger resources.
…ular wander behavior - Extracted `SoloWanderLocationSystem` and `PackWanderLocationSystem` into dedicated files for individual and pack-based wander logic. - Simplified `UpdateWanderLocation` by removing embedded `SoloWanderLocationSystem` and `PackWanderLocationSystem` code. - Updated `UniversalRenderPipelineGlobalSettings` with additional debugger resources.
…treamlined targeting logic - Added `Combinators` module to define reusable predicate combinators and context handling for targeting decisions. - Replaced legacy target-finding logic in `TargetingQuadrantSystem` with a combinator-based approach for clarity and modularity. - Introduced `InRange` and `IsAlive` predicates to evaluate potential targets against custom criteria. - Updated `VisionTargetingUpdateGroup` rate adjustment to improve system performance. - Removed redundant target-checking and debug-drawing logic to clean up code structure.
Refactored `AITarget`, `Combinators`, and `TargetingQuadrantSystem` to improve functionality, adding support for advanced targeting filters and quadrants. Introduced `PointOfInterestSystem`, enhanced predicate chaining, and included checks for alive entities. Updated Unity version, asset configurations, and URP settings for compatibility.
…egration - Added `InViewCone`, `InViewRayCast`, `IsEnemy`, and `IsFriendly` predicates for fine-grained target filtering. - Updated `TargetCtx` with additional properties like `Direction`, `Angle`, and enhanced `CollisionWorld` handling for more robust target context. - Improved predicate combinators in `Combinators` for modular and flexible targeting logic. - Integrated raycasting validation in `InViewRayCast` to ensure accurate line-of-sight checks. - Refactored `TargetingQuadrantSystem.Execute` method with refined filtering logic and debug logging.
- Replaced `factionID` with `FactionNames` in multiple components and systems for better typing and readability. - Updated `PlayerInfo` and `TestingDummyInfo` scriptable objects to use `FactionNames`. - Refactored `CheckTargetThreatSystem` and `Combinators` to leverage `FactionNames` with relationship logic for affinity calculations. - Adjusted data handling in `TargetCtx` and `InfluenceComponent` for faction-specific relationships. - Updated `UniversalRenderPipelineGlobalSettings` and other assets to include additional resources for debugging and rendering. - Bumped `ProjectVersion` to 6000.2.2f1.
- Introduced `InfluenceCombinator` with new predicates such as `IsFriendly` and `And` for faction-specific targeting logic. - Added `InfoCtx` for managing faction relationships and affinity calculations. - Updated `CheckTargetThreatSystem` to use dependency scheduling and improved buffer handling. - Enhanced `TargetingQuadrantSystem` with `LastKnownPosition` support for more robust target tracking. - Updated `.gitignore` to include `UniversalRenderPipelineGlobalSettings.asset`.
- Deleted legacy `CoverAuthoring` and `PointOfInterest` components. - Removed dependencies and metadata associated with level design assets. - Cleaned up `UniversalRenderPipelineGlobalSettings.asset` from unused entries.
…context management - Added `IContext` interface to standardize context properties such as `Origin`, `ViewAngle`, and `Forward`. - Updated `TargetCtx` to implement `IContext` and adjusted related systems and predicates for consistency. - Replaced `Direction` and `Angle` properties in `TargetCtx` with `Forward` and `ViewAngle`. - Simplified switch-case logic in `ISenses` with expression-bodied syntax. - Minor cleanup and dependency updates, including bumping `com.unity.ide.rider` to `3.0.37`.
…s` throughout `TargetingSystem`, `VisionAspect`, and related components. Remove deprecated components, update prefabs and configurations for cleaner and more efficient functionality.
- Added new buffers (`Allies`, `AISenses.Resources`, `PlacesOfInterest`) across IAUS systems for expanded data handling. - Updated `VisionAspect` with `TargetEnemy` and `TargetFriend` logic for better target tracking. - Refactored `TargetingQuadrantSystem` to support additional target types (allies, resources, places of interest) using predicates. - Enabled editor compilation guards in `GaiaConfigEditor`. - Revised various asset and scene settings, including light settings, shader graph, and rendering configurations. - Bumped `com.unity.memoryprofiler` version to `1.1.9` in `manifest.json`.
…munication` enums for Gaia systems - Deleted `MapVision` component and related systems, including `MapVisionSystem` and `RetreatAspect`. - Removed `MapVision` references from `IAUSBlackboard`, `CharacterBuilder`, and other affected components. - Introduced `PackState` and `PackCommunication` enums to manage Gaia pack states and communication types. - Added `GaiaPackIntelSystem` to aggregate data (`Enemies`, `Allies`, `Resources`, `PlacesOfInterest`) across pack members. - Refactored `GaiaPackSystem` to `GaiaPackManagementSystem` for better clarity and consistency. - Adjusted `GaiaSpawnSystem` to use command buffer for pack entity creation and initialization.
…ontext updates - Added `IsNotSelf` predicate to `Combinators` for excluding self in targeting logic. - Updated `TargetingQuadrantSystem` to include `IsNotSelf` in the predicate chain for improved filtering. - Modified `CharacterBuilder` and `SpawnNPC` to use configurable `CenterOffset` for better alignment. - Integrated `FactionNames` into `GaiaSpawnBiome` with the addition of `FactionID` in `PackInfo`. - Improved dependency handling in `TargetingQuadrantSystem` with explicit completion directives. - Adjusted editor settings and asset configurations, including `serializedVersion` and play mode settings.
- Removed `TerrorizeReactive` component and system, replacing it with `TerrorizeAreaSystem` for improved modularity and clarity. - Introduced `TerrorizeAspect` to encapsulate AI terrorize behaviors, including plan determination and execution. - Added `ManualControlIAUS` marker component to bypass automatic terrorize logic when required. - Enhanced `TerrorizeAreaState` with `InfluenceAtTarget` property for integrating influence-based decisions. - Updated `InteractablesAspect` to `InteractableAspect` for consistency. - Made numerous improvements to targeting, attack planning, and movement handling across relevant systems.
…binators - Introduced `SearcherCtx` to replace `TargetCtx`, improving clarity and consistency in context handling. - Added `InteractableCombinators` for reusability and modular predicate logic within the `TerrorizeAreaSystem` and other targeting contexts. - Simplified logic in `TerrorizeAreaSystem` by using combinators for target filtering and prioritization. - Updated and standardized predicate names (e.g., `IsNotSelf`, `InRange`) and interfaces across the IAUS systems for consistency. - Adjusted raycasting logic with refined input parameters and improved validation in predicates like `InViewRayCast`.
- Introduced `Not`, `IsResource`, and `IsLocation` predicates for enhanced target filtering. - Added support for chaining `Not` in combinators for more flexible predicate logic. - Extended `TargetType` enum with `Resource`. - Updated `TargetingQuadrantSystem` to utilize new predicates for advanced filtering of enemies, allies, resources, and locations.
- Optimized `Test` method to avoid mutation during iteration by using HashSet for exclusion checks. - Replaced `SetAffinty` with streamlined logic and removed unused struct. - Renamed `IsLocation` to `IsPlaceOfInterest` for better clarity. - Enhanced conditional checks in `InViewRayCast` and `IsPlaceOfInterest` for consistency and readability.
…cover mechanics - Deleted `TerrorizeAreaAspect` and associated `TerrorizeAreaTag` for streamlining terrorize logic. - Replaced `TargetPosition` with `AttackPosition` in `TerrorizeAreaState` for clearer intent and alignment with new attack mechanics. - Introduced `CoverPoints` component and `FindCoverSystem` for dynamic cover detection and assignment logic. - Added `AttackPositionCombinator` for evaluating attack positions based on contextual predicates like visibility and distance. - Enhanced `InteractableCombinators` with new predicates (`IsAttackable`, `Not`) and chaining methods for flexible target filtering. - Updated `CheckTargetThreatSystem` with additional affinity evaluations for enemies, allies, and resources. - Improved modularity of attack decision-making using `PositionCTX` and combinators.
… consistency, modularity, and expanded functionality - Standardized `GOrepresentative` to `GORepresentative` across relevant scripts (`BaseCharacterComponent`, `ArmorSO`, `WeaponSO`, etc.). - Enhanced `WanderLocationSystemBase` with private const definitions and adjusted entity processing to use `LocalToWorld` over `LocalTransform`. - Integrated `EvadePlan` enums in `EvadeThreat` for modular retreat logic, added `RetreatAspect` for plan determination and execution. - Updated creation workflows in `ScriptableObjectUtility` with configurable folder paths and labels for assets. - Optimized `InfluenceComponent` setup to use `InfluenceValue` and streamlined constructor implementation. - Improved spawn methodology in `BestiaryDB` for clearer and more reusable character initialization logic. - Removed redundant parameters and adjusted asset labeling across inventory and bestiary project sections. - Numerous adjustments for code readability, formatting, and logic consistency.
- Removed redundant wander logic in `IAUSBlackboard` for cleaner implementation. - Refactored `ProcessEntityTemplate` and `ComputeTravelPosition` methods in wander state scripts to eliminate unnecessary `Movement` parameters. - Adjusted random point calculations in `GetWanderPoint` for better position validation. - Updated Unity Editor version to `6000.2.6f2` and bumped package versions (`com.unity.test-framework` to `1.6.0`, `com.unity.render-pipelines.universal` to `17.2.0`, etc.). - Improved `ShaderGraphSettings` with `overrideShaderVariantLimit` configuration.
- Deleted `Wait` state references and logic from `IAUSBlackboard` and associated components. - Updated `IAUSBrain` with `FixedList128Bytes` for dynamic tracking of states. - Rewrote state evaluation in `IAUSUpdateJob` for modular scoring and decision-making. - Added `StateData` structure for cleaner state management. - Adjusted commands for adding and removing state action tags in alignment with the new logic. - Cleaned up redundant `Wait`-related methods and components to streamline state management.
…er` in `IAUSBrain` and related systems to improve flexibility. Remove `PointOfInterestSystem` and update packages, removing unused Visual Studio package for cleanup. Adjust `CharacterBuilder` to align with buffer changes.
- Added `ReactiveSystemBaseBuffer` for enhanced handling of `DynamicBuffer` components in reactive systems. - Updated `IAUS` system logic to utilize `ReactiveSystemBaseBuffer`, replacing `ReactiveSystemBase`. - Refactored `WanderReactive`, `PatrolReactive`, and `AttackReactive` systems to support `DynamicBuffer`-based processing with improved tagging operations. - Bumped `Unity.Burst` package to version `1.8.25`. - Adjusted naming conventions for parameters and methods across `ReactiveSystem` implementations for clarity.
- Replaced `WanderQuadrant` with `WanderActionTag` for a simplified approach to wander state management. - Removed redundant `WanderQuadrant` references and logic from various IAUS systems, including `IAUSBlackboard` and `UpdateWander`. - Refactored wander processing methods in `WanderLocationSystemBase` scripts for improved modularity and readability. - Updated `MovementSystem` to utilize wander action tags with enhanced distance checks and travel plans. - Consolidated redundant code and ensured consistent naming conventions across wander-related systems and components.
…ineAction` - Deleted `AttackState` and replaced it with `AttackActionTag` for streamlined attack state representation. - Introduced `DetermineAction` system for dynamic attack plan scoring and selection. - Refactored attack-related logic across IAUS systems, aligning with the new `AttackActionTag` structure. - Enhanced `AttackReactive`, `EquipmentUpdate`, and `IAUSBlackboard` with updated attack evaluation logic. - Removed redundant attack scoring methods and cooldown handling for cleaner implementation. - Improved modularity and reusability of attack planning through methods like `DetermineHowToAttack` and score-based plan prioritization.
…raverse` into `IAUSCooldownState` for streamlined cooldown logic using `DynamicBuffer`. Simplify state handling and improve maintainability.
…termineAction` - Deleted `AttackAspect` and transitioned its logic to `ExecuteAttackAction` for centralized attack execution. - Improved `DetermineAction` with modular scoring methods and streamlined plan evaluation. - Updated `AttackReactive` to schedule `ExecuteAttackAction`, integrating attack handling and plan execution. - Refactored attack plan scoring for better readability and maintainability using structured constants and methods. - Enhanced `TerrorizeAreaState` with new fields (`TargetPosition`, `AttackPosition`, `InfluenceAtTarget`) to support dynamic threat management. - Adjusted `IAUSBrainUpdate` with additional scoring logic for `AIStates.Terrorize`.
…TerrorizeAction` - Deleted `TerrorizeAspect` in favor of `DetermineTerrorizeAction` for clearer and modular terrorize plan execution. - Refactored terrorize-related systems by introducing modular scoring and streamlined plan evaluation methods. - Enhanced `TerrorizeAreaState` with fields (`AttackPlans`, `AttackType`, `InAttackCooldown`) for improved attack decision-making. - Updated `IAUSBlackboard` and `IAUSBrainUpdate` with additional logic for terrorize scoring and plan evaluation. - Renamed and corrected `DetermineAction` references to align with new structure. - Added capability checks (`CapableOfMelee`, `CapableOfMagic`, `CapableOfProjectile`) for dynamic attack handling in `EquipmentUpdate`.
added 2 commits
October 24, 2025 19:44
- Deleted `IAUSBlackboard` and its associated `.meta` file for improved modularity and system clarity. - Adjusted `IAUSBrainUpdate`, `Patrol`, `EquipmentUpdate`, and `GaiaSpawnBiome` by removing `IAUSBlackboard` references. - Increased `Qty` values in `GaiaSpawnBiome` and `testing.asset` to support larger entity spawns. - Streamlined logic and reduced redundancy in dependent systems to align with the removal of `IAUSBlackboard`.
- Extracted `CapableOfMelee`, `CapableOfMagic`, and `CapableOfProjectile` into the new `AttackCapable` component for cleaner and reusable capability representation. - Updated `AttackState`, `TerrorizeAreaState`, and related systems (`DetermineAttackAction`, `DetermineTerrorizeAction`) to use `AttackCapable` for dynamic attack evaluations. - Refactored attack scoring methods to utilize `AttackCapable`, simplifying logic and enhancing modularity. - Improved checks and validations in `FindCoverSystem` for better decision-making logic. - Reworked `EquipmentUpdate` to update `AttackCapable` instead of individual capability flags. - Removed redundant capability fields and streamlined attack type determination across all relevant systems.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Starting removal Of Aspects from Project