/**
         * <summary>Creates a new instance of the 'Object: Add or remove' Action, set to remove a GameObject from the scene.</summary>
         * <param name = "objectToRemove">The object to remove</param>
         * <returns>The generated Action</returns>
         */
        public static ActionInstantiate CreateNew_Remove(GameObject objectToRemove)
        {
            ActionInstantiate newAction = (ActionInstantiate)CreateInstance <ActionInstantiate>();

            newAction.invAction  = InvAction.Remove;
            newAction.gameObject = objectToRemove;

            return(newAction);
        }
        /**
         * <summary>Creates a new instance of the 'Object: Add or remove' Action, set to spawn a new GameObject.</summary>
         * <param name = "prefabToAdd">The prefab to spawn</param>
         * <returns>The generated Action</returns>
         */
        public static ActionInstantiate CreateNew_Add(GameObject prefabToAdd)
        {
            ActionInstantiate newAction = (ActionInstantiate)CreateInstance <ActionInstantiate>();

            newAction.invAction  = InvAction.Add;
            newAction.gameObject = prefabToAdd;

            return(newAction);
        }
        /**
         * <summary>Creates a new instance of the 'Object: Add or remove' Action, set to replace one GameObject with another</summary>
         * <param name = "prefabToAdd">The prefab to spawn</param>
         * <param name = "objectToRemove">The object to remove</param>
         * <returns>The generated Action</returns>
         */
        public static ActionInstantiate CreateNew_Replace(GameObject prefabToAdd, GameObject objectToRemove)
        {
            ActionInstantiate newAction = (ActionInstantiate)CreateInstance <ActionInstantiate>();

            newAction.invAction         = InvAction.Replace;
            newAction.gameObject        = prefabToAdd;
            newAction.replaceGameObject = objectToRemove;

            return(newAction);
        }