class UMagesView

#include <MagesView.h>

class UMagesView: public UActorComponent
{
public:
    // fields

    int ViewID;
    bool HasAuthority;
    EOwnershipOption OwnershipTransferType = EOwnershipOption::Takeover;
    bool IsInitialized =false;
    bool WasBound = false;

    // methods

    void Initialize(int ID);
    void BeginPlay();
    void EndPlay(const EEndPlayReason::Type EndPlayReason);

    void SerializeView(
        FMagesNetStream* Stream,
        const FSerializationMessageInfo& MessageInfo
        );

    void DeserializeView(
        FMagesNetStream* Stream,
        const FSerializationMessageInfo& MessageInfo
        );

    int GetID();
    int GetViewCreator();
    bool IsMine();
    void AddObservedComponent(UObject* Object);
    void TransferOwnership(int NewOwnerID);
    void SetNewOwner(int newOwnerID);
};