function GetPluginSettings()
{
	return {
		"name":			"KIZ10 API",
		"id":			"sirg_kiz",
		"version":		"1.0",
		"description":	"www.kiz10.com API plugin",
		"author":		"Sir_G",
		"help url":		"sirg2003@gmail.com",
		"category":		"Monetisation",
		"type":			"object",				// either "world" (appears in layout and is drawn), else "object"
		"rotatable":	false,					// only used when "type" is "world".  Enables an angle property on the object.
		"flags":		0						// uncomment lines to enable flags...
						| pf_singleglobal		// exists project-wide, e.g. mouse, keyboard.  "type" must be "object".
					//	| pf_texture			// object has a single texture (e.g. tiled background)
					//	| pf_position_aces		// compare/set/get x, y...
					//	| pf_size_aces			// compare/set/get width, height...
					//	| pf_angle_aces			// compare/set/get angle (recommended that "rotatable" be set to true)
					//	| pf_appearance_aces	// compare/set/get visible, opacity...
					//	| pf_tiling				// adjusts image editor features to better suit tiled images (e.g. tiled background)
					//	| pf_animations			// enables the animations system.  See 'Sprite' for usage
					//	| pf_zorder_aces		// move to top, bottom, layer...
					//  | pf_nosize				// prevent resizing in the editor
					//	| pf_effects			// allow WebGL shader effects to be added
					//  | pf_predraw			// set for any plugin which draws and is not a sprite (i.e. does not simply draw
												// a single non-tiling image the size of the object) - required for effects to work properly
	};
};

//////////////////////////////////////////////////////////////
// Conditions
////////////////////////////////////////
// Actions
AddAnyTypeParam("STAT_CODE", "STAT_CODE from developer console.");
AddAnyTypeParam("STAT_VALUE", "Actual value (integer number) of the score. Please, keep low the number of calls to the api. Good places to make this call are usually the level complete screen and when player dies.");
AddAction(0, 0, "Submit stat/score", "Kiz10", "Submit <b>{0}</b> with value <b>{1}</b>", "Submit stat/score.", "SubmitScore");

AddAnyTypeParam("ACHIEV_CODE", "ACHIEV_CODE from developer console. A code-name for the achievement (max. 32 characters)");
AddAnyTypeParam("ACHIEV_PROGRESS", "POINTS from developer console. Dificulty level of the achievement (points to be awarded).");
AddAction(1, 0, "Submit achievement progress", "Kiz10", "Submit achievement progress <b>{0}</b> with value <b>{1}</b>", "Submit achievement progress.", "UnlockAchievement");
////////////////////////////////////////
// Expressions

ACESDone();

// Property grid properties for this plugin
var property_list = [
	new cr.Property(ept_text,"Game ID","","Game ID"),
	new cr.Property(ept_text,"API Key","","API Key")
];

// Called by IDE when a new object type is to be created
function CreateIDEObjectType()
{
	return new IDEObjectType();
};

// Class representing an object type in the IDE
function IDEObjectType()
{
	assert2(this instanceof arguments.callee, "Constructor called as a function");
};

// Called by IDE when a new object instance of this type is to be created
IDEObjectType.prototype.CreateInstance = function(instance)
{
	return new IDEInstance(instance);
};

// Class representing an individual instance of an object in the IDE
function IDEInstance(instance, type)
{
	assert2(this instanceof arguments.callee, "Constructor called as a function");

	// Save the constructor parameters
	this.instance = instance;
	this.type = type;

	// Set the default property values from the property table
	this.properties = {};

	for (var i = 0; i < property_list.length; i++)
		this.properties[property_list[i].name] = property_list[i].initial_value;

	// Plugin-specific variables
	this.just_inserted = false;
};

IDEInstance.prototype.OnCreate = function()
{
};

IDEInstance.prototype.OnInserted = function()
{
};

IDEInstance.prototype.OnDoubleClicked = function()
{
};

// Called by the IDE after a property has been changed
IDEInstance.prototype.OnPropertyChanged = function(property_name)
{
};

IDEInstance.prototype.OnRendererInit = function(renderer)
{
};

// Called to draw self in the editor
IDEInstance.prototype.Draw = function(renderer)
{
};

IDEInstance.prototype.OnRendererReleased = function(renderer)
{
};