Beispiel #1
0
        public static void CreateSnippet(AddHandlerDataObject data)
        {
            ISnippetGenerator gene;

            switch (EditorSettings.ScriptExtension)
            {
                    //case ScriptExtensions.JAVASCRIPT:
                default:
                    gene = new JavascriptSnippetGenerator(data);
                    break;
                case ScriptExtensions.CSHARP:
                    gene = new CSharpSnippetGenerator(data);
                    break;
                case ScriptExtensions.BOO:
                    gene = new BooSnippetGenerator(data);
                    break;
            }

            string snippet = gene.Generate();

            if (data.OpenScript)
            {
                int index = snippet.IndexOf(PersistedDataProcessor.CursorMarker);

                string[] parts = snippet.Substring(0, index).Split(new[] { Environment.NewLine }, StringSplitOptions.None);

                // set line number
                data.SnippetLineNumber = parts.Length; // +1;

                // remove market
                snippet = snippet.Replace(PersistedDataProcessor.CursorMarker, string.Empty);
            }

            data.Snippet = snippet;
        }
Beispiel #2
0
        public static void InsertHandler(AddHandlerDataObject data)
        {
            ISnippetGenerator gene;

            switch (EditorSettings.ScriptExtension)
            {
            //case ScriptExtensions.JAVASCRIPT:
            default:
                gene = new JavascriptSnippetGenerator(data);
                break;

            case ScriptExtensions.CSHARP:
                gene = new CSharpSnippetGenerator(data);
                break;

            case ScriptExtensions.BOO:
                gene = new BooSnippetGenerator(data);
                break;
            }

            string origSnippet = data.Snippet;

            if (string.IsNullOrEmpty(origSnippet))
            {
                Debug.LogError("Problem with file content");
                return;
            }

            string handlerString = gene.CreateEventHandler();

            string[] parts = origSnippet.Split(new[] { Environment.NewLine }, StringSplitOptions.None);

            System.Collections.Generic.List <string> list = new System.Collections.Generic.List <string>(parts);
            int index = Math.Max(0, parts.Length - 2);

            list.Insert(index, handlerString);
            string snippet = String.Join(Environment.NewLine, list.ToArray());

            if (data.OpenScript)
            {
                index = snippet.IndexOf(PersistedDataProcessor.CursorMarker);
                if (index == -1)
                {
                    Debug.LogError("Cannot find cursor marker");
                    return;
                }

                parts = snippet.Substring(0, index).Split(new[] { Environment.NewLine }, StringSplitOptions.None);

                // set line number
                data.SnippetLineNumber = parts.Length; // +1;

                // remove marker
                data.Snippet = snippet.Replace(PersistedDataProcessor.CursorMarker, string.Empty);

                // set line number
                data.SnippetLineNumber = index;
            }
        }
