├── .gitignore ├── ActionRPGGame.uproject ├── Agones ├── Agones.uplugin ├── Resources │ └── Icon128.png └── Source │ └── Agones │ ├── Agones.Build.cs │ ├── Private │ ├── Agones.cpp │ ├── sdk.cc │ ├── sdk.grpc.pb.cc │ └── sdk.pb.cc │ └── Public │ ├── IAgones.h │ ├── sdk.grpc.pb.h │ ├── sdk.h │ └── sdk.pb.h ├── Config ├── DefaultEditor.ini ├── DefaultEditorPerProjectUserSettings.ini ├── DefaultEngine.ini ├── DefaultGame.ini ├── DefaultGameplayTags.ini └── DefaultInput.ini ├── Content └── Blueprints │ └── Test_CameraManager.uasset ├── Plugins ├── AbilityFramework │ ├── AbilityFramework.uplugin │ └── Source │ │ ├── AbilityFramework │ │ ├── AbilityFramework.Build.cs │ │ ├── Private │ │ │ ├── AFAbilityComponent.cpp │ │ │ ├── AFAbilityInterface.cpp │ │ │ ├── AFAbilityTypes.cpp │ │ │ ├── AFAttributeComponent.cpp │ │ │ ├── AFAttributeInterface.cpp │ │ │ ├── AFBlueprintFunctionLibrary.cpp │ │ │ ├── AFCueInterface.cpp │ │ │ ├── AFCueManager.cpp │ │ │ ├── AFEffectsComponent.cpp │ │ │ ├── AFSimpleInterface.cpp │ │ │ ├── Abilities │ │ │ │ ├── AFAbilityActivationSpec.cpp │ │ │ │ ├── AFAbilityCooldownSpec.cpp │ │ │ │ ├── AFAbilityInfiniteDurationSpec.cpp │ │ │ │ ├── AFAbilityPeriodSpec.cpp │ │ │ │ ├── AFAbilityPeriodicInfiniteSpec.cpp │ │ │ │ ├── GAAbilityBase.cpp │ │ │ │ ├── GAAbilityBlueprint.cpp │ │ │ │ └── Tasks │ │ │ │ │ ├── AFAbilityTask_SpawnProjectile.cpp │ │ │ │ │ ├── GAAbilityTask.cpp │ │ │ │ │ ├── GAAbilityTask_CreateObject.cpp │ │ │ │ │ ├── GAAbilityTask_PlayMontage.cpp │ │ │ │ │ ├── GAAbilityTask_Repeat.cpp │ │ │ │ │ ├── GAAbilityTask_SpawnActor.cpp │ │ │ │ │ ├── GAAbilityTask_TargetData.cpp │ │ │ │ │ ├── GAAbilityTask_TargetDataCircle.cpp │ │ │ │ │ ├── GAAbilityTask_TargetDataLineTrace.cpp │ │ │ │ │ ├── GAAbilityTask_WaitForConfirm.cpp │ │ │ │ │ └── GAAbilityTask_WaitTargetData.cpp │ │ │ ├── AbilityFramework.cpp │ │ │ ├── AnimNotify │ │ │ │ ├── AFAbilityNotifyState.cpp │ │ │ │ └── AFAnimNotify.cpp │ │ │ ├── Attributes │ │ │ │ ├── GAAttributeBase.cpp │ │ │ │ ├── GAAttributeExtension.cpp │ │ │ │ ├── GAAttributeGlobals.cpp │ │ │ │ ├── GAAttributesBase.cpp │ │ │ │ ├── GAAttributesBlueprintFunctionLibrary.cpp │ │ │ │ └── GAAttributesStats.cpp │ │ │ ├── Cues │ │ │ │ ├── AFCueStaticBlueprint.cpp │ │ │ │ └── AFCueStaticGeneratedClass.cpp │ │ │ ├── Effects │ │ │ │ ├── AFCueActor.cpp │ │ │ │ ├── AFCueActorBlueprint.cpp │ │ │ │ ├── AFCueActorGeneratedClass.cpp │ │ │ │ ├── AFCueStatic.cpp │ │ │ │ ├── AFEffectApplicationRequirement.cpp │ │ │ │ ├── AFEffectCustomApplication.cpp │ │ │ │ ├── AFEffectCustomStackingRule.cpp │ │ │ │ ├── AFEffectSpecFunctionLibrary.cpp │ │ │ │ ├── ApplicationRequirement │ │ │ │ │ ├── AFAttributeStongerOverride.cpp │ │ │ │ │ └── AFEffectAlreadyApplied.cpp │ │ │ │ ├── CustomApplications │ │ │ │ │ ├── AFAtributeDurationAdd.cpp │ │ │ │ │ ├── AFAtributeDurationUnique.cpp │ │ │ │ │ ├── AFAttributeDurationInfinite.cpp │ │ │ │ │ ├── AFAttributeDurationOverride.cpp │ │ │ │ │ ├── AFPeriodApplicationAdd.cpp │ │ │ │ │ ├── AFPeriodApplicationExtend.cpp │ │ │ │ │ ├── AFPeriodApplicationInfiniteAdd.cpp │ │ │ │ │ ├── AFPeriodApplicationOverride.cpp │ │ │ │ │ └── AFPeriodicApplInfiniteOverride.cpp │ │ │ │ ├── EffectTasks │ │ │ │ │ ├── AFEffectTask.cpp │ │ │ │ │ ├── AFEffectTask_AppliedEffectEvent.cpp │ │ │ │ │ ├── AFEffectTask_AttributeChange.cpp │ │ │ │ │ ├── AFEffectTask_EffectAppliedToSelf.cpp │ │ │ │ │ ├── AFEffectTask_EffectAppliedToTarget.cpp │ │ │ │ │ ├── AFEffectTask_EffectEvent.cpp │ │ │ │ │ └── AFEffectTask_ExecutedEffectEvent.cpp │ │ │ │ ├── GABlueprintLibrary.cpp │ │ │ │ ├── GACustomCalculation.cpp │ │ │ │ ├── GAEffectBlueprint.cpp │ │ │ │ ├── GAEffectCueGlobals.cpp │ │ │ │ ├── GAEffectCueSequence.cpp │ │ │ │ ├── GAEffectExecution.cpp │ │ │ │ ├── GAEffectExtension.cpp │ │ │ │ ├── GAEffectField.cpp │ │ │ │ ├── GAEffectGlobalTypes.cpp │ │ │ │ └── GAGameEffect.cpp │ │ │ ├── GAGlobalTypes.cpp │ │ │ ├── GAHelperTemplates.cpp │ │ │ ├── GAPhysicalMaterial.cpp │ │ │ ├── GAUIData.cpp │ │ │ ├── LatentActions │ │ │ │ ├── AFLatentInterface.cpp │ │ │ │ ├── AFTaskBase.cpp │ │ │ │ ├── AFTaskManager.cpp │ │ │ │ └── GAWaitAction.cpp │ │ │ └── Mods │ │ │ │ └── GAAttributeMod.cpp │ │ └── Public │ │ │ ├── AFAbilityComponent.h │ │ │ ├── AFAbilityInterface.h │ │ │ ├── AFAbilityTypes.h │ │ │ ├── AFAttributeComponent.h │ │ │ ├── AFAttributeInterface.h │ │ │ ├── AFBlueprintFunctionLibrary.h │ │ │ ├── AFCueInterface.h │ │ │ ├── AFCueManager.h │ │ │ ├── AFEffectsComponent.h │ │ │ ├── AFSimpleInterface.h │ │ │ ├── Abilities │ │ │ ├── AFAbilityActivationSpec.h │ │ │ ├── AFAbilityCooldownSpec.h │ │ │ ├── AFAbilityInfiniteDurationSpec.h │ │ │ ├── AFAbilityPeriodSpec.h │ │ │ ├── AFAbilityPeriodicInfiniteSpec.h │ │ │ ├── GAAbilityBase.h │ │ │ ├── GAAbilityBlueprint.h │ │ │ └── Tasks │ │ │ │ ├── AFAbilityTask_SpawnProjectile.h │ │ │ │ ├── GAAbilityTask.h │ │ │ │ ├── GAAbilityTask_CreateObject.h │ │ │ │ ├── GAAbilityTask_PlayMontage.h │ │ │ │ ├── GAAbilityTask_Repeat.h │ │ │ │ ├── GAAbilityTask_SpawnActor.h │ │ │ │ ├── GAAbilityTask_TargetData.h │ │ │ │ ├── GAAbilityTask_TargetDataCircle.h │ │ │ │ ├── GAAbilityTask_TargetDataLineTrace.h │ │ │ │ ├── GAAbilityTask_WaitForConfirm.h │ │ │ │ └── GAAbilityTask_WaitTargetData.h │ │ │ ├── AbilityFramework.h │ │ │ ├── AnimNotify │ │ │ ├── AFAbilityNotifyState.h │ │ │ └── AFAnimNotify.h │ │ │ ├── Attributes │ │ │ ├── GAAttributeBase.h │ │ │ ├── GAAttributeExtension.h │ │ │ ├── GAAttributeGlobals.h │ │ │ ├── GAAttributesBase.h │ │ │ ├── GAAttributesBlueprintFunctionLibrary.h │ │ │ └── GAAttributesStats.h │ │ │ ├── Cues │ │ │ ├── AFCueStaticBlueprint.h │ │ │ └── AFCueStaticGeneratedClass.h │ │ │ ├── Effects │ │ │ ├── AFCueActor.h │ │ │ ├── AFCueActorBlueprint.h │ │ │ ├── AFCueActorGeneratedClass.h │ │ │ ├── AFCueStatic.h │ │ │ ├── AFEffectApplicationRequirement.h │ │ │ ├── AFEffectCustomApplication.h │ │ │ ├── AFEffectCustomStackingRule.h │ │ │ ├── AFEffectSpecFunctionLibrary.h │ │ │ ├── ApplicationRequirement │ │ │ │ ├── AFAttributeStongerOverride.h │ │ │ │ └── AFEffectAlreadyApplied.h │ │ │ ├── CustomApplications │ │ │ │ ├── AFAtributeDurationAdd.h │ │ │ │ ├── AFAtributeDurationUnique.h │ │ │ │ ├── AFAttributeDurationInfinite.h │ │ │ │ ├── AFAttributeDurationOverride.h │ │ │ │ ├── AFPeriodApplicationAdd.h │ │ │ │ ├── AFPeriodApplicationExtend.h │ │ │ │ ├── AFPeriodApplicationInfiniteAdd.h │ │ │ │ ├── AFPeriodApplicationOverride.h │ │ │ │ └── AFPeriodicApplInfiniteOverride.h │ │ │ ├── EffectTasks │ │ │ │ ├── AFEffectTask.h │ │ │ │ ├── AFEffectTask_AppliedEffectEvent.h │ │ │ │ ├── AFEffectTask_AttributeChange.h │ │ │ │ ├── AFEffectTask_EffectAppliedToSelf.h │ │ │ │ ├── AFEffectTask_EffectAppliedToTarget.h │ │ │ │ ├── AFEffectTask_EffectEvent.h │ │ │ │ └── AFEffectTask_ExecutedEffectEvent.h │ │ │ ├── GABlueprintLibrary.h │ │ │ ├── GACustomCalculation.h │ │ │ ├── GAEffectBlueprint.h │ │ │ ├── GAEffectCueGlobals.h │ │ │ ├── GAEffectCueSequence.h │ │ │ ├── GAEffectExecution.h │ │ │ ├── GAEffectExtension.h │ │ │ ├── GAEffectField.h │ │ │ ├── GAEffectGlobalTypes.h │ │ │ └── GAGameEffect.h │ │ │ ├── GAGlobalTypes.h │ │ │ ├── GAHelperTemplates.h │ │ │ ├── GAPhysicalMaterial.h │ │ │ ├── GAUIData.h │ │ │ ├── IAbilityFramework.h │ │ │ ├── LatentActions │ │ │ ├── AFLatentInterface.h │ │ │ ├── AFTaskBase.h │ │ │ ├── AFTaskManager.h │ │ │ └── GAWaitAction.h │ │ │ └── Mods │ │ │ └── GAAttributeMod.h │ │ └── AbilityFrameworkEditor │ │ ├── AbilityFrameworkEditor.Build.cs │ │ └── Public │ │ ├── AFAbilityActionSpecDetails.cpp │ │ ├── AFAbilityActionSpecDetails.h │ │ ├── AFAbilityCooldownSpecDetails.cpp │ │ ├── AFAbilityCooldownSpecDetails.h │ │ ├── AFAbilityInfiniteDurationSpecDetails.cpp │ │ ├── AFAbilityInfiniteDurationSpecDetails.h │ │ ├── AFAbilityInfinitePeriodSpecDetails.cpp │ │ ├── AFAbilityInfinitePeriodSpecDetails.h │ │ ├── AFAbilityPeriodSpecDetails.cpp │ │ ├── AFAbilityPeriodSpecDetails.h │ │ ├── AFEK2Node_AsyncEffectTaskCall.cpp │ │ ├── AFEK2Node_AsyncEffectTaskCall.h │ │ ├── AFEffectCustomizationCommon.cpp │ │ ├── AFEffectCustomizationCommon.h │ │ ├── AbilityEditor │ │ ├── AssetTypeActions_GAAbilityBlueprint.cpp │ │ ├── AssetTypeActions_GAAbilityBlueprint.h │ │ ├── GAAbilityBlueprintFactory.cpp │ │ ├── GAAbilityBlueprintFactory.h │ │ ├── GAAbilityEditor.cpp │ │ ├── GAAbilityEditor.h │ │ ├── GAAbilityGraph.cpp │ │ ├── GAAbilityGraph.h │ │ ├── GAAbilityGraphSchema.cpp │ │ └── GAAbilityGraphSchema.h │ │ ├── AbilityFrameworkEditor.cpp │ │ ├── AbilityFrameworkEditor.h │ │ ├── CueStatic │ │ ├── AFCueStaticBlueprintFactory.cpp │ │ ├── AFCueStaticBlueprintFactory.h │ │ ├── AssetTypeActions_AFCueStaticBlueprint.cpp │ │ └── AssetTypeActions_AFCueStaticBlueprint.h │ │ ├── CurveTable │ │ ├── GACurveTableDetailCustomization.cpp │ │ └── GACurveTableDetailCustomization.h │ │ ├── EffectCueEditor │ │ ├── AFCueActorBlueprintFactory.cpp │ │ ├── AFCueActorBlueprintFactory.h │ │ ├── AFEffectCueDetails.cpp │ │ ├── AFEffectCueDetails.h │ │ ├── AssetTypeActions_AFCueActorBlueprint.cpp │ │ ├── AssetTypeActions_AFCueActorBlueprint.h │ │ ├── GAEffectCueEditor.cpp │ │ ├── GAEffectCueEditor.h │ │ ├── GAEffectCueGraph.cpp │ │ ├── GAEffectCueGraph.h │ │ ├── GAEffectCueGraphSchema.cpp │ │ └── GAEffectCueGraphSchema.h │ │ ├── EffectEditor │ │ ├── AssetTypeActions_GAEffectBlueprint.cpp │ │ ├── AssetTypeActions_GAEffectBlueprint.h │ │ ├── GAEffectBlueprintFactory.cpp │ │ ├── GAEffectBlueprintFactory.h │ │ ├── GAEffectEditor.cpp │ │ ├── GAEffectEditor.h │ │ ├── GAEffectGraph.cpp │ │ ├── GAEffectGraph.h │ │ ├── GAEffectGraphSchema.cpp │ │ └── GAEffectGraphSchema.h │ │ ├── GAAttributeDetailCustomization.cpp │ │ ├── GAAttributeDetailCustomization.h │ │ ├── GAAttributePanelGraphPinFactory.cpp │ │ ├── GAAttributePanelGraphPinFactory.h │ │ ├── GAAttributePin.cpp │ │ ├── GAAttributePin.h │ │ ├── GAEK2Node_LatentAbilityTaskCall.cpp │ │ ├── GAEK2Node_LatentAbilityTaskCall.h │ │ ├── GAEK2Node_LatentAction.cpp │ │ ├── GAEK2Node_LatentAction.h │ │ ├── GAEffectClassStructWidget.cpp │ │ ├── GAEffectClassStructWidget.h │ │ ├── GAEffectDetails.cpp │ │ ├── GAEffectDetails.h │ │ ├── GAEffectPropertyStructCustomization.cpp │ │ ├── GAEffectPropertyStructCustomization.h │ │ ├── GAGlobalTypesEditor.h │ │ ├── IAbilityFrameworkEditor.h │ │ ├── SGAAttributeWidget.cpp │ │ └── SGAAttributeWidget.h ├── DraggableWindow │ ├── DraggableWindow.uplugin │ └── Source │ │ └── DraggableWindow │ │ ├── DraggableWindow.Build.cs │ │ └── Public │ │ ├── DWBPFunctionLibrary.cpp │ │ ├── DWBPFunctionLibrary.h │ │ ├── DWManager.cpp │ │ ├── DWManager.h │ │ ├── DWTypes.cpp │ │ ├── DWTypes.h │ │ ├── DraggableWindow.cpp │ │ ├── DraggableWindow.h │ │ ├── SDraggableWindowWidget.cpp │ │ └── SDraggableWindowWidget.h ├── InventoryFramework │ ├── InventoryFramework.uplugin │ └── Source │ │ └── InventoryFramework │ │ ├── InventoryFramework.Build.cs │ │ ├── Private │ │ ├── IFEquipmentComponent.cpp │ │ ├── IFInventoryComponent.cpp │ │ ├── IFInventoryInterface.cpp │ │ ├── IFItemActorBase.cpp │ │ ├── IFItemBase.cpp │ │ ├── IFTypes.cpp │ │ └── InventoryFramework.cpp │ │ └── Public │ │ ├── IFEquipmentComponent.h │ │ ├── IFInventoryComponent.h │ │ ├── IFInventoryInterface.h │ │ ├── IFItemActorBase.h │ │ ├── IFItemBase.h │ │ ├── IFTypes.h │ │ └── InventoryFramework.h ├── InventoryFrameworkUI │ ├── InventoryFrameworkUI.uplugin │ └── Source │ │ └── InventoryFrameworkUI │ │ ├── InventoryFrameworkUI.Build.cs │ │ ├── Private │ │ ├── IFItemContainerWidget.cpp │ │ ├── IFItemWidget.cpp │ │ └── InventoryFrameworkUI.cpp │ │ └── Public │ │ ├── IFItemContainerWidget.h │ │ ├── IFItemWidget.h │ │ └── InventoryFrameworkUI.h ├── JsonUObject │ ├── JsonUObject.uplugin │ └── Source │ │ └── JsonUObject │ │ ├── JsonUObject.Build.cs │ │ ├── Private │ │ ├── JsonUODeserialize.cpp │ │ ├── JsonUOSerialize.cpp │ │ └── JsonUObject.cpp │ │ └── Public │ │ ├── JsonUODeserialize.h │ │ ├── JsonUOSerialize.h │ │ └── JsonUObject.h ├── OrionAnimation │ ├── OrionAnimation.uplugin │ └── Source │ │ ├── OrionAnimation │ │ ├── OrionAnimation.Build.cs │ │ └── Public │ │ │ ├── AnimNode_BlendLocomotionFour.h │ │ │ ├── OrionAnimComponent.h │ │ │ ├── OrionAnimation.h │ │ │ └── OrionInterface.h │ │ └── OrionAnimationEditor │ │ ├── OrionAnimationEditor.Build.cs │ │ ├── Private │ │ ├── AnimGraphNode_BlendLocomotionFour.cpp │ │ └── OrionAnimationEditor.cpp │ │ └── Public │ │ ├── AnimGraphNode_BlendLocomotionFour.h │ │ └── OrionAnimationEditor.h ├── SpectrAI │ ├── Source │ │ ├── SpectrAI │ │ │ ├── Public │ │ │ │ ├── SpectrAI.cpp │ │ │ │ ├── SpectrAI.h │ │ │ │ ├── SpectrAIController.cpp │ │ │ │ ├── SpectrAIController.h │ │ │ │ ├── SpectrAction.cpp │ │ │ │ ├── SpectrAction.h │ │ │ │ ├── SpectrBrainComponent.cpp │ │ │ │ ├── SpectrBrainComponent.h │ │ │ │ ├── SpectrConsideration.cpp │ │ │ │ ├── SpectrConsideration.h │ │ │ │ ├── SpectrContext.cpp │ │ │ │ ├── SpectrContext.h │ │ │ │ ├── SpectrEvaluator.cpp │ │ │ │ ├── SpectrEvaluator.h │ │ │ │ ├── SpectrGoal.cpp │ │ │ │ └── SpectrGoal.h │ │ │ └── SpectrAI.Build.cs │ │ └── SpectrAIEditor │ │ │ ├── Public │ │ │ ├── SpectrAIEditor.cpp │ │ │ ├── SpectrAIEditor.h │ │ │ ├── SpectrGoalCustomization.cpp │ │ │ └── SpectrGoalCustomization.h │ │ │ └── SpectrAIEditor.Build.cs │ └── SpectrAI.uplugin ├── SpectrAITest │ ├── Source │ │ └── SpectrAITest │ │ │ ├── Public │ │ │ ├── STestAIControllerBase.cpp │ │ │ ├── STestAIControllerBase.h │ │ │ ├── STestAction_ChopFirewood.cpp │ │ │ ├── STestAction_ChopFirewood.h │ │ │ ├── STestAction_ChopWood.cpp │ │ │ ├── STestAction_ChopWood.h │ │ │ ├── STestAction_CollectBranches.cpp │ │ │ ├── STestAction_CollectBranches.h │ │ │ ├── STestAction_CollectOre.cpp │ │ │ ├── STestAction_CollectOre.h │ │ │ ├── STestAction_DropFirewood.cpp │ │ │ ├── STestAction_DropFirewood.h │ │ │ ├── STestAction_DropOre.cpp │ │ │ ├── STestAction_DropOre.h │ │ │ ├── STestAction_DropWood.cpp │ │ │ ├── STestAction_DropWood.h │ │ │ ├── STestAction_GoTo.cpp │ │ │ ├── STestAction_GoTo.h │ │ │ ├── STestAction_MakeAxe.cpp │ │ │ ├── STestAction_MakeAxe.h │ │ │ ├── STestAction_MakePick.cpp │ │ │ ├── STestAction_MakePick.h │ │ │ ├── STestAction_MineOre.cpp │ │ │ ├── STestAction_MineOre.h │ │ │ ├── STestAction_PickItemAxe.cpp │ │ │ ├── STestAction_PickItemAxe.h │ │ │ ├── STestAction_PickItemPick.cpp │ │ │ ├── STestAction_PickItemPick.h │ │ │ ├── STestAxePickup.cpp │ │ │ ├── STestAxePickup.h │ │ │ ├── STestBranch.cpp │ │ │ ├── STestBranch.h │ │ │ ├── STestForge.cpp │ │ │ ├── STestForge.h │ │ │ ├── STestStorage.cpp │ │ │ ├── STestStorage.h │ │ │ ├── STestTree.cpp │ │ │ ├── STestTree.h │ │ │ ├── SpectrAITest.cpp │ │ │ └── SpectrAITest.h │ │ │ └── SpectrAITest.Build.cs │ └── SpectrAITest.uplugin ├── TimeOfDay │ └── Source │ │ └── TimeOfDay │ │ ├── Private │ │ └── TimeOfDay.cpp │ │ ├── Public │ │ └── TimeOfDay.h │ │ └── TimeOfDay.Build.cs ├── WeaponFramework │ └── Source │ │ └── WeaponFramework │ │ ├── Private │ │ └── WeaponFramework.cpp │ │ ├── Public │ │ └── WeaponFramework.h │ │ └── WeaponFramework.Build.cs ├── WorldArchitect │ └── Source │ │ └── WorldArchitectEditor │ │ ├── Public │ │ ├── LandscapeGraphEditor │ │ │ ├── WALandscapeGraphAssetEditor.cpp │ │ │ ├── WALandscapeGraphAssetEditor.h │ │ │ ├── WALandscapeGraphAssetEditorToolbar.cpp │ │ │ ├── WALandscapeGraphAssetEditorToolbar.h │ │ │ ├── WALandscapeGraphColors.h │ │ │ ├── WALandscapeGraphConnectionDrawingPolicy.cpp │ │ │ ├── WALandscapeGraphConnectionDrawingPolicy.h │ │ │ ├── WALandscapeGraphEdGraph.cpp │ │ │ ├── WALandscapeGraphEdGraph.h │ │ │ ├── WALandscapeGraphEdNode.cpp │ │ │ ├── WALandscapeGraphEdNode.h │ │ │ ├── WALandscapeGraphEdNode_Multiply.cpp │ │ │ ├── WALandscapeGraphEdNode_Multiply.h │ │ │ ├── WALandscapeGraphEdNode_Output.cpp │ │ │ ├── WALandscapeGraphEdNode_Output.h │ │ │ ├── WALandscapeGraphEditorCommands.cpp │ │ │ ├── WALandscapeGraphEditorCommands.h │ │ │ ├── WALandscapeGraphSchema.cpp │ │ │ └── WALandscapeGraphSchema.h │ │ ├── Runtime │ │ │ ├── WALandscapeGraph.cpp │ │ │ ├── WALandscapeGraph.h │ │ │ ├── WALandscapeNode.cpp │ │ │ └── WALandscapeNode.h │ │ ├── WALGEdNode_Combine.cpp │ │ ├── WALGEdNode_Combine.h │ │ ├── WALGEdNode_PerlinNoise.cpp │ │ ├── WALGEdNode_PerlinNoise.h │ │ ├── WALGEdNode_Start.cpp │ │ ├── WALGEdNode_Start.h │ │ ├── WALandscapeGraphAssetTypeActions.cpp │ │ ├── WALandscapeGraphAssetTypeActions.h │ │ ├── WALandscapeGraphEditorTypes.cpp │ │ ├── WALandscapeGraphEditorTypes.h │ │ ├── WALandscapeGraphFactory.cpp │ │ ├── WALandscapeGraphFactory.h │ │ ├── WALandscapeNode_Multiply.cpp │ │ ├── WALandscapeNode_Multiply.h │ │ ├── WALandscapeNode_Output.cpp │ │ ├── WALandscapeNode_Output.h │ │ ├── WALandscapeNode_PerlinNoise.cpp │ │ ├── WALandscapeNode_PerlinNoise.h │ │ ├── WANoise.cpp │ │ ├── WANoise.h │ │ ├── WorldArchitectEdMode.cpp │ │ ├── WorldArchitectEdMode.h │ │ ├── WorldArchitectEdModeToolkit.cpp │ │ ├── WorldArchitectEdModeToolkit.h │ │ ├── WorldArchitectEditor.cpp │ │ └── WorldArchitectEditor.h │ │ └── WorldArchitectEditor.Build.cs └── uFire │ ├── Source │ └── uFire │ │ ├── Private │ │ └── uFire.cpp │ │ ├── Public │ │ └── uFire.h │ │ └── uFire.Build.cs │ └── uFire.uplugin └── Source ├── ActionRPGGame.Target.cs ├── ActionRPGGame ├── ActionRPGGame.Build.cs ├── Private │ ├── AI │ │ ├── ARAICharacter.cpp │ │ └── ARAIController.cpp │ ├── ARCharacter.cpp │ ├── ARCharacterMovementComponent.cpp │ ├── AREnemySpawner.cpp │ ├── ARGameInstance.cpp │ ├── ARGameMode.cpp │ ├── ARGameSession.cpp │ ├── ARGameStateBase.cpp │ ├── ARGlobals.cpp │ ├── ARItemBase.cpp │ ├── ARItemPickupBase.cpp │ ├── ARItemSpawnerBase.cpp │ ├── ARMenuPlayerController.cpp │ ├── ARPlayerController.cpp │ ├── ARPlayerStateBase.cpp │ ├── Abilities │ │ ├── ARAbilityBase.cpp │ │ ├── ARAbilityUIData.cpp │ │ └── ARAvailableAbilities.cpp │ ├── ActionRPGGame.cpp │ ├── Attributes │ │ ├── ARAbilityAttributes.cpp │ │ ├── ARCharacterAttributes.cpp │ │ ├── ARGunAttributes.cpp │ │ └── ARHealthExtension.cpp │ ├── Calculations │ │ └── ARAmmoReloadCalculation.cpp │ ├── Equipment │ │ └── ARCharacterEquipmentComponent.cpp │ ├── Menu │ │ ├── ARMainMenuView.cpp │ │ ├── ARMenuGameMode.cpp │ │ ├── ARMenuHUD.cpp │ │ └── ARRegisterView.cpp │ ├── UI │ │ ├── ARHUD.cpp │ │ ├── ARHUDWidget.cpp │ │ ├── ARUIComponent.cpp │ │ ├── ARUMGWidgetBase.cpp │ │ ├── HUD │ │ │ ├── ARHUDCrosshair.cpp │ │ │ ├── ARHUDCrosshairInfo.cpp │ │ │ ├── ARHUDEnemyHealthBar.cpp │ │ │ ├── ARHUDFloatingCombatText.cpp │ │ │ └── ARHUDPlayerInfo.cpp │ │ ├── Inventory │ │ │ ├── ARInventoryScreenWidget.cpp │ │ │ ├── ARItemTooltipView.cpp │ │ │ ├── ARItemView.cpp │ │ │ ├── ARListItemView.cpp │ │ │ ├── ARUIInventoryComponent.cpp │ │ │ └── Weapons │ │ │ │ ├── ARItemWeaponWidget.cpp │ │ │ │ ├── ARListItemWeaponWidget.cpp │ │ │ │ ├── ARWeaponContainerWidget.cpp │ │ │ │ ├── ARWeaponModificationView.cpp │ │ │ │ └── Modifications │ │ │ │ ├── ARItemMagazineView.cpp │ │ │ │ ├── ARItemWeaponUpgradeView.cpp │ │ │ │ └── ARListItemMagazineView.cpp │ │ ├── Menu │ │ │ └── ARLoginScreenView.cpp │ │ ├── SARCrosshairBase.cpp │ │ └── SARDrawTestWidget.cpp │ └── Weapons │ │ ├── ARItemWeapon.cpp │ │ ├── ARMagazineUpgradeEffect.cpp │ │ ├── ARMagazineUpgradeItem.cpp │ │ ├── ARWeaponAbilityBase.cpp │ │ ├── ARWeaponBase.cpp │ │ ├── ARWeaponInventoryComponent.cpp │ │ ├── ARWeaponUpgradeItem.cpp │ │ └── ARWeaponsTypes.cpp └── Public │ ├── AI │ ├── ARAICharacter.h │ └── ARAIController.h │ ├── ARCharacter.h │ ├── ARCharacterMovementComponent.h │ ├── AREnemySpawner.h │ ├── ARGameInstance.h │ ├── ARGameMode.h │ ├── ARGameSession.h │ ├── ARGameStateBase.h │ ├── ARGlobals.h │ ├── ARItemBase.h │ ├── ARItemPickupBase.h │ ├── ARItemSpawnerBase.h │ ├── ARMenuPlayerController.h │ ├── ARPlayerController.h │ ├── ARPlayerStateBase.h │ ├── Abilities │ ├── ARAbilityBase.h │ ├── ARAbilityUIData.h │ └── ARAvailableAbilities.h │ ├── ActionRPGGame.h │ ├── Attributes │ ├── ARAbilityAttributes.h │ ├── ARCharacterAttributes.h │ ├── ARGunAttributes.h │ └── ARHealthExtension.h │ ├── Calculations │ └── ARAmmoReloadCalculation.h │ ├── Equipment │ └── ARCharacterEquipmentComponent.h │ ├── Menu │ ├── ARMainMenuView.h │ ├── ARMenuGameMode.h │ ├── ARMenuHUD.h │ └── ARRegisterView.h │ ├── UI │ ├── ARHUD.h │ ├── ARHUDWidget.h │ ├── ARUIComponent.h │ ├── ARUMGWidgetBase.h │ ├── HUD │ │ ├── ARHUDCrosshair.h │ │ ├── ARHUDCrosshairInfo.h │ │ ├── ARHUDEnemyHealthBar.h │ │ ├── ARHUDFloatingCombatText.h │ │ └── ARHUDPlayerInfo.h │ ├── Inventory │ │ ├── ARInventoryScreenWidget.h │ │ ├── ARItemTooltipView.h │ │ ├── ARItemView.h │ │ ├── ARListItemView.h │ │ ├── ARUIInventoryComponent.h │ │ └── Weapons │ │ │ ├── ARItemWeaponWidget.h │ │ │ ├── ARListItemWeaponWidget.h │ │ │ ├── ARWeaponContainerWidget.h │ │ │ ├── ARWeaponModificationView.h │ │ │ └── Modifications │ │ │ ├── ARItemMagazineView.h │ │ │ ├── ARItemWeaponUpgradeView.h │ │ │ └── ARListItemMagazineView.h │ ├── Menu │ │ └── ARLoginScreenView.h │ ├── SARCrosshairBase.h │ └── SARDrawTestWidget.h │ └── Weapons │ ├── ARItemWeapon.h │ ├── ARMagazineUpgradeEffect.h │ ├── ARMagazineUpgradeItem.h │ ├── ARWeaponAbilityBase.h │ ├── ARWeaponBase.h │ ├── ARWeaponInventoryComponent.h │ ├── ARWeaponUpgradeItem.h │ └── ARWeaponsTypes.h ├── ActionRPGGameClient.Target.cs ├── ActionRPGGameEditor.Target.cs ├── ActionRPGGameEditor ├── ActionRPGGameEditor.Build.cs ├── ActionRPGGameEditor.cpp └── ActionRPGGameEditor.h └── ActionRPGGameServer.Target.cs /Agones/Agones.uplugin: -------------------------------------------------------------------------------- 1 | { 2 | "FileVersion" : 3, 3 | 4 | "FriendlyName" : "Agones Plugin", 5 | "Version" : 1, 6 | "VersionName" : "1.0", 7 | "CreatedBy" : "Epic Games, Inc.", 8 | "CreatedByURL" : "http://epicgames.com", 9 | "Description" : "Integration with Kuberenetes Agones.", 10 | "Category" : "Dedicated Server", 11 | "EnabledByDefault" : false, 12 | 13 | "Modules": [ 14 | { 15 | "Name": "Agones", 16 | "Type": "Runtime" 17 | } 18 | ] 19 | "Plugins": [ 20 | { 21 | "Name": "GRPC", 22 | "Enabled": true 23 | } 24 | ] 25 | } 26 | -------------------------------------------------------------------------------- /Agones/Resources/Icon128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iniside/ActionRPGGame/71eafc21f86b7b542e4b2583cb1535d63e85ddd0/Agones/Resources/Icon128.png -------------------------------------------------------------------------------- /Agones/Source/Agones/Public/IAgones.h: -------------------------------------------------------------------------------- 1 | // Copyright 1998-2015 Epic Games, Inc. All Rights Reserved. 2 | 3 | #pragma once 4 | 5 | #include "ModuleManager.h" 6 | 7 | 8 | /** 9 | * The public interface to this module. In most cases, this interface is only public to sibling modules 10 | * within this plugin. 11 | */ 12 | class IAgones : public IModuleInterface 13 | { 14 | 15 | public: 16 | 17 | /** 18 | * Singleton-like access to this module's interface. This is just for convenience! 19 | * Beware of calling this during the shutdown phase, though. Your module might have been unloaded already. 20 | * 21 | * @return Returns singleton instance, loading the module on demand if needed 22 | */ 23 | static inline IAgones& Get() 24 | { 25 | return FModuleManager::LoadModuleChecked< IAgones >( "Agones" ); 26 | } 27 | 28 | /** 29 | * Checks to see if this module is loaded and ready. It is only valid to call Get() if IsAvailable() returns true. 30 | * 31 | * @return True if the module is loaded and ready to use 32 | */ 33 | static inline bool IsAvailable() 34 | { 35 | return FModuleManager::Get().IsModuleLoaded( "Agones" ); 36 | } 37 | }; 38 | 39 | -------------------------------------------------------------------------------- /Config/DefaultEditor.ini: -------------------------------------------------------------------------------- 1 | [EditoronlyBP] 2 | bAllowClassAndBlueprintPinMatching=true 3 | bReplaceBlueprintWithClass= true 4 | bDontLoadBlueprintOutsideEditor= true 5 | bBlueprintIsNotBlueprintType= true 6 | 7 | [/Script/UnrealEd.EditorProjectAppearanceSettings] 8 | bDisplayUnitsOnComponentTransforms=True 9 | 10 | 11 | -------------------------------------------------------------------------------- /Content/Blueprints/Test_CameraManager.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iniside/ActionRPGGame/71eafc21f86b7b542e4b2583cb1535d63e85ddd0/Content/Blueprints/Test_CameraManager.uasset -------------------------------------------------------------------------------- /Plugins/AbilityFramework/AbilityFramework.uplugin: -------------------------------------------------------------------------------- 1 | { 2 | "FileVersion": 3, 3 | "Version": 1, 4 | "VersionName": "1.0", 5 | "FriendlyName": "AbilityFramework", 6 | "Description": "", 7 | "Category": "Gameplay", 8 | "CreatedBy": "", 9 | "CreatedByURL": "", 10 | "DocsURL": "", 11 | "MarketplaceURL": "", 12 | "SupportURL": "", 13 | "CanContainContent": true, 14 | "IsBetaVersion": true, 15 | "Installed": true, 16 | "Modules": [ 17 | { 18 | "Name": "AbilityFramework", 19 | "Type": "Runtime", 20 | "LoadingPhase": "Default" 21 | }, 22 | { 23 | "Name": "AbilityFrameworkEditor", 24 | "Type": "Editor", 25 | "LoadingPhase": "PostEngineInit" 26 | } 27 | ], 28 | "Plugins": [ 29 | { 30 | "Name": "ActorSequence", 31 | "Enabled": true 32 | } 33 | ] 34 | } -------------------------------------------------------------------------------- /Plugins/AbilityFramework/Source/AbilityFramework/Private/AFAbilityInterface.cpp: -------------------------------------------------------------------------------- 1 | // Copyright 1998-2014 Epic Games, Inc. All Rights Reserved. 2 | 3 | #include "AbilityFramework.h" 4 | #include "AFAbilityInterface.h" 5 | #include "AFAbilityComponent.h" 6 | #include "AFEffectsComponent.h" 7 | #include "AFAttributeComponent.h" 8 | UAFAbilityInterface::UAFAbilityInterface(const FObjectInitializer& ObjectInitializer) 9 | : Super(ObjectInitializer) 10 | { 11 | } 12 | 13 | //class UGAAttributesBase* IAFAbilityInterface::GetAttributes() 14 | //{ 15 | // return nullptr;// GetAbilityComp()->DefaultAttributes; 16 | //} 17 | 18 | FGAEffectHandle IAFAbilityInterface::ApplyEffectToTarget( 19 | const FGAEffect& EffectIn 20 | , const FAFEffectParams& Params 21 | , const FAFFunctionModifier& Modifier) 22 | { 23 | return GetEffectsComponent()->ApplyEffectToTarget(EffectIn, Params, Modifier); 24 | } -------------------------------------------------------------------------------- /Plugins/AbilityFramework/Source/AbilityFramework/Private/AFAttributeComponent.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #include "AbilityFramework.h" 4 | #include "AFAttributeComponent.h" 5 | 6 | 7 | // Sets default values for this component's properties 8 | UAFAttributeComponent::UAFAttributeComponent() 9 | { 10 | // Set this component to be initialized when the game starts, and to be ticked every frame. You can turn these features 11 | // off to improve performance if you don't need them. 12 | PrimaryComponentTick.bCanEverTick = true; 13 | 14 | // ... 15 | } 16 | 17 | 18 | // Called when the game starts 19 | void UAFAttributeComponent::BeginPlay() 20 | { 21 | Super::BeginPlay(); 22 | 23 | // ... 24 | 25 | } 26 | 27 | 28 | // Called every frame 29 | void UAFAttributeComponent::TickComponent(float DeltaTime, ELevelTick TickType, FActorComponentTickFunction* ThisTickFunction) 30 | { 31 | Super::TickComponent(DeltaTime, TickType, ThisTickFunction); 32 | 33 | // ... 34 | } 35 | 36 | -------------------------------------------------------------------------------- /Plugins/AbilityFramework/Source/AbilityFramework/Private/AFAttributeInterface.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #include "AbilityFramework.h" 4 | #include "AFAttributeInterface.h" 5 | 6 | 7 | // Add default functionality here for any IAFAttributeInterface functions that are not pure virtual. 8 | -------------------------------------------------------------------------------- /Plugins/AbilityFramework/Source/AbilityFramework/Private/AFCueInterface.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #include "AbilityFramework.h" 4 | #include "AFCueInterface.h" 5 | 6 | 7 | // Add default functionality here for any IAFCueInterface functions that are not pure virtual. 8 | -------------------------------------------------------------------------------- /Plugins/AbilityFramework/Source/AbilityFramework/Private/AFSimpleInterface.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #include "AbilityFramework.h" 4 | #include "AFSimpleInterface.h" 5 | 6 | 7 | // Add default functionality here for any IAFSimpleInterface functions that are not pure virtual. 8 | -------------------------------------------------------------------------------- /Plugins/AbilityFramework/Source/AbilityFramework/Private/Abilities/AFAbilityActivationSpec.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #include "AbilityFramework.h" 4 | #include "../Effects/CustomApplications/AFAtributeDurationAdd.h" 5 | #include "AFAbilityActivationSpec.h" 6 | 7 | 8 | 9 | UAFAbilityActivationSpec::UAFAbilityActivationSpec() 10 | :Super() 11 | { 12 | Application = UAFAtributeDurationAdd::StaticClass(); 13 | } -------------------------------------------------------------------------------- /Plugins/AbilityFramework/Source/AbilityFramework/Private/Abilities/AFAbilityCooldownSpec.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #include "AbilityFramework.h" 4 | #include "Effects/CustomApplications/AFAtributeDurationAdd.h" 5 | #include "AFAbilityCooldownSpec.h" 6 | 7 | 8 | 9 | 10 | UAFAbilityCooldownSpec::UAFAbilityCooldownSpec() 11 | : Super() 12 | { 13 | Application = UAFAtributeDurationAdd::StaticClass(); 14 | } -------------------------------------------------------------------------------- /Plugins/AbilityFramework/Source/AbilityFramework/Private/Abilities/AFAbilityInfiniteDurationSpec.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #include "AbilityFramework.h" 4 | #include "Effects/CustomApplications/AFAttributeDurationInfinite.h" 5 | #include "AFAbilityInfiniteDurationSpec.h" 6 | 7 | 8 | 9 | UAFAbilityInfiniteDurationSpec::UAFAbilityInfiniteDurationSpec() 10 | :Super() 11 | { 12 | Application = UAFAttributeDurationInfinite::StaticClass(); 13 | } 14 | -------------------------------------------------------------------------------- /Plugins/AbilityFramework/Source/AbilityFramework/Private/Abilities/AFAbilityPeriodSpec.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #include "AbilityFramework.h" 4 | #include "AFAbilityPeriodSpec.h" 5 | #include "../Effects/CustomApplications/AFPeriodApplicationAdd.h" 6 | 7 | 8 | 9 | UAFAbilityPeriodSpec::UAFAbilityPeriodSpec() 10 | :Super() 11 | { 12 | Application = UAFPeriodApplicationAdd::StaticClass(); 13 | } -------------------------------------------------------------------------------- /Plugins/AbilityFramework/Source/AbilityFramework/Private/Abilities/AFAbilityPeriodicInfiniteSpec.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #include "AbilityFramework.h" 4 | #include "Effects/CustomApplications/AFPeriodApplicationInfiniteAdd.h" 5 | #include "AFAbilityPeriodicInfiniteSpec.h" 6 | 7 | 8 | 9 | 10 | UAFAbilityPeriodicInfiniteSpec::UAFAbilityPeriodicInfiniteSpec() 11 | :Super() 12 | { 13 | Application = UAFPeriodApplicationInfiniteAdd::StaticClass(); 14 | } 15 | -------------------------------------------------------------------------------- /Plugins/AbilityFramework/Source/AbilityFramework/Private/Abilities/Tasks/AFAbilityTask_SpawnProjectile.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #include "AbilityFramework.h" 4 | #include "AFAbilityTask_SpawnProjectile.h" 5 | 6 | 7 | 8 | 9 | UAFAbilityTask_SpawnProjectile* UAFAbilityTask_SpawnProjectile::Ability_SpawnProjectile(UGAAbilityBase* WorldContextObject, 10 | FName InTaskName, 11 | FVector InStartLocation, 12 | FVector InEndLocation, 13 | float InLaunchSpeed, 14 | float InOverrideGravityZ, 15 | EAFPRojectileSpawnTraceOption InTraceOption, 16 | float InCollisionRadius, 17 | bool InbFavorHighArc, 18 | bool InbDrawDebug) 19 | { 20 | auto MyObj = NewAbilityTask(WorldContextObject, InTaskName); 21 | MyObj->StartLocation = InStartLocation; 22 | MyObj->EndLocation = InEndLocation; 23 | MyObj->LaunchSpeed = InLaunchSpeed; 24 | MyObj->OverrideGravityZ = InOverrideGravityZ; 25 | MyObj->TraceOption = InTraceOption; 26 | MyObj->CollisionRadius = InCollisionRadius; 27 | MyObj->bFavorHighArc = InbFavorHighArc; 28 | MyObj->bDrawDebug = InbDrawDebug; 29 | return MyObj; 30 | } -------------------------------------------------------------------------------- /Plugins/AbilityFramework/Source/AbilityFramework/Private/Abilities/Tasks/GAAbilityTask.cpp: -------------------------------------------------------------------------------- 1 | // Copyright 1998-2014 Epic Games, Inc. All Rights Reserved. 2 | 3 | #include "../../AbilityFramework.h" 4 | #include "../GAAbilityBase.h" 5 | #include "GAAbilityTask.h" 6 | 7 | UGAAbilityTask::UGAAbilityTask(const FObjectInitializer& ObjectInitializer) 8 | : Super(ObjectInitializer) 9 | { 10 | bIsReplicated = false; 11 | SetFlags(RF_StrongRefOnFrame); 12 | } 13 | -------------------------------------------------------------------------------- /Plugins/AbilityFramework/Source/AbilityFramework/Private/Abilities/Tasks/GAAbilityTask_Repeat.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #include "../../AbilityFramework.h" 4 | #include "GAAbilityTask_Repeat.h" 5 | 6 | 7 | 8 | 9 | UGAAbilityTask_Repeat* UGAAbilityTask_Repeat::CreateRepeatTask(UGAAbilityBase* WorldContextObject, 10 | FName InTaskName) 11 | { 12 | auto MyObj = NewAbilityTask(WorldContextObject); 13 | //MyObj->CachedTargetDataHandle = TargetData; 14 | return MyObj; 15 | } 16 | -------------------------------------------------------------------------------- /Plugins/AbilityFramework/Source/AbilityFramework/Private/Abilities/Tasks/GAAbilityTask_WaitForConfirm.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #include "../../AbilityFramework.h" 4 | #include "../GAAbilityBase.h" 5 | #include "GAAbilityTask_WaitForConfirm.h" 6 | 7 | 8 | 9 | 10 | UGAAbilityTask_WaitForConfirm* UGAAbilityTask_WaitForConfirm::CreateWaitConfirmTask(UGAAbilityBase* WorldContextObject, 11 | FName InTaskName) 12 | { 13 | auto MyObj = NewAbilityTask(WorldContextObject, InTaskName); 14 | return MyObj; 15 | } 16 | void UGAAbilityTask_WaitForConfirm::Activate() 17 | { 18 | if (AbilityComponent.IsValid() && Ability.IsValid()) 19 | { 20 | GetOuterUGAAbilityBase()->OnConfirmDelegate.AddUObject(this, &UGAAbilityTask_WaitForConfirm::OnConfirm); 21 | } 22 | } 23 | void UGAAbilityTask_WaitForConfirm::Initialize() 24 | { 25 | 26 | } 27 | 28 | void UGAAbilityTask_WaitForConfirm::OnConfirm() 29 | { 30 | Ability->OnConfirmDelegate.Clear(); 31 | OnConfirmed.Broadcast(); 32 | EndTask(); 33 | } -------------------------------------------------------------------------------- /Plugins/AbilityFramework/Source/AbilityFramework/Private/AnimNotify/AFAnimNotify.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #include "AbilityFramework.h" 4 | #include "AFAbilityComponent.h" 5 | #include "AFAbilityInterface.h" 6 | #include "AFAnimNotify.h" 7 | 8 | 9 | 10 | 11 | void UAFAnimNotify::Notify(USkeletalMeshComponent* MeshComp, UAnimSequenceBase* Animation) 12 | { 13 | IAFAbilityInterface* IAbilities = Cast(MeshComp->GetOwner()); 14 | if (!IAbilities) 15 | return; 16 | 17 | UAFAbilityComponent* Comp = IAbilities->GetAbilityComp(); 18 | Comp->OnAbilityNotifyBegin.ExecuteIfBound(Tag, Name); 19 | } -------------------------------------------------------------------------------- /Plugins/AbilityFramework/Source/AbilityFramework/Private/Attributes/GAAttributeExtension.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #include "../AbilityFramework.h" 4 | #include "../AFAbilityComponent.h" 5 | #include "GAAttributeExtension.h" 6 | 7 | void UGAAttributeExtension::OnPreAttributeModify(class UAFAbilityComponent* InComp, const FGAAttribute& Attribute, float InValue) 8 | { 9 | InComp->NotifyOnPreAttributeModified(Attribute); 10 | } 11 | void UGAAttributeExtension::OnPostAttributeModify(class UAFAbilityComponent* InComp, const FGAAttribute& Attribute, float InValue) 12 | { 13 | InComp->NotifyOnPostAttributeModified(Attribute); 14 | } -------------------------------------------------------------------------------- /Plugins/AbilityFramework/Source/AbilityFramework/Private/Attributes/GAAttributeGlobals.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #include "../AbilityFramework.h" 4 | #include "GAAttributeGlobals.h" 5 | 6 | -------------------------------------------------------------------------------- /Plugins/AbilityFramework/Source/AbilityFramework/Private/Attributes/GAAttributesStats.cpp: -------------------------------------------------------------------------------- 1 | // Copyright 1998-2014 Epic Games, Inc. All Rights Reserved. 2 | 3 | #include "../AbilityFramework.h" 4 | #include "GAAttributesStats.h" 5 | -------------------------------------------------------------------------------- /Plugins/AbilityFramework/Source/AbilityFramework/Private/Cues/AFCueStaticBlueprint.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #include "AbilityFramework.h" 4 | #include "AFCueStaticBlueprint.h" 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /Plugins/AbilityFramework/Source/AbilityFramework/Private/Cues/AFCueStaticGeneratedClass.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #include "AbilityFramework.h" 4 | #include "AFCueStaticGeneratedClass.h" 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /Plugins/AbilityFramework/Source/AbilityFramework/Private/Effects/AFCueActorGeneratedClass.cpp: -------------------------------------------------------------------------------- 1 | // Copyright 1998-2017 Epic Games, Inc. All Rights Reserved. 2 | 3 | #include "AbilityFramework.h" 4 | #include "AFCueActorGeneratedClass.h" 5 | 6 | ////////////////////////////////////////////////////////////////////////// 7 | // UGameplayAbilityBlueprint 8 | 9 | UAFCueActorGeneratedClass::UAFCueActorGeneratedClass(const FObjectInitializer& ObjectInitializer) 10 | : Super(ObjectInitializer) 11 | { 12 | } 13 | 14 | -------------------------------------------------------------------------------- /Plugins/AbilityFramework/Source/AbilityFramework/Private/Effects/AFEffectApplicationRequirement.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #include "AbilityFramework.h" 4 | #include "AFEffectApplicationRequirement.h" 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /Plugins/AbilityFramework/Source/AbilityFramework/Private/Effects/AFEffectCustomApplication.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #include "AbilityFramework.h" 4 | #include "../AFAbilityComponent.h" 5 | #include "AFEffectCustomApplication.h" 6 | 7 | 8 | 9 | 10 | bool UAFEffectCustomApplication::ApplyEffect( 11 | const FGAEffectHandle& InHandle 12 | , const FGAEffect& EffectIn 13 | , struct FGAEffectContainer* InContainer 14 | , const FAFEffectParams& Params 15 | , const FAFFunctionModifier& Modifier) 16 | { 17 | return true; 18 | } 19 | 20 | void UAFEffectCustomApplication::ApplyExecute( 21 | const FGAEffectHandle& InHandle 22 | , const FAFEffectParams& Params 23 | , const FAFFunctionModifier& Modifier) 24 | { 25 | Params.GetContext().GetTargetEffectsComponent()->ExecuteEffect(InHandle, Params, Modifier); 26 | } -------------------------------------------------------------------------------- /Plugins/AbilityFramework/Source/AbilityFramework/Private/Effects/AFEffectCustomStackingRule.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #include "AbilityFramework.h" 4 | #include "AFEffectCustomStackingRule.h" 5 | 6 | 7 | 8 | 9 | bool UAFEffectCustomStackingRule::CanStack(class UAFAbilityComponent* InComp, struct FGAEffectContainer* InContainer, 10 | const FGAEffectHandle& InHandle) 11 | { 12 | //InHandle.GetContext().TargetComp->ExecuteEffect(InHandle); 13 | return true; 14 | } -------------------------------------------------------------------------------- /Plugins/AbilityFramework/Source/AbilityFramework/Private/Effects/ApplicationRequirement/AFEffectAlreadyApplied.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #include "AbilityFramework.h" 4 | #include "AFEffectAlreadyApplied.h" 5 | 6 | 7 | 8 | 9 | bool UAFEffectAlreadyApplied::CanApply( 10 | const FGAEffect& EffectIn 11 | , const FAFEffectParams& Params 12 | , const FGAEffectHandle& InHandle 13 | , struct FGAEffectContainer* InContainer) 14 | { 15 | if (InContainer->ContainsEffectOfClass(Params.Property)) 16 | { 17 | return false; 18 | } 19 | return true; 20 | } -------------------------------------------------------------------------------- /Plugins/AbilityFramework/Source/AbilityFramework/Private/Effects/CustomApplications/AFAtributeDurationAdd.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #include "AbilityFramework.h" 4 | #include "../GAGameEffect.h" 5 | #include "AFEffectsComponent.h" 6 | #include "AFAtributeDurationAdd.h" 7 | 8 | 9 | 10 | 11 | bool UAFAtributeDurationAdd::ApplyEffect( 12 | const FGAEffectHandle& InHandle 13 | , const FGAEffect& EffectIn 14 | , struct FGAEffectContainer* InContainer 15 | , const FAFEffectParams& Params 16 | , const FAFFunctionModifier& Modifier) 17 | { 18 | FTimerManager& DurationTimer = const_cast(Params).GetTargetTimerManager(); 19 | 20 | FTimerDelegate delDuration = FTimerDelegate::CreateUObject(Params.GetTargetEffectsComponent(), &UAFEffectsComponent::ExpireEffect, InHandle, Params); 21 | DurationTimer.SetTimer(const_cast(EffectIn).DurationTimerHandle, delDuration, 22 | Params.GetProperty().GetDuration(), false); 23 | 24 | return true; 25 | } -------------------------------------------------------------------------------- /Plugins/AbilityFramework/Source/AbilityFramework/Private/Effects/CustomApplications/AFAttributeDurationInfinite.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #include "AbilityFramework.h" 4 | #include "AFAttributeDurationInfinite.h" 5 | 6 | 7 | 8 | 9 | bool UAFAttributeDurationInfinite::ApplyEffect( 10 | const FGAEffectHandle& InHandle 11 | , const FGAEffect& EffectIn 12 | , struct FGAEffectContainer* InContainer 13 | , const FAFEffectParams& Params 14 | , const FAFFunctionModifier& Modifier) 15 | { 16 | return true; 17 | } -------------------------------------------------------------------------------- /Plugins/AbilityFramework/Source/AbilityFramework/Private/Effects/CustomApplications/AFAttributeDurationOverride.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #include "AbilityFramework.h" 4 | #include "../GAGameEffect.h" 5 | #include "AFEffectsComponent.h" 6 | #include "AFAttributeDurationOverride.h" 7 | 8 | 9 | 10 | 11 | bool UAFAttributeDurationOverride::ApplyEffect( 12 | const FGAEffectHandle& InHandle 13 | , const FGAEffect& EffectIn 14 | , struct FGAEffectContainer* InContainer 15 | , const FAFEffectParams& Params 16 | , const FAFFunctionModifier& Modifier) 17 | { 18 | InContainer->RemoveEffect(Params.Property, Params.GetContext()); 19 | 20 | FTimerManager& DurationTimer = const_cast(Params).GetTargetTimerManager(); 21 | 22 | FTimerDelegate delDuration = FTimerDelegate::CreateUObject(Params.GetTargetEffectsComponent(), &UAFEffectsComponent::ExpireEffect, InHandle, Params); 23 | DurationTimer.SetTimer(const_cast(EffectIn).DurationTimerHandle, delDuration, 24 | Params.GetProperty().GetDuration(), false); 25 | 26 | return true; 27 | } -------------------------------------------------------------------------------- /Plugins/AbilityFramework/Source/AbilityFramework/Private/Effects/CustomApplications/AFPeriodApplicationInfiniteAdd.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #include "AbilityFramework.h" 4 | #include "../GAGameEffect.h" 5 | #include "AFEffectsComponent.h" 6 | #include "AFPeriodApplicationInfiniteAdd.h" 7 | 8 | 9 | bool UAFPeriodApplicationInfiniteAdd::ApplyEffect( 10 | const FGAEffectHandle& InHandle 11 | , const FGAEffect& EffectIn 12 | , struct FGAEffectContainer* InContainer 13 | , const FAFEffectParams& Params 14 | , const FAFFunctionModifier& Modifier) 15 | { 16 | FTimerManager& PeriodTimer = const_cast(Params).GetTargetTimerManager(); 17 | 18 | FTimerDelegate PeriodDuration = FTimerDelegate::CreateUObject(Params.GetTargetEffectsComponent(), &UAFEffectsComponent::ExecuteEffect, InHandle, Params, Modifier); 19 | PeriodTimer.SetTimer(const_cast(EffectIn).PeriodTimerHandle, PeriodDuration, 20 | Params.GetProperty().GetPeriod(), true); 21 | 22 | return true; 23 | } 24 | 25 | -------------------------------------------------------------------------------- /Plugins/AbilityFramework/Source/AbilityFramework/Private/Effects/CustomApplications/AFPeriodicApplInfiniteOverride.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #include "AbilityFramework.h" 4 | #include "AFPeriodicApplInfiniteOverride.h" 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /Plugins/AbilityFramework/Source/AbilityFramework/Private/Effects/EffectTasks/AFEffectTask.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #include "../../AbilityFramework.h" 4 | #include "AFEffectTask.h" 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /Plugins/AbilityFramework/Source/AbilityFramework/Private/Effects/GACustomCalculation.cpp: -------------------------------------------------------------------------------- 1 | // Copyright 1998-2014 Epic Games, Inc. All Rights Reserved. 2 | 3 | #include "../AbilityFramework.h" 4 | #include "../GAGlobalTypes.h" 5 | #include "GACustomCalculation.h" 6 | 7 | UGACustomCalculation::UGACustomCalculation(const FObjectInitializer& ObjectInitializer) 8 | : Super(ObjectInitializer) 9 | { 10 | 11 | } 12 | -------------------------------------------------------------------------------- /Plugins/AbilityFramework/Source/AbilityFramework/Private/GAHelperTemplates.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #include "AbilityFramework.h" 4 | #include "GAHelperTemplates.h" 5 | 6 | -------------------------------------------------------------------------------- /Plugins/AbilityFramework/Source/AbilityFramework/Private/GAPhysicalMaterial.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #include "AbilityFramework.h" 4 | #include "GAPhysicalMaterial.h" 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /Plugins/AbilityFramework/Source/AbilityFramework/Private/GAUIData.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #include "AbilityFramework.h" 4 | #include "GAUIData.h" 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /Plugins/AbilityFramework/Source/AbilityFramework/Private/LatentActions/AFLatentInterface.cpp: -------------------------------------------------------------------------------- 1 | // Copyright 1998-2014 Epic Games, Inc. All Rights Reserved. 2 | 3 | #include "AbilityFramework.h" 4 | #include "AFLatentInterface.h" 5 | UAFLatentInterface::UAFLatentInterface(const FObjectInitializer& ObjectInitializer) 6 | : Super(ObjectInitializer) 7 | { 8 | } 9 | -------------------------------------------------------------------------------- /Plugins/AbilityFramework/Source/AbilityFramework/Private/LatentActions/AFTaskManager.cpp: -------------------------------------------------------------------------------- 1 | // Copyright 1998-2014 Epic Games, Inc. All Rights Reserved. 2 | 3 | #include "AbilityFramework.h" 4 | #include "AFTaskManager.h" 5 | 6 | UAFTaskManager* UAFTaskManager::Instance = nullptr; 7 | 8 | UAFTaskManager::UAFTaskManager(const FObjectInitializer& ObjectInitializer) 9 | : Super(ObjectInitializer) 10 | { 11 | } 12 | 13 | UAFTaskManager* UAFTaskManager::Get() 14 | { 15 | if (Instance) 16 | { 17 | return Instance; 18 | } 19 | else 20 | { 21 | Instance = NewObject(); 22 | Instance->AddToRoot(); 23 | return Instance; 24 | } 25 | } -------------------------------------------------------------------------------- /Plugins/AbilityFramework/Source/AbilityFramework/Private/Mods/GAAttributeMod.cpp: -------------------------------------------------------------------------------- 1 | // Copyright 1998-2014 Epic Games, Inc. All Rights Reserved. 2 | 3 | #include "AbilityFramework.h" 4 | #include "GAGlobalTypes.h" 5 | #include "GAAttributeMod.h" 6 | 7 | UGAAttributeMod::UGAAttributeMod(const FObjectInitializer& ObjectInitializer) 8 | : Super(ObjectInitializer) 9 | { 10 | 11 | } -------------------------------------------------------------------------------- /Plugins/AbilityFramework/Source/AbilityFramework/Public/AFAttributeComponent.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "Components/ActorComponent.h" 7 | #include "AFAttributeComponent.generated.h" 8 | 9 | 10 | UCLASS( ClassGroup=(Custom), meta=(BlueprintSpawnableComponent) ) 11 | class ABILITYFRAMEWORK_API UAFAttributeComponent : public UActorComponent 12 | { 13 | GENERATED_BODY() 14 | 15 | public: 16 | // Sets default values for this component's properties 17 | UAFAttributeComponent(); 18 | 19 | protected: 20 | // Called when the game starts 21 | virtual void BeginPlay() override; 22 | 23 | public: 24 | // Called every frame 25 | virtual void TickComponent(float DeltaTime, ELevelTick TickType, FActorComponentTickFunction* ThisTickFunction) override; 26 | 27 | 28 | 29 | }; 30 | -------------------------------------------------------------------------------- /Plugins/AbilityFramework/Source/AbilityFramework/Public/AFAttributeInterface.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "UObject/Interface.h" 7 | #include "AFAttributeInterface.generated.h" 8 | 9 | // This class does not need to be modified. 10 | UINTERFACE(MinimalAPI) 11 | class UAFAttributeInterface : public UInterface 12 | { 13 | GENERATED_BODY() 14 | }; 15 | 16 | /** 17 | * 18 | */ 19 | class ABILITYFRAMEWORK_API IAFAttributeInterface 20 | { 21 | GENERATED_BODY() 22 | 23 | // Add interface functions to this class. This is the class that will be inherited to implement this interface. 24 | public: 25 | 26 | virtual void ModifyAttribute(const FGAEffectMod& InAttributeMod 27 | , const FGAEffectHandle& InHandle) = 0; 28 | 29 | }; 30 | -------------------------------------------------------------------------------- /Plugins/AbilityFramework/Source/AbilityFramework/Public/AFBlueprintFunctionLibrary.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "GameplayTags.h" 3 | #include "GameplayTagContainer.h" 4 | #include "AFBlueprintFunctionLibrary.generated.h" 5 | /* 6 | Some static helper functions, to interact with Attribute system. 7 | */ 8 | UCLASS() 9 | class ABILITYFRAMEWORK_API UAFBlueprintFunctionLibrary : public UBlueprintFunctionLibrary 10 | { 11 | GENERATED_BODY() 12 | public: 13 | UFUNCTION(BlueprintCallable, Category = "AbilityFramework|Abilities") 14 | static void TriggerAbilityPressedByTag(UObject* Target, const FGameplayTag& AbilityTag, FGameplayTag ActionTag); 15 | UFUNCTION(BlueprintCallable, Category = "AbilityFramework|Abilities") 16 | static void TriggerAbilityReleasedByTag(UObject* Target, const FGameplayTag& AbilityTag, FGameplayTag ActionTag); 17 | }; 18 | -------------------------------------------------------------------------------- /Plugins/AbilityFramework/Source/AbilityFramework/Public/AFCueInterface.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "AFCueInterface.generated.h" 7 | 8 | // This class does not need to be modified. 9 | UINTERFACE(MinimalAPI) 10 | class UAFCueInterface : public UInterface 11 | { 12 | GENERATED_BODY() 13 | }; 14 | 15 | /** 16 | * 17 | */ 18 | class ABILITYFRAMEWORK_API IAFCueInterface 19 | { 20 | GENERATED_BODY() 21 | 22 | // Add interface functions to this class. This is the class that will be inherited to implement this interface. 23 | public: 24 | 25 | 26 | }; 27 | -------------------------------------------------------------------------------- /Plugins/AbilityFramework/Source/AbilityFramework/Public/AFSimpleInterface.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "UObject/Interface.h" 7 | #include "AFSimpleInterface.generated.h" 8 | 9 | // This class does not need to be modified. 10 | UINTERFACE(MinimalAPI) 11 | class UAFSimpleInterface : public UInterface 12 | { 13 | GENERATED_BODY() 14 | }; 15 | 16 | /** 17 | * 18 | */ 19 | class ABILITYFRAMEWORK_API IAFSimpleInterface 20 | { 21 | GENERATED_BODY() 22 | 23 | // Add interface functions to this class. This is the class that will be inherited to implement this interface. 24 | public: 25 | 26 | virtual void ApplyEffect(const FGAEffectHandle& InHandle 27 | , const FGAEffect& InEffect) = 0; 28 | }; 29 | -------------------------------------------------------------------------------- /Plugins/AbilityFramework/Source/AbilityFramework/Public/Abilities/AFAbilityActivationSpec.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "Effects/GAGameEffect.h" 7 | #include "AFAbilityActivationSpec.generated.h" 8 | 9 | /** 10 | * 11 | */ 12 | UCLASS(Blueprintable, BlueprintType, Abstract) 13 | class ABILITYFRAMEWORK_API UAFAbilityActivationSpec : public UGAGameEffectSpec 14 | { 15 | GENERATED_BODY() 16 | 17 | public: 18 | UAFAbilityActivationSpec(); 19 | 20 | 21 | }; 22 | -------------------------------------------------------------------------------- /Plugins/AbilityFramework/Source/AbilityFramework/Public/Abilities/AFAbilityCooldownSpec.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "Effects/GAGameEffect.h" 7 | #include "AFAbilityCooldownSpec.generated.h" 8 | 9 | /** 10 | * 11 | */ 12 | UCLASS(Blueprintable, BlueprintType, Abstract) 13 | class ABILITYFRAMEWORK_API UAFAbilityCooldownSpec : public UGAGameEffectSpec 14 | { 15 | GENERATED_BODY() 16 | public: 17 | UAFAbilityCooldownSpec(); 18 | 19 | 20 | }; 21 | -------------------------------------------------------------------------------- /Plugins/AbilityFramework/Source/AbilityFramework/Public/Abilities/AFAbilityInfiniteDurationSpec.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "Effects/GAGameEffect.h" 7 | #include "AFAbilityInfiniteDurationSpec.generated.h" 8 | 9 | /** 10 | * 11 | */ 12 | UCLASS(Blueprintable, BlueprintType, Abstract) 13 | class ABILITYFRAMEWORK_API UAFAbilityInfiniteDurationSpec : public UGAGameEffectSpec 14 | { 15 | GENERATED_BODY() 16 | public: 17 | UAFAbilityInfiniteDurationSpec(); 18 | 19 | 20 | 21 | }; 22 | -------------------------------------------------------------------------------- /Plugins/AbilityFramework/Source/AbilityFramework/Public/Abilities/AFAbilityPeriodSpec.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "Effects/GAGameEffect.h" 7 | #include "AFAbilityPeriodSpec.generated.h" 8 | 9 | /** 10 | * 11 | */ 12 | UCLASS(Blueprintable, BlueprintType, Abstract) 13 | class ABILITYFRAMEWORK_API UAFAbilityPeriodSpec : public UGAGameEffectSpec 14 | { 15 | GENERATED_BODY() 16 | public: 17 | UAFAbilityPeriodSpec(); 18 | 19 | 20 | }; 21 | -------------------------------------------------------------------------------- /Plugins/AbilityFramework/Source/AbilityFramework/Public/Abilities/AFAbilityPeriodicInfiniteSpec.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "Effects/GAGameEffect.h" 7 | #include "AFAbilityPeriodicInfiniteSpec.generated.h" 8 | 9 | /** 10 | * 11 | */ 12 | UCLASS(Blueprintable, BlueprintType, Abstract) 13 | class ABILITYFRAMEWORK_API UAFAbilityPeriodicInfiniteSpec : public UGAGameEffectSpec 14 | { 15 | GENERATED_BODY() 16 | public: 17 | UAFAbilityPeriodicInfiniteSpec(); 18 | }; 19 | -------------------------------------------------------------------------------- /Plugins/AbilityFramework/Source/AbilityFramework/Public/Abilities/GAAbilityBlueprint.h: -------------------------------------------------------------------------------- 1 | // Copyright 1998-2017 Epic Games, Inc. All Rights Reserved. 2 | 3 | #pragma once 4 | #include "CoreMinimal.h" 5 | #include "UObject/ObjectMacros.h" 6 | #include "Engine/Blueprint.h" 7 | #include "GAAbilityBlueprint.generated.h" 8 | 9 | /** 10 | * Game Ability Blueprint 11 | */ 12 | 13 | UCLASS(BlueprintType) 14 | class ABILITYFRAMEWORK_API UGAAbilityBlueprint : public UBlueprint 15 | { 16 | GENERATED_UCLASS_BODY() 17 | 18 | #if WITH_EDITOR 19 | 20 | // UBlueprint interface 21 | virtual bool SupportedByDefaultBlueprintFactory() const override 22 | { 23 | return false; 24 | } 25 | // End of UBlueprint interface 26 | 27 | /** Returns the most base gameplay ability blueprint for a given blueprint (if it is inherited from another ability blueprint, returning null if only native / non-ability BP classes are it's parent) */ 28 | static UGAAbilityBlueprint* FindRootGameplayAbilityBlueprint(UGAAbilityBlueprint* DerivedBlueprint); 29 | 30 | #endif 31 | }; 32 | -------------------------------------------------------------------------------- /Plugins/AbilityFramework/Source/AbilityFramework/Public/Abilities/Tasks/GAAbilityTask_Repeat.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "GAAbilityTask.h" 6 | #include "GAAbilityTask_Repeat.generated.h" 7 | 8 | DECLARE_DYNAMIC_MULTICAST_DELEGATE(FGASOnTaskRepeated); 9 | 10 | /** 11 | * 12 | */ 13 | UCLASS() 14 | class ABILITYFRAMEWORK_API UGAAbilityTask_Repeat : public UGAAbilityTask 15 | { 16 | GENERATED_BODY() 17 | 18 | UPROPERTY(BlueprintAssignable) 19 | FGASOnTaskRepeated OnTaskRepeated; 20 | 21 | UFUNCTION(BlueprintCallable, meta = (HidePin = "WorldContextObject", DefaultToSelf = "WorldContextObject", BlueprintInternalUseOnly = "true"), Category = "AbilityFramework|Abilities|Tasks") 22 | static UGAAbilityTask_Repeat* CreateRepeatTask(UGAAbilityBase* WorldContextObject, 23 | FName InTaskName); 24 | }; 25 | -------------------------------------------------------------------------------- /Plugins/AbilityFramework/Source/AbilityFramework/Public/Abilities/Tasks/GAAbilityTask_WaitForConfirm.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "GAAbilityTask.h" 6 | #include "GAAbilityTask_WaitForConfirm.generated.h" 7 | 8 | DECLARE_DYNAMIC_MULTICAST_DELEGATE(FGASOnConfirmed); 9 | 10 | /** 11 | * 12 | */ 13 | UCLASS() 14 | class ABILITYFRAMEWORK_API UGAAbilityTask_WaitForConfirm : public UGAAbilityTask 15 | { 16 | GENERATED_BODY() 17 | public: 18 | UPROPERTY(BlueprintAssignable) 19 | FGASOnConfirmed OnConfirmed; 20 | 21 | UFUNCTION(BlueprintCallable, meta = (HidePin = "WorldContextObject", DefaultToSelf = "WorldContextObject", BlueprintInternalUseOnly = "true"), Category = "AbilityFramework|Abilities|Tasks") 22 | static UGAAbilityTask_WaitForConfirm* CreateWaitConfirmTask(UGAAbilityBase* WorldContextObject, 23 | FName InTaskName); 24 | 25 | virtual void Activate() override; 26 | virtual void Initialize() override; 27 | 28 | UFUNCTION() 29 | void OnConfirm(); 30 | }; 31 | -------------------------------------------------------------------------------- /Plugins/AbilityFramework/Source/AbilityFramework/Public/Abilities/Tasks/GAAbilityTask_WaitTargetData.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "GAAbilityTask.h" 6 | #include "GAAbilityTask_WaitTargetData.generated.h" 7 | DECLARE_DYNAMIC_MULTICAST_DELEGATE(FGASOnTargetingTaskConfimred); 8 | 9 | /** 10 | * 11 | */ 12 | UCLASS(meta = (ExposedAsyncProxy)) 13 | class ABILITYFRAMEWORK_API UGAAbilityTask_WaitTargetData : public UGAAbilityTask 14 | { 15 | GENERATED_BODY() 16 | public: 17 | UPROPERTY(BlueprintAssignable) 18 | FGASOnTargetingTaskConfimred OnConfirmed; 19 | 20 | UPROPERTY() 21 | float Range; 22 | ETraceTypeQuery TraceChannel; 23 | 24 | virtual void Activate() override; 25 | 26 | virtual void TickTask(float DeltaSeconds, ELevelTick TickType, FGALatentFunctionTick& ThisTickFunction) override; 27 | 28 | 29 | UFUNCTION() 30 | void OnConfirm(); 31 | 32 | public: 33 | UGAAbilityTask_WaitTargetData(const FObjectInitializer& ObjectInitializer); 34 | }; 35 | -------------------------------------------------------------------------------- /Plugins/AbilityFramework/Source/AbilityFramework/Public/AnimNotify/AFAbilityNotifyState.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "Animation/AnimNotifies/AnimNotifyState.h" 6 | #include "GameplayTags.h" 7 | #include "AFAbilityNotifyState.generated.h" 8 | 9 | /** 10 | * 11 | */ 12 | UCLASS(meta = (DisplayName = "Ability Notify State")) 13 | class ABILITYFRAMEWORK_API UAFAbilityNotifyState : public UAnimNotifyState 14 | { 15 | GENERATED_BODY() 16 | protected: 17 | UPROPERTY(EditAnywhere) 18 | FGameplayTag Tag; 19 | UPROPERTY(EditAnywhere) 20 | FName Name; 21 | UPROPERTY() 22 | class UAFAbilityComponent* CachedAbilitiesComp; 23 | public: 24 | virtual void NotifyBegin(class USkeletalMeshComponent * MeshComp, class UAnimSequenceBase * Animation, float TotalDuration) override; 25 | virtual void NotifyTick(class USkeletalMeshComponent * MeshComp, class UAnimSequenceBase * Animation, float FrameDeltaTime) override; 26 | virtual void NotifyEnd(class USkeletalMeshComponent * MeshComp, class UAnimSequenceBase * Animation) override; 27 | 28 | }; 29 | -------------------------------------------------------------------------------- /Plugins/AbilityFramework/Source/AbilityFramework/Public/AnimNotify/AFAnimNotify.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "Animation/AnimNotifies/AnimNotify.h" 6 | #include "GameplayTags.h" 7 | #include "AFAnimNotify.generated.h" 8 | 9 | /** 10 | * 11 | */ 12 | UCLASS(meta=(DisplayName = "Ability Notify")) 13 | class ABILITYFRAMEWORK_API UAFAnimNotify : public UAnimNotify 14 | { 15 | GENERATED_BODY() 16 | 17 | virtual void Notify(USkeletalMeshComponent* MeshComp, UAnimSequenceBase* Animation) override; 18 | 19 | UPROPERTY(EditAnywhere) 20 | FGameplayTag Tag; 21 | UPROPERTY(EditAnywhere) 22 | FName Name; 23 | }; 24 | -------------------------------------------------------------------------------- /Plugins/AbilityFramework/Source/AbilityFramework/Public/Attributes/GAAttributeExtension.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "UObject/NoExportTypes.h" 6 | #include "../GAGlobalTypes.h" 7 | #include "GAAttributeExtension.generated.h" 8 | 9 | /** 10 | * 11 | */ 12 | UCLASS() 13 | class ABILITYFRAMEWORK_API UGAAttributeExtension : public UObject 14 | { 15 | GENERATED_BODY() 16 | public: 17 | UPROPERTY() 18 | FGAAttribute Attribute; 19 | 20 | void OnPreAttributeModify(class UAFAbilityComponent* InComp, const FGAAttribute& Attribute, float InValue); 21 | void OnPostAttributeModify(class UAFAbilityComponent* InComp, const FGAAttribute& Attribute, float InValue); 22 | 23 | virtual void PreAttributeModify(const FGAEffectContext& InContext, float PreValue) {}; 24 | virtual void PostAttributeModify(const FGAEffectContext& InContext, float PreValue, float PostValue) {}; 25 | 26 | virtual float CalculateBonusValueByTags(const FGAIndividualMods& Mods) { return 0; } 27 | virtual float CalculateCurentValue() { return 0; } 28 | virtual bool CanModifyAttribute() { return true; } 29 | 30 | }; 31 | -------------------------------------------------------------------------------- /Plugins/AbilityFramework/Source/AbilityFramework/Public/Attributes/GAAttributeGlobals.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | #include "Engine/NetSerialization.h" 5 | #include "GameplayTags.h" 6 | #include "GAAttributeGlobals.generated.h" 7 | /** 8 | * 9 | */ 10 | 11 | USTRUCT() 12 | struct FDumbStruct 13 | { 14 | GENERATED_BODY() 15 | }; -------------------------------------------------------------------------------- /Plugins/AbilityFramework/Source/AbilityFramework/Public/Attributes/GAAttributesStats.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | -------------------------------------------------------------------------------- /Plugins/AbilityFramework/Source/AbilityFramework/Public/Cues/AFCueStaticBlueprint.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "Engine/Blueprint.h" 7 | #include "AFCueStaticBlueprint.generated.h" 8 | 9 | /** 10 | * 11 | */ 12 | UCLASS() 13 | class ABILITYFRAMEWORK_API UAFCueStaticBlueprint : public UBlueprint 14 | { 15 | GENERATED_BODY() 16 | 17 | 18 | 19 | 20 | }; 21 | -------------------------------------------------------------------------------- /Plugins/AbilityFramework/Source/AbilityFramework/Public/Cues/AFCueStaticGeneratedClass.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "Engine/BlueprintGeneratedClass.h" 7 | #include "AFCueStaticGeneratedClass.generated.h" 8 | 9 | /** 10 | * 11 | */ 12 | UCLASS() 13 | class ABILITYFRAMEWORK_API UAFCueStaticGeneratedClass : public UBlueprintGeneratedClass 14 | { 15 | GENERATED_BODY() 16 | 17 | 18 | 19 | 20 | }; 21 | -------------------------------------------------------------------------------- /Plugins/AbilityFramework/Source/AbilityFramework/Public/Effects/AFCueActorBlueprint.h: -------------------------------------------------------------------------------- 1 | // Copyright 1998-2017 Epic Games, Inc. All Rights Reserved. 2 | 3 | #pragma once 4 | #include "CoreMinimal.h" 5 | #include "UObject/ObjectMacros.h" 6 | #include "Engine/Blueprint.h" 7 | #include "AFCueActorBlueprint.generated.h" 8 | 9 | /** 10 | * Game Effect Blueprint 11 | */ 12 | 13 | UCLASS(BlueprintType) 14 | class ABILITYFRAMEWORK_API UAFCueActorBlueprint : public UBlueprint 15 | { 16 | GENERATED_UCLASS_BODY() 17 | UPROPERTY() 18 | class UGAEffectCueSequence* Animation; 19 | #if WITH_EDITOR 20 | 21 | // UBlueprint interface 22 | virtual bool SupportedByDefaultBlueprintFactory() const override 23 | { 24 | return false; 25 | } 26 | // End of UBlueprint interface 27 | 28 | /** Returns the most base gameplay ability blueprint for a given blueprint (if it is inherited from another ability blueprint, returning null if only native / non-ability BP classes are it's parent) */ 29 | static UAFCueActorBlueprint* FindRootGameplayAbilityBlueprint(UAFCueActorBlueprint* DerivedBlueprint); 30 | 31 | #endif 32 | }; 33 | -------------------------------------------------------------------------------- /Plugins/AbilityFramework/Source/AbilityFramework/Public/Effects/AFCueActorGeneratedClass.h: -------------------------------------------------------------------------------- 1 | // Copyright 1998-2017 Epic Games, Inc. All Rights Reserved. 2 | 3 | #pragma once 4 | #include "CoreMinimal.h" 5 | #include "UObject/ObjectMacros.h" 6 | #include "Engine/BlueprintGeneratedClass.h" 7 | #include "AFCueActorGeneratedClass.generated.h" 8 | 9 | /** 10 | * Game Effect Blueprint 11 | */ 12 | 13 | UCLASS(BlueprintType) 14 | class ABILITYFRAMEWORK_API UAFCueActorGeneratedClass : public UBlueprintGeneratedClass 15 | { 16 | GENERATED_UCLASS_BODY() 17 | }; 18 | -------------------------------------------------------------------------------- /Plugins/AbilityFramework/Source/AbilityFramework/Public/Effects/AFEffectApplicationRequirement.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "UObject/NoExportTypes.h" 7 | #include "../GAGlobalTypes.h" 8 | #include "GAGameEffect.h" 9 | #include "AFEffectApplicationRequirement.generated.h" 10 | 11 | /** 12 | * Default requirment always passes. 13 | */ 14 | UCLASS(meta=(DisplayName = "No Requirement")) 15 | class ABILITYFRAMEWORK_API UAFEffectApplicationRequirement : public UObject 16 | { 17 | GENERATED_BODY() 18 | 19 | public: 20 | virtual bool CanApply( 21 | const FGAEffect& EffectIn 22 | , const FAFEffectParams& Params 23 | , const FGAEffectHandle& InHandle 24 | , struct FGAEffectContainer* InContainer) 25 | { 26 | return true; 27 | } 28 | 29 | }; 30 | -------------------------------------------------------------------------------- /Plugins/AbilityFramework/Source/AbilityFramework/Public/Effects/AFEffectCustomStackingRule.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "UObject/NoExportTypes.h" 7 | #include "../GAGlobalTypes.h" 8 | #include "AFEffectCustomStackingRule.generated.h" 9 | 10 | /** 11 | * 12 | */ 13 | UCLASS() 14 | class ABILITYFRAMEWORK_API UAFEffectCustomStackingRule : public UObject 15 | { 16 | GENERATED_BODY() 17 | 18 | public: 19 | virtual bool CanStack(class UAFAbilityComponent* InComp, struct FGAEffectContainer* InContainer, 20 | const FGAEffectHandle& InHandle); 21 | 22 | }; 23 | -------------------------------------------------------------------------------- /Plugins/AbilityFramework/Source/AbilityFramework/Public/Effects/ApplicationRequirement/AFAttributeStongerOverride.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "Effects/AFEffectApplicationRequirement.h" 7 | #include "AFAttributeStongerOverride.generated.h" 8 | 9 | /** 10 | * USe only with Duration Based application. 11 | * Effect will be applied if the attribute modifier is stronger than the current one on Attribute. 12 | */ 13 | UCLASS(BlueprintType, meta = (DisplayName = "Attribute Stronger")) 14 | class ABILITYFRAMEWORK_API UAFAttributeStongerOverride : public UAFEffectApplicationRequirement 15 | { 16 | GENERATED_BODY() 17 | public: 18 | virtual bool CanApply( 19 | const FGAEffect& EffectIn 20 | , const FAFEffectParams& Params 21 | , const FGAEffectHandle& InHandle 22 | , struct FGAEffectContainer* InContainer) override; 23 | 24 | 25 | }; 26 | -------------------------------------------------------------------------------- /Plugins/AbilityFramework/Source/AbilityFramework/Public/Effects/ApplicationRequirement/AFEffectAlreadyApplied.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "Effects/AFEffectApplicationRequirement.h" 7 | #include "AFEffectAlreadyApplied.generated.h" 8 | 9 | /** 10 | * If effect of the same type is already applied, it will be skipped. 11 | */ 12 | UCLASS(meta = (DisplayName = "Only One Of Type")) 13 | class ABILITYFRAMEWORK_API UAFEffectAlreadyApplied : public UAFEffectApplicationRequirement 14 | { 15 | GENERATED_BODY() 16 | public: 17 | virtual bool CanApply( 18 | const FGAEffect& EffectIn 19 | , const FAFEffectParams& Params 20 | , const FGAEffectHandle& InHandle 21 | , struct FGAEffectContainer* InContainer) override; 22 | 23 | 24 | 25 | 26 | 27 | }; 28 | -------------------------------------------------------------------------------- /Plugins/AbilityFramework/Source/AbilityFramework/Public/Effects/CustomApplications/AFAtributeDurationAdd.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "Effects/AFEffectCustomApplication.h" 7 | #include "AFAtributeDurationAdd.generated.h" 8 | 9 | /** 10 | * Adds New duration Effect. 11 | */ 12 | UCLASS(meta = (DisplayName = "Duration Add")) 13 | class ABILITYFRAMEWORK_API UAFAtributeDurationAdd : public UAFEffectCustomApplication 14 | { 15 | GENERATED_BODY() 16 | public: 17 | virtual bool ApplyEffect( 18 | const FGAEffectHandle& InHandle 19 | , const FGAEffect& EffectIn 20 | , struct FGAEffectContainer* InContainer 21 | , const FAFEffectParams& Params 22 | , const FAFFunctionModifier& Modifier = FAFFunctionModifier()); 23 | 24 | virtual bool ShowPeriod() override 25 | { 26 | return false; 27 | } 28 | virtual bool ShowDuration() override 29 | { 30 | return true; 31 | } 32 | }; 33 | -------------------------------------------------------------------------------- /Plugins/AbilityFramework/Source/AbilityFramework/Public/Effects/CustomApplications/AFAttributeDurationInfinite.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "Effects/AFEffectCustomApplication.h" 7 | #include "AFAttributeDurationInfinite.generated.h" 8 | 9 | /** 10 | * Adds infinite duration effect. 11 | */ 12 | UCLASS(meta = (DisplayName = "Duration Infinite Add")) 13 | class ABILITYFRAMEWORK_API UAFAttributeDurationInfinite : public UAFEffectCustomApplication 14 | { 15 | GENERATED_BODY() 16 | public: 17 | virtual bool ApplyEffect( 18 | const FGAEffectHandle& InHandle 19 | , const FGAEffect& EffectIn 20 | , struct FGAEffectContainer* InContainer 21 | , const FAFEffectParams& Params 22 | , const FAFFunctionModifier& Modifier = FAFFunctionModifier()); 23 | 24 | virtual bool ShowPeriod() override 25 | { 26 | return false; 27 | } 28 | virtual bool ShowDuration() override 29 | { 30 | return false; 31 | } 32 | 33 | }; 34 | -------------------------------------------------------------------------------- /Plugins/AbilityFramework/Source/AbilityFramework/Public/Effects/CustomApplications/AFAttributeDurationOverride.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "Effects/AFEffectCustomApplication.h" 7 | #include "AFAttributeDurationOverride.generated.h" 8 | 9 | /** 10 | * If effect of the same class is already applied it will be removed, and new one will be applied. 11 | */ 12 | UCLASS(meta = (DisplayName = "Duration Override")) 13 | class ABILITYFRAMEWORK_API UAFAttributeDurationOverride : public UAFEffectCustomApplication 14 | { 15 | GENERATED_BODY() 16 | public: 17 | virtual bool ApplyEffect( 18 | const FGAEffectHandle& InHandle 19 | , const FGAEffect& EffectIn 20 | , struct FGAEffectContainer* InContainer 21 | , const FAFEffectParams& Params 22 | , const FAFFunctionModifier& Modifier = FAFFunctionModifier()); 23 | 24 | 25 | virtual bool ShowPeriod() override 26 | { 27 | return false; 28 | } 29 | virtual bool ShowDuration() override 30 | { 31 | return true; 32 | } 33 | 34 | }; 35 | -------------------------------------------------------------------------------- /Plugins/AbilityFramework/Source/AbilityFramework/Public/Effects/CustomApplications/AFPeriodApplicationAdd.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "Effects/AFEffectCustomApplication.h" 7 | #include "AFPeriodApplicationAdd.generated.h" 8 | 9 | /** 10 | * Adds new periodic effect. 11 | */ 12 | UCLASS(meta = (DisplayName = "Periodic Add")) 13 | class ABILITYFRAMEWORK_API UAFPeriodApplicationAdd : public UAFEffectCustomApplication 14 | { 15 | GENERATED_BODY() 16 | public: 17 | bool ApplyEffect( 18 | const FGAEffectHandle& InHandle 19 | , const FGAEffect& EffectIn 20 | , struct FGAEffectContainer* InContainer 21 | , const FAFEffectParams& Params 22 | , const FAFFunctionModifier& Modifier = FAFFunctionModifier()) override; 23 | 24 | virtual void ExecuteEffect( 25 | const FGAEffectHandle& InHandle 26 | , const FAFEffectParams& Params 27 | , const FAFFunctionModifier& Modifier = FAFFunctionModifier()) 28 | {}; 29 | 30 | virtual bool ShowPeriod() override 31 | { 32 | return true; 33 | } 34 | virtual bool ShowDuration() override 35 | { 36 | return true; 37 | } 38 | 39 | }; 40 | -------------------------------------------------------------------------------- /Plugins/AbilityFramework/Source/AbilityFramework/Public/Effects/CustomApplications/AFPeriodicApplInfiniteOverride.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "Effects/AFEffectCustomApplication.h" 7 | #include "AFPeriodicApplInfiniteOverride.generated.h" 8 | 9 | /** 10 | * Adds infinite periodic effect. If effect of the same class already exists, it will be removed first. 11 | */ 12 | UCLASS(meta=(DisplayName = "Periodic Infinite Override")) 13 | class ABILITYFRAMEWORK_API UAFPeriodicApplInfiniteOverride : public UAFEffectCustomApplication 14 | { 15 | GENERATED_BODY() 16 | 17 | 18 | virtual void ExecuteEffect( 19 | const FGAEffectHandle& InHandle 20 | , const FGAEffect& EffectIn 21 | , struct FGAEffectContainer* InContainer 22 | , const FAFEffectParams& Params 23 | , const FAFFunctionModifier& Modifier = FAFFunctionModifier()) 24 | {}; 25 | 26 | }; 27 | -------------------------------------------------------------------------------- /Plugins/AbilityFramework/Source/AbilityFramework/Public/Effects/GAEffectBlueprint.h: -------------------------------------------------------------------------------- 1 | // Copyright 1998-2017 Epic Games, Inc. All Rights Reserved. 2 | 3 | #pragma once 4 | #include "CoreMinimal.h" 5 | #include "UObject/ObjectMacros.h" 6 | #include "Engine/Blueprint.h" 7 | #include "GAEffectBlueprint.generated.h" 8 | 9 | /** 10 | * Game Effect Blueprint 11 | */ 12 | 13 | UCLASS(BlueprintType) 14 | class ABILITYFRAMEWORK_API UGAEffectBlueprint : public UBlueprint 15 | { 16 | GENERATED_UCLASS_BODY() 17 | 18 | #if WITH_EDITOR 19 | 20 | // UBlueprint interface 21 | virtual bool SupportedByDefaultBlueprintFactory() const override 22 | { 23 | return false; 24 | } 25 | // End of UBlueprint interface 26 | 27 | /** Returns the most base gameplay ability blueprint for a given blueprint (if it is inherited from another ability blueprint, returning null if only native / non-ability BP classes are it's parent) */ 28 | static UGAEffectBlueprint* FindRootGameplayAbilityBlueprint(UGAEffectBlueprint* DerivedBlueprint); 29 | 30 | #endif 31 | }; 32 | -------------------------------------------------------------------------------- /Plugins/AbilityFramework/Source/AbilityFramework/Public/Effects/GAEffectCueGlobals.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "GameplayTagContainer.h" 3 | #include "../GAGlobalTypes.h" 4 | #include "GAGameEffect.h" 5 | #include "GAEffectCueGlobals.generated.h" 6 | 7 | USTRUCT() 8 | struct FGACueContainer 9 | { 10 | GENERATED_USTRUCT_BODY() 11 | public: 12 | TWeakObjectPtr OwningComponent; 13 | 14 | void AddCue(const FGAEffectHandle& HandleIn, const FGAEffectCueParams& CueParamsIn); 15 | 16 | void AddCue(const FGAEffectHandle& HandleIn); 17 | 18 | /* Return cue. Might return null so always check it first! */ 19 | class UGAEffectCue* GetCue(const FGAEffectHandle& HandleIn); 20 | 21 | void ExecuteCue(const FGAEffectHandle& HandleIn); 22 | 23 | void RemoveCue(const FGAEffectHandle& HandleIn); 24 | 25 | void CueExpired(const FGAEffectHandle& HandleIn); 26 | }; -------------------------------------------------------------------------------- /Plugins/AbilityFramework/Source/AbilityFramework/Public/Effects/GAEffectExecution.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "../GAGlobalTypes.h" 3 | #include "../Attributes/GAAttributeBase.h" 4 | #include "GAGameEffect.h" 5 | #include "GAEffectGlobalTypes.h" 6 | #include "GAEffectExecution.generated.h" 7 | 8 | /* 9 | 10 | */ 11 | UCLASS(BlueprintType, Blueprintable, EditInLineNew) 12 | class ABILITYFRAMEWORK_API UGAEffectExecution : public UObject 13 | { 14 | GENERATED_BODY() 15 | public: 16 | UGAEffectExecution(const FObjectInitializer& ObjectInitializer); 17 | 18 | virtual void PreModifyAttribute(const FGAEffectHandle& HandleIn, FGAEffectMod& ModIn, const FGAEffectContext& Context); 19 | virtual void ExecuteEffect(const FGAEffectHandle& HandleIn, FGAEffectMod& ModIn, 20 | const FAFEffectParams& Params, 21 | const FAFFunctionModifier& Modifier = FAFFunctionModifier()); 22 | }; 23 | -------------------------------------------------------------------------------- /Plugins/AbilityFramework/Source/AbilityFramework/Public/GAPhysicalMaterial.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "PhysicalMaterials/PhysicalMaterial.h" 6 | #include "GAPhysicalMaterial.generated.h" 7 | 8 | /** 9 | * 10 | */ 11 | UCLASS(Blueprintable) 12 | class ABILITYFRAMEWORK_API UGAPhysicalMaterial : public UPhysicalMaterial 13 | { 14 | GENERATED_BODY() 15 | public: 16 | UPROPERTY(EditAnywhere, Category = "Fx") 17 | UParticleEmitter* SurfaceHitFX; 18 | 19 | }; 20 | -------------------------------------------------------------------------------- /Plugins/AbilityFramework/Source/AbilityFramework/Public/GAUIData.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "Object.h" 6 | #include "GAUIData.generated.h" 7 | 8 | /** 9 | * Base class for UI data for effect. 10 | * Do not instance it. Just use CDO, to get data from it. 11 | */ 12 | UCLASS() 13 | class ABILITYFRAMEWORK_API UGAUIData : public UObject 14 | { 15 | GENERATED_BODY() 16 | }; 17 | -------------------------------------------------------------------------------- /Plugins/AbilityFramework/Source/AbilityFramework/Public/LatentActions/AFLatentInterface.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "AFLatentInterface.generated.h" 3 | 4 | 5 | struct FAFAttributeBase; 6 | struct FGAEffectHandle; 7 | UINTERFACE(Blueprintable, meta = (CannotImplementInterfaceInBlueprint)) 8 | class ABILITYFRAMEWORK_API UAFLatentInterface : public UInterface 9 | { 10 | GENERATED_UINTERFACE_BODY() 11 | }; 12 | 13 | class IAFLatentInterface 14 | { 15 | GENERATED_IINTERFACE_BODY() 16 | public: 17 | virtual void OnLatentTaskAdded(FName InstanceName, class UAFTaskBase* TaskIn) = 0; 18 | virtual void AddReplicatedTask(class UAFTaskBase* TaskIn) = 0; 19 | virtual void OnLatentTaskRemoved(class UAFTaskBase* TaskIn) = 0; 20 | 21 | virtual void OnLatentTaskActivated(class UAFTaskBase* TaskIn) = 0; 22 | virtual void OnLatentTaskDeactivated(class UAFTaskBase* TaskIn) = 0; 23 | 24 | virtual class UAFTaskBase* GetCachedLatentAction(FName TaskName) = 0; 25 | }; -------------------------------------------------------------------------------- /Plugins/AbilityFramework/Source/AbilityFramework/Public/LatentActions/AFTaskManager.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "CoreMinimal.h" 3 | #include "Engine/EngineBaseTypes.h" 4 | 5 | #include "AFTaskManager.generated.h" 6 | 7 | UCLASS() 8 | class ABILITYFRAMEWORK_API UAFTaskManager : public UObject 9 | { 10 | GENERATED_BODY() 11 | 12 | static UAFTaskManager* Instance; 13 | 14 | public: 15 | UAFTaskManager(const FObjectInitializer& ObjectInitializer); 16 | static UAFTaskManager* Get(); 17 | }; 18 | -------------------------------------------------------------------------------- /Plugins/AbilityFramework/Source/AbilityFrameworkEditor/Public/AFAbilityActionSpecDetails.h: -------------------------------------------------------------------------------- 1 | // Copyright 1998-2014 Epic Games, Inc. All Rights Reserved. 2 | #pragma once 3 | #include "Attributes/GAAttributeGlobals.h" 4 | #include "GAGlobalTypesEditor.h" 5 | 6 | #include "IDetailCustomization.h" 7 | #include "PropertyHandle.h" 8 | 9 | class FAFAbilityActivationSpecDetails : public IDetailCustomization 10 | { 11 | 12 | protected: 13 | bool bIsDuration; 14 | bool bIsPeriodic; 15 | TSharedPtr ApplicationTypeHandle; 16 | public: 17 | /** Makes a new instance of this detail layout class for a specific detail view requesting it */ 18 | static TSharedRef MakeInstance(); 19 | 20 | private: 21 | TSharedPtr MyProperty; 22 | TSharedPtr DurationProperty; 23 | TSharedPtr PeriodProperty; 24 | TSharedPtr DurationCalcTypeProp; 25 | IDetailLayoutBuilder* MyDetailLayout; 26 | FSimpleDelegate UpdateEffectTypeyDelegate; 27 | /** IDetailCustomization interface */ 28 | virtual void CustomizeDetails(IDetailLayoutBuilder& DetailLayout) override; 29 | 30 | void OnDurationPolicyChange(); 31 | }; -------------------------------------------------------------------------------- /Plugins/AbilityFramework/Source/AbilityFrameworkEditor/Public/AFAbilityCooldownSpecDetails.h: -------------------------------------------------------------------------------- 1 | // Copyright 1998-2014 Epic Games, Inc. All Rights Reserved. 2 | #pragma once 3 | #include "Attributes/GAAttributeGlobals.h" 4 | #include "GAGlobalTypesEditor.h" 5 | 6 | #include "IDetailCustomization.h" 7 | #include "PropertyHandle.h" 8 | 9 | class FAFAbilityCooldownSpecDetails : public IDetailCustomization 10 | { 11 | 12 | protected: 13 | bool bIsDuration; 14 | bool bIsPeriodic; 15 | TSharedPtr ApplicationTypeHandle; 16 | public: 17 | /** Makes a new instance of this detail layout class for a specific detail view requesting it */ 18 | static TSharedRef MakeInstance(); 19 | 20 | private: 21 | TSharedPtr MyProperty; 22 | TSharedPtr DurationProperty; 23 | TSharedPtr PeriodProperty; 24 | TSharedPtr DurationCalcTypeProp; 25 | IDetailLayoutBuilder* MyDetailLayout; 26 | /** IDetailCustomization interface */ 27 | virtual void CustomizeDetails(IDetailLayoutBuilder& DetailLayout) override; 28 | 29 | void OnDurationPolicyChange(); 30 | }; -------------------------------------------------------------------------------- /Plugins/AbilityFramework/Source/AbilityFrameworkEditor/Public/AFAbilityInfiniteDurationSpecDetails.h: -------------------------------------------------------------------------------- 1 | // Copyright 1998-2014 Epic Games, Inc. All Rights Reserved. 2 | #pragma once 3 | #include "Attributes/GAAttributeGlobals.h" 4 | #include "GAGlobalTypesEditor.h" 5 | 6 | #include "IDetailCustomization.h" 7 | #include "PropertyHandle.h" 8 | 9 | class FAFAbilityInfiniteDurationSpecDetails : public IDetailCustomization 10 | { 11 | 12 | protected: 13 | bool bIsDuration; 14 | bool bIsPeriodic; 15 | TSharedPtr ApplicationTypeHandle; 16 | public: 17 | /** Makes a new instance of this detail layout class for a specific detail view requesting it */ 18 | static TSharedRef MakeInstance(); 19 | 20 | private: 21 | TSharedPtr MyProperty; 22 | TSharedPtr DurationProperty; 23 | TSharedPtr PeriodProperty; 24 | TSharedPtr DurationCalcTypeProp; 25 | TSharedPtr PeriodCalcTypeProp; 26 | IDetailLayoutBuilder* MyDetailLayout; 27 | /** IDetailCustomization interface */ 28 | virtual void CustomizeDetails(IDetailLayoutBuilder& DetailLayout) override; 29 | 30 | void OnDurationPolicyChange(); 31 | }; -------------------------------------------------------------------------------- /Plugins/AbilityFramework/Source/AbilityFrameworkEditor/Public/AFAbilityInfinitePeriodSpecDetails.h: -------------------------------------------------------------------------------- 1 | // Copyright 1998-2014 Epic Games, Inc. All Rights Reserved. 2 | #pragma once 3 | #include "Attributes/GAAttributeGlobals.h" 4 | #include "GAGlobalTypesEditor.h" 5 | 6 | #include "IDetailCustomization.h" 7 | #include "PropertyHandle.h" 8 | 9 | class FAFAbilityInfinitePeriodSpecDetails : public IDetailCustomization 10 | { 11 | 12 | protected: 13 | bool bIsDuration; 14 | bool bIsPeriodic; 15 | TSharedPtr ApplicationTypeHandle; 16 | public: 17 | /** Makes a new instance of this detail layout class for a specific detail view requesting it */ 18 | static TSharedRef MakeInstance(); 19 | 20 | private: 21 | TSharedPtr MyProperty; 22 | TSharedPtr DurationProperty; 23 | TSharedPtr PeriodProperty; 24 | TSharedPtr DurationCalcTypeProp; 25 | TSharedPtr PeriodCalcTypeProp; 26 | IDetailLayoutBuilder* MyDetailLayout; 27 | /** IDetailCustomization interface */ 28 | virtual void CustomizeDetails(IDetailLayoutBuilder& DetailLayout) override; 29 | 30 | void OnDurationPolicyChange(); 31 | }; -------------------------------------------------------------------------------- /Plugins/AbilityFramework/Source/AbilityFrameworkEditor/Public/AFAbilityPeriodSpecDetails.h: -------------------------------------------------------------------------------- 1 | // Copyright 1998-2014 Epic Games, Inc. All Rights Reserved. 2 | #pragma once 3 | #include "Attributes/GAAttributeGlobals.h" 4 | #include "GAGlobalTypesEditor.h" 5 | 6 | #include "IDetailCustomization.h" 7 | #include "PropertyHandle.h" 8 | 9 | class FAFAbilityPeriodSpecDetails : public IDetailCustomization 10 | { 11 | 12 | protected: 13 | bool bIsDuration; 14 | bool bIsPeriodic; 15 | TSharedPtr ApplicationTypeHandle; 16 | public: 17 | /** Makes a new instance of this detail layout class for a specific detail view requesting it */ 18 | static TSharedRef MakeInstance(); 19 | 20 | private: 21 | TSharedPtr MyProperty; 22 | TSharedPtr DurationProperty; 23 | TSharedPtr PeriodProperty; 24 | TSharedPtr DurationCalcTypeProp; 25 | TSharedPtr PeriodCalcTypeProp; 26 | IDetailLayoutBuilder* MyDetailLayout; 27 | /** IDetailCustomization interface */ 28 | virtual void CustomizeDetails(IDetailLayoutBuilder& DetailLayout) override; 29 | 30 | void OnDurationPolicyChange(); 31 | }; -------------------------------------------------------------------------------- /Plugins/AbilityFramework/Source/AbilityFrameworkEditor/Public/AFEK2Node_AsyncEffectTaskCall.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | #include "EdGraph/EdGraphPin.h" 4 | #include "EdGraphSchema_K2.h" 5 | #include "K2Node_BaseAsyncTask.h" 6 | #include "AFEK2Node_AsyncEffectTaskCall.generated.h" 7 | 8 | UCLASS() 9 | class UAFEK2Node_AsyncEffectTaskCall : public UK2Node_BaseAsyncTask 10 | { 11 | GENERATED_BODY() 12 | 13 | public: 14 | UAFEK2Node_AsyncEffectTaskCall(const FObjectInitializer& ObjectInitializer); 15 | 16 | // UEdGraphNode interface 17 | virtual void GetMenuActions(FBlueprintActionDatabaseRegistrar& ActionRegistrar) const override; 18 | virtual bool IsCompatibleWithGraph(UEdGraph const* TargetGraph) const override; 19 | // End of UEdGraphNode interface 20 | }; 21 | -------------------------------------------------------------------------------- /Plugins/AbilityFramework/Source/AbilityFrameworkEditor/Public/AFEffectCustomizationCommon.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "IDetailCustomization.h" 7 | #include "PropertyHandle.h" 8 | /** 9 | * 10 | */ 11 | class ABILITYFRAMEWORKEDITOR_API FAFEffectCustomizationCommon 12 | { 13 | public: 14 | FAFEffectCustomizationCommon(); 15 | ~FAFEffectCustomizationCommon(); 16 | static void CreateMagnitudeLayout(IDetailLayoutBuilder& DetailLayout, 17 | TSharedPtr& InProperty, FName InCategory); 18 | static void HideProperty(IDetailLayoutBuilder& DetailLayout, FName InName); 19 | }; 20 | -------------------------------------------------------------------------------- /Plugins/AbilityFramework/Source/AbilityFrameworkEditor/Public/AbilityEditor/GAAbilityGraph.cpp: -------------------------------------------------------------------------------- 1 | // Copyright 1998-2017 Epic Games, Inc. All Rights Reserved. 2 | 3 | #include "../AbilityFrameworkEditor.h" 4 | #include "GAAbilityGraph.h" 5 | 6 | #define LOCTEXT_NAMESPACE "GameplayAbilityGraph" 7 | 8 | ///////////////////////////////////////////////////// 9 | // UGameplayAbilityGraph 10 | 11 | UGAAbilityGraph::UGAAbilityGraph(const FObjectInitializer& ObjectInitializer) 12 | : Super(ObjectInitializer) 13 | { 14 | } 15 | 16 | #undef LOCTEXT_NAMESPACE 17 | -------------------------------------------------------------------------------- /Plugins/AbilityFramework/Source/AbilityFrameworkEditor/Public/AbilityEditor/GAAbilityGraph.h: -------------------------------------------------------------------------------- 1 | // Copyright 1998-2017 Epic Games, Inc. All Rights Reserved. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "UObject/ObjectMacros.h" 7 | #include "EdGraph/EdGraph.h" 8 | #include "GAAbilityGraph.generated.h" 9 | 10 | UCLASS(MinimalAPI) 11 | class UGAAbilityGraph : public UEdGraph 12 | { 13 | GENERATED_UCLASS_BODY() 14 | }; 15 | 16 | -------------------------------------------------------------------------------- /Plugins/AbilityFramework/Source/AbilityFrameworkEditor/Public/AbilityEditor/GAAbilityGraphSchema.cpp: -------------------------------------------------------------------------------- 1 | // Copyright 1998-2017 Epic Games, Inc. All Rights Reserved. 2 | 3 | #include "../AbilityFrameworkEditor.h" 4 | #include "GAAbilityGraphSchema.h" 5 | #include "EdGraphSchema_K2_Actions.h" 6 | #include "Effects/GAGameEffect.h" 7 | #include "Kismet2/BlueprintEditorUtils.h" 8 | 9 | UGAAbilityGraphSchema::UGAAbilityGraphSchema(const FObjectInitializer& ObjectInitializer) 10 | : Super(ObjectInitializer) 11 | { 12 | } 13 | 14 | UK2Node_VariableGet* UGAAbilityGraphSchema::SpawnVariableGetNode(const FVector2D GraphPosition, class UEdGraph* ParentGraph, FName VariableName, UStruct* Source) const 15 | { 16 | return Super::SpawnVariableGetNode(GraphPosition, ParentGraph, VariableName, Source); 17 | } 18 | 19 | UK2Node_VariableSet* UGAAbilityGraphSchema::SpawnVariableSetNode(const FVector2D GraphPosition, class UEdGraph* ParentGraph, FName VariableName, UStruct* Source) const 20 | { 21 | return Super::SpawnVariableSetNode(GraphPosition, ParentGraph, VariableName, Source); 22 | } 23 | -------------------------------------------------------------------------------- /Plugins/AbilityFramework/Source/AbilityFrameworkEditor/Public/CurveTable/GACurveTableDetailCustomization.cpp: -------------------------------------------------------------------------------- 1 | // Copyright 1998-2014 Epic Games, Inc. All Rights Reserved. 2 | 3 | #include "AbilityFrameworkEditor.h" 4 | #include "Editor/PropertyEditor/Public/PropertyEditing.h" 5 | 6 | #include "STextCombobox.h" 7 | #include "STreeView.h" 8 | 9 | #include "GACurveTableDetailCustomization.h" 10 | 11 | TSharedRef FGACurveTableDetailCustomization::MakeInstance() 12 | { 13 | return MakeShareable(new FGACurveTableDetailCustomization); 14 | } 15 | 16 | FGACurveTableDetailCustomization::~FGACurveTableDetailCustomization() 17 | { 18 | 19 | } 20 | 21 | void FGACurveTableDetailCustomization::CustomizeHeader(TSharedRef InStructPropertyHandle, FDetailWidgetRow& HeaderRow, IPropertyTypeCustomizationUtils& StructCustomizationUtils) 22 | { 23 | 24 | } 25 | void FGACurveTableDetailCustomization::CustomizeChildren(TSharedRef InStructPropertyHandle, IDetailChildrenBuilder& StructBuilder, IPropertyTypeCustomizationUtils& StructCustomizationUtils) 26 | { 27 | 28 | } 29 | -------------------------------------------------------------------------------- /Plugins/AbilityFramework/Source/AbilityFrameworkEditor/Public/CurveTable/GACurveTableDetailCustomization.h: -------------------------------------------------------------------------------- 1 | // Copyright 1998-2014 Epic Games, Inc. All Rights Reserved. 2 | #pragma once 3 | #include "../GAGlobalTypesEditor.h" 4 | 5 | #include "IPropertyTypeCustomization.h" 6 | #include "PropertyHandle.h" 7 | 8 | class FGACurveTableDetailCustomization : public IPropertyTypeCustomization 9 | { 10 | public: 11 | static TSharedRef MakeInstance(); 12 | /** 13 | * Destructor 14 | */ 15 | virtual ~FGACurveTableDetailCustomization(); 16 | 17 | /** IPropertyTypeCustomization interface */ 18 | virtual void CustomizeHeader(TSharedRef InStructPropertyHandle, FDetailWidgetRow& HeaderRow, IPropertyTypeCustomizationUtils& StructCustomizationUtils) override; 19 | virtual void CustomizeChildren(TSharedRef InStructPropertyHandle, IDetailChildrenBuilder& StructBuilder, IPropertyTypeCustomizationUtils& StructCustomizationUtils) override; 20 | 21 | 22 | 23 | }; -------------------------------------------------------------------------------- /Plugins/AbilityFramework/Source/AbilityFrameworkEditor/Public/EffectCueEditor/GAEffectCueGraph.cpp: -------------------------------------------------------------------------------- 1 | // Copyright 1998-2017 Epic Games, Inc. All Rights Reserved. 2 | 3 | #include "../AbilityFrameworkEditor.h" 4 | #include "GAEffectCueGraph.h" 5 | 6 | #define LOCTEXT_NAMESPACE "GameplayAbilityGraph" 7 | 8 | ///////////////////////////////////////////////////// 9 | // UGameplayAbilityGraph 10 | 11 | UGAEffectCueGraph::UGAEffectCueGraph(const FObjectInitializer& ObjectInitializer) 12 | : Super(ObjectInitializer) 13 | { 14 | } 15 | 16 | #undef LOCTEXT_NAMESPACE 17 | -------------------------------------------------------------------------------- /Plugins/AbilityFramework/Source/AbilityFrameworkEditor/Public/EffectCueEditor/GAEffectCueGraph.h: -------------------------------------------------------------------------------- 1 | // Copyright 1998-2017 Epic Games, Inc. All Rights Reserved. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "UObject/ObjectMacros.h" 7 | #include "EdGraph/EdGraph.h" 8 | #include "GAEffectCueGraph.generated.h" 9 | 10 | UCLASS(MinimalAPI) 11 | class UGAEffectCueGraph : public UEdGraph 12 | { 13 | GENERATED_UCLASS_BODY() 14 | }; 15 | 16 | -------------------------------------------------------------------------------- /Plugins/AbilityFramework/Source/AbilityFrameworkEditor/Public/EffectCueEditor/GAEffectCueGraphSchema.cpp: -------------------------------------------------------------------------------- 1 | // Copyright 1998-2017 Epic Games, Inc. All Rights Reserved. 2 | 3 | #include "../AbilityFrameworkEditor.h" 4 | #include "GAEffectCueGraphSchema.h" 5 | #include "EdGraphSchema_K2_Actions.h" 6 | #include "Effects/GAGameEffect.h" 7 | #include "Kismet2/BlueprintEditorUtils.h" 8 | 9 | UGAEffectCueGraphSchema::UGAEffectCueGraphSchema(const FObjectInitializer& ObjectInitializer) 10 | : Super(ObjectInitializer) 11 | { 12 | } 13 | 14 | UK2Node_VariableGet* UGAEffectCueGraphSchema::SpawnVariableGetNode(const FVector2D GraphPosition, class UEdGraph* ParentGraph, FName VariableName, UStruct* Source) const 15 | { 16 | return Super::SpawnVariableGetNode(GraphPosition, ParentGraph, VariableName, Source); 17 | } 18 | 19 | UK2Node_VariableSet* UGAEffectCueGraphSchema::SpawnVariableSetNode(const FVector2D GraphPosition, class UEdGraph* ParentGraph, FName VariableName, UStruct* Source) const 20 | { 21 | return Super::SpawnVariableSetNode(GraphPosition, ParentGraph, VariableName, Source); 22 | } 23 | -------------------------------------------------------------------------------- /Plugins/AbilityFramework/Source/AbilityFrameworkEditor/Public/EffectEditor/GAEffectGraph.cpp: -------------------------------------------------------------------------------- 1 | // Copyright 1998-2017 Epic Games, Inc. All Rights Reserved. 2 | 3 | #include "../AbilityFrameworkEditor.h" 4 | #include "GAEffectGraph.h" 5 | 6 | #define LOCTEXT_NAMESPACE "GameplayAbilityGraph" 7 | 8 | ///////////////////////////////////////////////////// 9 | // UGameplayAbilityGraph 10 | 11 | UGAEffectGraph::UGAEffectGraph(const FObjectInitializer& ObjectInitializer) 12 | : Super(ObjectInitializer) 13 | { 14 | } 15 | 16 | #undef LOCTEXT_NAMESPACE 17 | -------------------------------------------------------------------------------- /Plugins/AbilityFramework/Source/AbilityFrameworkEditor/Public/EffectEditor/GAEffectGraph.h: -------------------------------------------------------------------------------- 1 | // Copyright 1998-2017 Epic Games, Inc. All Rights Reserved. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "UObject/ObjectMacros.h" 7 | #include "EdGraph/EdGraph.h" 8 | #include "GAEffectGraph.generated.h" 9 | 10 | UCLASS(MinimalAPI) 11 | class UGAEffectGraph : public UEdGraph 12 | { 13 | GENERATED_UCLASS_BODY() 14 | }; 15 | 16 | -------------------------------------------------------------------------------- /Plugins/AbilityFramework/Source/AbilityFrameworkEditor/Public/EffectEditor/GAEffectGraphSchema.cpp: -------------------------------------------------------------------------------- 1 | // Copyright 1998-2017 Epic Games, Inc. All Rights Reserved. 2 | 3 | #include "../AbilityFrameworkEditor.h" 4 | #include "GAEffectGraphSchema.h" 5 | #include "EdGraphSchema_K2_Actions.h" 6 | #include "Effects/GAGameEffect.h" 7 | #include "Kismet2/BlueprintEditorUtils.h" 8 | 9 | UGAEffectGraphSchema::UGAEffectGraphSchema(const FObjectInitializer& ObjectInitializer) 10 | : Super(ObjectInitializer) 11 | { 12 | } 13 | 14 | UK2Node_VariableGet* UGAEffectGraphSchema::SpawnVariableGetNode(const FVector2D GraphPosition, class UEdGraph* ParentGraph, FName VariableName, UStruct* Source) const 15 | { 16 | return Super::SpawnVariableGetNode(GraphPosition, ParentGraph, VariableName, Source); 17 | } 18 | 19 | UK2Node_VariableSet* UGAEffectGraphSchema::SpawnVariableSetNode(const FVector2D GraphPosition, class UEdGraph* ParentGraph, FName VariableName, UStruct* Source) const 20 | { 21 | return Super::SpawnVariableSetNode(GraphPosition, ParentGraph, VariableName, Source); 22 | } 23 | -------------------------------------------------------------------------------- /Plugins/AbilityFramework/Source/AbilityFrameworkEditor/Public/GAAttributePanelGraphPinFactory.cpp: -------------------------------------------------------------------------------- 1 | // Copyright 1998-2014 Epic Games, Inc. All Rights Reserved. 2 | 3 | #include "AbilityFrameworkEditor.h" 4 | 5 | 6 | 7 | //TSharedPtr FGAAttributePanelGraphPinFactory::CreatePin(class UEdGraphPin* InPin) const 8 | //{ 9 | // const UEdGraphSchema_K2* K2Schema = GetDefault(); 10 | // if (InPin->PinType.PinCategory == K2Schema->PC_Struct) 11 | // //&& InPin->PinType.PinSubCategoryObject == FGAAttribute::StaticStruct()) 12 | // { 13 | // 14 | // } 15 | // return nullptr; 16 | //} -------------------------------------------------------------------------------- /Plugins/AbilityFramework/Source/AbilityFrameworkEditor/Public/GAAttributePanelGraphPinFactory.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "SlateBasics.h" 3 | #include "Attributes/GAAttributeGlobals.h" 4 | #include "EdGraph/EdGraphPin.h" 5 | #include "EdGraph/EdGraphSchema.h" 6 | #include "EdGraphSchema_K2.h" 7 | #include "GAAttributePanelGraphPinFactory.h" 8 | #include "GAAttributePin.h" 9 | #include "EdGraphUtilities.h" 10 | 11 | class FGAAttributePanelGraphPinFactory : public FGraphPanelPinFactory 12 | { 13 | virtual TSharedPtr CreatePin(class UEdGraphPin* InPin) const override 14 | { 15 | const UEdGraphSchema_K2* K2Schema = GetDefault(); 16 | if (InPin->PinType.PinCategory == K2Schema->PC_Struct 17 | && InPin->PinType.PinSubCategoryObject == FGAAttribute::StaticStruct()) 18 | { 19 | return SNew(SGAAttributePin, InPin); 20 | } 21 | return nullptr; 22 | } 23 | }; -------------------------------------------------------------------------------- /Plugins/AbilityFramework/Source/AbilityFrameworkEditor/Public/GAAttributePin.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "SlateBasics.h" 3 | #include "SGraphPin.h" 4 | 5 | class SGAAttributePin : public SGraphPin 6 | { 7 | public: 8 | SLATE_BEGIN_ARGS(SGAAttributePin) {} 9 | SLATE_END_ARGS() 10 | 11 | public: 12 | void Construct(const FArguments& InArgs, UEdGraphPin* InGraphPinObj); 13 | 14 | virtual TSharedRef GetDefaultValueWidget() override; 15 | void OnAttributeSelected(FString ItemSelected); 16 | private: 17 | TArray> AttributesList; 18 | 19 | TSharedPtr AttributeComboButton; 20 | 21 | TSharedRef GetAttributesMenu(); 22 | 23 | FText GetSelectedAttributeText() const; 24 | 25 | FString SelectedAttribute; 26 | 27 | }; -------------------------------------------------------------------------------- /Plugins/AbilityFramework/Source/AbilityFrameworkEditor/Public/GAEK2Node_LatentAbilityTaskCall.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | #include "EdGraph/EdGraphPin.h" 4 | #include "EdGraphSchema_K2.h" 5 | #include "K2Node_BaseAsyncTask.h" 6 | #include "GAEK2Node_LatentAbilityTaskCall.generated.h" 7 | 8 | UCLASS() 9 | class UGAEK2Node_LatentAbilityTaskCall : public UK2Node_BaseAsyncTask//UK2Node_LatentGameplayTaskCall 10 | { 11 | GENERATED_BODY() 12 | 13 | public: 14 | UGAEK2Node_LatentAbilityTaskCall(const FObjectInitializer& ObjectInitializer); 15 | 16 | // UEdGraphNode interface 17 | virtual void GetMenuActions(FBlueprintActionDatabaseRegistrar& ActionRegistrar) const override; 18 | virtual bool IsCompatibleWithGraph(UEdGraph const* TargetGraph) const override; 19 | // End of UEdGraphNode interface 20 | }; 21 | -------------------------------------------------------------------------------- /Plugins/AbilityFramework/Source/AbilityFrameworkEditor/Public/GAEK2Node_LatentAction.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | #include "EdGraph/EdGraphPin.h" 4 | #include "EdGraphSchema_K2.h" 5 | #include "K2Node_BaseAsyncTask.h" 6 | #include "GAEK2Node_LatentAction.generated.h" 7 | 8 | UCLASS() 9 | class UGAEK2Node_LatentAction : public UK2Node_BaseAsyncTask 10 | { 11 | GENERATED_BODY() 12 | 13 | public: 14 | UGAEK2Node_LatentAction(const FObjectInitializer& ObjectInitializer); 15 | 16 | // UEdGraphNode interface 17 | virtual void GetMenuActions(FBlueprintActionDatabaseRegistrar& ActionRegistrar) const override; 18 | virtual bool IsCompatibleWithGraph(UEdGraph const* TargetGraph) const override; 19 | }; 20 | -------------------------------------------------------------------------------- /Plugins/AbilityFramework/Source/AbilityFrameworkEditor/Public/GAEffectDetails.h: -------------------------------------------------------------------------------- 1 | // Copyright 1998-2014 Epic Games, Inc. All Rights Reserved. 2 | #pragma once 3 | #include "Attributes/GAAttributeGlobals.h" 4 | #include "GAGlobalTypesEditor.h" 5 | 6 | #include "IDetailCustomization.h" 7 | #include "PropertyHandle.h" 8 | 9 | class FGAEffectDetails : public IDetailCustomization 10 | { 11 | 12 | protected: 13 | bool bIsDuration; 14 | bool bIsPeriodic; 15 | TSharedPtr ApplicationTypeHandle; 16 | public: 17 | /** Makes a new instance of this detail layout class for a specific detail view requesting it */ 18 | static TSharedRef MakeInstance(); 19 | 20 | private: 21 | TSharedPtr MyProperty; 22 | TSharedPtr DurationHandle; 23 | TSharedPtr PeriodHandle; 24 | TSharedPtr DurationCalcTypeHandle; 25 | TSharedPtr PeriodCalcTypeHandle; 26 | IDetailLayoutBuilder* MyDetailLayout; 27 | FSimpleDelegate UpdateEffectTypeyDelegate; 28 | /** IDetailCustomization interface */ 29 | virtual void CustomizeDetails(IDetailLayoutBuilder& DetailLayout) override; 30 | 31 | void OnDurationPolicyChange(); 32 | }; -------------------------------------------------------------------------------- /Plugins/AbilityFramework/Source/AbilityFrameworkEditor/Public/GAGlobalTypesEditor.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | #include "GAGlobalTypesEditor.generated.h" 5 | 6 | USTRUCT() 7 | struct FGAAttributeNode 8 | { 9 | GENERATED_USTRUCT_BODY() 10 | public: 11 | //Name of current node, like class, category, attribute etc. 12 | FString NodeName; 13 | 14 | FString ParentClassName; 15 | 16 | //current attribute for this node); 17 | FString Attribute; 18 | 19 | TWeakPtr ParentNode; 20 | 21 | TArray > ChildNodes; 22 | 23 | /* 24 | List of attributes containe within selected class (ParentClassName) 25 | */ 26 | TArray AttributeNames; 27 | TArray CategoryNames; 28 | FGAAttributeNode() {}; 29 | ~FGAAttributeNode() 30 | { 31 | ParentClassName.Empty(); 32 | Attribute.Empty(); 33 | AttributeNames.Empty(); 34 | }; 35 | }; -------------------------------------------------------------------------------- /Plugins/DraggableWindow/DraggableWindow.uplugin: -------------------------------------------------------------------------------- 1 | { 2 | "FileVersion": 3, 3 | "Version": 1, 4 | "VersionName": "1.0", 5 | "FriendlyName": "DraggableWindow", 6 | "Description": "", 7 | "Category": "Other", 8 | "CreatedBy": "", 9 | "CreatedByURL": "", 10 | "DocsURL": "", 11 | "MarketplaceURL": "", 12 | "SupportURL": "", 13 | "CanContainContent": true, 14 | "IsBetaVersion": false, 15 | "Installed": false, 16 | "Modules": [ 17 | { 18 | "Name": "DraggableWindow", 19 | "Type": "Developer", 20 | "LoadingPhase": "Default" 21 | } 22 | ] 23 | } -------------------------------------------------------------------------------- /Plugins/DraggableWindow/Source/DraggableWindow/Public/DWBPFunctionLibrary.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #include "DWBPFunctionLibrary.h" 4 | #include "DWManager.h" 5 | 6 | 7 | FDWWWindowHandle UDWBPFunctionLibrary::CreateWindow(const FString& WindowName) 8 | { 9 | return FDWManager::Get().CreateWindow(WindowName); 10 | } 11 | FDWWWindowHandle UDWBPFunctionLibrary::CreateWindowWithContent(UUserWidget* InWindowContent, const FString& WindowName) 12 | { 13 | return FDWManager::Get().CreateWindow(InWindowContent->TakeWidget(), WindowName); 14 | } -------------------------------------------------------------------------------- /Plugins/DraggableWindow/Source/DraggableWindow/Public/DWBPFunctionLibrary.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "Kismet/BlueprintFunctionLibrary.h" 7 | #include "UserWidget.h" 8 | #include "DWTypes.h" 9 | 10 | #include "DWBPFunctionLibrary.generated.h" 11 | 12 | /** 13 | * 14 | */ 15 | UCLASS() 16 | class DRAGGABLEWINDOW_API UDWBPFunctionLibrary : public UBlueprintFunctionLibrary 17 | { 18 | GENERATED_BODY() 19 | 20 | public: 21 | UFUNCTION(BlueprintCallable, Category = "Draggable Window") 22 | static FDWWWindowHandle CreateWindow(const FString& WindowName); 23 | 24 | UFUNCTION(BlueprintCallable, Category = "Draggable Window") 25 | static FDWWWindowHandle CreateWindowWithContent(UUserWidget* InWindowContent, const FString& WindowName); 26 | }; 27 | -------------------------------------------------------------------------------- /Plugins/DraggableWindow/Source/DraggableWindow/Public/DWTypes.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #include "DWTypes.h" -------------------------------------------------------------------------------- /Plugins/DraggableWindow/Source/DraggableWindow/Public/DWTypes.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "DWTypes.generated.h" 7 | 8 | USTRUCT(BlueprintType) 9 | struct FDWWWindowHandle 10 | { 11 | GENERATED_BODY() 12 | TWeakPtr Window; 13 | protected: 14 | uint32 Handle; 15 | public: 16 | FDWWWindowHandle() 17 | {}; 18 | FDWWWindowHandle(uint32 InHandle) 19 | : Handle(InHandle) 20 | { 21 | 22 | } 23 | 24 | ~FDWWWindowHandle() 25 | { 26 | Handle = 0; 27 | Window.Reset(); 28 | } 29 | 30 | static FDWWWindowHandle Make(TSharedPtr InWindow); 31 | 32 | friend uint32 GetTypeHash(const FDWWWindowHandle& InHandle) 33 | { 34 | return InHandle.Handle; 35 | } 36 | 37 | const bool operator==(const FDWWWindowHandle& InHandle) const 38 | { 39 | return Handle == InHandle.Handle; 40 | } 41 | }; -------------------------------------------------------------------------------- /Plugins/DraggableWindow/Source/DraggableWindow/Public/DraggableWindow.cpp: -------------------------------------------------------------------------------- 1 | // Copyright 1998-2017 Epic Games, Inc. All Rights Reserved. 2 | 3 | #include "DraggableWindow.h" 4 | #include "DWManager.h" 5 | #if WITH_EDITORONLY_DATA 6 | #include "Editor.H" 7 | #endif 8 | #define LOCTEXT_NAMESPACE "FDraggableWindowModule" 9 | 10 | void FDraggableWindowModule::StartupModule() 11 | { 12 | // This code will execute after your module is loaded into memory; the exact timing is specified in the .uplugin file per-module 13 | 14 | #if WITH_EDITORONLY_DATA 15 | FEditorDelegates::EndPIE.AddRaw(this, &FDraggableWindowModule::HandlePIEEnd); 16 | #endif //WITH_EDITORONLY_DATA 17 | 18 | } 19 | 20 | void FDraggableWindowModule::ShutdownModule() 21 | { 22 | // This function may be called during shutdown to clean up your module. For modules that support dynamic reloading, 23 | // we call this function before unloading the module. 24 | } 25 | #if WITH_EDITORONLY_DATA 26 | void FDraggableWindowModule::HandlePIEEnd(bool InVal) 27 | { 28 | FDWManager::PIEDestroy(); 29 | } 30 | #endif 31 | #undef LOCTEXT_NAMESPACE 32 | 33 | IMPLEMENT_MODULE(FDraggableWindowModule, DraggableWindow) -------------------------------------------------------------------------------- /Plugins/DraggableWindow/Source/DraggableWindow/Public/DraggableWindow.h: -------------------------------------------------------------------------------- 1 | // Copyright 1998-2017 Epic Games, Inc. All Rights Reserved. 2 | 3 | #pragma once 4 | 5 | #include "Engine.h" 6 | #include "CoreMinimal.h" 7 | #include "ModuleManager.h" 8 | 9 | 10 | 11 | class FDraggableWindowModule : public IModuleInterface 12 | { 13 | public: 14 | 15 | /** IModuleInterface implementation */ 16 | virtual void StartupModule() override; 17 | virtual void ShutdownModule() override; 18 | #if WITH_EDITORONLY_DATA 19 | void HandlePIEEnd(bool InVal); 20 | #endif 21 | }; -------------------------------------------------------------------------------- /Plugins/InventoryFramework/InventoryFramework.uplugin: -------------------------------------------------------------------------------- 1 | { 2 | "FileVersion": 3, 3 | "Version": 1, 4 | "VersionName": "1.0", 5 | "FriendlyName": "InventoryFramework", 6 | "Description": "", 7 | "Category": "Gameplay", 8 | "CreatedBy": "", 9 | "CreatedByURL": "", 10 | "DocsURL": "", 11 | "MarketplaceURL": "", 12 | "SupportURL": "", 13 | "CanContainContent": true, 14 | "IsBetaVersion": true, 15 | "Installed": false, 16 | "Modules": [ 17 | { 18 | "Name": "InventoryFramework", 19 | "Type": "Runtime", 20 | "LoadingPhase": "Default" 21 | } 22 | ], 23 | "Plugins": [ 24 | { 25 | "Name": "JsonUObject", 26 | "Enabled": true 27 | } 28 | ] 29 | } -------------------------------------------------------------------------------- /Plugins/InventoryFramework/Source/InventoryFramework/Private/IFInventoryInterface.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #include "IFInventoryInterface.h" 4 | 5 | 6 | // Add default functionality here for any IIFInventoryInterface functions that are not pure virtual. 7 | -------------------------------------------------------------------------------- /Plugins/InventoryFramework/Source/InventoryFramework/Private/IFItemActorBase.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #include "IFItemActorBase.h" 4 | #include "IFInventoryComponent.h" 5 | 6 | // Sets default values 7 | AIFItemActorBase::AIFItemActorBase() 8 | { 9 | // Set this actor to call Tick() every frame. You can turn this off to improve performance if you don't need it. 10 | PrimaryActorTick.bCanEverTick = true; 11 | bReplicates = true; 12 | } 13 | 14 | // Called when the game starts or when spawned 15 | void AIFItemActorBase::BeginPlay() 16 | { 17 | Super::BeginPlay(); 18 | 19 | } 20 | 21 | // Called every frame 22 | void AIFItemActorBase::Tick(float DeltaTime) 23 | { 24 | Super::Tick(DeltaTime); 25 | 26 | } 27 | 28 | TArray> AIFItemActorBase::GetAllItems() 29 | { 30 | Destroy(); 31 | return Items; 32 | } 33 | 34 | void AIFItemActorBase::GiveAllItemsToInstigator(class UIFInventoryComponent* Inventory) 35 | { 36 | Inventory->AddAllItemsFromActor(this); 37 | } 38 | void AIFItemActorBase::BP_GiveAllItemsToInstigator(class UIFInventoryComponent* Inventory) 39 | { 40 | GiveAllItemsToInstigator(Inventory); 41 | } -------------------------------------------------------------------------------- /Plugins/InventoryFramework/Source/InventoryFramework/Private/IFItemBase.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #include "IFItemBase.h" 4 | 5 | #include "Engine/NetDriver.h" 6 | #include "GameFramework/Actor.h" 7 | #include "IFInventoryComponent.h" 8 | 9 | bool UIFItemBase::CallRemoteFunction(UFunction* Function, void* Parameters, FOutParmRec* OutParms, FFrame* Stack) 10 | { 11 | check(!HasAnyFlags(RF_ClassDefaultObject)); 12 | check(GetOuter() != NULL); 13 | 14 | UIFInventoryComponent* Owner = CastChecked(GetOuter()); 15 | UNetDriver* NetDriver = Owner->GetOwner()->GetNetDriver(); 16 | if (NetDriver) 17 | { 18 | NetDriver->ProcessRemoteFunction(Owner->GetOwner(), Function, Parameters, OutParms, Stack, this); 19 | return true; 20 | } 21 | 22 | return false; 23 | } 24 | 25 | -------------------------------------------------------------------------------- /Plugins/InventoryFramework/Source/InventoryFramework/Private/InventoryFramework.cpp: -------------------------------------------------------------------------------- 1 | // Copyright 1998-2017 Epic Games, Inc. All Rights Reserved. 2 | 3 | #include "InventoryFramework.h" 4 | 5 | 6 | 7 | #define LOCTEXT_NAMESPACE "FInventoryFrameworkModule" 8 | 9 | void FInventoryFrameworkModule::StartupModule() 10 | { 11 | // This code will execute after your module is loaded into memory; the exact timing is specified in the .uplugin file per-module 12 | } 13 | 14 | void FInventoryFrameworkModule::ShutdownModule() 15 | { 16 | // This function may be called during shutdown to clean up your module. For modules that support dynamic reloading, 17 | // we call this function before unloading the module. 18 | } 19 | 20 | #undef LOCTEXT_NAMESPACE 21 | 22 | IMPLEMENT_MODULE(FInventoryFrameworkModule, InventoryFramework) -------------------------------------------------------------------------------- /Plugins/InventoryFramework/Source/InventoryFramework/Public/IFInventoryInterface.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "UObject/Interface.h" 7 | #include "IFInventoryInterface.generated.h" 8 | 9 | // This class does not need to be modified. 10 | UINTERFACE(MinimalAPI) 11 | class UIFInventoryInterface : public UInterface 12 | { 13 | GENERATED_BODY() 14 | }; 15 | 16 | /** 17 | * 18 | */ 19 | class INVENTORYFRAMEWORK_API IIFInventoryInterface 20 | { 21 | GENERATED_BODY() 22 | 23 | // Add interface functions to this class. This is the class that will be inherited to implement this interface. 24 | public: 25 | 26 | virtual void OnInventoryReplicated(class UIFInventoryComponent* Inventory) = 0; 27 | }; 28 | -------------------------------------------------------------------------------- /Plugins/InventoryFramework/Source/InventoryFramework/Public/InventoryFramework.h: -------------------------------------------------------------------------------- 1 | // Copyright 1998-2017 Epic Games, Inc. All Rights Reserved. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "ModuleManager.h" 7 | 8 | class FInventoryFrameworkModule : public IModuleInterface 9 | { 10 | public: 11 | 12 | /** IModuleInterface implementation */ 13 | virtual void StartupModule() override; 14 | virtual void ShutdownModule() override; 15 | }; -------------------------------------------------------------------------------- /Plugins/InventoryFrameworkUI/InventoryFrameworkUI.uplugin: -------------------------------------------------------------------------------- 1 | { 2 | "FileVersion": 3, 3 | "Version": 1, 4 | "VersionName": "1.0", 5 | "FriendlyName": "InventoryFrameworkUI", 6 | "Description": "", 7 | "Category": "Other", 8 | "CreatedBy": "", 9 | "CreatedByURL": "", 10 | "DocsURL": "", 11 | "MarketplaceURL": "", 12 | "SupportURL": "", 13 | "CanContainContent": true, 14 | "IsBetaVersion": false, 15 | "Installed": false, 16 | "Modules": [ 17 | { 18 | "Name": "InventoryFrameworkUI", 19 | "Type": "Runtime", 20 | "LoadingPhase": "Default" 21 | } 22 | ], 23 | "Plugins": [ 24 | { 25 | "Name": "InventoryFramework", 26 | "Enabled": true 27 | } 28 | ] 29 | } -------------------------------------------------------------------------------- /Plugins/InventoryFrameworkUI/Source/InventoryFrameworkUI/Private/IFItemContainerWidget.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #include "IFItemContainerWidget.h" 4 | #include "IFInventoryComponent.h" 5 | #include "IFItemWidget.h" 6 | 7 | void UIFItemContainerWidget::SetInventory(UIFInventoryComponent* InInventory) 8 | { 9 | Inventory = InInventory; 10 | } 11 | 12 | void UIFItemContainerWidget::CreateInventory() 13 | { 14 | NativeOnInventoryCreated(); 15 | } 16 | 17 | void UIFItemContainerWidget::NativeOnInventoryCreated() 18 | { 19 | BP_OnInventoryCreated(); 20 | } -------------------------------------------------------------------------------- /Plugins/InventoryFrameworkUI/Source/InventoryFrameworkUI/Private/IFItemWidget.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #include "IFItemWidget.h" 4 | #include "Blueprint/WidgetBlueprintLibrary.h" 5 | 6 | #include "IFInventoryComponent.h" 7 | 8 | void UIFItemWidget::OnSlotCreated(uint8 InNetIndex, uint8 InLocalIndex, class UIFItemBase* Item) 9 | { 10 | NetIndex = InNetIndex; 11 | LocalIndex = InLocalIndex; 12 | BP_OnItemCreated(Item); 13 | } 14 | 15 | void UIFItemWidget::OnItemChanged(uint8 InNetIndex, uint8 InLocalIndex, class UIFItemBase* Item) 16 | { 17 | BP_OnItemChanged(const_cast(Item)); 18 | } 19 | 20 | void UIFItemWidget::OnItemRemoved(uint8 InNetIndex, uint8 InLocalIndex, class UIFItemBase* Item) 21 | { 22 | BP_OnItemRemoved(const_cast(Item)); 23 | } -------------------------------------------------------------------------------- /Plugins/InventoryFrameworkUI/Source/InventoryFrameworkUI/Private/InventoryFrameworkUI.cpp: -------------------------------------------------------------------------------- 1 | // Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. 2 | 3 | #include "InventoryFrameworkUI.h" 4 | 5 | #define LOCTEXT_NAMESPACE "FInventoryFrameworkUIModule" 6 | 7 | void FInventoryFrameworkUIModule::StartupModule() 8 | { 9 | // This code will execute after your module is loaded into memory; the exact timing is specified in the .uplugin file per-module 10 | } 11 | 12 | void FInventoryFrameworkUIModule::ShutdownModule() 13 | { 14 | // This function may be called during shutdown to clean up your module. For modules that support dynamic reloading, 15 | // we call this function before unloading the module. 16 | } 17 | 18 | #undef LOCTEXT_NAMESPACE 19 | 20 | IMPLEMENT_MODULE(FInventoryFrameworkUIModule, InventoryFrameworkUI) -------------------------------------------------------------------------------- /Plugins/InventoryFrameworkUI/Source/InventoryFrameworkUI/Public/IFItemContainerWidget.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "Blueprint/UserWidget.h" 7 | #include "IFItemContainerWidget.generated.h" 8 | 9 | /** 10 | * 11 | */ 12 | UCLASS() 13 | class INVENTORYFRAMEWORKUI_API UIFItemContainerWidget : public UUserWidget 14 | { 15 | GENERATED_BODY() 16 | protected: 17 | TWeakObjectPtr Inventory; 18 | 19 | UPROPERTY(BlueprintReadOnly, Category = "InventoryFramework") 20 | TArray InventoryWidgets; 21 | 22 | UPROPERTY(EditAnywhere, CAtegory = "Widgets") 23 | TSubclassOf ItemClass; 24 | 25 | public: 26 | void SetInventory(UIFInventoryComponent* InInventory); 27 | 28 | void CreateInventory(); 29 | 30 | /* 31 | Called after all widgets in InvetoryWidgets array has been created. 32 | */ 33 | virtual void NativeOnInventoryCreated(); 34 | 35 | UFUNCTION(BlueprintImplementableEvent, meta = (DisplayName = "On Inventory Created")) 36 | void BP_OnInventoryCreated(); 37 | }; 38 | -------------------------------------------------------------------------------- /Plugins/InventoryFrameworkUI/Source/InventoryFrameworkUI/Public/InventoryFrameworkUI.h: -------------------------------------------------------------------------------- 1 | // Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "Modules/ModuleManager.h" 7 | 8 | class FInventoryFrameworkUIModule : public IModuleInterface 9 | { 10 | public: 11 | 12 | /** IModuleInterface implementation */ 13 | virtual void StartupModule() override; 14 | virtual void ShutdownModule() override; 15 | }; 16 | -------------------------------------------------------------------------------- /Plugins/JsonUObject/JsonUObject.uplugin: -------------------------------------------------------------------------------- 1 | { 2 | "FileVersion": 3, 3 | "Version": 1, 4 | "VersionName": "1.0", 5 | "FriendlyName": "JsonUObject", 6 | "Description": "Serialize UObject to Json.", 7 | "Category": "Other", 8 | "CreatedBy": "", 9 | "CreatedByURL": "", 10 | "DocsURL": "", 11 | "MarketplaceURL": "", 12 | "SupportURL": "", 13 | "CanContainContent": true, 14 | "IsBetaVersion": false, 15 | "Installed": false, 16 | "Modules": [ 17 | { 18 | "Name": "JsonUObject", 19 | "Type": "Runtime", 20 | "LoadingPhase": "Default" 21 | } 22 | ] 23 | } -------------------------------------------------------------------------------- /Plugins/JsonUObject/Source/JsonUObject/Private/JsonUODeserialize.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #include "JsonUODeserialize.h" 4 | 5 | JsonUODeserialize::JsonUODeserialize() 6 | { 7 | } 8 | 9 | JsonUODeserialize::~JsonUODeserialize() 10 | { 11 | } 12 | -------------------------------------------------------------------------------- /Plugins/JsonUObject/Source/JsonUObject/Private/JsonUObject.cpp: -------------------------------------------------------------------------------- 1 | // Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. 2 | 3 | #include "JsonUObject.h" 4 | 5 | #define LOCTEXT_NAMESPACE "FJsonUObjectModule" 6 | 7 | void FJsonUObjectModule::StartupModule() 8 | { 9 | // This code will execute after your module is loaded into memory; the exact timing is specified in the .uplugin file per-module 10 | } 11 | 12 | void FJsonUObjectModule::ShutdownModule() 13 | { 14 | // This function may be called during shutdown to clean up your module. For modules that support dynamic reloading, 15 | // we call this function before unloading the module. 16 | } 17 | 18 | #undef LOCTEXT_NAMESPACE 19 | 20 | IMPLEMENT_MODULE(FJsonUObjectModule, JsonUObject) -------------------------------------------------------------------------------- /Plugins/JsonUObject/Source/JsonUObject/Public/JsonUODeserialize.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | 7 | /** 8 | * 9 | */ 10 | class JSONUOBJECT_API JsonUODeserialize 11 | { 12 | public: 13 | JsonUODeserialize(); 14 | ~JsonUODeserialize(); 15 | }; 16 | -------------------------------------------------------------------------------- /Plugins/JsonUObject/Source/JsonUObject/Public/JsonUOSerialize.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | 7 | #include "Json.h" 8 | #include "Policies/CondensedJsonPrintPolicy.h" 9 | #include "Serialization/JsonTypes.h" 10 | #include "Serialization/JsonReader.h" 11 | #include "Policies/PrettyJsonPrintPolicy.h" 12 | #include "Serialization/JsonSerializer.h" 13 | 14 | /** 15 | * 16 | */ 17 | class JSONUOBJECT_API FJsonUOSerialize 18 | { 19 | public: 20 | static bool UObjectToJsonObject(const UStruct* StructDefinition, const void* Struct, TSharedRef OutJsonObject); 21 | private: 22 | static TSharedPtr ConvertScalarUPropertyToJsonValue(UProperty* Property, const void* Value); 23 | static TSharedPtr UPropertyToJsonValue(UProperty* Property, const void* Value); 24 | static bool UStructToJsonAttributes(const UStruct* StructDefinition, const void* Struct, TMap< FString, TSharedPtr >& OutJsonAttributes); 25 | }; 26 | -------------------------------------------------------------------------------- /Plugins/JsonUObject/Source/JsonUObject/Public/JsonUObject.h: -------------------------------------------------------------------------------- 1 | // Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "Modules/ModuleManager.h" 7 | 8 | class FJsonUObjectModule : public IModuleInterface 9 | { 10 | public: 11 | 12 | /** IModuleInterface implementation */ 13 | virtual void StartupModule() override; 14 | virtual void ShutdownModule() override; 15 | }; 16 | -------------------------------------------------------------------------------- /Plugins/OrionAnimation/OrionAnimation.uplugin: -------------------------------------------------------------------------------- 1 | { 2 | "FileVersion": 3, 3 | "Version": 1, 4 | "VersionName": "1.0", 5 | "FriendlyName": "OrionAnimation", 6 | "Description": "", 7 | "Category": "Other", 8 | "CreatedBy": "", 9 | "CreatedByURL": "", 10 | "DocsURL": "", 11 | "MarketplaceURL": "", 12 | "SupportURL": "", 13 | "CanContainContent": true, 14 | "IsBetaVersion": false, 15 | "Installed": false, 16 | "Modules": [ 17 | { 18 | "Name": "OrionAnimation", 19 | "Type": "Runtime", 20 | "LoadingPhase": "PreDefault" 21 | }, 22 | { 23 | "Name": "OrionAnimationEditor", 24 | "Type": "Editor", 25 | "LoadingPhase": "PreDefault", 26 | "WhitelistPlatforms": [ 27 | "Win64" 28 | ] 29 | } 30 | ] 31 | } -------------------------------------------------------------------------------- /Plugins/OrionAnimation/Source/OrionAnimation/Public/OrionAnimComponent.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "Components/ActorComponent.h" 7 | 8 | #include "OrionTypes.h" 9 | 10 | #include "OrionAnimComponent.generated.h" 11 | 12 | 13 | UCLASS( ClassGroup=(Custom), meta=(BlueprintSpawnableComponent) ) 14 | class ORIONANIMATION_API UOrionAnimComponent : public UActorComponent 15 | { 16 | GENERATED_BODY() 17 | protected: 18 | EOrionCardinalDirection CardinalDirection; 19 | 20 | UPROPERTY() 21 | class ACharacter* CharacterOwner; 22 | 23 | public: 24 | // Sets default values for this component's properties 25 | UOrionAnimComponent(); 26 | 27 | protected: 28 | // Called when the game starts 29 | virtual void BeginPlay() override; 30 | 31 | public: 32 | // Called every frame 33 | virtual void TickComponent(float DeltaTime, ELevelTick TickType, FActorComponentTickFunction* ThisTickFunction) override; 34 | 35 | void InitializeAnim(ACharacter* InCharacter); 36 | 37 | void CalculateCardinalDirection(); 38 | }; 39 | -------------------------------------------------------------------------------- /Plugins/OrionAnimation/Source/OrionAnimation/Public/OrionAnimation.h: -------------------------------------------------------------------------------- 1 | // Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "Modules/ModuleManager.h" 7 | 8 | class FOrionAnimationModule : public IModuleInterface 9 | { 10 | public: 11 | 12 | /** IModuleInterface implementation */ 13 | virtual void StartupModule() override; 14 | virtual void ShutdownModule() override; 15 | }; 16 | -------------------------------------------------------------------------------- /Plugins/OrionAnimation/Source/OrionAnimation/Public/OrionInterface.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "UObject/Interface.h" 7 | #include "OrionInterface.generated.h" 8 | 9 | enum class EFCardinalDirection : uint8 10 | { 11 | N = 0, 12 | E = 1, 13 | S = 2, 14 | W = 3 15 | }; 16 | 17 | // This class does not need to be modified. 18 | UINTERFACE(MinimalAPI) 19 | class UOrionInterface : public UInterface 20 | { 21 | GENERATED_BODY() 22 | }; 23 | 24 | /** 25 | * 26 | */ 27 | class ORIONANIMATION_API IOrionInterface 28 | { 29 | GENERATED_BODY() 30 | 31 | // Add interface functions to this class. This is the class that will be inherited to implement this interface. 32 | public: 33 | 34 | virtual float GetAnimOrient() { return 0; } 35 | 36 | virtual float GetAnimOrientN() { return 0; } 37 | virtual float GetAnimOrientE() { return 0; } 38 | virtual float GetAnimOrientS() { return 0; } 39 | virtual float GetAnimOrientW() { return 0; } 40 | 41 | virtual EFCardinalDirection GetCardianlDirection() { return EFCardinalDirection::N; } 42 | }; 43 | -------------------------------------------------------------------------------- /Plugins/OrionAnimation/Source/OrionAnimationEditor/Private/OrionAnimationEditor.cpp: -------------------------------------------------------------------------------- 1 | // Copyright 2018 Sean Chen. All Rights Reserved. 2 | 3 | #include "OrionAnimationEditor.h" 4 | 5 | #define LOCTEXT_NAMESPACE "OrionAnimationEditorModule" 6 | 7 | void FOrionAnimationEditorModule::StartupModule() 8 | { 9 | // This code will execute after your module is loaded into memory; the exact timing is specified in the .uplugin file per-module 10 | } 11 | 12 | void FOrionAnimationEditorModule::ShutdownModule() 13 | { 14 | // This function may be called during shutdown to clean up your module. For modules that support dynamic reloading, 15 | // we call this function before unloading the module. 16 | } 17 | 18 | #undef LOCTEXT_NAMESPACE 19 | 20 | IMPLEMENT_MODULE(FOrionAnimationEditorModule, OrionAnimationEditor) -------------------------------------------------------------------------------- /Plugins/OrionAnimation/Source/OrionAnimationEditor/Public/OrionAnimationEditor.h: -------------------------------------------------------------------------------- 1 | // Copyright 2018 Sean Chen. All Rights Reserved. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "ModuleManager.h" 7 | 8 | class FOrionAnimationEditorModule : public IModuleInterface 9 | { 10 | public: 11 | 12 | /** IModuleInterface implementation */ 13 | virtual void StartupModule() override; 14 | virtual void ShutdownModule() override; 15 | }; -------------------------------------------------------------------------------- /Plugins/SpectrAI/Source/SpectrAI/Public/SpectrAI.cpp: -------------------------------------------------------------------------------- 1 | // Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. 2 | 3 | #include "SpectrAI.h" 4 | 5 | #define LOCTEXT_NAMESPACE "FSpectrAIModule" 6 | 7 | void FSpectrAIModule::StartupModule() 8 | { 9 | // This code will execute after your module is loaded into memory; the exact timing is specified in the .uplugin file per-module 10 | } 11 | 12 | void FSpectrAIModule::ShutdownModule() 13 | { 14 | // This function may be called during shutdown to clean up your module. For modules that support dynamic reloading, 15 | // we call this function before unloading the module. 16 | } 17 | 18 | #undef LOCTEXT_NAMESPACE 19 | 20 | IMPLEMENT_MODULE(FSpectrAIModule, SpectrAI) -------------------------------------------------------------------------------- /Plugins/SpectrAI/Source/SpectrAI/Public/SpectrAI.h: -------------------------------------------------------------------------------- 1 | // Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "ModuleManager.h" 7 | 8 | class FSpectrAIModule : public IModuleInterface 9 | { 10 | public: 11 | 12 | /** IModuleInterface implementation */ 13 | virtual void StartupModule() override; 14 | virtual void ShutdownModule() override; 15 | }; -------------------------------------------------------------------------------- /Plugins/SpectrAI/Source/SpectrAI/Public/SpectrAIController.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #include "SpectrAIController.h" 4 | #include "SpectrBrainComponent.h" 5 | 6 | 7 | ASpectrAIController::ASpectrAIController(const FObjectInitializer& ObjectInitializer) 8 | : Super(ObjectInitializer) 9 | { 10 | SpectrBrain = ObjectInitializer.CreateDefaultSubobject(this, TEXT("SpectrBrain")); 11 | AIPerception = ObjectInitializer.CreateDefaultSubobject(this, TEXT("AIPerception")); 12 | } -------------------------------------------------------------------------------- /Plugins/SpectrAI/Source/SpectrAI/Public/SpectrConsideration.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #include "SpectrConsideration.h" 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Plugins/SpectrAI/Source/SpectrAI/Public/SpectrConsideration.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "UObject/NoExportTypes.h" 7 | #include "SpectrConsideration.generated.h" 8 | 9 | /** 10 | * 11 | */ 12 | UCLASS(BlueprintType, Blueprintable, EditInLineNew) 13 | class SPECTRAI_API USpectrConsideration : public UObject 14 | { 15 | GENERATED_BODY() 16 | 17 | public: 18 | virtual float Score() const { return 0; } 19 | 20 | }; 21 | -------------------------------------------------------------------------------- /Plugins/SpectrAI/Source/SpectrAI/Public/SpectrContext.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #include "SpectrContext.h" 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Plugins/SpectrAI/Source/SpectrAI/Public/SpectrContext.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "UObject/NoExportTypes.h" 7 | #include "SpectrContext.generated.h" 8 | 9 | /** 10 | * 11 | */ 12 | UCLASS(BlueprintType, Blueprintable) 13 | class SPECTRAI_API USpectrContext : public UObject 14 | { 15 | GENERATED_BODY() 16 | 17 | 18 | 19 | 20 | }; 21 | -------------------------------------------------------------------------------- /Plugins/SpectrAI/Source/SpectrAI/Public/SpectrEvaluator.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #include "SpectrEvaluator.h" 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Plugins/SpectrAI/Source/SpectrAI/Public/SpectrGoal.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #include "SpectrGoal.h" 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Plugins/SpectrAI/Source/SpectrAIEditor/Public/SpectrAIEditor.cpp: -------------------------------------------------------------------------------- 1 | // Copyright 1998-2017 Epic Games, Inc. All Rights Reserved. 2 | 3 | #include "SpectrAIEditor.h" 4 | 5 | #define LOCTEXT_NAMESPACE "FSpectrAIEditor" 6 | 7 | void FSpectrAIEditorModule::StartupModule() 8 | { 9 | // This code will execute after your module is loaded into memory; the exact timing is specified in the .uplugin file per-module 10 | } 11 | 12 | void FSpectrAIEditorModule::ShutdownModule() 13 | { 14 | // This function may be called during shutdown to clean up your module. For modules that support dynamic reloading, 15 | // we call this function before unloading the module. 16 | } 17 | 18 | #undef LOCTEXT_NAMESPACE 19 | 20 | IMPLEMENT_MODULE(FSpectrAIEditorModule, SpectrAIEditor) -------------------------------------------------------------------------------- /Plugins/SpectrAI/Source/SpectrAIEditor/Public/SpectrAIEditor.h: -------------------------------------------------------------------------------- 1 | // Copyright 1998-2017 Epic Games, Inc. All Rights Reserved. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "ModuleManager.h" 7 | 8 | class FSpectrAIEditorModule : public IModuleInterface 9 | { 10 | public: 11 | 12 | /** IModuleInterface implementation */ 13 | virtual void StartupModule() override; 14 | virtual void ShutdownModule() override; 15 | }; -------------------------------------------------------------------------------- /Plugins/SpectrAI/Source/SpectrAIEditor/Public/SpectrGoalCustomization.cpp: -------------------------------------------------------------------------------- 1 | // Copyright 1998-2017 Epic Games, Inc. All Rights Reserved. 2 | 3 | #include "SpectrGoalCustomization.h" 4 | 5 | TSharedRef FSpectrGoalCustomization::MakeInstance() 6 | { 7 | return MakeShareable(new FSpectrGoalCustomization()); 8 | } 9 | void FSpectrGoalCustomization::CustomizeDetails(IDetailLayoutBuilder& DetailLayout) 10 | { 11 | 12 | } -------------------------------------------------------------------------------- /Plugins/SpectrAI/Source/SpectrAIEditor/Public/SpectrGoalCustomization.h: -------------------------------------------------------------------------------- 1 | // Copyright 1998-2017 Epic Games, Inc. All Rights Reserved. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "SpectrGoal.h" 7 | 8 | #include "IDetailCustomization.h" 9 | #include "PropertyHandle.h" 10 | 11 | class FSpectrGoalCustomization : public IDetailCustomization 12 | { 13 | public: 14 | /** Makes a new instance of this detail layout class for a specific detail view requesting it */ 15 | static TSharedRef MakeInstance(); 16 | virtual void CustomizeDetails(IDetailLayoutBuilder& DetailLayout) override; 17 | }; -------------------------------------------------------------------------------- /Plugins/SpectrAI/SpectrAI.uplugin: -------------------------------------------------------------------------------- 1 | { 2 | "FileVersion": 3, 3 | "Version": 1, 4 | "VersionName": "1.0", 5 | "FriendlyName": "SpectrAI", 6 | "Description": "", 7 | "Category": "Other", 8 | "CreatedBy": "", 9 | "CreatedByURL": "", 10 | "DocsURL": "", 11 | "MarketplaceURL": "", 12 | "SupportURL": "", 13 | "CanContainContent": true, 14 | "IsBetaVersion": false, 15 | "Installed": false, 16 | "Modules": [ 17 | { 18 | "Name": "SpectrAI", 19 | "Type": "Runtime", 20 | "LoadingPhase": "Default" 21 | }, 22 | { 23 | "Name": "SpectrAIEditor", 24 | "Type": "Editor", 25 | "LoadingPhase": "Default" 26 | } 27 | ] 28 | } -------------------------------------------------------------------------------- /Plugins/SpectrAITest/Source/SpectrAITest/Public/STestAIControllerBase.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #include "STestAIControllerBase.h" 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Plugins/SpectrAITest/Source/SpectrAITest/Public/STestAIControllerBase.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "SpectrAIController.h" 7 | #include "STestAIControllerBase.generated.h" 8 | 9 | /** 10 | * 11 | */ 12 | UCLASS() 13 | class SPECTRAITEST_API ASTestAIControllerBase : public ASpectrAIController 14 | { 15 | GENERATED_BODY() 16 | 17 | 18 | 19 | 20 | }; 21 | -------------------------------------------------------------------------------- /Plugins/SpectrAITest/Source/SpectrAITest/Public/STestAction_ChopWood.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #include "STestAction_ChopWood.h" 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Plugins/SpectrAITest/Source/SpectrAITest/Public/STestAction_ChopWood.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "SpectrAction.h" 7 | #include "STestAction_ChopWood.generated.h" 8 | 9 | /** 10 | * 11 | */ 12 | UCLASS(BlueprintType, Blueprintable) 13 | class SPECTRAITEST_API USTestAction_ChopWood : public USpectrAction 14 | { 15 | GENERATED_BODY() 16 | 17 | 18 | 19 | 20 | }; 21 | -------------------------------------------------------------------------------- /Plugins/SpectrAITest/Source/SpectrAITest/Public/STestAction_CollectBranches.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #include "STestAction_CollectBranches.h" 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Plugins/SpectrAITest/Source/SpectrAITest/Public/STestAction_CollectBranches.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "SpectrAction.h" 7 | #include "STestAction_CollectBranches.generated.h" 8 | 9 | /** 10 | * 11 | */ 12 | UCLASS(BlueprintType, Blueprintable) 13 | class SPECTRAITEST_API USTestAction_CollectBranches : public USpectrAction 14 | { 15 | GENERATED_BODY() 16 | 17 | 18 | 19 | 20 | }; 21 | -------------------------------------------------------------------------------- /Plugins/SpectrAITest/Source/SpectrAITest/Public/STestAction_CollectOre.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #include "STestAction_CollectOre.h" 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Plugins/SpectrAITest/Source/SpectrAITest/Public/STestAction_CollectOre.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "SpectrAction.h" 7 | #include "STestAction_CollectOre.generated.h" 8 | 9 | /** 10 | * 11 | */ 12 | UCLASS(BlueprintType, Blueprintable) 13 | class SPECTRAITEST_API USTestAction_CollectOre : public USpectrAction 14 | { 15 | GENERATED_BODY() 16 | 17 | 18 | 19 | 20 | }; 21 | -------------------------------------------------------------------------------- /Plugins/SpectrAITest/Source/SpectrAITest/Public/STestAction_DropOre.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #include "STestAction_DropOre.h" 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Plugins/SpectrAITest/Source/SpectrAITest/Public/STestAction_DropOre.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "SpectrAction.h" 7 | #include "STestAction_DropOre.generated.h" 8 | 9 | /** 10 | * 11 | */ 12 | UCLASS(BlueprintType, Blueprintable) 13 | class SPECTRAITEST_API USTestAction_DropOre : public USpectrAction 14 | { 15 | GENERATED_BODY() 16 | 17 | 18 | 19 | 20 | }; 21 | -------------------------------------------------------------------------------- /Plugins/SpectrAITest/Source/SpectrAITest/Public/STestAction_DropWood.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #include "STestAction_DropWood.h" 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Plugins/SpectrAITest/Source/SpectrAITest/Public/STestAction_DropWood.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "SpectrAction.h" 7 | #include "STestAction_DropWood.generated.h" 8 | 9 | /** 10 | * 11 | */ 12 | UCLASS(BlueprintType, Blueprintable) 13 | class SPECTRAITEST_API USTestAction_DropWood : public USpectrAction 14 | { 15 | GENERATED_BODY() 16 | 17 | 18 | 19 | 20 | }; 21 | -------------------------------------------------------------------------------- /Plugins/SpectrAITest/Source/SpectrAITest/Public/STestAction_GoTo.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #include "STestAction_GoTo.h" 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Plugins/SpectrAITest/Source/SpectrAITest/Public/STestAction_GoTo.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "SpectrAction.h" 7 | #include "STestAction_GoTo.generated.h" 8 | 9 | /** 10 | * 11 | */ 12 | UCLASS() 13 | class SPECTRAITEST_API USTestAction_GoTo : public USpectrAction 14 | { 15 | GENERATED_BODY() 16 | 17 | 18 | 19 | 20 | }; 21 | -------------------------------------------------------------------------------- /Plugins/SpectrAITest/Source/SpectrAITest/Public/STestAction_MakeAxe.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #include "STestAction_MakeAxe.h" 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Plugins/SpectrAITest/Source/SpectrAITest/Public/STestAction_MakeAxe.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "SpectrAction.h" 7 | #include "STestAction_MakeAxe.generated.h" 8 | 9 | /** 10 | * 11 | */ 12 | UCLASS(BlueprintType, Blueprintable) 13 | class SPECTRAITEST_API USTestAction_MakeAxe : public USpectrAction 14 | { 15 | GENERATED_BODY() 16 | 17 | 18 | 19 | 20 | }; 21 | -------------------------------------------------------------------------------- /Plugins/SpectrAITest/Source/SpectrAITest/Public/STestAction_MakePick.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #include "STestAction_MakePick.h" 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Plugins/SpectrAITest/Source/SpectrAITest/Public/STestAction_MakePick.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "SpectrAction.h" 7 | #include "STestAction_MakePick.generated.h" 8 | 9 | /** 10 | * 11 | */ 12 | UCLASS(BlueprintType, Blueprintable) 13 | class SPECTRAITEST_API USTestAction_MakePick : public USpectrAction 14 | { 15 | GENERATED_BODY() 16 | 17 | 18 | 19 | 20 | }; 21 | -------------------------------------------------------------------------------- /Plugins/SpectrAITest/Source/SpectrAITest/Public/STestAction_MineOre.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #include "STestAction_MineOre.h" 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Plugins/SpectrAITest/Source/SpectrAITest/Public/STestAction_MineOre.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "SpectrAction.h" 7 | #include "STestAction_MineOre.generated.h" 8 | 9 | /** 10 | * 11 | */ 12 | UCLASS(BlueprintType, Blueprintable) 13 | class SPECTRAITEST_API USTestAction_MineOre : public USpectrAction 14 | { 15 | GENERATED_BODY() 16 | 17 | 18 | 19 | 20 | }; 21 | -------------------------------------------------------------------------------- /Plugins/SpectrAITest/Source/SpectrAITest/Public/STestAction_PickItemPick.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #include "STestAction_PickItemPick.h" 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Plugins/SpectrAITest/Source/SpectrAITest/Public/STestAction_PickItemPick.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "SpectrAction.h" 7 | #include "STestAction_PickItemPick.generated.h" 8 | 9 | /** 10 | * 11 | */ 12 | UCLASS(BlueprintType, Blueprintable) 13 | class SPECTRAITEST_API USTestAction_PickItemPick : public USpectrAction 14 | { 15 | GENERATED_BODY() 16 | 17 | 18 | 19 | 20 | }; 21 | -------------------------------------------------------------------------------- /Plugins/SpectrAITest/Source/SpectrAITest/Public/STestAxePickup.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #include "STestAxePickup.h" 4 | 5 | 6 | // Sets default values 7 | ASTestAxePickup::ASTestAxePickup() 8 | { 9 | // Set this actor to call Tick() every frame. You can turn this off to improve performance if you don't need it. 10 | PrimaryActorTick.bCanEverTick = true; 11 | 12 | } 13 | 14 | // Called when the game starts or when spawned 15 | void ASTestAxePickup::BeginPlay() 16 | { 17 | Super::BeginPlay(); 18 | 19 | } 20 | 21 | // Called every frame 22 | void ASTestAxePickup::Tick(float DeltaTime) 23 | { 24 | Super::Tick(DeltaTime); 25 | 26 | } 27 | 28 | -------------------------------------------------------------------------------- /Plugins/SpectrAITest/Source/SpectrAITest/Public/STestAxePickup.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "GameFramework/Actor.h" 7 | #include "STestAxePickup.generated.h" 8 | 9 | UCLASS() 10 | class SPECTRAITEST_API ASTestAxePickup : public AActor 11 | { 12 | GENERATED_BODY() 13 | 14 | public: 15 | // Sets default values for this actor's properties 16 | ASTestAxePickup(); 17 | 18 | protected: 19 | // Called when the game starts or when spawned 20 | virtual void BeginPlay() override; 21 | 22 | public: 23 | // Called every frame 24 | virtual void Tick(float DeltaTime) override; 25 | 26 | 27 | 28 | }; 29 | -------------------------------------------------------------------------------- /Plugins/SpectrAITest/Source/SpectrAITest/Public/STestBranch.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #include "STestBranch.h" 4 | 5 | 6 | // Sets default values 7 | ASTestBranch::ASTestBranch() 8 | { 9 | // Set this actor to call Tick() every frame. You can turn this off to improve performance if you don't need it. 10 | PrimaryActorTick.bCanEverTick = true; 11 | 12 | } 13 | 14 | // Called when the game starts or when spawned 15 | void ASTestBranch::BeginPlay() 16 | { 17 | Super::BeginPlay(); 18 | 19 | } 20 | 21 | // Called every frame 22 | void ASTestBranch::Tick(float DeltaTime) 23 | { 24 | Super::Tick(DeltaTime); 25 | 26 | } 27 | 28 | -------------------------------------------------------------------------------- /Plugins/SpectrAITest/Source/SpectrAITest/Public/STestBranch.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "GameFramework/Actor.h" 7 | #include "STestBranch.generated.h" 8 | 9 | UCLASS() 10 | class SPECTRAITEST_API ASTestBranch : public AActor 11 | { 12 | GENERATED_BODY() 13 | 14 | public: 15 | // Sets default values for this actor's properties 16 | ASTestBranch(); 17 | 18 | protected: 19 | // Called when the game starts or when spawned 20 | virtual void BeginPlay() override; 21 | 22 | public: 23 | // Called every frame 24 | virtual void Tick(float DeltaTime) override; 25 | 26 | 27 | 28 | }; 29 | -------------------------------------------------------------------------------- /Plugins/SpectrAITest/Source/SpectrAITest/Public/STestForge.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #include "STestForge.h" 4 | 5 | 6 | // Sets default values 7 | ASTestForge::ASTestForge() 8 | { 9 | // Set this actor to call Tick() every frame. You can turn this off to improve performance if you don't need it. 10 | PrimaryActorTick.bCanEverTick = true; 11 | 12 | } 13 | 14 | // Called when the game starts or when spawned 15 | void ASTestForge::BeginPlay() 16 | { 17 | Super::BeginPlay(); 18 | 19 | } 20 | 21 | // Called every frame 22 | void ASTestForge::Tick(float DeltaTime) 23 | { 24 | Super::Tick(DeltaTime); 25 | 26 | } 27 | 28 | -------------------------------------------------------------------------------- /Plugins/SpectrAITest/Source/SpectrAITest/Public/STestForge.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "GameFramework/Actor.h" 7 | #include "STestForge.generated.h" 8 | 9 | UCLASS() 10 | class SPECTRAITEST_API ASTestForge : public AActor 11 | { 12 | GENERATED_BODY() 13 | 14 | public: 15 | // Sets default values for this actor's properties 16 | ASTestForge(); 17 | 18 | protected: 19 | // Called when the game starts or when spawned 20 | virtual void BeginPlay() override; 21 | 22 | public: 23 | // Called every frame 24 | virtual void Tick(float DeltaTime) override; 25 | 26 | 27 | 28 | }; 29 | -------------------------------------------------------------------------------- /Plugins/SpectrAITest/Source/SpectrAITest/Public/STestStorage.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #include "STestStorage.h" 4 | 5 | 6 | // Sets default values 7 | ASTestStorage::ASTestStorage() 8 | { 9 | // Set this actor to call Tick() every frame. You can turn this off to improve performance if you don't need it. 10 | PrimaryActorTick.bCanEverTick = true; 11 | 12 | } 13 | 14 | // Called when the game starts or when spawned 15 | void ASTestStorage::BeginPlay() 16 | { 17 | Super::BeginPlay(); 18 | 19 | } 20 | 21 | // Called every frame 22 | void ASTestStorage::Tick(float DeltaTime) 23 | { 24 | Super::Tick(DeltaTime); 25 | 26 | } 27 | 28 | -------------------------------------------------------------------------------- /Plugins/SpectrAITest/Source/SpectrAITest/Public/STestStorage.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "GameFramework/Actor.h" 7 | #include "STestStorage.generated.h" 8 | 9 | UCLASS() 10 | class SPECTRAITEST_API ASTestStorage : public AActor 11 | { 12 | GENERATED_BODY() 13 | 14 | public: 15 | // Sets default values for this actor's properties 16 | ASTestStorage(); 17 | 18 | protected: 19 | // Called when the game starts or when spawned 20 | virtual void BeginPlay() override; 21 | 22 | public: 23 | // Called every frame 24 | virtual void Tick(float DeltaTime) override; 25 | 26 | 27 | 28 | }; 29 | -------------------------------------------------------------------------------- /Plugins/SpectrAITest/Source/SpectrAITest/Public/STestTree.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #include "STestTree.h" 4 | 5 | 6 | // Sets default values 7 | ASTestTree::ASTestTree() 8 | { 9 | // Set this actor to call Tick() every frame. You can turn this off to improve performance if you don't need it. 10 | PrimaryActorTick.bCanEverTick = true; 11 | 12 | } 13 | 14 | // Called when the game starts or when spawned 15 | void ASTestTree::BeginPlay() 16 | { 17 | Super::BeginPlay(); 18 | 19 | } 20 | 21 | // Called every frame 22 | void ASTestTree::Tick(float DeltaTime) 23 | { 24 | Super::Tick(DeltaTime); 25 | 26 | } 27 | 28 | -------------------------------------------------------------------------------- /Plugins/SpectrAITest/Source/SpectrAITest/Public/STestTree.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "GameFramework/Actor.h" 7 | #include "STestTree.generated.h" 8 | 9 | UCLASS() 10 | class SPECTRAITEST_API ASTestTree : public AActor 11 | { 12 | GENERATED_BODY() 13 | 14 | public: 15 | // Sets default values for this actor's properties 16 | ASTestTree(); 17 | 18 | protected: 19 | // Called when the game starts or when spawned 20 | virtual void BeginPlay() override; 21 | 22 | public: 23 | // Called every frame 24 | virtual void Tick(float DeltaTime) override; 25 | 26 | 27 | 28 | }; 29 | -------------------------------------------------------------------------------- /Plugins/SpectrAITest/Source/SpectrAITest/Public/SpectrAITest.cpp: -------------------------------------------------------------------------------- 1 | // Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. 2 | 3 | #include "SpectrAITest.h" 4 | 5 | #define LOCTEXT_NAMESPACE "FSpectrAITestModule" 6 | 7 | void FSpectrAITestModule::StartupModule() 8 | { 9 | // This code will execute after your module is loaded into memory; the exact timing is specified in the .uplugin file per-module 10 | } 11 | 12 | void FSpectrAITestModule::ShutdownModule() 13 | { 14 | // This function may be called during shutdown to clean up your module. For modules that support dynamic reloading, 15 | // we call this function before unloading the module. 16 | } 17 | 18 | #undef LOCTEXT_NAMESPACE 19 | 20 | IMPLEMENT_MODULE(FSpectrAITestModule, SpectrAITest) -------------------------------------------------------------------------------- /Plugins/SpectrAITest/Source/SpectrAITest/Public/SpectrAITest.h: -------------------------------------------------------------------------------- 1 | // Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "Modules/ModuleManager.h" 7 | 8 | class FSpectrAITestModule : public IModuleInterface 9 | { 10 | public: 11 | 12 | /** IModuleInterface implementation */ 13 | virtual void StartupModule() override; 14 | virtual void ShutdownModule() override; 15 | }; 16 | -------------------------------------------------------------------------------- /Plugins/SpectrAITest/SpectrAITest.uplugin: -------------------------------------------------------------------------------- 1 | { 2 | "FileVersion": 3, 3 | "Version": 1, 4 | "VersionName": "1.0", 5 | "FriendlyName": "SpectrAITest", 6 | "Description": "", 7 | "Category": "Other", 8 | "CreatedBy": "", 9 | "CreatedByURL": "", 10 | "DocsURL": "", 11 | "MarketplaceURL": "", 12 | "SupportURL": "", 13 | "CanContainContent": true, 14 | "IsBetaVersion": false, 15 | "Installed": false, 16 | "Modules": [ 17 | { 18 | "Name": "SpectrAITest", 19 | "Type": "Developer", 20 | "LoadingPhase": "Default" 21 | } 22 | ], 23 | "Plugins": [ 24 | { 25 | "Name": "SpectrAI", 26 | "Enabled": true 27 | } 28 | ] 29 | } -------------------------------------------------------------------------------- /Plugins/TimeOfDay/Source/TimeOfDay/Private/TimeOfDay.cpp: -------------------------------------------------------------------------------- 1 | // Copyright 1998-2017 Epic Games, Inc. All Rights Reserved. 2 | 3 | #include "TimeOfDay.h" 4 | 5 | #define LOCTEXT_NAMESPACE "FTimeOfDayModule" 6 | 7 | void FTimeOfDayModule::StartupModule() 8 | { 9 | // This code will execute after your module is loaded into memory; the exact timing is specified in the .uplugin file per-module 10 | } 11 | 12 | void FTimeOfDayModule::ShutdownModule() 13 | { 14 | // This function may be called during shutdown to clean up your module. For modules that support dynamic reloading, 15 | // we call this function before unloading the module. 16 | } 17 | 18 | #undef LOCTEXT_NAMESPACE 19 | 20 | IMPLEMENT_MODULE(FTimeOfDayModule, TimeOfDay) -------------------------------------------------------------------------------- /Plugins/TimeOfDay/Source/TimeOfDay/Public/TimeOfDay.h: -------------------------------------------------------------------------------- 1 | // Copyright 1998-2017 Epic Games, Inc. All Rights Reserved. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "ModuleManager.h" 7 | 8 | class FTimeOfDayModule : public IModuleInterface 9 | { 10 | public: 11 | 12 | /** IModuleInterface implementation */ 13 | virtual void StartupModule() override; 14 | virtual void ShutdownModule() override; 15 | }; -------------------------------------------------------------------------------- /Plugins/TimeOfDay/Source/TimeOfDay/TimeOfDay.Build.cs: -------------------------------------------------------------------------------- 1 | // Copyright 1998-2017 Epic Games, Inc. All Rights Reserved. 2 | 3 | using UnrealBuildTool; 4 | 5 | public class TimeOfDay : ModuleRules 6 | { 7 | public TimeOfDay(ReadOnlyTargetRules Target) : base(Target) 8 | { 9 | PCHUsage = ModuleRules.PCHUsageMode.UseExplicitOrSharedPCHs; 10 | 11 | PrivateIncludePaths.AddRange( 12 | new string[] { 13 | "TimeOfDay/Private", 14 | // ... add other private include paths required here ... 15 | } 16 | ); 17 | 18 | 19 | PublicDependencyModuleNames.AddRange( 20 | new string[] 21 | { 22 | "Core", 23 | // ... add other public dependencies that you statically link with here ... 24 | } 25 | ); 26 | 27 | 28 | PrivateDependencyModuleNames.AddRange( 29 | new string[] 30 | { 31 | "CoreUObject", 32 | "Engine", 33 | "Slate", 34 | "SlateCore", 35 | // ... add private dependencies that you statically link with here ... 36 | } 37 | ); 38 | 39 | 40 | DynamicallyLoadedModuleNames.AddRange( 41 | new string[] 42 | { 43 | // ... add any modules that your module loads dynamically here ... 44 | } 45 | ); 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /Plugins/WeaponFramework/Source/WeaponFramework/Private/WeaponFramework.cpp: -------------------------------------------------------------------------------- 1 | // Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. 2 | 3 | #include "WeaponFramework.h" 4 | 5 | #define LOCTEXT_NAMESPACE "FWeaponFrameworkModule" 6 | 7 | void FWeaponFrameworkModule::StartupModule() 8 | { 9 | // This code will execute after your module is loaded into memory; the exact timing is specified in the .uplugin file per-module 10 | } 11 | 12 | void FWeaponFrameworkModule::ShutdownModule() 13 | { 14 | // This function may be called during shutdown to clean up your module. For modules that support dynamic reloading, 15 | // we call this function before unloading the module. 16 | } 17 | 18 | #undef LOCTEXT_NAMESPACE 19 | 20 | IMPLEMENT_MODULE(FWeaponFrameworkModule, WeaponFramework) -------------------------------------------------------------------------------- /Plugins/WeaponFramework/Source/WeaponFramework/Public/WeaponFramework.h: -------------------------------------------------------------------------------- 1 | // Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "Modules/ModuleManager.h" 7 | 8 | class FWeaponFrameworkModule : public IModuleInterface 9 | { 10 | public: 11 | 12 | /** IModuleInterface implementation */ 13 | virtual void StartupModule() override; 14 | virtual void ShutdownModule() override; 15 | }; 16 | -------------------------------------------------------------------------------- /Plugins/WorldArchitect/Source/WorldArchitectEditor/Public/LandscapeGraphEditor/WALandscapeGraphAssetEditorToolbar.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | #include "CoreMinimal.h" 5 | 6 | class FWALandscapeGraphAssetEditor; 7 | class FExtender; 8 | class FToolBarBuilder; 9 | 10 | class FWALandscapeGraphAssetEditorToolbar : public TSharedFromThis 11 | { 12 | public: 13 | FWALandscapeGraphAssetEditorToolbar(TSharedPtr InGenericGraphEditor) 14 | : GenericGraphEditor(InGenericGraphEditor) {} 15 | 16 | //void AddModesToolbar(TSharedPtr Extender); 17 | //void AddDebuggerToolbar(TSharedPtr Extender); 18 | void AddGenericGraphToolbar(TSharedPtr Extender); 19 | 20 | private: 21 | //void FillModesToolbar(FToolBarBuilder& ToolbarBuilder); 22 | //void FillDebuggerToolbar(FToolBarBuilder& ToolbarBuilder); 23 | void FillGenericGraphToolbar(FToolBarBuilder& ToolbarBuilder); 24 | 25 | protected: 26 | /** Pointer back to the blueprint editor tool that owns us */ 27 | TWeakPtr GenericGraphEditor; 28 | }; 29 | -------------------------------------------------------------------------------- /Plugins/WorldArchitect/Source/WorldArchitectEditor/Public/LandscapeGraphEditor/WALandscapeGraphEdGraph.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "WALandscapeGraphEdGraph.generated.h" 4 | 5 | UCLASS() 6 | class UWALandscapeGraphEdGraph : public UEdGraph 7 | { 8 | GENERATED_BODY() 9 | 10 | public: 11 | UWALandscapeGraphEdGraph(); 12 | virtual ~UWALandscapeGraphEdGraph(); 13 | 14 | virtual void RebuildGenericGraph(); 15 | 16 | #if WITH_EDITOR 17 | virtual void PostEditUndo() override; 18 | #endif 19 | }; 20 | -------------------------------------------------------------------------------- /Plugins/WorldArchitect/Source/WorldArchitectEditor/Public/LandscapeGraphEditor/WALandscapeGraphEdNode.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "EdGraph/EdGraphNode.h" 3 | #include "WALandscapeGraphEdNode.generated.h" 4 | 5 | UCLASS(MinimalAPI) 6 | class UWALandscapeGraphEdNode : public UEdGraphNode 7 | { 8 | GENERATED_BODY() 9 | 10 | public: 11 | UPROPERTY() 12 | UWALandscapeGraphEdNode* Output; 13 | 14 | UPROPERTY(VisibleAnywhere, instanced, Category = "GenericGraph") 15 | class UWALandscapeNode* GenericGraphNode; 16 | 17 | virtual void AllocateDefaultPins() override; 18 | virtual void NodeConnectionListChanged() override; 19 | 20 | class UWALandscapeGraphEdGraph* GetGenericGraphEdGraph(); 21 | 22 | virtual FText GetNodeTitle(ENodeTitleType::Type TitleType) const; 23 | 24 | void SetGenericGraphNode(UWALandscapeNode* InNode); 25 | 26 | virtual FText GetDescription() const; 27 | 28 | FLinearColor GetBackgroundColor() const; 29 | virtual void PinConnectionListChanged(UEdGraphPin* Pin) override; 30 | 31 | virtual void GenerateHeightMap(TArray& InOutMap); 32 | 33 | }; 34 | -------------------------------------------------------------------------------- /Plugins/WorldArchitect/Source/WorldArchitectEditor/Public/LandscapeGraphEditor/WALandscapeGraphEdNode_Multiply.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "LandscapeGraphEditor/WALandscapeGraphEdNode.h" 7 | #include "WALandscapeGraphEdNode_Multiply.generated.h" 8 | 9 | /** 10 | * 11 | */ 12 | UCLASS() 13 | class WORLDARCHITECTEDITOR_API UWALandscapeGraphEdNode_Multiply : public UWALandscapeGraphEdNode 14 | { 15 | GENERATED_BODY() 16 | public: 17 | UPROPERTY() 18 | UWALandscapeGraphEdNode* InputA; 19 | UPROPERTY() 20 | UWALandscapeGraphEdNode* InputB; 21 | public: 22 | virtual void AllocateDefaultPins() override; 23 | virtual void PinConnectionListChanged(UEdGraphPin* Pin) override; 24 | 25 | virtual void GenerateHeightMap(TArray& InOutMap) override; 26 | }; 27 | -------------------------------------------------------------------------------- /Plugins/WorldArchitect/Source/WorldArchitectEditor/Public/LandscapeGraphEditor/WALandscapeGraphEdNode_Output.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "LandscapeGraphEditor/WALandscapeGraphEdNode.h" 7 | #include "WALandscapeGraphEdNode_Output.generated.h" 8 | 9 | /** 10 | * 11 | */ 12 | UCLASS() 13 | class WORLDARCHITECTEDITOR_API UWALandscapeGraphEdNode_Output : public UWALandscapeGraphEdNode 14 | { 15 | GENERATED_BODY() 16 | public: 17 | UWALandscapeGraphEdNode* Input; 18 | public: 19 | virtual void AllocateDefaultPins() override; 20 | virtual void PinConnectionListChanged(UEdGraphPin* Pin) override; 21 | 22 | virtual void GenerateHeightMap(TArray& InOutMap) override; 23 | }; 24 | -------------------------------------------------------------------------------- /Plugins/WorldArchitect/Source/WorldArchitectEditor/Public/LandscapeGraphEditor/WALandscapeGraphEditorCommands.cpp: -------------------------------------------------------------------------------- 1 | 2 | #include "WALandscapeGraphEditorCommands.h" 3 | 4 | #define LOCTEXT_NAMESPACE "GenericGraphEditorCommands" 5 | 6 | void FWALandscapeGraphEditorCommands::RegisterCommands() 7 | { 8 | UI_COMMAND(GraphSettings, "Graph Settings", "Graph Settings", EUserInterfaceActionType::Button, FInputChord()); 9 | UI_COMMAND(GenerateLandscape, "Generate Landscape", "Generate Landscape", EUserInterfaceActionType::Button, FInputChord()); 10 | } 11 | 12 | #undef LOCTEXT_NAMESPACE 13 | -------------------------------------------------------------------------------- /Plugins/WorldArchitect/Source/WorldArchitectEditor/Public/LandscapeGraphEditor/WALandscapeGraphEditorCommands.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | class FWALandscapeGraphEditorCommands : public TCommands 4 | { 5 | public: 6 | /** Constructor */ 7 | FWALandscapeGraphEditorCommands() 8 | : TCommands("GenericGraphEditor", NSLOCTEXT("Contexts", "GenericGraphEditor", "Generic Graph Editor"), NAME_None, FEditorStyle::GetStyleSetName()) 9 | { 10 | } 11 | 12 | TSharedPtr GraphSettings; 13 | 14 | TSharedPtr GenerateLandscape; 15 | 16 | virtual void RegisterCommands() override; 17 | }; 18 | -------------------------------------------------------------------------------- /Plugins/WorldArchitect/Source/WorldArchitectEditor/Public/Runtime/WALandscapeGraph.cpp: -------------------------------------------------------------------------------- 1 | #include "WALandscapeGraph.h" 2 | 3 | #define LOCTEXT_NAMESPACE "GenericGraph" 4 | 5 | UWALandscapeGraph::UWALandscapeGraph() 6 | { 7 | NodeType = UWALandscapeNode::StaticClass(); 8 | 9 | #if WITH_EDITORONLY_DATA 10 | EdGraph = nullptr; 11 | #endif 12 | } 13 | 14 | UWALandscapeGraph::~UWALandscapeGraph() 15 | { 16 | 17 | } 18 | 19 | void UWALandscapeGraph::ClearGraph() 20 | { 21 | } 22 | void UWALandscapeGraph::GenerateLandscape() 23 | { 24 | 25 | } 26 | #undef LOCTEXT_NAMESPACE 27 | -------------------------------------------------------------------------------- /Plugins/WorldArchitect/Source/WorldArchitectEditor/Public/Runtime/WALandscapeNode.cpp: -------------------------------------------------------------------------------- 1 | #include "WALandscapeNode.h" 2 | #include "WALandscapeGraph.h" 3 | #define LOCTEXT_NAMESPACE "GenericGraphNode" 4 | 5 | UWALandscapeNode::UWALandscapeNode() 6 | { 7 | BackgroundColor = FLinearColor(0.0f, 0.0f, 0.0f, 1.0f); 8 | } 9 | 10 | UWALandscapeNode::~UWALandscapeNode() 11 | { 12 | 13 | } 14 | 15 | FString UWALandscapeNode::GetNodeTitle() 16 | { 17 | return CustomNodeTitle; 18 | } 19 | 20 | UWALandscapeGraph* UWALandscapeNode::GetGraph() 21 | { 22 | return Cast(GetOuter()); 23 | } 24 | 25 | TArray UWALandscapeNode::GenerateHeightmap() 26 | { 27 | TArray RetVal; 28 | return RetVal; 29 | } 30 | 31 | #undef LOCTEXT_NAMESPACE 32 | -------------------------------------------------------------------------------- /Plugins/WorldArchitect/Source/WorldArchitectEditor/Public/WALGEdNode_Combine.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #include "WALGEdNode_Combine.h" 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Plugins/WorldArchitect/Source/WorldArchitectEditor/Public/WALGEdNode_Combine.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "LandscapeGraphEditor/WALandscapeGraphEdNode.h" 7 | #include "WALGEdNode_Combine.generated.h" 8 | 9 | /** 10 | * 11 | */ 12 | UCLASS() 13 | class WORLDARCHITECTEDITOR_API UWALGEdNode_Combine : public UWALandscapeGraphEdNode 14 | { 15 | GENERATED_BODY() 16 | 17 | 18 | 19 | 20 | }; 21 | -------------------------------------------------------------------------------- /Plugins/WorldArchitect/Source/WorldArchitectEditor/Public/WALGEdNode_Start.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | #include "WALGEdNode_Start.h" 3 | #include "WALandscapeGraphEditorTypes.h" 4 | 5 | 6 | 7 | 8 | 9 | void UWALGEdNode_Start::AllocateDefaultPins() 10 | { 11 | CreatePin(EGPD_Output, UWALandscapeGraphEditorTypes::PinCategory_Start, TEXT("Start")); 12 | } -------------------------------------------------------------------------------- /Plugins/WorldArchitect/Source/WorldArchitectEditor/Public/WALGEdNode_Start.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "LandscapeGraphEditor/WALandscapeGraphEdNode.h" 7 | #include "WALGEdNode_Start.generated.h" 8 | 9 | /** 10 | * 11 | */ 12 | UCLASS() 13 | class WORLDARCHITECTEDITOR_API UWALGEdNode_Start : public UWALandscapeGraphEdNode 14 | { 15 | GENERATED_BODY() 16 | 17 | public: 18 | virtual void AllocateDefaultPins() override; 19 | 20 | 21 | }; 22 | -------------------------------------------------------------------------------- /Plugins/WorldArchitect/Source/WorldArchitectEditor/Public/WALandscapeGraphAssetTypeActions.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "AssetTypeActions_Base.h" 4 | 5 | class FWALandscapeGraphAssetTypeActions : public FAssetTypeActions_Base 6 | { 7 | public: 8 | FWALandscapeGraphAssetTypeActions(EAssetTypeCategories::Type InAssetCategory); 9 | 10 | virtual FText GetName() const override; 11 | virtual FColor GetTypeColor() const override; 12 | virtual UClass* GetSupportedClass() const override; 13 | virtual void OpenAssetEditor(const TArray& InObjects, TSharedPtr EditWithinLevelEditor = TSharedPtr()) override; 14 | virtual uint32 GetCategories() override; 15 | 16 | private: 17 | EAssetTypeCategories::Type MyAssetCategory; 18 | }; -------------------------------------------------------------------------------- /Plugins/WorldArchitect/Source/WorldArchitectEditor/Public/WALandscapeGraphEditorTypes.cpp: -------------------------------------------------------------------------------- 1 | #include "WALandscapeGraphEditorTypes.h" 2 | 3 | 4 | const FName UWALandscapeGraphEditorTypes::PinCategory_MultipleNodes("MultipleNodes"); 5 | const FName UWALandscapeGraphEditorTypes::PinCategory_SingleNode("HeightOutput"); 6 | const FName UWALandscapeGraphEditorTypes::PinCategory_MaskInput("MaskInput"); 7 | const FName UWALandscapeGraphEditorTypes::PinCategory_FinalInput("FinalInput"); 8 | 9 | const FName UWALandscapeGraphEditorTypes::PinCategory_InputA("InputA"); 10 | const FName UWALandscapeGraphEditorTypes::PinCategory_InputB("InputA"); 11 | const FName UWALandscapeGraphEditorTypes::PinCategory_LerpMask("LerpMask"); 12 | 13 | const FName UWALandscapeGraphEditorTypes::PinCategory_Output("Output"); 14 | const FName UWALandscapeGraphEditorTypes::PinCategory_Start("Start"); 15 | 16 | UWALandscapeGraphEditorTypes::UWALandscapeGraphEditorTypes(const FObjectInitializer& ObjectInitializer) : Super(ObjectInitializer) 17 | { 18 | } 19 | 20 | -------------------------------------------------------------------------------- /Plugins/WorldArchitect/Source/WorldArchitectEditor/Public/WALandscapeGraphEditorTypes.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "WALandscapeGraphEditorTypes.generated.h" 4 | 5 | UCLASS() 6 | class UWALandscapeGraphEditorTypes : public UObject 7 | { 8 | GENERATED_UCLASS_BODY() 9 | 10 | static const FName PinCategory_MultipleNodes; 11 | static const FName PinCategory_SingleNode; 12 | static const FName PinCategory_MaskInput; 13 | static const FName PinCategory_FinalInput; 14 | 15 | static const FName PinCategory_InputA; 16 | static const FName PinCategory_InputB; 17 | static const FName PinCategory_LerpMask; 18 | 19 | static const FName PinCategory_Output; 20 | static const FName PinCategory_Start; 21 | }; 22 | -------------------------------------------------------------------------------- /Plugins/WorldArchitect/Source/WorldArchitectEditor/Public/WALandscapeGraphFactory.cpp: -------------------------------------------------------------------------------- 1 | #include "WALandscapeGraphFactory.h" 2 | #include "WALandscapeGraph.h" 3 | #define LOCTEXT_NAMESPACE "GenericGraph" 4 | 5 | UWALandscapeGraphFactory::UWALandscapeGraphFactory() 6 | { 7 | bCreateNew = true; 8 | bEditAfterNew = true; 9 | SupportedClass = UWALandscapeGraph::StaticClass(); 10 | } 11 | 12 | UWALandscapeGraphFactory::~UWALandscapeGraphFactory() 13 | { 14 | 15 | } 16 | 17 | UObject* UWALandscapeGraphFactory::FactoryCreateNew(UClass* Class, UObject* InParent, FName Name, EObjectFlags Flags, UObject* Context, FFeedbackContext* Warn) 18 | { 19 | return NewObject(InParent, Class, Name, Flags | RF_Transactional); 20 | } 21 | 22 | #undef LOCTEXT_NAMESPACE 23 | -------------------------------------------------------------------------------- /Plugins/WorldArchitect/Source/WorldArchitectEditor/Public/WALandscapeGraphFactory.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "WALandscapeGraphFactory.generated.h" 4 | 5 | UCLASS() 6 | class WORLDARCHITECTEDITOR_API UWALandscapeGraphFactory : public UFactory 7 | { 8 | GENERATED_BODY() 9 | 10 | public: 11 | UWALandscapeGraphFactory(); 12 | virtual ~UWALandscapeGraphFactory(); 13 | 14 | virtual UObject* FactoryCreateNew(UClass* Class, UObject* InParent, FName Name, EObjectFlags Flags, UObject* Context, FFeedbackContext* Warn) override; 15 | }; 16 | -------------------------------------------------------------------------------- /Plugins/WorldArchitect/Source/WorldArchitectEditor/Public/WALandscapeNode_Multiply.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #include "WALandscapeNode_Multiply.h" 4 | 5 | 6 | 7 | TArray UWALandscapeNode_Multiply::GenerateHeightmap() 8 | { 9 | TArray OutputA; 10 | TArray OutputB; 11 | TArray RetVal; 12 | 13 | if (InputA && InputB) 14 | { 15 | OutputA = InputA->GenerateHeightmap(); 16 | 17 | OutputB = InputB->GenerateHeightmap(); 18 | 19 | 20 | RetVal.Init(0, OutputA.Num()); 21 | for (int32 Idx = 0; Idx < OutputA.Num(); Idx++) 22 | { 23 | RetVal[Idx] = OutputA[Idx] * OutputB[Idx]; 24 | } 25 | 26 | } 27 | return RetVal; 28 | } 29 | -------------------------------------------------------------------------------- /Plugins/WorldArchitect/Source/WorldArchitectEditor/Public/WALandscapeNode_Multiply.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "Runtime/WALandscapeNode.h" 7 | #include "WALandscapeNode_Multiply.generated.h" 8 | 9 | /** 10 | * 11 | */ 12 | UCLASS() 13 | class WORLDARCHITECTEDITOR_API UWALandscapeNode_Multiply : public UWALandscapeNode 14 | { 15 | GENERATED_BODY() 16 | protected: 17 | TArray InputACache; 18 | TArray InputBCache; 19 | public: 20 | UPROPERTY(BlueprintReadOnly, Category = "GenericGraphNode") 21 | UWALandscapeNode* InputA; 22 | UPROPERTY(BlueprintReadOnly, Category = "GenericGraphNode") 23 | UWALandscapeNode* InputB; 24 | UPROPERTY(BlueprintReadOnly, Category = "GenericGraphNode") 25 | UWALandscapeNode* Output; 26 | 27 | virtual TArray GenerateHeightmap() override; 28 | 29 | }; 30 | -------------------------------------------------------------------------------- /Plugins/WorldArchitect/Source/WorldArchitectEditor/Public/WALandscapeNode_Output.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #include "WALandscapeNode_Output.h" 4 | 5 | 6 | 7 | 8 | TArray UWALandscapeNode_Output::GenerateHeightmap() 9 | { 10 | TArray RetVal; 11 | if (Heightmap) 12 | { 13 | RetVal = Heightmap->GenerateHeightmap(); 14 | } 15 | return RetVal; 16 | } -------------------------------------------------------------------------------- /Plugins/WorldArchitect/Source/WorldArchitectEditor/Public/WALandscapeNode_Output.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "Runtime/WALandscapeNode.h" 7 | #include "WALandscapeNode_Output.generated.h" 8 | 9 | /** 10 | * 11 | */ 12 | UCLASS() 13 | class WORLDARCHITECTEDITOR_API UWALandscapeNode_Output : public UWALandscapeNode 14 | { 15 | GENERATED_BODY() 16 | public: 17 | TArray CachedHeightmap; 18 | 19 | UPROPERTY(BlueprintReadOnly, Category = "GenericGraphNode") 20 | UWALandscapeNode* Heightmap; 21 | 22 | public: 23 | virtual TArray GenerateHeightmap() override; 24 | }; 25 | -------------------------------------------------------------------------------- /Plugins/WorldArchitect/Source/WorldArchitectEditor/Public/WALandscapeNode_PerlinNoise.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #include "WALandscapeNode_PerlinNoise.h" 4 | 5 | 6 | 7 | TArray UWALandscapeNode_PerlinNoise::GenerateHeightmap() 8 | { 9 | TArray RetVal; 10 | if (bDirty) 11 | { 12 | return RetVal; 13 | } 14 | else 15 | { 16 | return CachedHeightmap; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /Plugins/WorldArchitect/Source/WorldArchitectEditor/Public/WorldArchitectEdMode.h: -------------------------------------------------------------------------------- 1 | // Copyright 1998-2017 Epic Games, Inc. All Rights Reserved. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "EdMode.h" 7 | 8 | class FWorldArchitectEdMode : public FEdMode 9 | { 10 | public: 11 | const static FEditorModeID EM_WorldArchitectEdModeId; 12 | public: 13 | FWorldArchitectEdMode(); 14 | virtual ~FWorldArchitectEdMode(); 15 | 16 | // FEdMode interface 17 | virtual void Enter() override; 18 | virtual void Exit() override; 19 | //virtual void Tick(FEditorViewportClient* ViewportClient, float DeltaTime) override; 20 | //virtual void Render(const FSceneView* View, FViewport* Viewport, FPrimitiveDrawInterface* PDI) override; 21 | //virtual void ActorSelectionChangeNotify() override; 22 | bool UsesToolkits() const override; 23 | // End of FEdMode interface 24 | }; 25 | -------------------------------------------------------------------------------- /Plugins/WorldArchitect/Source/WorldArchitectEditor/Public/WorldArchitectEditor.h: -------------------------------------------------------------------------------- 1 | // Copyright 1998-2017 Epic Games, Inc. All Rights Reserved. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "ModuleManager.h" 7 | #include "IAssetTools.h" 8 | 9 | class FWorldArchitectEditorModule : public IModuleInterface 10 | { 11 | TArray< TSharedPtr > CreatedAssetTypeActions; 12 | EAssetTypeCategories::Type GenericGraphAssetCategoryBit; 13 | public: 14 | void RegisterAssetTypeAction(IAssetTools& AssetTools, TSharedRef Action); 15 | /** IModuleInterface implementation */ 16 | virtual void StartupModule() override; 17 | virtual void ShutdownModule() override; 18 | }; -------------------------------------------------------------------------------- /Plugins/uFire/Source/uFire/Private/uFire.cpp: -------------------------------------------------------------------------------- 1 | // Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. 2 | 3 | #include "uFire.h" 4 | 5 | #define LOCTEXT_NAMESPACE "FuFireModule" 6 | 7 | void FuFireModule::StartupModule() 8 | { 9 | // This code will execute after your module is loaded into memory; the exact timing is specified in the .uplugin file per-module 10 | } 11 | 12 | void FuFireModule::ShutdownModule() 13 | { 14 | // This function may be called during shutdown to clean up your module. For modules that support dynamic reloading, 15 | // we call this function before unloading the module. 16 | } 17 | 18 | #undef LOCTEXT_NAMESPACE 19 | 20 | IMPLEMENT_MODULE(FuFireModule, uFire) -------------------------------------------------------------------------------- /Plugins/uFire/Source/uFire/Public/uFire.h: -------------------------------------------------------------------------------- 1 | // Copyright 1998-2018 Epic Games, Inc. All Rights Reserved. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "Modules/ModuleManager.h" 7 | 8 | class FuFireModule : public IModuleInterface 9 | { 10 | public: 11 | 12 | /** IModuleInterface implementation */ 13 | virtual void StartupModule() override; 14 | virtual void ShutdownModule() override; 15 | }; 16 | -------------------------------------------------------------------------------- /Plugins/uFire/uFire.uplugin: -------------------------------------------------------------------------------- 1 | { 2 | "FileVersion": 3, 3 | "Version": 1, 4 | "VersionName": "1.0", 5 | "FriendlyName": "uFire", 6 | "Description": "Firebase REST/gRPC API integration.", 7 | "Category": "Other", 8 | "CreatedBy": "Lukasz 'iniside' Baran", 9 | "CreatedByURL": "", 10 | "DocsURL": "", 11 | "MarketplaceURL": "", 12 | "SupportURL": "", 13 | "CanContainContent": true, 14 | "IsBetaVersion": false, 15 | "Installed": false, 16 | "Modules": [ 17 | { 18 | "Name": "uFire", 19 | "Type": "Developer", 20 | "LoadingPhase": "Default" 21 | } 22 | ] 23 | } -------------------------------------------------------------------------------- /Source/ActionRPGGame.Target.cs: -------------------------------------------------------------------------------- 1 | // Copyright 1998-2017 Epic Games, Inc. All Rights Reserved. 2 | 3 | using UnrealBuildTool; 4 | using System.Collections.Generic; 5 | 6 | public class ActionRPGGameTarget : TargetRules 7 | { 8 | public ActionRPGGameTarget(TargetInfo Target) : base(Target) 9 | { 10 | Type = TargetType.Game; 11 | ExtraModuleNames.Add("ActionRPGGame"); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /Source/ActionRPGGame/Private/AI/ARAIController.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #include "ARAIController.h" 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Source/ActionRPGGame/Private/ARCharacterMovementComponent.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #include "ARCharacterMovementComponent.h" 4 | 5 | 6 | -------------------------------------------------------------------------------- /Source/ActionRPGGame/Private/ARGameSession.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #include "ARGameSession.h" 4 | #include "ARGameInstance.h" 5 | #include "ARGameMode.h" 6 | #include "ARPlayerController.h" 7 | 8 | 9 | 10 | FString AARGameSession::ApproveLogin(const FString& Options) 11 | { 12 | FString Output = Super::ApproveLogin(Options); 13 | 14 | TArray OutParams; 15 | Options.ParseIntoArray(OutParams, TEXT("?")); 16 | 17 | TArray OutPlayerId; 18 | FString Left; 19 | FString PlayerId; 20 | for (FString& str : OutParams) 21 | { 22 | if (str.Split("PlayerId=", &Left, &PlayerId)) 23 | { 24 | break; 25 | } 26 | } 27 | 28 | return Output; 29 | } 30 | 31 | void AARGameSession::UnregisterPlayer(const APlayerController* ExitingPlayer) 32 | { 33 | Super::UnregisterPlayer(ExitingPlayer); 34 | } -------------------------------------------------------------------------------- /Source/ActionRPGGame/Private/ARGameStateBase.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #include "ARGameStateBase.h" 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Source/ActionRPGGame/Private/ARGlobals.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #include "ARGlobals.h" 4 | 5 | FARGlobals::FARGlobals() 6 | { 7 | } 8 | 9 | FARGlobals::~FARGlobals() 10 | { 11 | } 12 | -------------------------------------------------------------------------------- /Source/ActionRPGGame/Private/ARItemBase.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #include "ARItemBase.h" 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Source/ActionRPGGame/Private/ARItemPickupBase.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #include "ARItemPickupBase.h" 4 | #include "ARItemSpawnerBase.h" 5 | 6 | // Sets default values 7 | AARItemPickupBase::AARItemPickupBase() 8 | { 9 | // Set this actor to call Tick() every frame. You can turn this off to improve performance if you don't need it. 10 | PrimaryActorTick.bCanEverTick = true; 11 | bReplicates = true; 12 | 13 | } 14 | 15 | // Called when the game starts or when spawned 16 | void AARItemPickupBase::BeginPlay() 17 | { 18 | Super::BeginPlay(); 19 | 20 | } 21 | 22 | // Called every frame 23 | void AARItemPickupBase::Tick(float DeltaTime) 24 | { 25 | Super::Tick(DeltaTime); 26 | 27 | } 28 | 29 | void AARItemPickupBase::OnItemPicked() 30 | { 31 | SpawnedBy->OnItemPicked(); 32 | } -------------------------------------------------------------------------------- /Source/ActionRPGGame/Private/ARMenuPlayerController.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #include "ARMenuPlayerController.h" 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Source/ActionRPGGame/Private/ARPlayerStateBase.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #include "ARPlayerStateBase.h" 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Source/ActionRPGGame/Private/Abilities/ARAbilityBase.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #include "ARAbilityBase.h" 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Source/ActionRPGGame/Private/Abilities/ARAbilityUIData.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #include "ARAbilityUIData.h" 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Source/ActionRPGGame/Private/Abilities/ARAvailableAbilities.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #include "ARAvailableAbilities.h" 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Source/ActionRPGGame/Private/ActionRPGGame.cpp: -------------------------------------------------------------------------------- 1 | // Copyright 1998-2017 Epic Games, Inc. All Rights Reserved. 2 | 3 | #include "ActionRPGGame.h" 4 | #include "Modules/ModuleManager.h" 5 | 6 | #if ENABLE_GRPC 7 | #include "IGRPC.h" 8 | #include "grpc++/grpc++.h" 9 | #endif 10 | 11 | #if WITH_EDITOR 12 | #include "IAbilityFrameworkEditor.h" 13 | #endif 14 | void FActionRPGGameModule::StartupModule() 15 | { 16 | #if ENABLE_GRPC 17 | FModuleManager::Get().LoadModule(TEXT("GRPC")); 18 | grpc::string out = grpc::Version(); 19 | FString ver = FString(ANSI_TO_TCHAR(out.c_str())); 20 | UE_LOG(LogTemp, Warning, TEXT("ActionRPGGame GRPC Version: %s "), *ver); 21 | #endif 22 | 23 | #if WITH_EDITOR 24 | FModuleManager::Get().LoadModule(TEXT("AbilityFrameworkEditor")); 25 | //FModuleManager::LoadModuleChecked(TEXT("AbilityFrameworkEditor")); 26 | #endif //WITH_EDITOR 27 | }; 28 | IMPLEMENT_PRIMARY_GAME_MODULE(FActionRPGGameModule, ActionRPGGame, "ActionRPGGame"); 29 | -------------------------------------------------------------------------------- /Source/ActionRPGGame/Private/Attributes/ARAbilityAttributes.cpp: -------------------------------------------------------------------------------- 1 | #include "ARAbilityAttributes.h" 2 | 3 | 4 | void UARAbilityAttributes::GetLifetimeReplicatedProps(TArray< class FLifetimeProperty > & OutLifetimeProps) const 5 | { 6 | Super::GetLifetimeReplicatedProps(OutLifetimeProps); 7 | DOREPLIFETIME_CONDITION(UARAbilityAttributes, CastTime, COND_OwnerOnly); 8 | DOREPLIFETIME_CONDITION(UARAbilityAttributes, Cooldown, COND_OwnerOnly); 9 | DOREPLIFETIME_CONDITION(UARAbilityAttributes, BaseDamage, COND_OwnerOnly); 10 | } -------------------------------------------------------------------------------- /Source/ActionRPGGame/Private/Attributes/ARCharacterAttributes.cpp: -------------------------------------------------------------------------------- 1 | #include "ARCharacterAttributes.h" 2 | #include "Net/UnrealNetwork.h" 3 | 4 | 5 | UARCharacterAttributes::UARCharacterAttributes(const FObjectInitializer& ObjectInitializer) 6 | : Super(ObjectInitializer) 7 | { 8 | 9 | } 10 | 11 | void UARCharacterAttributes::GetLifetimeReplicatedProps(TArray< class FLifetimeProperty > & OutLifetimeProps) const 12 | { 13 | Super::GetLifetimeReplicatedProps(OutLifetimeProps); 14 | DOREPLIFETIME(UARCharacterAttributes, Health); 15 | DOREPLIFETIME(UARCharacterAttributes, Shield); 16 | DOREPLIFETIME(UARCharacterAttributes, Armor); 17 | DOREPLIFETIME(UARCharacterAttributes, Energy); 18 | DOREPLIFETIME(UARCharacterAttributes, Stamina); 19 | DOREPLIFETIME(UARCharacterAttributes, Ammo); 20 | DOREPLIFETIME(UARCharacterAttributes, MachineGunAmmo); 21 | } 22 | 23 | void UARCharacterAttributes::OnRep_Health() 24 | { 25 | if (Health.CurrentValue) 26 | { 27 | 28 | } 29 | } -------------------------------------------------------------------------------- /Source/ActionRPGGame/Private/Attributes/ARGunAttributes.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #include "ARGunAttributes.h" 4 | #include "Net/UnrealNetwork.h" 5 | #include "AFAbilityComponent.h" 6 | 7 | void UARGunAttributes::GetLifetimeReplicatedProps(TArray< class FLifetimeProperty > & OutLifetimeProps) const 8 | { 9 | Super::GetLifetimeReplicatedProps(OutLifetimeProps); 10 | DOREPLIFETIME(UARGunAttributes, Magazine); 11 | } 12 | 13 | void UARGunAttributes::OnRep_Magazine(FAFAttributeBase OldVal) 14 | { 15 | float dua = 0; 16 | UARGunAttributes* asd = this; 17 | } -------------------------------------------------------------------------------- /Source/ActionRPGGame/Private/Attributes/ARHealthExtension.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #include "ARHealthExtension.h" 4 | #include "AFAbilityComponent.h" 5 | #include "AI/ARAICharacter.h" 6 | 7 | 8 | void UARHealthExtension::PreAttributeModify(const FGAEffectContext& InContext, float PreValue) 9 | { 10 | 11 | } 12 | void UARHealthExtension::PostAttributeModify(const FGAEffectContext& InContext, float PreValue, float PostValue) 13 | { 14 | AARAICharacter* AIChar = Cast(InContext.Target.Get()); 15 | if (!AIChar) 16 | return; 17 | 18 | if (PostValue <= 0) 19 | { 20 | AIChar->Kill(); 21 | } 22 | } -------------------------------------------------------------------------------- /Source/ActionRPGGame/Private/Calculations/ARAmmoReloadCalculation.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #include "ARAmmoReloadCalculation.h" 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Source/ActionRPGGame/Private/Equipment/ARCharacterEquipmentComponent.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #include "ARCharacterEquipmentComponent.h" 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Source/ActionRPGGame/Private/Menu/ARMainMenuView.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #include "ARMainMenuView.h" 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Source/ActionRPGGame/Private/Menu/ARMenuGameMode.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #include "ARMenuGameMode.h" 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Source/ActionRPGGame/Private/UI/ARHUDWidget.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #include "ARHUDWidget.h" 4 | -------------------------------------------------------------------------------- /Source/ActionRPGGame/Private/UI/ARUMGWidgetBase.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #include "ARUMGWidgetBase.h" 4 | #include "ARPlayerController.h" 5 | 6 | 7 | 8 | void UARUMGWidgetBase::NativePreConstruct() 9 | { 10 | if (AARPlayerController* MyPC = Cast(GetOwningPlayer())) 11 | { 12 | UIComponent = MyPC->UIComponent; 13 | } 14 | Super::NativePreConstruct(); 15 | } 16 | void UARUMGWidgetBase::NativeConstruct() 17 | { 18 | if (AARPlayerController* MyPC = Cast(GetOwningPlayer())) 19 | { 20 | UIComponent = MyPC->UIComponent; 21 | } 22 | Super::NativeConstruct(); 23 | } -------------------------------------------------------------------------------- /Source/ActionRPGGame/Private/UI/HUD/ARHUDCrosshair.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #include "ARHUDCrosshair.h" 4 | #include "ARPlayerController.h" 5 | 6 | -------------------------------------------------------------------------------- /Source/ActionRPGGame/Private/UI/HUD/ARHUDCrosshairInfo.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #include "ARHUDCrosshairInfo.h" 4 | #include "ARPlayerController.h" 5 | -------------------------------------------------------------------------------- /Source/ActionRPGGame/Private/UI/HUD/ARHUDEnemyHealthBar.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #include "ARHUDEnemyHealthBar.h" 4 | #include "Components/ProgressBar.h" 5 | 6 | void UARHUDEnemyHealthBar::UpdateHealth(float NormalizedHealth) 7 | { 8 | HealthBar->SetPercent(NormalizedHealth); 9 | } -------------------------------------------------------------------------------- /Source/ActionRPGGame/Private/UI/HUD/ARHUDPlayerInfo.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #include "ARHUDPlayerInfo.h" 4 | 5 | #include "ARPlayerController.h" 6 | 7 | void UARHUDPlayerInfo::NativePreConstruct() 8 | { 9 | Super::NativePreConstruct(); 10 | } 11 | void UARHUDPlayerInfo::NativeConstruct() 12 | { 13 | Super::NativeConstruct(); 14 | } -------------------------------------------------------------------------------- /Source/ActionRPGGame/Private/UI/Inventory/ARInventoryScreenWidget.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #include "ARInventoryScreenWidget.h" 4 | 5 | #include "Components/TextBlock.h" 6 | #include "Components/Button.h" 7 | 8 | #include "UI/Inventory/Weapons/ARItemWeaponWidget.h" 9 | 10 | #include "ARPlayerController.h" 11 | 12 | void UARInventoryScreenWidget::NativeConstruct() 13 | { 14 | Super::NativeConstruct(); 15 | 16 | RightWeaponWidget->Index = 0; 17 | LeftWeaponWidget->Index = 1; 18 | SideWeaponWidget->Index = 2; 19 | BottomBackWeaponWidget->Index = 3; 20 | 21 | ModifySelectedWeapon->OnClicked.AddDynamic(this, &UARInventoryScreenWidget::OnModifyWeaponClicked); 22 | } 23 | 24 | void UARInventoryScreenWidget::SetWeaponName(const FString& Name) 25 | { 26 | SelectedWeapon->SetText(FText::FromString(Name)); 27 | } 28 | 29 | 30 | void UARInventoryScreenWidget::OnModifyWeaponClicked() 31 | { 32 | Inventory->ModifyWeapon(); 33 | } -------------------------------------------------------------------------------- /Source/ActionRPGGame/Private/UI/Inventory/ARItemTooltipView.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #include "ARItemTooltipView.h" 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Source/ActionRPGGame/Private/UI/Inventory/ARItemView.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #include "ARItemView.h" 4 | 5 | #include "UI/ARHUD.h" 6 | #include "ARPlayerController.h" 7 | 8 | 9 | void UARItemView::NativeConstruct() 10 | { 11 | Super::NativeConstruct(); 12 | 13 | if (GetOwningPlayer()) 14 | { 15 | if (AARHUD* HUD = Cast(GetOwningPlayer()->GetHUD())) 16 | { 17 | InventoryComponent = HUD->GetUIInventory(); 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /Source/ActionRPGGame/Private/UI/Inventory/Weapons/ARListItemWeaponWidget.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #include "ARListItemWeaponWidget.h" 4 | #include "UI/Inventory/ARUIInventoryComponent.h" 5 | #include "UI/Inventory/ARItemView.h" 6 | 7 | 8 | FReply UARListItemWeaponWidget::NativeOnMouseButtonDoubleClick(const FGeometry& InGeometry, const FPointerEvent& InMouseEvent) 9 | { 10 | FReply Handled = FReply::Unhandled(); 11 | if (!Target.IsValid()) 12 | return Handled; 13 | 14 | InventoryComponent->AddWeaponToSlot(Target->NetIndex, Target->LocalIndex, NetIndex, LocalIndex); 15 | Handled = FReply::Handled(); 16 | 17 | return Handled; 18 | } -------------------------------------------------------------------------------- /Source/ActionRPGGame/Private/UI/Inventory/Weapons/ARWeaponContainerWidget.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #include "ARWeaponContainerWidget.h" 4 | 5 | #include "IFItemWidget.h" 6 | 7 | #include "ARPlayerController.h" 8 | #include "ARCharacter.h" 9 | 10 | #include "UI/ARUIComponent.h" 11 | 12 | 13 | void UARWeaponContainerWidget::InitializeWeaponItems(class UARUIComponent* UIComponent) 14 | { 15 | 16 | } -------------------------------------------------------------------------------- /Source/ActionRPGGame/Private/UI/Inventory/Weapons/ARWeaponModificationView.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #include "ARWeaponModificationView.h" 4 | #include "Components/Button.h" 5 | #include "Components/WrapBox.h" 6 | #include "Weapons/ARItemWeapon.h" 7 | #include "Weapons/ARMagazineUpgradeItem.h" 8 | 9 | void UARWeaponModificationView::NativeConstruct() 10 | { 11 | Super::NativeConstruct(); 12 | CloseUpgradeView->OnClicked.AddDynamic(this, &UARWeaponModificationView::CloseModificationView); 13 | } 14 | void UARWeaponModificationView::StartModifyWeapon(class UARItemWeapon* WeaponItem) 15 | { 16 | SetVisibility(ESlateVisibility::SelfHitTestInvisible); 17 | } 18 | void UARWeaponModificationView::StopModifyWeapon() 19 | { 20 | 21 | } 22 | 23 | void UARWeaponModificationView::CloseModificationView() 24 | { 25 | StopModifyWeapon(); 26 | SetVisibility(ESlateVisibility::Collapsed); 27 | } -------------------------------------------------------------------------------- /Source/ActionRPGGame/Private/UI/Inventory/Weapons/Modifications/ARItemWeaponUpgradeView.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #include "ARItemWeaponUpgradeView.h" 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Source/ActionRPGGame/Private/UI/Inventory/Weapons/Modifications/ARListItemMagazineView.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #include "ARListItemMagazineView.h" 4 | #include "UI/Inventory/ARUIInventoryComponent.h" 5 | #include "UI/Inventory/ARItemView.h" 6 | 7 | FReply UARListItemMagazineView::NativeOnMouseButtonDoubleClick(const FGeometry& InGeometry, const FPointerEvent& InMouseEvent) 8 | { 9 | FReply Handled = FReply::Unhandled(); 10 | 11 | 12 | InventoryComponent->AddMagazineUpgrade(NetIndex, LocalIndex); 13 | Handled = FReply::Handled(); 14 | 15 | return Handled; 16 | } 17 | 18 | -------------------------------------------------------------------------------- /Source/ActionRPGGame/Private/UI/SARCrosshairBase.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #include "SARCrosshairBase.h" 4 | #include "SlateOptMacros.h" 5 | 6 | BEGIN_SLATE_FUNCTION_BUILD_OPTIMIZATION 7 | void SARCrosshairBase::Construct(const FArguments& InArgs) 8 | { 9 | /* 10 | ChildSlot 11 | [ 12 | // Populate the widget 13 | ]; 14 | */ 15 | } 16 | END_SLATE_FUNCTION_BUILD_OPTIMIZATION 17 | -------------------------------------------------------------------------------- /Source/ActionRPGGame/Private/Weapons/ARMagazineUpgradeEffect.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #include "ARMagazineUpgradeEffect.h" 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Source/ActionRPGGame/Private/Weapons/ARMagazineUpgradeItem.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #include "ARMagazineUpgradeItem.h" 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Source/ActionRPGGame/Private/Weapons/ARWeaponBase.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #include "ARWeaponBase.h" 4 | 5 | #include "Components/SkeletalMeshComponent.h" 6 | // Sets default values 7 | AARWeaponBase::AARWeaponBase() 8 | { 9 | // Set this actor to call Tick() every frame. You can turn this off to improve performance if you don't need it. 10 | PrimaryActorTick.bCanEverTick = true; 11 | 12 | Mesh = CreateDefaultSubobject(TEXT("Mesh")); 13 | SetRootComponent(Mesh); 14 | } 15 | 16 | // Called when the game starts or when spawned 17 | void AARWeaponBase::BeginPlay() 18 | { 19 | Super::BeginPlay(); 20 | 21 | } 22 | 23 | // Called every frame 24 | void AARWeaponBase::Tick(float DeltaTime) 25 | { 26 | Super::Tick(DeltaTime); 27 | 28 | } 29 | 30 | -------------------------------------------------------------------------------- /Source/ActionRPGGame/Private/Weapons/ARWeaponUpgradeItem.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #include "ARWeaponUpgradeItem.h" 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Source/ActionRPGGame/Private/Weapons/ARWeaponsTypes.cpp: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #include "ARWeaponsTypes.h" 4 | -------------------------------------------------------------------------------- /Source/ActionRPGGame/Public/AI/ARAIController.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "AIController.h" 7 | #include "ARAIController.generated.h" 8 | 9 | /** 10 | * 11 | */ 12 | UCLASS() 13 | class ACTIONRPGGAME_API AARAIController : public AAIController 14 | { 15 | GENERATED_BODY() 16 | 17 | 18 | 19 | 20 | }; 21 | -------------------------------------------------------------------------------- /Source/ActionRPGGame/Public/ARCharacterMovementComponent.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "GameFramework/CharacterMovementComponent.h" 7 | #include "ARCharacterMovementComponent.generated.h" 8 | 9 | /** 10 | * 11 | */ 12 | UCLASS() 13 | class ACTIONRPGGAME_API UARCharacterMovementComponent : public UCharacterMovementComponent 14 | { 15 | GENERATED_BODY() 16 | 17 | }; 18 | -------------------------------------------------------------------------------- /Source/ActionRPGGame/Public/ARGameMode.h: -------------------------------------------------------------------------------- 1 | // Copyright 1998-2017 Epic Games, Inc. All Rights Reserved. 2 | 3 | #pragma once 4 | #include "CoreMinimal.h" 5 | #include "GameFramework/GameModeBase.h" 6 | #include "ARGameMode.generated.h" 7 | 8 | UCLASS(minimalapi) 9 | class AARGameMode : public AGameModeBase 10 | { 11 | GENERATED_BODY() 12 | 13 | public: 14 | AARGameMode(); 15 | 16 | virtual void BeginPlay() override; 17 | 18 | virtual FString InitNewPlayer(APlayerController* NewPlayerController, const FUniqueNetIdRepl& UniqueId, const FString& Options, const FString& Portal = TEXT("")) override; 19 | }; 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /Source/ActionRPGGame/Public/ARGameSession.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "GameFramework/GameSession.h" 7 | 8 | #include "ARGameSession.generated.h" 9 | 10 | /** 11 | * 12 | */ 13 | UCLASS() 14 | class ACTIONRPGGAME_API AARGameSession : public AGameSession 15 | { 16 | GENERATED_BODY() 17 | 18 | virtual FString ApproveLogin(const FString& Options) override; 19 | virtual void UnregisterPlayer(const APlayerController* ExitingPlayer) override; 20 | 21 | }; 22 | -------------------------------------------------------------------------------- /Source/ActionRPGGame/Public/ARGameStateBase.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "GameFramework/GameStateBase.h" 7 | #include "ARGameStateBase.generated.h" 8 | 9 | /** 10 | * 11 | */ 12 | UCLASS() 13 | class ACTIONRPGGAME_API AARGameStateBase : public AGameStateBase 14 | { 15 | GENERATED_BODY() 16 | 17 | 18 | 19 | 20 | }; 21 | -------------------------------------------------------------------------------- /Source/ActionRPGGame/Public/ARGlobals.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "AssetRegistryModule.h" 7 | #include "Engine/AssetManager.h" 8 | #include "GameplayTags.h" 9 | 10 | /** 11 | * 12 | */ 13 | class ACTIONRPGGAME_API FARGlobals 14 | { 15 | public: 16 | FARGlobals(); 17 | ~FARGlobals(); 18 | static FPrimaryAssetId MakeAbilityAssetId(const FAssetData& InAssetData) 19 | { 20 | return FPrimaryAssetId(FPrimaryAssetType("Ability"), InAssetData.AssetName); 21 | } 22 | static FAssetData GetAbilityAssetByTag(const FGameplayTag& InTag) 23 | { 24 | FAssetRegistryModule& AssetRegistryModule = FModuleManager::LoadModuleChecked("AssetRegistry"); 25 | IAssetRegistry& AssetRegistry = AssetRegistryModule.Get(); 26 | 27 | TArray AssetData; 28 | FARFilter Filter; 29 | Filter.TagsAndValues.Add("AbilityTagSearch", InTag.ToString()); 30 | AssetRegistryModule.Get().GetAssets(Filter, AssetData); 31 | if (AssetData.Num() == 1) 32 | return AssetData[0]; 33 | 34 | return FAssetData(); 35 | } 36 | }; 37 | -------------------------------------------------------------------------------- /Source/ActionRPGGame/Public/ARItemPickupBase.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "IFItemActorBase.h" 7 | #include "ARItemPickupBase.generated.h" 8 | 9 | UCLASS() 10 | class ACTIONRPGGAME_API AARItemPickupBase : public AIFItemActorBase 11 | { 12 | GENERATED_BODY() 13 | 14 | UPROPERTY() 15 | class AARItemSpawnerBase* SpawnedBy; 16 | public: 17 | // Sets default values for this actor's properties 18 | AARItemPickupBase(); 19 | 20 | protected: 21 | // Called when the game starts or when spawned 22 | virtual void BeginPlay() override; 23 | 24 | public: 25 | // Called every frame 26 | virtual void Tick(float DeltaTime) override; 27 | 28 | inline void SetSpawnedBy(class AARItemSpawnerBase* InSpawnedBy) { SpawnedBy = InSpawnedBy; } 29 | 30 | 31 | virtual void OnItemPicked() override; 32 | }; 33 | -------------------------------------------------------------------------------- /Source/ActionRPGGame/Public/ARMenuPlayerController.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "GameFramework/PlayerController.h" 7 | #include "ARMenuPlayerController.generated.h" 8 | 9 | /** 10 | * 11 | */ 12 | UCLASS() 13 | class ACTIONRPGGAME_API AARMenuPlayerController : public APlayerController 14 | { 15 | GENERATED_BODY() 16 | 17 | 18 | 19 | 20 | }; 21 | -------------------------------------------------------------------------------- /Source/ActionRPGGame/Public/ARPlayerStateBase.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "GameFramework/PlayerState.h" 7 | #include "ARPlayerStateBase.generated.h" 8 | 9 | /** 10 | * 11 | */ 12 | UCLASS() 13 | class ACTIONRPGGAME_API AARPlayerStateBase : public APlayerState 14 | { 15 | GENERATED_BODY() 16 | 17 | 18 | 19 | 20 | }; 21 | -------------------------------------------------------------------------------- /Source/ActionRPGGame/Public/Abilities/ARAbilityBase.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "Abilities/GAAbilityBase.h" 7 | #include "ARAbilityBase.generated.h" 8 | 9 | /** 10 | * 11 | */ 12 | UCLASS() 13 | class ACTIONRPGGAME_API UARAbilityBase : public UGAAbilityBase 14 | { 15 | GENERATED_BODY() 16 | 17 | public: 18 | UPROPERTY(EditAnywhere, BlueprintReadOnly, Instanced, Category = "UI Config") 19 | class UARAbilityUIData* UIData; 20 | 21 | 22 | }; 23 | -------------------------------------------------------------------------------- /Source/ActionRPGGame/Public/Abilities/ARAbilityUIData.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "UObject/NoExportTypes.h" 7 | #include "ARAbilityUIData.generated.h" 8 | 9 | /** 10 | * 11 | */ 12 | UCLASS(Blueprintable, BlueprintType, EditInLineNew) 13 | class ACTIONRPGGAME_API UARAbilityUIData : public UObject 14 | { 15 | GENERATED_BODY() 16 | public: 17 | UPROPERTY(EditAnywhere, BlueprintReadOnly) 18 | FText DisplayName; 19 | UPROPERTY(EditAnywhere, BlueprintReadOnly) 20 | FText Description; 21 | 22 | UPROPERTY(EditAnywhere, BlueprintReadOnly) 23 | UTexture2D* Icon; 24 | 25 | }; 26 | -------------------------------------------------------------------------------- /Source/ActionRPGGame/Public/Abilities/ARAvailableAbilities.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "UObject/NoExportTypes.h" 7 | #include "GameplayTags.h" 8 | #include "ARAvailableAbilities.generated.h" 9 | 10 | /** 11 | * 12 | */ 13 | UCLASS(Blueprintable, BlueprintType) 14 | class ACTIONRPGGAME_API UARAvailableAbilities : public UObject 15 | { 16 | GENERATED_BODY() 17 | public: 18 | UPROPERTY(EditAnywhere, BlueprintReadOnly) 19 | TArray Abilities; 20 | 21 | 22 | }; 23 | -------------------------------------------------------------------------------- /Source/ActionRPGGame/Public/ActionRPGGame.h: -------------------------------------------------------------------------------- 1 | // Copyright 1998-2017 Epic Games, Inc. All Rights Reserved. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "Modules/ModuleManager.h" 7 | 8 | class FActionRPGGameModule : public FDefaultGameModuleImpl 9 | { 10 | virtual void StartupModule() override; 11 | }; -------------------------------------------------------------------------------- /Source/ActionRPGGame/Public/Attributes/ARAbilityAttributes.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "Attributes/GAAttributesBase.h" 7 | #include "ARAbilityAttributes.generated.h" 8 | 9 | /** 10 | * 11 | */ 12 | UCLASS() 13 | class ACTIONRPGGAME_API UARAbilityAttributes : public UGAAttributesBase 14 | { 15 | GENERATED_BODY() 16 | public: 17 | UPROPERTY(EditAnywhere, Replicated, Category = "Base") 18 | FAFAttributeBase CastTime; 19 | UPROPERTY(EditAnywhere, Replicated, Category = "Base") 20 | FAFAttributeBase Cooldown; 21 | UPROPERTY(EditAnywhere, Replicated, Category = "Base") 22 | FAFAttributeBase BaseDamage; 23 | 24 | 25 | 26 | }; 27 | -------------------------------------------------------------------------------- /Source/ActionRPGGame/Public/Attributes/ARHealthExtension.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "Attributes/GAAttributeExtension.h" 7 | #include "ARHealthExtension.generated.h" 8 | 9 | /** 10 | * 11 | */ 12 | UCLASS(BlueprintType, Blueprintable) 13 | class ACTIONRPGGAME_API UARHealthExtension : public UGAAttributeExtension 14 | { 15 | GENERATED_BODY() 16 | 17 | virtual void PreAttributeModify(const FGAEffectContext& InContext, float PreValue) override; 18 | virtual void PostAttributeModify(const FGAEffectContext& InContext, float PreValue, float PostValue) override; 19 | 20 | 21 | }; 22 | -------------------------------------------------------------------------------- /Source/ActionRPGGame/Public/Calculations/ARAmmoReloadCalculation.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "Effects/GACustomCalculation.h" 7 | #include "ARAmmoReloadCalculation.generated.h" 8 | 9 | /** 10 | * 11 | */ 12 | UCLASS() 13 | class ACTIONRPGGAME_API UARAmmoReloadCalculation : public UGACustomCalculation 14 | { 15 | GENERATED_BODY() 16 | 17 | 18 | 19 | 20 | }; 21 | -------------------------------------------------------------------------------- /Source/ActionRPGGame/Public/Equipment/ARCharacterEquipmentComponent.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "IFEquipmentComponent.h" 7 | #include "ARCharacterEquipmentComponent.generated.h" 8 | 9 | /** 10 | * 11 | */ 12 | UCLASS() 13 | class ACTIONRPGGAME_API UARCharacterEquipmentComponent : public UIFEquipmentComponent 14 | { 15 | GENERATED_BODY() 16 | 17 | 18 | 19 | 20 | }; 21 | -------------------------------------------------------------------------------- /Source/ActionRPGGame/Public/Menu/ARMainMenuView.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "Blueprint/UserWidget.h" 7 | #include "ARMainMenuView.generated.h" 8 | 9 | /** 10 | * 11 | */ 12 | UCLASS() 13 | class ACTIONRPGGAME_API UARMainMenuView : public UUserWidget 14 | { 15 | GENERATED_BODY() 16 | 17 | 18 | 19 | 20 | }; 21 | -------------------------------------------------------------------------------- /Source/ActionRPGGame/Public/Menu/ARMenuGameMode.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "GameFramework/GameModeBase.h" 7 | #include "ARMenuGameMode.generated.h" 8 | 9 | /** 10 | * 11 | */ 12 | UCLASS() 13 | class ACTIONRPGGAME_API AARMenuGameMode : public AGameModeBase 14 | { 15 | GENERATED_BODY() 16 | 17 | 18 | 19 | 20 | }; 21 | -------------------------------------------------------------------------------- /Source/ActionRPGGame/Public/UI/ARHUDWidget.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "Blueprint/UserWidget.h" 7 | #include "Blueprint/WidgetTree.h" 8 | #include "Components/UniformGridPanel.h" 9 | 10 | #include "UI/HUD/ARHUDPlayerInfo.h" 11 | #include "ARHUDWidget.generated.h" 12 | 13 | /** 14 | * 15 | */ 16 | UCLASS() 17 | class ACTIONRPGGAME_API UARHUDWidget : public UUserWidget 18 | { 19 | GENERATED_BODY() 20 | protected: 21 | 22 | TWeakObjectPtr UIComponent; 23 | public: 24 | UPROPERTY(BlueprintReadOnly, meta = (BindWidget)) 25 | UARHUDPlayerInfo* PlayerInfo; 26 | }; 27 | -------------------------------------------------------------------------------- /Source/ActionRPGGame/Public/UI/ARUMGWidgetBase.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "Blueprint/UserWidget.h" 7 | #include "ARUMGWidgetBase.generated.h" 8 | 9 | /** 10 | * 11 | */ 12 | UCLASS() 13 | class ACTIONRPGGAME_API UARUMGWidgetBase : public UUserWidget 14 | { 15 | GENERATED_BODY() 16 | public: 17 | UPROPERTY(BlueprintReadOnly) 18 | class UARUIComponent* UIComponent; 19 | public: 20 | virtual void NativePreConstruct() override; 21 | virtual void NativeConstruct() override; 22 | 23 | 24 | }; 25 | -------------------------------------------------------------------------------- /Source/ActionRPGGame/Public/UI/HUD/ARHUDCrosshair.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "Blueprint/UserWidget.h" 7 | #include "UI/ARUMGWidgetBase.h" 8 | #include "ARHUDCrosshair.generated.h" 9 | 10 | /** 11 | * 12 | */ 13 | UCLASS() 14 | class ACTIONRPGGAME_API UARHUDCrosshair : public UARUMGWidgetBase 15 | { 16 | GENERATED_BODY() 17 | }; 18 | -------------------------------------------------------------------------------- /Source/ActionRPGGame/Public/UI/HUD/ARHUDCrosshairInfo.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "Blueprint/UserWidget.h" 7 | #include "UI/ARUMGWidgetBase.h" 8 | #include "ARHUDCrosshairInfo.generated.h" 9 | 10 | /** 11 | * 12 | */ 13 | UCLASS() 14 | class ACTIONRPGGAME_API UARHUDCrosshairInfo : public UARUMGWidgetBase 15 | { 16 | GENERATED_BODY() 17 | }; 18 | -------------------------------------------------------------------------------- /Source/ActionRPGGame/Public/UI/HUD/ARHUDEnemyHealthBar.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "Blueprint/UserWidget.h" 7 | #include "Widgets/Text/STextBlock.h" 8 | #include "Widgets/Notifications/SProgressBar.h" 9 | #include "ARHUDEnemyHealthBar.generated.h" 10 | 11 | /** 12 | * 13 | */ 14 | UCLASS() 15 | class ACTIONRPGGAME_API UARHUDEnemyHealthBar : public UUserWidget 16 | { 17 | GENERATED_BODY() 18 | protected: 19 | UPROPERTY(BlueprintReadOnly, meta = (BindWidget)) 20 | class UProgressBar* HealthBar; 21 | 22 | public: 23 | void UpdateHealth(float NormalizedHealth); 24 | }; 25 | -------------------------------------------------------------------------------- /Source/ActionRPGGame/Public/UI/Inventory/ARItemTooltipView.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "ARItemBase.h" 7 | #include "UI/Inventory/ARItemView.h" 8 | #include "ARItemTooltipView.generated.h" 9 | 10 | /** 11 | * 12 | */ 13 | UCLASS() 14 | class ACTIONRPGGAME_API UARItemTooltipView : public UARItemView 15 | { 16 | GENERATED_BODY() 17 | public: 18 | UFUNCTION(BlueprintImplementableEvent, Category = "ActionRPGGame|UI") 19 | void OnTooltipCreated(const TArray& OutItems); 20 | 21 | 22 | }; 23 | -------------------------------------------------------------------------------- /Source/ActionRPGGame/Public/UI/Inventory/ARItemView.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "IFItemWidget.h" 7 | #include "ARItemView.generated.h" 8 | 9 | /** 10 | * 11 | */ 12 | UCLASS() 13 | class ACTIONRPGGAME_API UARItemView : public UIFItemWidget 14 | { 15 | GENERATED_BODY() 16 | public: 17 | TWeakObjectPtr InventoryComponent; 18 | 19 | UPROPERTY(BlueprintReadOnly, Category = "Widgets", meta = (BindWidget)) 20 | UImage* Icon; 21 | 22 | public: 23 | virtual void NativeConstruct() override; 24 | 25 | 26 | 27 | }; 28 | -------------------------------------------------------------------------------- /Source/ActionRPGGame/Public/UI/Inventory/Weapons/ARListItemWeaponWidget.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "UI/Inventory/ARListItemView.h" 7 | #include "ARListItemWeaponWidget.generated.h" 8 | 9 | /** 10 | * 11 | */ 12 | UCLASS() 13 | class ACTIONRPGGAME_API UARListItemWeaponWidget : public UARListItemView 14 | { 15 | GENERATED_BODY() 16 | public: 17 | virtual FReply NativeOnMouseButtonDoubleClick(const FGeometry& InGeometry, const FPointerEvent& InMouseEvent) override; 18 | }; 19 | -------------------------------------------------------------------------------- /Source/ActionRPGGame/Public/UI/Inventory/Weapons/ARWeaponContainerWidget.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "IFItemContainerWidget.h" 7 | #include "ARWeaponContainerWidget.generated.h" 8 | 9 | /** 10 | * 11 | */ 12 | UCLASS() 13 | class ACTIONRPGGAME_API UARWeaponContainerWidget : public UIFItemContainerWidget 14 | { 15 | GENERATED_BODY() 16 | public: 17 | void InitializeWeaponItems(class UARUIComponent* UIComponent); 18 | 19 | 20 | }; 21 | -------------------------------------------------------------------------------- /Source/ActionRPGGame/Public/UI/Inventory/Weapons/ARWeaponModificationView.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "UI/ARUMGWidgetBase.h" 7 | #include "ARWeaponModificationView.generated.h" 8 | 9 | /** 10 | * 11 | */ 12 | UCLASS() 13 | class ACTIONRPGGAME_API UARWeaponModificationView : public UARUMGWidgetBase 14 | { 15 | GENERATED_BODY() 16 | public: 17 | UPROPERTY(BlueprintReadOnly, Category = "Widgets", meta = (BindWidget)) 18 | class UARItemMagazineView* MagazineUpgrade; 19 | 20 | UPROPERTY(BlueprintReadOnly, Category = "Widgets", meta = (BindWidget)) 21 | class UButton* CloseUpgradeView; 22 | 23 | UPROPERTY(BlueprintReadOnly, Category = "Widgets", meta = (BindWidget)) 24 | class UWrapBox* UpgradeList; 25 | 26 | virtual void NativeConstruct() override; 27 | void StartModifyWeapon(class UARItemWeapon* WeaponItem); 28 | void StopModifyWeapon(); 29 | 30 | UFUNCTION() 31 | void CloseModificationView(); 32 | 33 | }; 34 | -------------------------------------------------------------------------------- /Source/ActionRPGGame/Public/UI/Inventory/Weapons/Modifications/ARItemMagazineView.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "UI/Inventory/ARItemView.h" 7 | #include "ARItemMagazineView.generated.h" 8 | 9 | /** 10 | * 11 | */ 12 | UCLASS() 13 | class ACTIONRPGGAME_API UARItemMagazineView : public UARItemView 14 | { 15 | GENERATED_BODY() 16 | public: 17 | virtual void NativeConstruct() override; 18 | 19 | virtual FReply NativeOnMouseButtonDown(const FGeometry& InGeometry, const FPointerEvent& InMouseEvent) override; 20 | 21 | virtual FReply NativeOnMouseButtonDoubleClick(const FGeometry& InGeometry, const FPointerEvent& InMouseEvent) override; 22 | 23 | UFUNCTION() 24 | void OnMagazineUpgradeInstalled(class UARItemWeapon* Weapon 25 | , class UARWeaponUpgradeItem* Upgrade 26 | , int8 WeaponIndex); 27 | UFUNCTION() 28 | void OnMagazineUpgradeRemoved(class UARItemWeapon* Weapon 29 | , class UARWeaponUpgradeItem* Upgrade 30 | , int8 WeaponIndex); 31 | }; 32 | -------------------------------------------------------------------------------- /Source/ActionRPGGame/Public/UI/Inventory/Weapons/Modifications/ARItemWeaponUpgradeView.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "UI/Inventory/ARItemView.h" 7 | #include "ARItemWeaponUpgradeView.generated.h" 8 | 9 | /** 10 | * 11 | */ 12 | UCLASS() 13 | class ACTIONRPGGAME_API UARItemWeaponUpgradeView : public UARItemView 14 | { 15 | GENERATED_BODY() 16 | 17 | 18 | 19 | 20 | }; 21 | -------------------------------------------------------------------------------- /Source/ActionRPGGame/Public/UI/Inventory/Weapons/Modifications/ARListItemMagazineView.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "UI/Inventory/ARListItemView.h" 7 | #include "ARListItemMagazineView.generated.h" 8 | 9 | /** 10 | * 11 | */ 12 | UCLASS() 13 | class ACTIONRPGGAME_API UARListItemMagazineView : public UARListItemView 14 | { 15 | GENERATED_BODY() 16 | 17 | public: 18 | virtual FReply NativeOnMouseButtonDoubleClick(const FGeometry& InGeometry, const FPointerEvent& InMouseEvent) override; 19 | 20 | 21 | }; 22 | -------------------------------------------------------------------------------- /Source/ActionRPGGame/Public/UI/SARCrosshairBase.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "Widgets/SCompoundWidget.h" 7 | 8 | /** 9 | * 10 | */ 11 | class ACTIONRPGGAME_API SARCrosshairBase : public SCompoundWidget 12 | { 13 | public: 14 | SLATE_BEGIN_ARGS(SARCrosshairBase) 15 | {} 16 | SLATE_END_ARGS() 17 | 18 | /** Constructs this widget with InArgs */ 19 | void Construct(const FArguments& InArgs); 20 | }; 21 | -------------------------------------------------------------------------------- /Source/ActionRPGGame/Public/UI/SARDrawTestWidget.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "Widgets/SCompoundWidget.h" 7 | 8 | /** 9 | * 10 | */ 11 | class ACTIONRPGGAME_API SARDrawTestWidget : public SCompoundWidget 12 | { 13 | public: 14 | SLATE_BEGIN_ARGS(SARDrawTestWidget) 15 | {} 16 | SLATE_END_ARGS() 17 | SARDrawTestWidget(); 18 | float Progress; 19 | float ProgressStep; 20 | FSlateBrush* Brush; 21 | /** Constructs this widget with InArgs */ 22 | void Construct(const FArguments& InArgs); 23 | 24 | virtual int32 OnPaint(const FPaintArgs& Args 25 | , const FGeometry& AllottedGeometry 26 | , const FSlateRect& MyCullingRect 27 | , FSlateWindowElementList& OutDrawElements 28 | , int32 LayerId 29 | , const FWidgetStyle& InWidgetStyle 30 | , bool bParentEnabled) const override; 31 | 32 | virtual void Tick(const FGeometry& AllottedGeometry 33 | , const double InCurrentTime 34 | , const float InDeltaTime) override; 35 | }; 36 | -------------------------------------------------------------------------------- /Source/ActionRPGGame/Public/Weapons/ARMagazineUpgradeEffect.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "Effects/GAGameEffect.h" 7 | #include "ARMagazineUpgradeEffect.generated.h" 8 | 9 | /** 10 | * 11 | */ 12 | UCLASS() 13 | class ACTIONRPGGAME_API UARMagazineUpgradeEffect : public UAFEffectSpecBase 14 | { 15 | GENERATED_BODY() 16 | 17 | 18 | 19 | 20 | }; 21 | -------------------------------------------------------------------------------- /Source/ActionRPGGame/Public/Weapons/ARMagazineUpgradeItem.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "Weapons/ARWeaponUpgradeItem.h" 7 | #include "ARMagazineUpgradeItem.generated.h" 8 | 9 | 10 | /** 11 | * 12 | */ 13 | UCLASS() 14 | class ACTIONRPGGAME_API UARMagazineUpgradeItem : public UARWeaponUpgradeItem 15 | { 16 | GENERATED_BODY() 17 | public: 18 | /* 19 | An actual modifier value of this upgrade. 20 | */ 21 | UPROPERTY(EditAnywhere, SaveGame) 22 | float MagazineUpgradeValue; 23 | 24 | UPROPERTY(EditAnywhere) 25 | EGAAttributeMod ModType; 26 | /* 27 | Effect template 28 | */ 29 | UPROPERTY(EditAnywhere) 30 | TSubclassOf UpgradeEffect; 31 | }; 32 | -------------------------------------------------------------------------------- /Source/ActionRPGGame/Public/Weapons/ARWeaponBase.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "GameFramework/Actor.h" 7 | #include "ARWeaponBase.generated.h" 8 | 9 | UCLASS() 10 | class ACTIONRPGGAME_API AARWeaponBase : public AActor 11 | { 12 | GENERATED_BODY() 13 | private: 14 | UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = Camera, meta = (AllowPrivateAccess = "true")) 15 | class USkeletalMeshComponent* Mesh; 16 | public: 17 | // Sets default values for this actor's properties 18 | AARWeaponBase(); 19 | 20 | protected: 21 | // Called when the game starts or when spawned 22 | virtual void BeginPlay() override; 23 | 24 | public: 25 | // Called every frame 26 | virtual void Tick(float DeltaTime) override; 27 | 28 | 29 | class USkeletalMeshComponent* GetMesh() 30 | { 31 | return Mesh; 32 | } 33 | }; 34 | -------------------------------------------------------------------------------- /Source/ActionRPGGame/Public/Weapons/ARWeaponUpgradeItem.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | #include "UObject/NoExportTypes.h" 7 | #include "ARItemBase.h" 8 | #include "ARWeaponUpgradeItem.generated.h" 9 | 10 | /** 11 | * 12 | */ 13 | UCLASS(BlueprintType, Blueprintable) 14 | class ACTIONRPGGAME_API UARWeaponUpgradeItem : public UARItemBase 15 | { 16 | GENERATED_BODY() 17 | }; 18 | -------------------------------------------------------------------------------- /Source/ActionRPGGame/Public/Weapons/ARWeaponsTypes.h: -------------------------------------------------------------------------------- 1 | // Fill out your copyright notice in the Description page of Project Settings. 2 | 3 | #pragma once 4 | #include "ARWeaponsTypes.generated.h" 5 | 6 | UENUM(BlueprintType) 7 | enum class EARWeaponSlot : uint8 8 | { 9 | Slot1 = 0, 10 | Slot2 = 1, 11 | Slot3 = 2, 12 | Slot4 = 3, 13 | 14 | MAX 15 | }; 16 | -------------------------------------------------------------------------------- /Source/ActionRPGGameClient.Target.cs: -------------------------------------------------------------------------------- 1 | // Copyright 1998-2017 Epic Games, Inc. All Rights Reserved. 2 | 3 | using UnrealBuildTool; 4 | using System.Collections.Generic; 5 | 6 | public class ActionRPGGameClientTarget : TargetRules 7 | { 8 | public ActionRPGGameClientTarget(TargetInfo Target) : base(Target) 9 | { 10 | Type = TargetType.Client; 11 | ExtraModuleNames.Add("ActionRPGGame"); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /Source/ActionRPGGameEditor.Target.cs: -------------------------------------------------------------------------------- 1 | // Copyright 1998-2017 Epic Games, Inc. All Rights Reserved. 2 | 3 | using UnrealBuildTool; 4 | using System.Collections.Generic; 5 | 6 | public class ActionRPGGameEditorTarget : TargetRules 7 | { 8 | public ActionRPGGameEditorTarget(TargetInfo Target) : base(Target) 9 | { 10 | Type = TargetType.Editor; 11 | ExtraModuleNames.Add("ActionRPGGame"); 12 | ExtraModuleNames.Add("ActionRPGGameEditor"); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /Source/ActionRPGGameEditor/ActionRPGGameEditor.cpp: -------------------------------------------------------------------------------- 1 | // Copyright 1998-2017 Epic Games, Inc. All Rights Reserved. 2 | 3 | #include "ActionRPGGameEditor.h" 4 | #include "Modules/ModuleManager.h" 5 | #include "Misc/CommandLine.h" 6 | #include "IAbilityFrameworkEditor.h" 7 | 8 | void FActionRPGGameEditorModule::StartupModule() 9 | { 10 | //FModuleManager::Get().LoadModule("Kismet"); 11 | FModuleManager::LoadModuleChecked(TEXT("AbilityFrameworkEditor")); 12 | }; 13 | IMPLEMENT_PRIMARY_GAME_MODULE(FActionRPGGameEditorModule, ActionRPGGameEditor, "ActionRPGGameEditor"); 14 | -------------------------------------------------------------------------------- /Source/ActionRPGGameEditor/ActionRPGGameEditor.h: -------------------------------------------------------------------------------- 1 | // Copyright 1998-2017 Epic Games, Inc. All Rights Reserved. 2 | 3 | #pragma once 4 | 5 | #include "CoreMinimal.h" 6 | class FActionRPGGameEditorModule : public FDefaultGameModuleImpl 7 | { 8 | virtual void StartupModule() override; 9 | }; -------------------------------------------------------------------------------- /Source/ActionRPGGameServer.Target.cs: -------------------------------------------------------------------------------- 1 | // Copyright 1998-2017 Epic Games, Inc. All Rights Reserved. 2 | 3 | using UnrealBuildTool; 4 | using System.Collections.Generic; 5 | 6 | [SupportedPlatforms(UnrealPlatformClass.Server)] 7 | public class ActionRPGGameServerTarget : TargetRules 8 | { 9 | public ActionRPGGameServerTarget(TargetInfo Target) : base(Target) 10 | { 11 | Type = TargetType.Server; 12 | ExtraModuleNames.Add("ActionRPGGame"); 13 | } 14 | } 15 | --------------------------------------------------------------------------------