diff --git a/Config/DefaultInput.ini b/Config/DefaultInput.ini index 2c84863..8fbb21d 100644 --- a/Config/DefaultInput.ini +++ b/Config/DefaultInput.ini @@ -78,6 +78,15 @@ DefaultViewportMouseLockMode=LockOnCapture FOVScale=0.011110 DoubleClickTime=0.200000 +ActionMappings=(ActionName="ToggleGravity",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=G) ++ActionMappings=(ActionName="ToggleController",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=C) ++ActionMappings=(ActionName="ToggleShowTarget",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=V) ++ActionMappings=(ActionName="ToggleFollowTarget",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=F) ++AxisMappings=(AxisName="MoveHorizontal",Scale=-1.000000,Key=A) ++AxisMappings=(AxisName="MoveHorizontal",Scale=1.000000,Key=D) ++AxisMappings=(AxisName="MoveVertical",Scale=1.000000,Key=Q) ++AxisMappings=(AxisName="MoveVertical",Scale=-1.000000,Key=E) ++AxisMappings=(AxisName="MoveDepth",Scale=1.000000,Key=W) ++AxisMappings=(AxisName="MoveDepth",Scale=-1.000000,Key=S) DefaultPlayerInputClass=/Script/Engine.PlayerInput DefaultInputComponentClass=/Script/Engine.InputComponent DefaultTouchInterface=/Engine/MobileResources/HUD/DefaultVirtualJoysticks.DefaultVirtualJoysticks diff --git a/Content/BP_Gamemode.uasset b/Content/BP_Gamemode.uasset new file mode 100644 index 0000000..c4db56d Binary files /dev/null and b/Content/BP_Gamemode.uasset differ diff --git a/Content/Blueprints/BP_Puma.uasset b/Content/Blueprints/BP_Puma.uasset index 5ae8bc2..8e8ca69 100644 Binary files a/Content/Blueprints/BP_Puma.uasset and b/Content/Blueprints/BP_Puma.uasset differ diff --git a/Content/Blueprints/BP_Robot.uasset b/Content/Blueprints/BP_Robot.uasset index 1352802..0a262c8 100644 Binary files a/Content/Blueprints/BP_Robot.uasset and b/Content/Blueprints/BP_Robot.uasset differ diff --git a/Content/Blueprints/BP_Target.uasset b/Content/Blueprints/BP_Target.uasset new file mode 100644 index 0000000..8b232da Binary files /dev/null and b/Content/Blueprints/BP_Target.uasset differ diff --git a/Content/Levels/Main.umap b/Content/Levels/Main.umap index ff01d27..532bc84 100644 Binary files a/Content/Levels/Main.umap and b/Content/Levels/Main.umap differ diff --git a/Source/PBDRobotics/Robot.cpp b/Source/PBDRobotics/Robot.cpp index 555867e..f03bc1a 100644 --- a/Source/PBDRobotics/Robot.cpp +++ b/Source/PBDRobotics/Robot.cpp @@ -62,3 +62,10 @@ void ARobot::Tick(const float DeltaTime){ for (auto* Link : Links) Link->UpdateInternalTransform(); } + +ULink* ARobot::GetEffector() const{ + for (auto* Link : Links) + if (Link->IsEffector) + return Link; + return nullptr; +} diff --git a/Source/PBDRobotics/Robot.h b/Source/PBDRobotics/Robot.h index 9abf5c9..436f392 100644 --- a/Source/PBDRobotics/Robot.h +++ b/Source/PBDRobotics/Robot.h @@ -32,6 +32,9 @@ protected: UPROPERTY(BlueprintReadWrite) FVector EffectorMove = FVector::ZeroVector; + UFUNCTION(BlueprintCallable) + ULink* GetEffector() const; + private: // Assumes First Link to have Identity Orientation and Joints Array to be in order void ResetPositionAndOrientation();