Commit Graph
68 Commits
Author SHA1 Message Date
Leon FriedrichandGitHub 1d8a8e15ef Add a is-In-container metadata flag. (#2585) 2022-03-31 13:23:33 +11:00
metalgearslothandGitHub 33251222cd EntityLookup as a system (#2573) 2022-03-03 21:17:01 +11:00
RemberandGitHub 5f68f569c3 BaseContainer.Insert() will now reset the entity's rotation after res… (#2576) 2022-03-01 23:23:56 +11:00
Leon FriedrichandGitHub bcaa7001ad Hopefully fix container occlusion bug? (#2464) 2022-02-10 09:29:26 +01:00
de4d255841 Analyzer to enforce classes to be either [Virtual], abstract, or sealed. (#2469)
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2022-02-05 19:31:58 +01:00
Leon FriedrichandGitHub 8f24a7b4fc Reduce ContainerHelper IoCManager resolves (#2498) 2022-02-04 12:51:29 +11:00
Leon FriedrichandGitHub c1df7dcca7 Move some static helpers to container system (#2470) 2022-01-31 17:21:09 +11:00
wrexbeandGitHub d1e0f2cd94 Automatic Component Names (Alternate ending) (#2389) 2022-01-25 14:10:08 +01:00
3ffdc8cc2d changes needed for inventory refactor (#2350)
* get that crap outta here

* reenables tests

* helper

* removes serverside itemcomp & misc fixes

* oopsie

* fixes tests

* motivation low

* container stuff

* resolves optional

* fix some tests

* fixes

Co-authored-by: Paul Ritter <ritter.paul1@gmail.com>
2021-12-30 22:54:00 +01:00
Leon FriedrichandGitHub 08f1cfbc79 add CanInsertIfEmpty() (#2382)
* add CanInsertIfEmpty

* make CanInsert call CanInsertIfEmpty
2021-12-29 20:27:01 +01:00
metalgearslothandGitHub 9d9ad15274 Entity deletion stuff (#2365) 2021-12-23 12:20:44 +01:00
Leon FriedrichandGitHub b6907e999d Make ContainerSystem.ContainsEntity() not log missing components (#2345) 2021-12-14 10:14:09 +01:00
Vera Aguilera Puerto f8bf877b61 Fix weird lifestage autorefactors. 2021-12-09 12:39:42 +01:00
Vera Aguilera Puerto 85ded7a5a5 Fix build 2021-12-08 12:23:33 +01:00
Vera Aguilera Puerto db996b9fb3 A bunch more resolves removed wooo 2021-12-08 11:37:11 +01:00
Vera Aguilera Puerto 9133879bd3 Remove more IoCManager IEntityManager resolves
Also adds convenience "Deleted" method to IEntityManager
2021-12-08 10:53:24 +01:00
Vera Aguilera Puerto 81672fbe29 Goes in-game now 2021-12-06 15:34:46 +01:00
Wrexbe 90596c8979 Fixed It 2021-12-05 18:12:56 -08:00
DrSmugleaf 163deff564 Fix 3000 errors 2021-12-05 18:13:33 +01:00
20kdc 8aa6fb478b Susser Todd: Robust.Shared, Error Pass 2 "It Now Compiles" 2021-12-03 19:36:16 +00:00
20kdc 5e7d617736 Susser Todd: Robust.Shared, Error Pass 1 2021-12-03 18:40:55 +00:00
Vera Aguilera Puerto c39f6d09eb Lots of manual fixing. More to come. 2021-12-03 17:01:46 +01:00
Vera Aguilera Puerto 7a06db60cf Inline UID 2021-12-03 15:53:10 +01:00
Vera Aguilera Puerto 94e6886a85 Inline Transform 2021-12-03 14:20:35 +01:00
Vera Aguilera Puerto e93ae73e50 Inline TryGetComponent completely, for real 2021-12-03 14:17:01 +01:00
Vera Aguilera Puerto b44a1cde88 Inline HasComponent entirely 2021-12-03 12:23:18 +01:00
Vera Aguilera Puerto ba8deea700 Inline Delete 2021-12-03 11:43:03 +01:00
Vera Aguilera Puerto 19f50d60c9 Inline AddComponent 2021-12-03 11:33:40 +01:00
Vera Aguilera Puerto bbf5e92f32 Inline IsValid 2021-12-03 11:32:53 +01:00
Vera Aguilera Puerto 7769252109 Inline Deleted 2021-12-03 11:30:03 +01:00
Vera Aguilera Puerto f782e76671 Inline EntityManager 2021-12-03 11:11:52 +01:00
44649eea1c pvs refactor (#2247)
Co-authored-by: Paul <ritter.paul1+git@googlemail.com>
2021-11-30 15:07:08 +01:00
Vera Aguilera Puerto 78d01fd25d Remove every ITransformComponent usage. 2021-11-08 12:44:03 +01:00
metalgearsloth 3a4d228e94 Fix container manager deserialization 2021-10-11 02:56:37 +11:00
Leon FriedrichandGitHub f5f8a59c86 Add can-see / visibility function to ContainerHelpers (#2105) 2021-10-08 09:12:34 +02:00
Vera Aguilera Puerto 76ab68dc3d SharedContainerSystem proxy methods use UID to add components.
- Also disables logging missing comps on TryX methods.
2021-10-05 11:34:59 +02:00
Vera Aguilera PuertoandGitHub fbcdd63988 Gets rid of most ComponentManager usages. (#2076)
- Obsoletes more `ComponentManager` fields/properties.
2021-09-28 13:36:18 +02:00
metalgearsloth 6f057e0c85 Set capacity for containermanager getcompstate 2021-09-26 16:52:02 +10:00
Vera Aguilera PuertoandGitHub 0b8cb5e3b6 Add proxy methods to SharedContainerSystem. (#2061) 2021-09-25 18:18:11 +02:00
metalgearslothandGitHub 99c8ce2cc8 Attach to parent before inserting into container (#1965)
tl;dr is that throwing on content needs to be able to have IsInContainer return the correct result when checking for it in EntInsertedIntoContainer
2021-08-22 21:46:20 -07:00
e5013d9e3f Add support for struct directed events, add by-ref directed/broadcast events. (#1931)
* Add support for struct directed events.
- Turn transform events into readonly structs

* TransformComponent events have readonly fields.

* Reduce boxing allocations, add DirectedRegistration readonly struct.

* Use typeof in a few places instead of GetType

* Add overloads to allow passing directed events by ref.

* Raise transform events by ref.

* Fix occluder AnchorStateChangedEvent subscription

* Fix broadphase subscriptions

* Fix bug oops

* Fix transform system raising moveevents by value

* Don't reflect the test entity systems.

* Directed EventBus uses ref everywhere, internally
Deduplicates a bunch of code. Whoo!

* Add broadcast by-ref events

* Fix by-ref events bug using Unsafe, add new tests for sorted by-ref events.

* Port broadcast events to by-ref.

* Speed, more correctness, reduce generics bloat.

* Clean up subscription code some.

* Remove bad test.

Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2021-08-21 11:37:02 +02:00
ShadowCommanderandGitHub e16e0f4bd0 Fix containers with entities that do not exist yet (#1892)
* Fix containers that hold entities not on client

* Delete from ExpectedEntities when entity removed

* Fix ContainerSystem not registering on the server

* Move container state to entity system
Move client code to client

* Fix removal and clean up code

* Add test

* Add more checks to test

* Remove unneeded deletion event handler

When the child is deleted, if the entity does not exist on the client,
then HandleComponentState runs. If the entity does exist, then
HandleEntityInitialized would have run. Either way HandleEntityDeleted
is not needed.

* Renamed unexpected to removedExpected
2021-08-04 19:00:14 -07:00
AcruidandGitHub dadd7b4cc3 Remove Static Component NetIds (#1842)
* ComponentNames are not sent over the network when components are created.

* Removed ComponentStates array from EntityState, now the state is stored directly inside the CompChange struct.

* Remove the unnecessary NetID property from ComponentState.

* Remove Component.NetworkSynchronizeExistence.

* Change GetNetComponents to return both the component and the component NetId.

* Remove public usages of the Component.NetID property.

* Adds the NetIDAttribute that can be applied to components.

* Removed Component.NetID.

* Revert changes to GetComponentState and how prediction works.

* Adds component netID automatic generation.

* Modifies ClientConsoleHost so that commands can be called before Initialize().

* Completely remove static NetIds.

* Renamed NetIDAttribute to NetworkedComponentAttribute.

* Fixing unit tests.
2021-07-12 10:23:13 +02:00
AcruidandGitHub 713f702064 Engine Entity Anchoring (#1829)
* Added unit tests for the new anchor system design.

* Amend ME!

* SnapGridComponent now anchors the entity when added or removed.
TransformComponent.Anchored properly replicates it's state to clients.

* Converted all SnapGridPositionChangedEvent subscriptions to AnchorStateChangedEvent.
Removed SnapGridPositionChangedEvent.
Obsoleted SnapGridComponent.

* Allows setting Transform.Anchored in prototypes.

* Changing tile to empty under anchored ents unanchors them.

* More unit testing.

* Migrated transform gamestate tests to RobustServerSimulation.

* Fixed nasty off-by-one error when sending a full server state.

* Adds lifetime stages to Component.

* More test fixing.

* Review changes.
2021-06-19 17:26:18 -07:00
AcruidandGitHub 40586a8f0e Removes all engine component events. (#1832) 2021-06-18 10:44:21 +02:00
Vera Aguilera Puerto a3ba969589 Container modified events are raised directed to the container owner. 2021-05-31 10:14:02 +02:00
ShadowCommanderandGitHub 4c7f0a8d6b Add container helper for entity storage interaction (#1777) 2021-05-29 11:40:36 +02:00
Pieter-Jan Briers c5b34bab69 More obsoletions component messages. 2021-05-13 02:24:35 +02:00
Pieter-Jan Briers 720f1b1d05 Fix a bunch of compiler warnings. 2021-05-12 00:16:12 +02:00
DrSmugleafandGitHub 91d58dbca4 Make serialization work with backing fields automatically (#1727)
* Make serialization work with backing fields automatically

* Fix not taking priorities into account, make the test fail when that is the case

* Turn fieldDefs back into a list

* Format it better

* Remove GetInheritanceBehaviour, expose immutable array of base field definitions
2021-04-27 14:11:06 +02:00