/* Functions */

        private void Awake()
        {
            instance = this;

            this.mOpenWindow = new LinkedList <JCS_DialogueObject>();

            this.mGlobalUndoRedoSystem = this.gameObject.AddComponent <JCS_UndoRedoSystem>();
        }
        /* Functions */

        protected override void Awake()
        {
            base.Awake();

            // Use the universal one if not filled.
            if (mUndoRedoSystem == null)
            {
                this.mUndoRedoSystem = JCS_UIManager.instance.GetGlobalUndoRedoSystem();
            }

            // Add to get manage by the system.
            this.mUndoRedoSystem.AddUndoRedoComponentToSystem(this);

            // Register it, note we need to register as soon as possible
            // so we don't miss any default setting record by the script.
            RegisterUndoEvent();
        }