Commit Graph

33 Commits (73b04d7e34f1049f5d535e6bb7e7045c9ea41f9d)

Author SHA1 Message Date
Gene Walters 73b04d7e34
Network Input Exposed to Script (#3990)
* NetworkInput now has new attribute called ExposeToScript. NetworkInput with this attribute set to True will be exposed to behavior context. Also added a CreateFromValues for the NetworkInput where scripters can create an instance of the MyComponentNetworkInput class which will eventually be passed around CreateInput and ProcessInput events.

Signed-off-by: Gene Walters <genewalt@amazon.com>

* Adding Create Input event handler. SC can now receive the event to create input, and send it over the network

Signed-off-by: Gene Walters <genewalt@amazon.com>

* Auto-component controller will now generate CreateInput/ProcessInput methods if they have input exposed to script, not ready for use yet, just stubbed in

Signed-off-by: Gene Walters <genewalt@amazon.com>

* Reducing code replication by putting common network input variables into AutoComponent_Common.jinja

Signed-off-by: Gene Walters <genewalt@amazon.com>

* Fix minor comment typo in the CreateInput method

Signed-off-by: Gene Walters <genewalt@amazon.com>

* Small fix. Changing ebus call from MyComponentNameCreateInput to just CreateInput. It's part of the MyComponentRequestBus so adding the component name before CreateInput is noisy

Signed-off-by: Gene Walters <genewalt@amazon.com>

* Cleaning with jinja a bit using macro calls to iterate over scriptable netinputs

Signed-off-by: Gene Walters <genewalt@amazon.com>

* ProcessInput will now be triggered in script

Signed-off-by: Gene Walters <genewalt@amazon.com>

* ProcessInput event is sent to script. Script can now create and process input. Tested locally with a simple script.

Signed-off-by: Gene Walters <genewalt@amazon.com>

* Created a seperate CreateInputFromScript and ProcessInputFromScript. Developers no longer need to remember to call the BaseClass::CreateInput and ProcessInput since CreateInputFromScript will automatically be called beforehand.

Signed-off-by: Gene Walters <genewalt@amazon.com>
4 years ago
puvvadar 80584a7130
Merge pull request #3310 from aws-lumberyard-dev/mp_serverrpc_bugfix
Fix type error with Server to Authority RPC generation
4 years ago
puvvadar 99317a4ad1 Update naming to match other functions in jinja header
Signed-off-by: puvvadar <puvvadar@amazon.com>
4 years ago
puvvadar 32d01f6abd Further fixes to Server to Authority RPC generation
Signed-off-by: puvvadar <puvvadar@amazon.com>
4 years ago
Gene Walters 85d4abae83 Move MultiplayerComponent destructor to cpp (which #includes the controller) so that when it comes time to destroy the unique_ptr<Controller> it can do so on a complete type. Also, minor spelling error fix
Signed-off-by: Gene Walters <genewalt@amazon.com>
4 years ago
onecent1101 85c403ea06 Remove =
Signed-off-by: onecent1101 <liug@amazon.com>
4 years ago
onecent1101 d7627c05f6 Fix autogen template RewindableObject construction for linux platform
Signed-off-by: onecent1101 <liug@amazon.com>
4 years ago
kberg-amzn 52780f2130 Merge branch 'development' of https://github.com/o3de/o3de into MultiplayerWeapons 4 years ago
Gene Walters d411c1d1d9
Autonomous to Authority Net Properties (#2153)
* WIP. Autonomous->Authority network properties now functional. Still need some research in regards to entity ownership when it comes to the PropertyPublisher.

Signed-off-by: Gene Walters <genewalt@amazon.com>

* WIP. Exposing Auton->Auth Properties accessors and onchange events

Signed-off-by: Gene Walters <genewalt@amazon.com>

* Fix propertypublisher constructor to skip the creation state if we arent the owner. Removing ClientToServerReplicationWindow, return to just using NullReplicationWindow.

Signed-off-by: Gene Walters <genewalt@amazon.com>

* Reverting some wip debug prints

Signed-off-by: Gene Walters <genewalt@amazon.com>

* Minor whitespacing fix

Signed-off-by: Gene Walters <genewalt@amazon.com>

* minor undoing of whitespacing

Signed-off-by: Gene Walters <genewalt@amazon.com>

* NullReplicationWindow MaxReplication is 0, but now Autonomous entity updates will always be added to the send list (ignoring the max replication limit)

Signed-off-by: Gene Walters <genewalt@amazon.com>

* Updating PropertyPublisher comment to explicitly call out if we dont own the entity locally, the remote replicator must exist

Signed-off-by: Gene Walters <genewalt@amazon.com>

* Renaming RepiclationWindow GetMaxEntityReplicatorSendCount to GetMaxProxyEntityReplicatorSendCount; this number only affects the number of proxy sends and allows autonomous properties to always send

Signed-off-by: Gene Walters <genewalt@amazon.com>
4 years ago
kberg-amzn bd5226aac5 Changes to fix rewindable attributes incorrectly used on read-only archetype data, fix some bad logic in the pre-render blending code, adding a serializer for AZ::Transform, and adding our client.cfg and server.cfg files to .gitignore
Signed-off-by: kberg-amzn <karlberg@amazon.com>
5 years ago
Gene Walters 1a01a876a2 Merge branch 'main' into Multiplayer_AutonomousPropertiesUpdate 5 years ago
Gene Walters 05a0e063a2 Also making Auton->Auth Getters requiring controller 5 years ago
Gene Walters 0fc9697e49 Allow Autonomous->Auth properties. Remove the ability of accessing properties Getters from the Component when ReplicateTo is Autonomous; in this case users must be using the controller to Get 5 years ago
puvvadar d2797c0d15 Add RewindableArray and cleanup a bit more of vector 5 years ago
puvvadar 7129cad1ce Add RewindableFixedVector and update jinja components to use it 5 years ago
puvvadar a7c41064a4 Update fixed_vector autogen to account for IsRewindable 5 years ago
karlberg 3dd40171cd Merging latest origin 5 years ago
puvvadar 7ecb00cca1 Cleanup jinja formatting and fix log spam 5 years ago
puvvadar 2452149e7d Add RPC Events plus reflection plus fix Ctrl+G retry 5 years ago
karlberg 487e989e68 Several updates to complete rewind support and remove unneeded functionality 5 years ago
karlberg 80bf6d54bc Merge remote-tracking branch 'origin' into MultiplayerComponents 5 years ago
karlberg c6ea0c0a46 Various local prediction and input processing related fixes 5 years ago
karlberg 5acdc40595 Many fixes for external gem multiplayer components and component network inputs, fixes an uninitialized variable resulting in continual desyncs, restructures our public includes to match the directory structure of source, allows autogen artefacts to be included by external gems, allowing for external multiplayer components to interact with multiplayer gem components with no extra code 5 years ago
Gene Walters 46024f293d Merge branch 'main' into SPEC6476_ReflectNetworkProperties 5 years ago
karlberg 254ad165c1 A bunch of work to get external multiplayer components to actually work 5 years ago
Gene Walters b9a0bf52ab Merge branch 'main' into SPEC6476_ReflectNetworkProperties 5 years ago
Gene Walters 3ebf23211f Update Mutliplayer Autocomponent to add Get/Set behavior context methods for any Network Properties with GenerateEventBindings=true. Known issues: not tested with container types, some jinja whitespace 5 years ago
karlberg a1fe8fe419 Ported the local prediction player controller component 5 years ago
karlberg 2fc710d73b Addressing PR feedback 5 years ago
karlberg f26d7f9301 First crack at the multiplayer component registry to allow multiplayer components to live in any gem 5 years ago
karlberg ca3df5d6c8 Various bug fixes to get entity replication working 5 years ago
alexpete 1044dc3da1 Integrating github/staging through commit ab87ed9 5 years ago
alexpete c2cbd430fe Integrating up through commit 90f050496 5 years ago