예제 #1
0
 public GMEvent Get(GMEventType eventType, GMEventNumber eventNumber, GMObject collision)
 {
     return(events.FirstOrDefault(
                x => x.EventType == eventType &&
                x.EventNumber == eventNumber &&
                (x.EventType != GMEventType.Collision || x.Collision == collision)
                ));
 }
예제 #2
0
            internal GMObjectPhysics(GMObject gmObject)
            {
                if (gmObject == null)
                {
                    throw new ArgumentNullException(nameof(gmObject));
                }

                Shape = new ShapeManager(gmObject);
            }
예제 #3
0
            public PropertyManager(GMObject gmObject)
            {
                if (gmObject == null)
                {
                    throw new ArgumentNullException(nameof(gmObject));
                }

                properties = new List <GMObjectProperty>();

                this.gmObject = gmObject;
            }
예제 #4
0
            internal EventManager(GMObject gmObject)
            {
                if (gmObject == null)
                {
                    throw new ArgumentNullException(nameof(gmObject));
                }

                events = new List <GMEvent>();

                this.gmObject = gmObject;
            }
예제 #5
0
            public GMRInstance Create(GMObject @object)
            {
                var instance = new GMRInstance
                {
                    Project  = instanceLayer.Project,
                    Id       = Guid.NewGuid(),
                    Name     = "inst_" + GenerateUniqueInstanceId(),
                    Object   = @object,
                    Color    = Color.White,
                    Rotation = 0,
                    ScaleX   = 1,
                    ScaleY   = 1
                };

                instance.Create(instanceLayer.Room);

                instances.Add(instance);

                return(instance);
            }
예제 #6
0
            public GMEvent Create(GMEventType eventType, GMEventNumber eventNumber, GMObject collision)
            {
                GMEvent @event = Get(eventType, eventNumber, collision);

                if (@event != null)
                {
                    return(@event);
                }

                @event = new GMEvent(gmObject)
                {
                    Project     = gmObject.Project,
                    Id          = Guid.NewGuid(),
                    EventType   = eventType,
                    EventNumber = eventNumber,
                    Collision   = collision,
                    IsDnD       = gmObject.Project.DragAndDrop
                };

                events.Add(@event);

                return(@event);
            }
예제 #7
0
 public GMEvent Create(GMEventType eventType, GMObject collision)
 {
     return(Create(eventType, GMEventNumber.Default, collision));
 }
예제 #8
0
 public GMEvent Get(GMEventType eventType, GMObject collision)
 {
     return(Get(eventType, GMEventNumber.Default, collision));
 }