Beispiel #3
0
        public static void InsertHandler(AddHandlerDataObject data)
        {
            ISnippetGenerator gene;

            switch (EditorSettings.ScriptExtension)
            {
                    //case ScriptExtensions.JAVASCRIPT:
                default:
                    gene = new JavascriptSnippetGenerator(data);
                    break;
                case ScriptExtensions.CSHARP:
                    gene = new CSharpSnippetGenerator(data);
                    break;
                case ScriptExtensions.BOO:
                    gene = new BooSnippetGenerator(data);
                    break;
            }

            string origSnippet = data.Snippet;

            if (string.IsNullOrEmpty(origSnippet))
            {
                Debug.LogError("Problem with file content");
                return;
            }

            string handlerString = gene.CreateEventHandler();

            string[] parts = origSnippet.Split(new[] { Environment.NewLine }, StringSplitOptions.None);

            System.Collections.Generic.List<string> list = new System.Collections.Generic.List<string>(parts);
            int index = Math.Max(0, parts.Length - 2);
            list.Insert(index, handlerString);
            string snippet = String.Join(Environment.NewLine, list.ToArray());

            if (data.OpenScript)
            {
                index = snippet.IndexOf(PersistedDataProcessor.CursorMarker);
                if (index == -1)
                {
                    Debug.LogError("Cannot find cursor marker");
                    return;
                }

                parts = snippet.Substring(0, index).Split(new[] { Environment.NewLine }, StringSplitOptions.None);

                // set line number
                data.SnippetLineNumber = parts.Length; // +1;

                // remove marker
                data.Snippet = snippet.Replace(PersistedDataProcessor.CursorMarker, string.Empty);

                // set line number
                data.SnippetLineNumber = index;
            }
        }
        public void Reset()
        {
            _data = new AddHandlerDataObject {
                Adapter = Adapter
            };

            Step = 0;
            foreach (IWizardStep step in _renderers)
            {
                step.Reset();
            }
        }
        /// <summary>
        /// Initializes the Singleton instance
        /// </summary>
        public void Initialize()
        {
            _data = AddEventHandlerDialog.Instance.Data;
            if (null == _data)
            {
                return;
            }

            //Debug.Log("_data: " + _data);

            _action = _data.Action;

            _eventName = _data.GetEventName();
            _className = _data.ClassName;

            if (_data.Action == AddHandlerAction.CreateNewScriptAndHandler)
            {
                var attr = _eventName;
                if (string.IsNullOrEmpty(_eventName))
                {
                    throw new Exception("Event name not defined");
                }

                if (attr.Length > 0)
                {
                    string firstChar = attr[0].ToString();
                    attr      = attr.Remove(0, 1);
                    firstChar = firstChar.ToUpper();
                    attr      = attr.Insert(0, firstChar);
                }
                _methodName = string.Format("On{0}", attr);
            }
            else
            {
                _methodName = _data.MethodName ?? string.Empty;
            }

            //Debug.Log("_methodName: " + _methodName);
            _isEditingScript = _data.Action == AddHandlerAction.CreateNewScriptAndHandler || _data.Action == AddHandlerAction.CreateNewHandlerInExistingScript;
            //_openScript = _data.Action != AddHandlerAction.MapExistingHandler;

            _capturePhase  = EditorSettings.CreationSettingsCapturePhase;
            _targetPhase   = EditorSettings.CreationSettingsTargetPhase;
            _bubblingPhase = EditorSettings.CreationSettingsBubblingPhase;
            _cast          = EditorSettings.CreationSettingsCast;
            _addComponentInstantiatedHandler = EditorSettings.CreationSettingsAddComponentInstantiatedHandler;
            _addInitializeComponentHandler   = EditorSettings.CreationSettingsAddInitializeComponentHandler;
            _openScript = EditorSettings.CreationSettingsOpenScript;

            // init error msg
            _errorMsg = GetErrorMessage();
        }
Beispiel #6
0
        /// <summary>
        /// 1. Creates the persisted data from ordinary data object
        /// We are using the persisted data even if we are not in play mode
        /// This is because we want to have a single pipeline for both cases
        /// </summary>
        /// <param name="dataObject"></param>
        /// <returns></returns>
        public static AddEventHandlerPersistedData FromDataObject(AddHandlerDataObject dataObject)
        {
            AddEventHandlerPersistedData persistedData = new AddEventHandlerPersistedData
            {
                EventName  = dataObject.GetEventName(),
                Action     = dataObject.Action,
                ScriptPath = dataObject.ScriptPath,
                ClassName  = dataObject.ClassName,
                MethodName = dataObject.MethodName,
                //AttachedScriptType = null == dataObject.AttachedScriptType ? null : dataObject.AttachedScriptType.ToString(),
                Snippet               = dataObject.Snippet,
                SnippetLineNumber     = dataObject.SnippetLineNumber,
                EventPhases           = (int)dataObject.EventPhases,
                OpenScript            = dataObject.OpenScript,
                TransformInstanceId   = dataObject.TransformInstanceId,
                ScriptAlreadyAttached = dataObject.ScriptAlreadyAttached
            };

            return(persistedData);
        }
Beispiel #7
0
        public static void CreateSnippet(AddHandlerDataObject data)
        {
            ISnippetGenerator gene;

            switch (EditorSettings.ScriptExtension)
            {
            //case ScriptExtensions.JAVASCRIPT:
            default:
                gene = new JavascriptSnippetGenerator(data);
                break;

            case ScriptExtensions.CSHARP:
                gene = new CSharpSnippetGenerator(data);
                break;

            case ScriptExtensions.BOO:
                gene = new BooSnippetGenerator(data);
                break;
            }

            string snippet = gene.Generate();

            if (data.OpenScript)
            {
                int index = snippet.IndexOf(PersistedDataProcessor.CursorMarker);

                string[] parts = snippet.Substring(0, index).Split(new[] { Environment.NewLine }, StringSplitOptions.None);

                // set line number
                data.SnippetLineNumber = parts.Length; // +1;

                // remove market
                snippet = snippet.Replace(PersistedDataProcessor.CursorMarker, string.Empty);
            }

            data.Snippet = snippet;
        }
 public BooSnippetGenerator(AddHandlerDataObject data)
 {
     _data = data;
 }
