Advertisement
Creedbloom

OST_Character.h

Feb 17th, 2017
177
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 23.37 KB | None | 0 0
  1. // Copyright 1998-2014 Epic Games, Inc. All Rights Reserved.
  2.  
  3. #pragma once
  4.  
  5. #include "GameFramework/Character.h"
  6. #include "OST_Weapon.h"
  7. #include "OST_PlayerController.h"
  8. #include "OST_FootstepData.h"
  9. #include "OST_MovingHandler.h"
  10. #include "OST_SaveGameInterface.h"
  11. #include "OST_Character.generated.h"
  12.  
  13. DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FCharacterCommandSignature, FName, CommandString);
  14. DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FCharacterUsedSignature, class AActor*, OtherActor);
  15.  
  16. UENUM(BlueprintType)
  17. namespace EDirectionEnum
  18. {
  19.     enum EDirectionType
  20.     {
  21.         None,
  22.         Forward,
  23.         Back,
  24.         Left,
  25.         Right,
  26.         Up,
  27.         Down,
  28.         LFwrd,
  29.         RFwrd,
  30.         LBwrd,
  31.         RBwrd
  32.     };
  33. }
  34.  
  35. USTRUCT(Blueprintable)
  36. struct FOST_FootStepsInfo
  37. {
  38.     GENERATED_USTRUCT_BODY()
  39.  
  40.     UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "OST_Character")
  41.     UPhysicalMaterial* Material;
  42.  
  43.     UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "OST_Character")
  44.     USoundCue* SoundCue;
  45. };
  46.  
  47. USTRUCT(Blueprintable)
  48. struct FOST_MontageInfo
  49. {
  50.     GENERATED_USTRUCT_BODY()
  51.  
  52.     UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "OST_Character")
  53.     FName Name;
  54.  
  55.     UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "OST_Character")
  56.         bool bAtackingMontage;
  57.  
  58.     UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "OST_Character")
  59.         FVector2D DeathOffsetXY;
  60.     UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "OST_Character")
  61.         float DeathYaw;
  62.  
  63.     UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "OST_Character")
  64.         UAnimMontage* UsingAnimMontage;
  65. };
  66.  
  67. UCLASS(abstract)
  68. class AOST_Character : public ACharacter, public IOST_SaveGameInterface, public IOST_UsableInterface
  69. {
  70.     GENERATED_UCLASS_BODY()
  71.  
  72.     //OST_SaveGameInterface
  73.     virtual FString GetSaveName() override;
  74.     virtual bool SaveGame(FString MapName, USaveGame* SaveGameObject) override;
  75.     virtual bool LoadGame(FString MapName, USaveGame* SaveGameObject) override;
  76.  
  77.     UFUNCTION(BlueprintImplementableEvent, Category = OST_Character)
  78.         void OnLoadGame();
  79.  
  80.     UFUNCTION(BlueprintCallable, Category = OST_Character)
  81.         void MeleeAtack(AOST_Character* Suffer, FName AtackingCharacterType,
  82.                             UAnimMontage* &AtackMontage, UAnimMontage* &SufferMontage,
  83.                             FVector2D &DeathOffsetXY, float &DeathYaw);
  84.  
  85.     UFUNCTION(BlueprintImplementableEvent, Category = OST_Character)
  86.         void OnMeleeAtackAtacker();
  87.     UFUNCTION(BlueprintImplementableEvent, Category = OST_Character)
  88.         void OnMeleeAtackSuffer();
  89.     UFUNCTION(BlueprintCallable, Category = OST_Character)
  90.         FOST_MontageInfo GetMontageInfo(FName MontageName);
  91.  
  92.  
  93.     //OST_UsableInterface
  94.     virtual bool CanUsing() override;
  95.     virtual FString GetUsableName() override;
  96.     virtual FString GetUsableAbout() override;
  97.     virtual FTransform GetAboutTextPlace() override;
  98.  
  99.     UPROPERTY(EditInstanceOnly, BlueprintReadOnly, Category = OST_Character_Usable)
  100.         bool NeedSetToPlace = false;
  101.     virtual bool IsNeedSetCharacterToPlace() override;
  102.  
  103.     UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = OST_Character_Usable)
  104.         USceneComponent* TextAboutComp;
  105.  
  106.     bool bShowInHUD;
  107.  
  108.     virtual bool IsShowInHUD() override;
  109.     virtual void StartShowHUD() override;
  110.     virtual void StopShowHUD() override;
  111.     virtual void DrawingInHUD(int32 SizeX, int32 SizeY) override;
  112.  
  113.     UPROPERTY(EditInstanceOnly, BlueprintReadOnly, Category = OST_Character_Usable)
  114.         float VisibleDistance = 200.0f;
  115.     UPROPERTY(BlueprintReadWrite, Category = OST_Character_Usable)
  116.         bool bInUsableZone;
  117.     virtual bool IsInUsableZone() override;
  118.  
  119.     UFUNCTION(BlueprintImplementableEvent, Category = OST_Character_Usable)
  120.         void OnSelectInterCommand(FName Command);
  121.     UPROPERTY(BlueprintAssignable, Category = OST_Character_Usable)
  122.         FCharacterCommandSignature OnGetCommand;
  123.  
  124.     UPROPERTY(BlueprintAssignable, Category = OST_Character_Usable)
  125.         FCharacterUsedSignature OnUsedEvent;
  126.     UFUNCTION(BlueprintImplementableEvent, Category = OST_Character_Usable)
  127.         void OnStartShowHUD();
  128.     UFUNCTION(BlueprintImplementableEvent, Category = OST_Character_Usable)
  129.         void OnStopShowHUD();
  130.     UFUNCTION(BlueprintImplementableEvent, Category = OST_Character_Usable)
  131.         void OnDrawingInHUD(int32 SizeX, int32 SizeY);
  132.  
  133.     //virtual FTransform GetGotoPlace() override;
  134.     virtual void TryToUse(AActor* OtherUser)override;
  135.     virtual void DoUse(AActor* OtherUser) override;
  136.     virtual bool UseByThisKey(TSubclassOf<class AOST_Inventory> key) override;
  137.     virtual bool HideInHUD() override;
  138.  
  139.     UFUNCTION(BlueprintImplementableEvent, Category = OST_Character_Usable)
  140.         void OnTryToUse(AActor* OtherUser);
  141.     UFUNCTION(BlueprintImplementableEvent, Category = OST_Character_Usable)
  142.         void OnDoUse(AActor* OtherUser);
  143.  
  144.     UPROPERTY(EditInstanceOnly, BlueprintReadOnly, Category = OST_Character_Usable)
  145.         bool Usable = true;
  146.     UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = OST_Character)
  147.         TArray<FOST_MontageInfo> MontageInfoList;
  148.     UFUNCTION(BlueprintCallable, Category = OST_Character_Usable)
  149.         UAnimMontage* GetAnimMontageByName(FName MontageName);
  150.  
  151.     UFUNCTION(BlueprintCallable, Category = OST_Character_Usable)
  152.         void Activate();
  153.     UFUNCTION(BlueprintCallable, Category = OST_Character_Usable)
  154.         void Deactivate();
  155.  
  156.     //**************************
  157.  
  158.     UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = OST_Character)
  159.         UTexture2D* Icon;
  160.  
  161.     UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = OST_Character)
  162.         FString Name;
  163.  
  164.     UPROPERTY(EditInstanceOnly, BlueprintReadWrite, Category = OST_Character)
  165.         FName ActorTag;
  166.  
  167.     UPROPERTY(EditInstanceOnly, BlueprintReadWrite, Category = OST_Character)
  168.         int32 TeamID = 0;
  169.  
  170.     //UPROPERTY(BlueprintReadWrite, Category = OST_Character)
  171.         AActor* LookAtTarget;
  172.  
  173.     UFUNCTION(BlueprintCallable, Category = OST_Character)
  174.         void LookAtActor(AActor* actor);
  175.     UFUNCTION(BlueprintImplementableEvent, Category = OST_Character)
  176.         void OnLookAtActor(AActor* actor);
  177.  
  178.     UPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category = "OST_Character")
  179.         TSubclassOf<class AOST_Character> SwapToCharacterClass;
  180.  
  181.     UPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category = "OST_Character")
  182.         bool bCanOpenInventory;
  183.  
  184.     UPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category = "OST_Character")
  185.         bool bCanUsingVehicle = true;
  186.     UPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category = "OST_Character")
  187.         bool bCanUsingHorse = true;
  188.  
  189.     void TrySwapCharacters();
  190.     UFUNCTION(BlueprintCallable, Category = OST_Character)
  191.         void SwapCharacters();
  192.     UFUNCTION(BlueprintImplementableEvent, Category = OST_Character)
  193.         void OnSwapCharacters();
  194.  
  195.     void TryReloadCurrentWeapon();
  196.  
  197.     void BlockPlayer(bool _shouldBlock);
  198.  
  199.     UFUNCTION(BlueprintCallable, Category = OST_Character)
  200.         void FindEnemy();
  201.     UFUNCTION(BlueprintImplementableEvent, Category = OST_Character)
  202.         void OnFindEnemy();
  203.  
  204.     UFUNCTION(BlueprintCallable, Category = OST_Character)
  205.         void LostEnemy();
  206.     UFUNCTION(BlueprintImplementableEvent, Category = OST_Character)
  207.         void OnLostEnemy();
  208.  
  209.     UFUNCTION(BlueprintCallable, Category = OST_Character)
  210.         void StartMeleeAttack(AActor* Actor);
  211.     UFUNCTION(BlueprintImplementableEvent, Category = OST_Character)
  212.         void OnStartMeleeAttack(AActor* Actor);
  213.  
  214.     UFUNCTION(BlueprintCallable, Category = OST_Character)
  215.         void StopMeleeAttack(AActor* Actor);
  216.     UFUNCTION(BlueprintImplementableEvent, Category = OST_Character)
  217.         void OnStopMeleeAttack(AActor* Actor);
  218.  
  219.     UFUNCTION(BlueprintCallable, Category = OST_Character)
  220.     void BlockMovement(bool _shouldBlock);
  221.     bool IsBlockMovement;
  222.  
  223.     bool IsBlocked;
  224.     bool IsBlockOpenUI;
  225.     UFUNCTION(BlueprintCallable, Category = OST_Character)
  226.     void BlockOpenUI(bool _shouldBlock);
  227.  
  228.     UFUNCTION(BlueprintCallable, Category = OST_Character)
  229.         bool CanReloadCurrentWeapon();
  230.  
  231.     UFUNCTION(BlueprintCallable, Category = OST_Character)
  232.         void ReloadCurrentWeapon();
  233.  
  234.     UFUNCTION(BlueprintImplementableEvent, Category = OST_Character)
  235.         void OnReloadCurrentWeapon();
  236.  
  237.     /** Base turn rate, in deg/sec. Other scaling may affect final turn rate. */
  238.     UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = Camera)
  239.         float BaseTurnRate;
  240.  
  241.     /** Base look up/down rate, in deg/sec. Other scaling may affect final rate. */
  242.     UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = Camera)
  243.         float BaseLookUpRate;
  244.  
  245.     UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = OST_Character)
  246.         USoundCue* DefaultFootstepSoundCue;
  247.  
  248.     UPROPERTY(BlueprintReadWrite, Category = OST_Character)
  249.         USoundCue* CurrentFSSoundCue;
  250.  
  251.     //FootPlacement
  252.     UPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category = OST_Character)
  253.         bool bUseFootPlacement;
  254.     UPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category = OST_Character)
  255.         float IKTraceDistance;
  256.  
  257.     UPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category = OST_Character)
  258.         float MeshZOffset;
  259.  
  260.     UPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category = OST_Character)
  261.         float FloorDistance;
  262.     UPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category = OST_Character)
  263.         FRotator FootRightOffsetRot;
  264.     UPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category = OST_Character)
  265.         FRotator FootLeftOffsetRot;
  266.  
  267.     UPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category = OST_Character)
  268.         FName LeftFootSocket;
  269.     UPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category = OST_Character)
  270.         FName RightFootSocket;
  271.     UPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category = OST_Character)
  272.         float IKInterpSpeed;
  273.  
  274.     void Tick(float DeltaSeconds) override;
  275.  
  276.     void FootPlacement();
  277.     void IKFootTrace(float TraceDistance, FName Socket, float &IKoffset, FRotator &IKFloorNormal);
  278.  
  279.  
  280.  
  281.     UPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category = OST_Character)
  282.         FVector JointTargetRight;
  283.     UPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category = OST_Character)
  284.         FVector JointTargetLeft;
  285.     UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = OST_Character)
  286.         float IKoffsetRightFoot;
  287.     UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = OST_Character)
  288.         float IKoffsetLeftFoot;
  289.     UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = OST_Character)
  290.         float Scale;
  291.  
  292.     UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = OST_Character)
  293.         TArray<AActor*> MovingHandlerActorList;
  294.  
  295.     AActor* CurrentMovingHandlerActor;
  296.  
  297.     UPROPERTY(BlueprintReadOnly, Category = OST_Character)
  298.         bool IsHideModeActive;
  299.  
  300.     UFUNCTION(BlueprintCallable, Category = OST_Character)
  301.         void SetHideModeActive(bool ShouldActive);
  302.  
  303.     UFUNCTION(BlueprintCallable, Category = OST_Character)
  304.         void SetPositionCorrection();
  305.  
  306.     UPROPERTY(BlueprintReadOnly, Category = OST_Character)
  307.         bool IsJumpUpCover;
  308.  
  309.     UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "OST_Character")
  310.         FName RootBoneName;
  311.  
  312.     UFUNCTION(BlueprintCallable, Category = OST_Character)
  313.         void GetRootBoneRelativePosition();
  314.  
  315.     FVector RootBoneRelativePosition;
  316.  
  317.     UFUNCTION(BlueprintCallable, Category = OST_Character)
  318.         void RepositionRoot();
  319.  
  320.     UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = OST_Character)
  321.         FVector RootBoneRelativeLocation;
  322.  
  323.     UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = OST_Character)
  324.         TArray<FOST_FootStepsInfo> FootstepsInfoList;
  325.  
  326.     UPROPERTY(BlueprintReadOnly, Category = OST_Character)
  327.         bool bIsMovingFwrd;
  328.  
  329.     UPROPERTY(BlueprintReadOnly, Category = OST_Character)
  330.         bool bIsSprintOn;
  331.  
  332.     UPROPERTY(BlueprintReadOnly, Category = OST_Character)
  333.         bool bIsMovingSides;
  334.  
  335.     UPROPERTY(BlueprintReadOnly, Category = OST_Character)
  336.         bool bIsCrouching;
  337.     UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = OST_Character)
  338.         float CrouchingMult;
  339.  
  340.     UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = OST_Character)
  341.         float VerticalFlySpeed = 200;
  342.  
  343.     UFUNCTION(BlueprintCallable, Category = OST_Character)
  344.         void OnCrouchingStart();
  345.     UFUNCTION(BlueprintCallable, Category = OST_Character)
  346.         void OnCrouchingStop();
  347.  
  348.     UPROPERTY(BlueprintReadOnly, Category = OST_Character)
  349.         TEnumAsByte<EDirectionEnum::EDirectionType> BlockDirection;
  350.     UPROPERTY(BlueprintReadOnly, Category = OST_Character)
  351.         TEnumAsByte<EDirectionEnum::EDirectionType> MoveDirection;
  352.     int32 MoveFwrdInd;
  353.     int32 MoveSideInd;
  354.  
  355.     UFUNCTION(BlueprintCallable, Category = OST_Character)
  356.         void StartBlockDirection(TEnumAsByte<EDirectionEnum::EDirectionType> dir);
  357.  
  358.     UPROPERTY(BlueprintReadOnly, Category = OST_Character)
  359.         bool bIsUsing;
  360.  
  361.     UPROPERTY(BlueprintReadOnly, Category = OST_Character)
  362.         UAnimMontage* UsingAnimMontage;
  363.  
  364.     UPROPERTY(BlueprintReadOnly, Category = OST_Character)
  365.         AWheeledVehicle* DrivingCar;
  366.  
  367.     UPROPERTY(BlueprintReadOnly, Category = OST_Character)
  368.         AOST_Character* HorseChar;
  369.  
  370.     UPROPERTY(BlueprintReadOnly, Category = OST_Character)
  371.         FVector StartLocation;
  372.     UPROPERTY(BlueprintReadOnly, Category = OST_Character)
  373.         FRotator StartRotation;
  374.         void SetToStartLocation();
  375.  
  376.     UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = OST_Character)
  377.         float SprintMult;
  378.     float DefaultMaxWalkSpeed;
  379.  
  380.     UPROPERTY(BlueprintReadOnly, Category = OST_AnimInstance)
  381.         float SideSpeed;
  382.  
  383.     UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = OST_Character)
  384.         float Health;
  385.     UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = OST_Character)
  386.         float MaxHealth;
  387.     UFUNCTION(BlueprintCallable, Category = OST_Character)
  388.         void SetMaxHealth();
  389.     UFUNCTION(BlueprintCallable, Category = OST_Character)
  390.         void ChangeMaxHealth(float value);
  391.  
  392.     UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = OST_Character)
  393.         bool isAutoRestoreHealth;
  394.  
  395.     UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = OST_Character)
  396.         float EnergyPerHealthRestore = 1.f;
  397.  
  398.     UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = OST_Character)
  399.         float HealthRestoreRate = 1.f;
  400.  
  401.     UFUNCTION(BlueprintCallable, Category = OST_Character)
  402.         void AutoRestoreHealth();
  403.  
  404.     UPROPERTY(BlueprintReadOnly, Category = OST_Character)
  405.         bool bIsDead;
  406.  
  407.     //Set Alive after this time
  408.     UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = OST_Character)
  409.         float RegenerateInterval = 10.0f;
  410.  
  411.     UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = OST_Character)
  412.         float MaxEnergy;
  413.  
  414.     UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = OST_Character)
  415.         float Energy;
  416.     UFUNCTION(BlueprintCallable, Category = OST_Character)
  417.         void SetMaxEnergy();
  418.  
  419.     UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = OST_Character)
  420.         float MaxPower;
  421.  
  422.     UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = OST_Character)
  423.         float Power;
  424.     UFUNCTION(BlueprintCallable, Category = OST_Character)
  425.         void SetMaxPower();
  426.  
  427.     UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = OST_Character)
  428.         int32 Money = 200;
  429.  
  430.     UPROPERTY(EditDefaultsOnly, Category = OST_Character)
  431.         TArray<TSubclassOf<class AOST_Inventory> > DefaultInventory;
  432.  
  433.     UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = OST_Character)
  434.         TArray<TSubclassOf<class AOST_DropActor> > DropActorClasses;
  435.  
  436.     UPROPERTY(BlueprintReadOnly, Category = OST_Character)
  437.         TArray<AOST_Inventory*> Inventory;
  438.  
  439.     UPROPERTY(BlueprintReadOnly, Category = OST_Character)
  440.         AOST_Weapon* Weapon;
  441.  
  442.     UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = OST_Character)
  443.         float CameraBoomDefFOV;
  444.  
  445.     UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = OST_Character)
  446.         FVector CameraBoomDefOffset;
  447.  
  448.     bool bWeaponIsActive;
  449.  
  450.     //default point generate fire effect
  451.     UPROPERTY(BlueprintReadOnly, Category = OST_Character)
  452.         FVector WeaponFireOffset;
  453.  
  454.     //can attack - using AI
  455.     UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = OST_Character_AI)
  456.         bool bCanAttackAI;
  457.     //can using - using AI
  458.     UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = OST_Character_AI)
  459.         bool bCanUseAI;
  460.  
  461.     //How mach change Health
  462.     UFUNCTION(BlueprintCallable, Category = OST_Character)
  463.         void ChangeHealth(float Value);
  464.  
  465.     //How mach change Energy
  466.     UFUNCTION(BlueprintCallable, Category = OST_Character)
  467.         void ChangeEnergy(float Value);
  468.  
  469.     //How mach change Power
  470.     UFUNCTION(BlueprintCallable, Category = OST_Character)
  471.         void ChangePower(float Value);
  472.  
  473.     //How mach change Money
  474.     UFUNCTION(BlueprintCallable, Category = OST_Character)
  475.         void ChangeMoney(float Value);
  476.     UFUNCTION(BlueprintCallable, Category = OST_Character)
  477.         bool HaveMoney(float Value);
  478.  
  479.     //Trading with trader
  480.     UFUNCTION(BlueprintCallable, Category = OST_Character)
  481.         void StartTradingWithPlayer(bool bExchange = false);
  482.  
  483.     UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = OST_Character)
  484.         int32 MaxInvItemsInStuff = 9;
  485.     bool CanCreateItem(AOST_Inventory* NewItem);
  486.  
  487.     UFUNCTION(BlueprintCallable, Category = OST_Character)
  488.         AOST_Inventory* CreateInventory(TSubclassOf<class AOST_Inventory> InvClass, bool bAddInInventory = true, bool bNeedCheckAbility = true);
  489.  
  490.     UFUNCTION(BlueprintCallable, Category = OST_Character)
  491.         bool AddInventory(AOST_Inventory* NewItem);
  492.  
  493.     UFUNCTION(BlueprintCallable, Category = OST_Character)
  494.         void RemoveInventory(AOST_Inventory* Item);
  495.  
  496.     void ClearInventory();
  497.  
  498.     UFUNCTION(BlueprintCallable, Category = OST_Character)
  499.         AOST_Inventory* RemoveInventoryClass(TSubclassOf<class AOST_Inventory> ItemClass);
  500.  
  501.     UFUNCTION(BlueprintCallable, Category = OST_Character)
  502.         AOST_Inventory* HaveInInventory(TSubclassOf<class AOST_Inventory> InvClass);
  503.  
  504.     //What type of the weapon. Need in AnimBP Character
  505.     UFUNCTION(BlueprintCallable, Category = OST_Character)
  506.         int32 GetWeaponBlendType();
  507.  
  508.     UFUNCTION(BlueprintCallable, Category = OST_Character)
  509.         void StartDrivingOfVehicle(AWheeledVehicle* Vehicle, bool HiddenWhileDriving);
  510.  
  511.     UFUNCTION(BlueprintCallable, Category = OST_Character)
  512.         void StopDrivingOfVehicle();
  513.  
  514.     UFUNCTION(BlueprintCallable, Category = OST_Character)
  515.         void StartDrivingOfHorse(AOST_Character* Horse, bool HiddenWhileDriving);
  516.  
  517.     UFUNCTION(BlueprintCallable, Category = OST_Character)
  518.         void StopDrivingOfHorse();
  519.  
  520.     int32 GetVehicleID();
  521.  
  522.     void AddMovingHandlerActor(AActor* NewActor);
  523.     void RemoveMovingHandlerActor(AActor* OldActor);
  524.  
  525.     //from animation
  526.     UFUNCTION(BlueprintCallable, Category = OST_Character)
  527.         void OnStopUsingAnim();
  528.  
  529.     //from animation
  530.     UFUNCTION(BlueprintCallable, Category = OST_Character)
  531.         void OnTakeItem();
  532.  
  533.     //from animation
  534.     UFUNCTION(BlueprintCallable, Category = OST_Character)
  535.         void OnStopDieAnim();
  536.  
  537.     UFUNCTION(BlueprintCallable, Category = OST_Character)
  538.         void SetCurrentWeapon(AOST_Weapon* NewWeapon);
  539.  
  540.     UFUNCTION(BlueprintCallable, Category = OST_Character)
  541.         void SprintStart();
  542.     UFUNCTION(BlueprintImplementableEvent, Category = OST_Character)
  543.         void OnSprintStart();
  544.     UFUNCTION(BlueprintCallable, Category = OST_Character)
  545.         void SprintStop();
  546.     UFUNCTION(BlueprintImplementableEvent, Category = OST_Character)
  547.         void OnSprintStop();
  548.     UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = OST_Character)
  549.         float PowerToSprintPerSecond = 10;
  550.  
  551.  
  552.     UFUNCTION(BlueprintCallable, Category = OST_Character)
  553.         void Use();
  554.     UFUNCTION(BlueprintCallable, Category = OST_Character)
  555.         void TryLook();
  556.     UFUNCTION(BlueprintCallable, Category = OST_Character)
  557.         void TryUse();
  558.  
  559.     UFUNCTION(BlueprintImplementableEvent, Category = OST_Character)
  560.         void OnUse();
  561.     UFUNCTION(BlueprintCallable, Category = OST_Character)
  562.         void StartFire();
  563.     UFUNCTION(BlueprintImplementableEvent, Category = OST_Character)
  564.         void OnStartFire();
  565.     UFUNCTION(BlueprintCallable, Category = OST_Character)
  566.         void StopFire();
  567.     UFUNCTION(BlueprintCallable, Category = OST_Character)
  568.         void Eject();
  569.  
  570.     UFUNCTION(BlueprintCallable, Category = OST_Character)
  571.         void LockInput();
  572.  
  573.     UFUNCTION(BlueprintCallable, Category = OST_Character)
  574.         void UnLockInput();
  575.  
  576.     UFUNCTION(BlueprintCallable, Category = OST_Character)
  577.         void OnLeftFootstep();
  578.  
  579.     UFUNCTION(BlueprintCallable, Category = OST_Character)
  580.         void OnRightFootstep();
  581.  
  582.     void MakeFootstep();
  583.     UFUNCTION(BlueprintImplementableEvent, Category = OST_Character)
  584.         void OnMakeFootstep();
  585.  
  586.     UFUNCTION(BlueprintImplementableEvent, Category = OST_Character)
  587.         void OnWeaponActivate(AActor* _wpn);
  588.     UFUNCTION(BlueprintImplementableEvent, Category = OST_Character)
  589.         void OnWeaponDeactivate(AActor* _wpn);
  590.  
  591.     UFUNCTION(BlueprintImplementableEvent, Category = OST_Character)
  592.         void OnWeaponStartTargeting(AActor* _wpn);
  593.     UFUNCTION(BlueprintImplementableEvent, Category = OST_Character)
  594.         void OnWeaponStopTargeting(AActor* _wpn);
  595.  
  596.     bool bLockInput;
  597.  
  598.     UFUNCTION(BlueprintImplementableEvent, Category = OST_Character)
  599.         void OnUsed(AActor* OtherUser);
  600.  
  601.     virtual void BeginPlay() override;
  602.     virtual void EndPlay(const EEndPlayReason::Type EndPlayReason) override;
  603.     virtual float TakeDamage(float Damage, struct FDamageEvent const& DamageEvent, class AController* EventInstigator, class AActor* DamageCauser) override;
  604.     virtual void Jump() override;
  605.     void NextDialogue();
  606.  
  607.     UFUNCTION(BlueprintCallable, Category = OST_Character)
  608.         virtual void AddUsingActor(AActor* OtherActor);
  609.     UFUNCTION(BlueprintCallable, Category = OST_Character)
  610.         void RemoveUsingActor(AActor* OtherActor);
  611.  
  612.     virtual void PutInvOnPawn(AOST_Inventory* Inv);
  613.     virtual void GetInvFromPawn(AOST_Inventory* Inv);
  614.  
  615.     void OpenMainMenu();
  616.     UFUNCTION(BlueprintCallable, Category = OST_Character)
  617.         void InventorySwitch();
  618.  
  619.     UFUNCTION(BlueprintCallable, Category = OST_Character)
  620.         bool InventoryUsing(TSubclassOf<class AOST_Inventory> key);
  621.  
  622.     UFUNCTION(BlueprintCallable, Category = OST_Character)
  623.         void Using(AActor* ActorToUse);
  624.     int32 UseID;
  625.  
  626.     UFUNCTION(BlueprintCallable, Category = OST_Character)
  627.         void ActivateWeapon();
  628.  
  629.     UFUNCTION(BlueprintCallable, Category = OST_Character)
  630.         void DeactivateWeapon();
  631.  
  632.     UFUNCTION(BlueprintCallable, Category = OST_Character)
  633.         void ChangeWeapon(AOST_Weapon* NewWeapon);
  634.  
  635.     UFUNCTION(BlueprintImplementableEvent, Category = OST_Character)
  636.         void OnDeath();
  637.  
  638.     UFUNCTION(BlueprintCallable, Category = OST_Character)
  639.         void PawnSetToAlive();
  640.     UFUNCTION(BlueprintImplementableEvent, Category = OST_Character)
  641.         void OnPawnSetToAlive();
  642.     UFUNCTION(BlueprintCallable, Category = OST_Character)
  643.         void RegenerateAtTransform(FVector Location, FRotator Rotation);
  644.     UFUNCTION(BlueprintImplementableEvent, Category = OST_Character)
  645.         void OnRegenerateAtTransform(FVector Location, FRotator Rotation);
  646.  
  647.     void NotifyDeath(class AController* EventInstigator, class AActor* DamageCauser);
  648.  
  649.     UPROPERTY(BlueprintReadOnly, Category = OST_Character)
  650.         TArray<FVector> DeadPlaces;
  651.  
  652.     void TryCloseMessages();
  653.  
  654. protected:
  655.  
  656.     void SetMoveDirection();
  657.  
  658.     void SwitchMateneeChooser();
  659.  
  660.     AHUD* GetMyHUD();
  661.  
  662.     void EjectInventory(AOST_Inventory* Inv);
  663.  
  664.     FVector GetEjectLocation();
  665.  
  666.     void BlockMoving(bool bBlock);
  667.  
  668.     void SetDefaultInventory();
  669.  
  670.     void NextWeapon();
  671.     void PrevWeapon();
  672.     void ActivateWeaponSwitch();
  673.  
  674.     void UnTargetingWeapon();
  675.     void TargetingWeapon();
  676.  
  677.     /** Called for forwards/backward input */
  678.     void MoveForward(float Value);
  679.  
  680.     void MoveVertical(float Value);
  681.  
  682.     /** Called for side to side input */
  683.     void MoveRight(float Value);
  684.  
  685.     void Turn(float Rate);
  686.     void LookUp(float Value);
  687.  
  688.  
  689.     /**
  690.     * Called via input to turn at a given rate.
  691.     * @param Rate   This is a normalized rate, i.e. 1.0 means 100% of desired turn rate
  692.     */
  693.     void TurnAtRate(float Rate);
  694.  
  695.     /**
  696.     * Called via input to turn look up/down at a given rate.
  697.     * @param Rate   This is a normalized rate, i.e. 1.0 means 100% of desired turn rate
  698.     */
  699.     void LookUpAtRate(float Rate);
  700.  
  701.     /** Handler for when a touch input begins. */
  702.     void TouchStarted(ETouchIndex::Type FingerIndex, FVector Location);
  703.  
  704.     // APawn interface
  705.     virtual void SetupPlayerInputComponent(class UInputComponent* InputComponent) override;
  706.     // End of APawn i
  707. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement