const C3 = self.C3;
self.C3_GetObjectRefTable = function () {
	return [
		C3.Plugins.Keyboard,
		C3.Plugins.gamepad,
		C3.Plugins.TiledBg,
		C3.Behaviors.solid,
		C3.Plugins.Sprite,
		C3.Behaviors.EightDir,
		C3.Behaviors.scrollto,
		C3.Behaviors.Bullet,
		C3.Behaviors.destroy,
		C3.Plugins.Text,
		C3.Plugins.Touch,
		C3.Plugins.Audio,
		C3.Plugins.Keyboard.Cnds.IsKeyDown,
		C3.Plugins.Touch.Cnds.IsTouchingObject,
		C3.Behaviors.EightDir.Acts.SimulateControl,
		C3.Plugins.Sprite.Acts.SetAnim,
		C3.Plugins.Sprite.Acts.SetInstanceVar,
		C3.Plugins.Keyboard.Cnds.OnKey,
		C3.Plugins.Touch.Cnds.OnTouchObject,
		C3.Plugins.Sprite.Acts.Spawn,
		C3.Plugins.Sprite.Acts.SetAngle,
		C3.Plugins.Audio.Acts.Play,
		C3.Plugins.System.Cnds.Every,
		C3.Plugins.Text.Acts.SetText,
		C3.Plugins.System.Acts.SubVar,
		C3.Plugins.Sprite.Cnds.CompareInstanceVar,
		C3.Plugins.System.Acts.RestartLayout,
		C3.Plugins.Sprite.Cnds.OnCollision,
		C3.Plugins.Sprite.Acts.Destroy,
		C3.Plugins.System.Acts.AddVar,
		C3.Plugins.Sprite.Cnds.CompareX,
		C3.Plugins.Sprite.Exps.X,
		C3.Plugins.Sprite.Acts.SetMirrored,
		C3.Plugins.Sprite.Cnds.CompareY,
		C3.Plugins.Sprite.Exps.Y,
		C3.Plugins.Sprite.Acts.SetX,
		C3.Plugins.Sprite.Acts.MoveToTop,
		C3.Plugins.Sprite.Acts.SubInstanceVar,
		C3.Plugins.Sprite.Acts.AddInstanceVar,
		C3.Plugins.System.Acts.NextPrevLayout,
		C3.Plugins.System.Cnds.OnLayoutStart,
		C3.Plugins.System.Cnds.EveryTick,
		C3.Plugins.Touch.Cnds.OnTapGestureObject,
		C3.Plugins.System.Acts.GoToLayout,
		C3.Plugins.System.Acts.SetVar
	];
};
self.C3_JsPropNameTable = [
	{Keyboard: 0},
	{Gamepad: 0},
	{Solid: 0},
	{CastleWalls: 0},
	{DoubleDoors: 0},
	{NextLevelStairs: 0},
	{DoorKey: 0},
	{Keys: 0},
	{Score: 0},
	{RedKeys: 0},
	{Direction: 0},
	{PlayerHP: 0},
	{"8Direction": 0},
	{ScrollTo: 0},
	{Player: 0},
	{TreasureChest: 0},
	{RedDoor: 0},
	{RedKey: 0},
	{Bullet: 0},
	{Sword: 0},
	{GhostHP: 0},
	{GhostDirection: 0},
	{DestroyOutsideLayout: 0},
	{Ghost: 0},
	{GhostGeneratorHP: 0},
	{GhostGenerator: 0},
	{HPText: 0},
	{FloorTile: 0},
	{StatBacker: 0},
	{Touch: 0},
	{TouchUp: 0},
	{TouchDown: 0},
	{TouchLeft: 0},
	{TouchRight: 0},
	{AttackButton: 0},
	{Audio: 0},
	{Food: 0},
	{CastleWalls2: 0},
	{FinalDoor: 0},
	{YouWon: 0},
	{Blank: 0},
	{EndScore: 0},
	{Reset: 0},
	{Hp: 0}
];

self.InstanceType = {
	Keyboard: class extends self.IInstance {},
	Gamepad: class extends self.IInstance {},
	CastleWalls: class extends self.ITiledBackgroundInstance {},
	DoubleDoors: class extends self.ISpriteInstance {},
	NextLevelStairs: class extends self.ISpriteInstance {},
	DoorKey: class extends self.ISpriteInstance {},
	Player: class extends self.ISpriteInstance {},
	TreasureChest: class extends self.ISpriteInstance {},
	RedDoor: class extends self.ISpriteInstance {},
	RedKey: class extends self.ISpriteInstance {},
	Sword: class extends self.ISpriteInstance {},
	Ghost: class extends self.ISpriteInstance {},
	GhostGenerator: class extends self.ISpriteInstance {},
	HPText: class extends self.ITextInstance {},
	FloorTile: class extends self.ITiledBackgroundInstance {},
	StatBacker: class extends self.ISpriteInstance {},
	Touch: class extends self.IInstance {},
	TouchUp: class extends self.ISpriteInstance {},
	TouchDown: class extends self.ISpriteInstance {},
	TouchLeft: class extends self.ISpriteInstance {},
	TouchRight: class extends self.ISpriteInstance {},
	AttackButton: class extends self.ISpriteInstance {},
	Audio: class extends self.IInstance {},
	Food: class extends self.ISpriteInstance {},
	CastleWalls2: class extends self.ITiledBackgroundInstance {},
	FinalDoor: class extends self.ISpriteInstance {},
	YouWon: class extends self.ISpriteInstance {},
	Blank: class extends self.ISpriteInstance {},
	EndScore: class extends self.ITextInstance {},
	Reset: class extends self.ISpriteInstance {}
}