Пример #1
0
 private void HandleAddEventsForObject(NamedObjectSave namedObject, List <ExposableEvent> listToAddTo)
 {
     if (namedObject.GetAssetTypeInfo() == AssetTypeInfoManager.Self.CollisionRelationshipAti)
     {
         var newEvent = new ExposableEvent("CollisionOccurred");
         listToAddTo.Add(newEvent);
     }
 }
Пример #2
0
        internal void HandleAddEventsForObject(NamedObjectSave namedObject, List <ExposableEvent> listToFill)
        {
            bool shouldAddEventsForThis, shouldAddEventsForChildren;

            GetIfShouldAddEvents(namedObject, out shouldAddEventsForThis, out shouldAddEventsForChildren);

            if (shouldAddEventsForThis)
            {
                listToFill.Add(new ExposableEvent("Click"));
                listToFill.Add(new ExposableEvent("RollOver"));
                listToFill.Add(new ExposableEvent("RollOn"));
                listToFill.Add(new ExposableEvent("RollOff"));
            }
            if (shouldAddEventsForChildren)
            {
                string strippedName = FileManager.RemoveExtension(FileManager.RemovePath(namedObject.SourceFile));

                var element = AppState.Self.AllLoadedElements.FirstOrDefault(item =>
                                                                             item.Name.ToLowerInvariant() == strippedName.ToLowerInvariant());

                if (element != null)
                {
                    string instanceName = namedObject.SourceNameWithoutParenthesis;

                    if (instanceName != "this")
                    {
                        var instance = element.Instances.FirstOrDefault(item => item.Name == instanceName);
                        element = Gum.Managers.ObjectFinder.Self.GetElementSave(instance);
                    }

                    if (element != null)
                    {
                        var events = EventCodeGenerator.Self.GetExposedChildrenEvents(element);
                        foreach (var childEvent in events)
                        {
                            var exposableEvent =
                                new ExposableEvent(childEvent.ExposedAsName);

                            listToFill.Add(exposableEvent);
                        }
                    }
                }
            }
        }