enderalse/source/fs.dll/skse64/skse64/InternalTasks.h

105 lines
2.2 KiB
C++

#pragma once
#include "skse64/GameThreads.h"
class SKSETaskUpdateTintMasks : public TaskDelegate
{
public:
virtual void Run();
virtual void Dispose();
};
class SKSETaskUpdateHairColor : public TaskDelegate
{
public:
virtual void Run();
virtual void Dispose();
};
class SKSETaskRegenHead : public TaskDelegate
{
public:
static SKSETaskRegenHead * Create(Actor * actor);
virtual void Run();
virtual void Dispose();
private:
Actor* m_actor;
};
class SKSETaskChangeHeadPart : public TaskDelegate
{
public:
static SKSETaskChangeHeadPart * Create(Actor * actor, BGSHeadPart* oldPart, BGSHeadPart* newPart);
virtual void Run();
virtual void Dispose();
private:
Actor* m_actor;
BGSHeadPart* m_oldPart;
BGSHeadPart* m_newPart;
};
class SKSETaskUpdateWeight : public TaskDelegate
{
public:
static SKSETaskUpdateWeight * Create(Actor * actor, float delta, UInt32 updateFlags, bool redrawWeapon);
virtual void Run();
virtual void Dispose();
private:
Actor * m_actor;
float m_delta;
UInt32 m_updateFlags;
bool m_redraw;
};
class SKSETaskUpdateWorldData : public TaskDelegate
{
public:
static SKSETaskUpdateWorldData * Create(NiAVObject * object);
virtual void Run();
virtual void Dispose();
private:
NiAVObject * m_object;
};
class SKSETaskUpdateHarvestModel : public TaskDelegate
{
public:
static SKSETaskUpdateHarvestModel * Create(TESObjectREFR * reference);
virtual void Run();
virtual void Dispose();
private:
TESObjectREFR * m_reference;
};
class SKSETaskUpdateExpression : public TaskDelegate
{
public:
static SKSETaskUpdateExpression * Create(Actor * actor, UInt8 type, UInt16 index, float value);
virtual void Run();
virtual void Dispose();
private:
UInt8 m_type;
UInt16 m_index;
Actor * m_actor;
float m_value;
};
namespace TaskInterface
{
void UpdateTintMasks();
void UpdateHairColor();
void RegenerateHead(Actor * actor);
void ChangeHeadPart(Actor * actor, BGSHeadPart * oldPart, BGSHeadPart * newPart);
void UpdateWeight(Actor * actor, float delta, UInt32 updateFlags, bool redrawWeapon);
void UpdateWorldData(NiAVObject * object);
void UpdateExpression(Actor * actor, UInt8 type, UInt16 index, float value);
void UpdateHarvestModel(TESObjectREFR * refr);
};