예제 #1
0
        public string CreateEventHandler()
        {
            string camelCaseName = StringUtil.TypeNameToCamelCase(_data.EventAttribute.Type.Name);

            if (string.IsNullOrEmpty(camelCaseName))
            {
                camelCaseName = "e2";
            }

            string content = _data.Cast && null != _data.EventAttribute ?
                             string.Format(@"var {1}:{0} = e;", _data.EventAttribute.Type, camelCaseName) : string.Empty;

            if (_data.OpenScript)
            {
                content += PersistedDataProcessor.CursorMarker;
            }

            string comment = string.Empty;
            var    name    = _data.GetEventName();

            if (EventDescriptions.Instance.ContainsKey(name))
            {
                comment = string.Format(@"// {0}
    ", EventDescriptions.Instance[name]);
            }

            return(string.Format(
                       @"
    {2}function {0}(e:eDriven.Core.Events.Event): void
    {{
        {1}
    }}
", _data.MethodName, content, comment));
        }
예제 #2
0
        public string CreateEventHandler()
        {
            //string cast = string.Empty;
            //if (_data.Cast)
            //{
            //    cast = string.Format(@"{0} e2 = ({0})e;", _data.EventAttribute.Type);
            //}

            string content = _data.Cast && null != _data.EventAttribute ?
                             string.Format(@"{0} e2 = ({0})e;
", _data.EventAttribute.Type) : string.Empty;

            if (_data.OpenScript)
            {
                content += PersistedDataProcessor.CursorMarker;
            }

            string comment = string.Empty;
            var    name    = _data.GetEventName();

            if (EventDescriptions.Instance.ContainsKey(name))
            {
                comment = string.Format(@"// {0}
    ", EventDescriptions.Instance[name]);
            }

            return(string.Format(
                       @"
    {2}public void {0}(eDriven.Core.Events.Event e)
    {{
        {1}
    }}
", _data.MethodName, content, comment));
        }
예제 #3
0
        public string CreateEventHandler()
        {
            string content = _data.Cast && null != _data.EventAttribute ?
                             string.Format(@"e2 = (e cast {0})
", _data.EventAttribute.Type) : "pass";

            if (_data.OpenScript)
            {
                content += PersistedDataProcessor.CursorMarker;
            }

            string comment = string.Empty;
            var    name    = _data.GetEventName();

            if (EventDescriptions.Instance.ContainsKey(name))
            {
                comment = string.Format(@"// {0}
    ", EventDescriptions.Instance[name]);
            }

            return(string.Format(
                       @"
    {2}public def {0}(e as eDriven.Core.Events.Event):
		    {1}
", _data.MethodName, content, comment));
        }
        /// <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();
        }
예제 #5
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);
        }
        /// <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();
        }