/// <summary>
		/// Change the current action
		/// </summary>
		/// <param name="action">Action handle</param>
		void SetAction(ActionBase action)
		{
			// Dispose disposable controls
			foreach (var ctrl in ActionPropertiesBox.Controls)
			{
				if (ctrl is IDisposable)
					((IDisposable)ctrl).Dispose();
			}
			ActionPropertiesBox.Controls.Clear();



			if (Script == null)
				return;

			Script.Action = action;

			if (action == null)
				return;

			ActionBaseControl basectrl = null;

			if (action is EnableTarget)
			{
				basectrl = new EnableTargetControl(action as EnableTarget, Dungeon);
			}
			else if (action is DisableTarget)
			{
				basectrl = new DisableTargetControl(action as DisableTarget, Dungeon);
			}
			else if (action is ToggleTarget)
			{
				basectrl = new ToggleTargetControl(action as ToggleTarget, Dungeon);
			}
			else if (action is ActivateTarget)
			{
				basectrl = new ActivateTargetControl(action as ActivateTarget, Dungeon);
			}
			else if (action is DeactivateTarget)
			{
				basectrl = new DeactivateTargetControl(action as DeactivateTarget, Dungeon);
			}
			else if (action is Teleport)
			{
				basectrl = new TeleportControl(action as Teleport, Dungeon);
			}
			else if (action is ChangePicture)
			{
				basectrl = new ChangePictureControl(action as ChangePicture);
			}
			else if (action is ChangeText)
			{
				basectrl = new ChangeTextControl(action as ChangeText);
			}
			else if (action is DisableChoice)
			{
				basectrl = new DisableChoiceControl(action as DisableChoice);
			}
			else if (action is EnableChoice)
			{
				basectrl = new EnableChoiceControl(action as EnableChoice);
			}
			else if (action is EndChoice)
			{
				basectrl = new EndChoiceControl(action as EndChoice);
			}
			else if (action is EndDialog)
			{
				basectrl = new EndDialogControl(action as EndDialog);
			}
			else if (action is GiveExperience)
			{
				basectrl = new GiveExperienceControl(action as GiveExperience);
			}
			else if (action is GiveItem)
			{
				basectrl = new GiveItemControl(action as GiveItem);
			}
			else if (action is Healing)
			{
				basectrl = new HealingControl(action as Healing);
			}
			else if (action is JoinCharacter)
			{
				basectrl = new JoinCharacterControl(action as JoinCharacter);
			}
			else if (action is DisplayMessage)
			{
				basectrl = new DisplayMessageControl(action as DisplayMessage);
			}
			else if (action is SetTo)
			{
				basectrl = new SetToControl(action as SetTo, Dungeon);
			}
			else if (action is SpawnMonster)
			{
				basectrl = new SpawnMonsterControl(action as SpawnMonster, Dungeon);
			}
			else
			{
			}

			if (basectrl == null)
				return;

			basectrl.Dock = DockStyle.Fill;
			ActionPropertiesBox.Controls.Add(basectrl);


		}