Beispiel #9
0
 public JavascriptSnippetGenerator(AddHandlerDataObject data)
 {
     _data = data;
 }
        public void Reset()
        {
            _data = new AddHandlerDataObject {Adapter = Adapter};

            Step = 0;
            foreach (IWizardStep step in _renderers)
            {
                step.Reset();
            }
        }
        /// <summary>
        /// 1. Creates the persisted data from ordinary data object
        /// We are using the persisted data even if we are not in play mode
        /// This is because we want to have a single pipeline for both cases
        /// </summary>
        /// <param name="dataObject"></param>
        /// <returns></returns>
        public static AddEventHandlerPersistedData FromDataObject(AddHandlerDataObject dataObject)
        {
            AddEventHandlerPersistedData persistedData = new AddEventHandlerPersistedData
            {
                EventName = dataObject.GetEventName(),
                Action = dataObject.Action,
                ScriptPath = dataObject.ScriptPath,
                ClassName = dataObject.ClassName,
                MethodName = dataObject.MethodName,
                //AttachedScriptType = null == dataObject.AttachedScriptType ? null : dataObject.AttachedScriptType.ToString(),
                Snippet = dataObject.Snippet,
                SnippetLineNumber = dataObject.SnippetLineNumber,
                EventPhases = (int)dataObject.EventPhases,
                OpenScript = dataObject.OpenScript,
                TransformInstanceId = dataObject.TransformInstanceId,
                ScriptAlreadyAttached = dataObject.ScriptAlreadyAttached
            };

            return persistedData;
        }
        /// <summary>
        /// Initializes the Singleton instance
        /// </summary>
        public void Initialize()
        {
            _data = AddEventHandlerDialog.Instance.Data;
            if (null == _data)
                return;

            //Debug.Log("_data: " + _data);

            _action = _data.Action;

            _eventName = _data.GetEventName();
            _className = _data.ClassName;

            if (_data.Action == AddHandlerAction.CreateNewScriptAndHandler)
            {
                var attr = _eventName;
                if (string.IsNullOrEmpty(_eventName))
                    throw new Exception("Event name not defined");

                if (attr.Length > 0)
                {
                    string firstChar = attr[0].ToString();
                    attr = attr.Remove(0, 1);
                    firstChar = firstChar.ToUpper();
                    attr = attr.Insert(0, firstChar);
                }
                _methodName = string.Format("On{0}", attr);
            }
            else
            {
                _methodName = _data.MethodName ?? string.Empty;
            }
            
            //Debug.Log("_methodName: " + _methodName);
            _isEditingScript = _data.Action == AddHandlerAction.CreateNewScriptAndHandler || _data.Action == AddHandlerAction.CreateNewHandlerInExistingScript;
            //_openScript = _data.Action != AddHandlerAction.MapExistingHandler;

            _capturePhase = EditorSettings.CreationSettingsCapturePhase;
            _targetPhase = EditorSettings.CreationSettingsTargetPhase;
            _bubblingPhase = EditorSettings.CreationSettingsBubblingPhase;
            _cast = EditorSettings.CreationSettingsCast;
            _addComponentInstantiatedHandler = EditorSettings.CreationSettingsAddComponentInstantiatedHandler;
            _addInitializeComponentHandler = EditorSettings.CreationSettingsAddInitializeComponentHandler;
            _openScript = EditorSettings.CreationSettingsOpenScript;

            // init error msg
            _errorMsg = GetErrorMessage();
        }
Beispiel #13
0
 public CSharpSnippetGenerator(AddHandlerDataObject data)
 {
     _data = data;
 }
 public JavascriptSnippetGenerator(AddHandlerDataObject data)
 {
     _data = data;
 }