Git Product home page Git Product logo

uutils's Introduction

UUtils

  • Various helper modules for RobCoG.

  • Supported engine version: UE 4.22

Usage

  • Add the plugin to your project (e.g MyProject/Plugins/UUtils)

  • Add the module dependency to your module (Project, Plugin); In the MyModule.Build.cs file:

    PublicDependencyModuleNames.AddRange(
    new string[]
    {
    ...
    "UMyUtilsModule",  // UIds, UTags etc.
    ...
    }
    );
  • Include MyUtilsModule.h where you plan to use the related functions.

Modules

UTags

Using the built in Tag functionalities of Actors and Components to store data in a key-value pair form. The plugin has various functions to ease the access for such data.

Example of storing key-value pairs:

[TagType;Key1,Value1;Key2,Value2;Key3,Value3;]

  • first word always represents the TagType, this is followed by a semicolon
  • separate the [Key] from the [Value] using a comma: ,
  • separate the [Key,Value]-pairs using a semicolon: ;
  • always end the tag description with a semicolon: ;
  • do NOT use white spaces in the tag descriptions

How to add tags to an actor:

Actor Tags

How to add tags to a component:

Component Tags

Examples

Tag:

[SemLog;Runtime,Static;Id,3rFg;Class,Sink;]

Generating new Ids for all the actors with the TagType SemLog:

    static FReply GenerateNewIds()
    {
        for (TActorIterator<AActor> ActItr(GEditor->GetEditorWorldContext().World()); ActItr; ++ActItr)
        {
            int32 TagIndex = FTagStatics::GetTagTypeIndex(*ActItr, "SemLog");
            if (TagIndex != INDEX_NONE)
            {
                FTagStatics::AddKeyValuePair(
                    ActItr->Tags[TagIndex], "Id", FSLStatics::GenerateRandomFString(4));
            }
        }
        return FReply::Handled();
    }

Get a map of actors or components to their tag properties giving the world as an input

    // Get the map of actors to their tag properties
    const TMap<AActor*, TMap<FString, FString>> ActorToTagProperties =
        FTagStatics::GetActorsToKeyValuePairs(World, "SemLog");

    // Get the map of components to their tag properties
    const TMap<UActorComponent*, TMap<FString, FString>> ComponentToTagProperties =
    FTagStatics::GetComponentsToKeyValuePairs(World, "SemLog");

    // Get all objects with TF tags
    auto ObjToTagData = FTagStatics::GetObjectsToKeyValuePairs(GetWorld(), TEXT("TF"));

UIds

Helper functions for generating and converting universal unique identifiers (FGuid) to Base64 and back.

UConversions

Units and coordinate systems conversions from and to Unreal Engine.

uutils's People

Contributors

andreihaidu avatar sysoverdrive avatar j-schaefer avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.