first commit
This commit is contained in:
69
include/engine/script/script_variant.h
Normal file
69
include/engine/script/script_variant.h
Normal file
@ -0,0 +1,69 @@
|
||||
/* -----------------------------------------------------------------------------
|
||||
GSFramework
|
||||
Copyright 2001-2013 Emmanuel Julien. All Rights Reserved.
|
||||
----------------------------------------------------------------------------- */
|
||||
|
||||
|
||||
#ifndef __NSCRIPTVARIANT__
|
||||
#define __NSCRIPTVARIANT__
|
||||
|
||||
#include "data/nvariant.h"
|
||||
#include "script/script_vm.h"
|
||||
|
||||
namespace GS {
|
||||
namespace Script {
|
||||
class Object;
|
||||
|
||||
/// Script variant.
|
||||
struct Variant
|
||||
{
|
||||
enum Type
|
||||
{
|
||||
Type_None = 0,
|
||||
Type_Variant,
|
||||
Type_ScriptObject,
|
||||
Type_UserObject
|
||||
};
|
||||
|
||||
Type type;
|
||||
|
||||
GS::Variant variant;
|
||||
|
||||
bool object_owner;
|
||||
Object *object;
|
||||
void *ptr;
|
||||
uint typetag;
|
||||
|
||||
bool operator == (const Variant &) const;
|
||||
bool operator != (const Variant &) const;
|
||||
|
||||
void Set();
|
||||
void Set(bool v);
|
||||
void Set(int v);
|
||||
void Set(uint v);
|
||||
void Set(float v);
|
||||
void Set(const char *v);
|
||||
void Set(const GS::Variant &v);
|
||||
void Set(Object *object, bool object_owner = false);
|
||||
void Set(const void *p, size_t size);
|
||||
void Set(void *ptr, uint typetag);
|
||||
|
||||
Variant();
|
||||
Variant(bool v);
|
||||
Variant(int v);
|
||||
Variant(uint v);
|
||||
Variant(float v);
|
||||
Variant(const char *v);
|
||||
Variant(const GS::Variant &v);
|
||||
Variant(Object *object, bool object_owner = false);
|
||||
Variant(const void *p, size_t size);
|
||||
Variant(void *ptr, uint typetag);
|
||||
|
||||
~Variant();
|
||||
};
|
||||
|
||||
} // Script
|
||||
} // GS
|
||||
|
||||
|
||||
#endif // __NSCRIPTVARIANT__
|
||||
Reference in New Issue
Block a user