Код: Выделить всё
UINTERFACE(BlueprintType, NotBlueprintable)
class UFVariableBloc : public UFBloc {
GENERATED_BODY()
};
class IFVariableBloc : public IFBloc
{
GENERATED_BODY()
public:
FString VariableName = "";
UFUNCTION(BlueprintCallable, Category="VariableBloc")
virtual FString GetVariableName() const { return VariableName; }
UFUNCTION(BlueprintCallable, Category="VariableBloc")
virtual void SetVariableName(FString NewVariableName) {VariableName = NewVariableName;}
float Value;
bool DisplayInHUD = true;
bool UserReadOnly = false;
bool RobotRelatedVariable = false;
UFUNCTION(BlueprintCallable, Category="VariableBloc")
virtual void SetValue(float NewValue) {Value = NewValue;}
// a bunch of other functions
}
Код: Выделить всё
UCLASS(Blueprintable)
class UVariablesManager : public UObject
{
GENERATED_BODY()
public:
UVariablesManager();
UFUNCTION(BlueprintCallable, Category="VariableManager")
void AddVariable(const TScriptInterface& NewVariable)
{
Variables.Add(NewVariable->GetVariableName(), NewVariable);
}
UFUNCTION(BlueprintCallable, Category="VariableManager")
int GetNbVariables()
{
return Variables.Num();
}
// also got some other functions that work without any problem
protected:
TMap Variables;
};
Код: Выделить всё
NewVariable->GetVariableName()есть идеи?
спасибо
Подробнее здесь: https://stackoverflow.com/questions/797 ... ace-object
Мобильная версия