From 0c38bb77d1e79b767b57d6810a7f2a5ef6a9adea Mon Sep 17 00:00:00 2001 From: austin Date: Wed, 18 Sep 2024 12:50:38 -0400 Subject: [PATCH] include getters, ignore unnescessary imports --- .../syncmanager/methods/UpdateEntityState.java | 2 +- .../methods/ApplyStateCollection.java | 18 ++++++++++++++++-- .../transport/methods/GetStateCollection.java | 5 ++++- .../main/project/parsers/MainParser.java | 4 ++++ 4 files changed, 25 insertions(+), 4 deletions(-) diff --git a/src/main/java/electrosphere/main/client/syncmanager/methods/UpdateEntityState.java b/src/main/java/electrosphere/main/client/syncmanager/methods/UpdateEntityState.java index 762f26f..7223cfa 100644 --- a/src/main/java/electrosphere/main/client/syncmanager/methods/UpdateEntityState.java +++ b/src/main/java/electrosphere/main/client/syncmanager/methods/UpdateEntityState.java @@ -88,7 +88,7 @@ public class UpdateEntityState implements VirtualMethod { //add server trees for(BehaviorTree bTree : projectStructure.getBehaviorTrees()){ - if(bTree.getName().contains("client")){ + if(bTree.getName().contains("client") && bTree.getSynchronizedFields() != null && bTree.getSynchronizedFields().size() > 0){ rVal.add(bTree.getTargetFile().getQualifiedPath()); } } diff --git a/src/main/java/electrosphere/main/core/transport/methods/ApplyStateCollection.java b/src/main/java/electrosphere/main/core/transport/methods/ApplyStateCollection.java index ea307bd..d3d1213 100644 --- a/src/main/java/electrosphere/main/core/transport/methods/ApplyStateCollection.java +++ b/src/main/java/electrosphere/main/core/transport/methods/ApplyStateCollection.java @@ -23,7 +23,7 @@ public class ApplyStateCollection implements VirtualMethod { String updateCases = ""; for(BehaviorTree serverTree : projectStructure.getBehaviorTrees()){ //counterintuitively, want to only update client for server behavior tree ids - if(serverTree.isServer()){ + if(serverTree.isServer() && shouldIncludeTree(projectStructure, serverTree)){ BehaviorTree clientEquivalent = projectStructure.getTree(serverTree.getCorrespondingTreeName()); String clientTreeName = clientEquivalent.getClassName(); updateCases = updateCases + " case BehaviorTreeIdEnums." + BTreeIdEnum.getTreeIdEnum(serverTree) + ": {\n"; @@ -71,7 +71,9 @@ public class ApplyStateCollection implements VirtualMethod { //add server trees for(BehaviorTree bTree : projectStructure.getBehaviorTrees()){ - rVal.add(bTree.getTargetFile().getQualifiedPath()); + if(shouldIncludeTree(projectStructure,bTree)){ + rVal.add(bTree.getTargetFile().getQualifiedPath()); + } } return rVal; } @@ -80,5 +82,17 @@ public class ApplyStateCollection implements VirtualMethod { public boolean shouldOverwrite() { return true; } + + /** + * Checks if this tree should be included in the synchronization manager + * @param serverTree The server behavior tree + * @return true if should be included, false otherwise + */ + private boolean shouldIncludeTree(ProjectStructure projectStructure, BehaviorTree serverTree){ + return + serverTree.getSynchronizedFields() != null && + serverTree.getSynchronizedFields().size() > 0 + ; + } } diff --git a/src/main/java/electrosphere/main/core/transport/methods/GetStateCollection.java b/src/main/java/electrosphere/main/core/transport/methods/GetStateCollection.java index c4b9275..100a721 100644 --- a/src/main/java/electrosphere/main/core/transport/methods/GetStateCollection.java +++ b/src/main/java/electrosphere/main/core/transport/methods/GetStateCollection.java @@ -78,7 +78,10 @@ public class GetStateCollection implements VirtualMethod { * @return true if should be included, false otherwise */ private boolean shouldIncludeTree(ProjectStructure projectStructure, BehaviorTree serverTree){ - return true; + return + serverTree.getSynchronizedFields() != null && + serverTree.getSynchronizedFields().size() > 0 + ; } } diff --git a/src/main/java/electrosphere/main/project/parsers/MainParser.java b/src/main/java/electrosphere/main/project/parsers/MainParser.java index 9393806..b9dd5e0 100644 --- a/src/main/java/electrosphere/main/project/parsers/MainParser.java +++ b/src/main/java/electrosphere/main/project/parsers/MainParser.java @@ -4,9 +4,11 @@ import java.util.List; import electrosphere.main.core.VirtualProject; import electrosphere.main.core.btree.BehaviorTree; +import electrosphere.main.core.btree.methods.ClientFieldGetter; import electrosphere.main.core.btree.methods.ClientFieldSetter; import electrosphere.main.core.btree.methods.ClientTransition; import electrosphere.main.core.btree.methods.FromTypeConversion; +import electrosphere.main.core.btree.methods.ServerFieldGetter; import electrosphere.main.core.btree.methods.ServerFieldSetter; import electrosphere.main.core.btree.methods.ToTypeConversion; import electrosphere.main.core.syncfield.SynchronizedField; @@ -92,8 +94,10 @@ public class MainParser { tree.addSynchronizedField(field); if(tree.isServer()){ tree.addMethod(new ServerFieldSetter(tree, field.getTypeName(), field.getFieldName())); + tree.addMethod(new ServerFieldGetter(tree, field.getTypeName(), field.getFieldName())); } else { tree.addMethod(new ClientFieldSetter(tree, field.getTypeName(), field.getFieldName())); + tree.addMethod(new ClientFieldGetter(tree, field.getTypeName(), field.getFieldName())); if(field.containsAnnotation("serverSendTransitionPacket")){ tree.addMethod(new ClientTransition(tree, field.getTypeName(), field.getFieldName())); }