Exemple #1
0
 public void PostLoad(GMProject proj)
 {
     if (_ParentInd > -1)
     {
         Parent = proj.Objects[_ParentInd];
     }
 }
Exemple #2
0
        public GMObject(ProjectReader reader, GMProject proj)
        {
            Name        = reader.ReadString();
            LastChanged = reader.ReadDate();
            Version     = reader.ReadInt32();
            if (Version != 430)
            {
                throw new InvalidDataException("Invalid Object version, got " + Version);
            }
            Sprite = null;
            int spr = reader.ReadInt32();

            if (spr > -1)
            {
                Sprite = proj.Sprites[spr];
            }

            Solid      = reader.ReadBoolean();
            Visible    = reader.ReadBoolean();
            Depth      = reader.ReadInt32();
            Persistent = reader.ReadBoolean();
            Parent     = null;
            _ParentInd = reader.ReadInt32();
            Mask       = null;
            int mask = reader.ReadInt32();

            if (mask > -1)
            {
                Mask = proj.Sprites[mask];
            }

            int ev_count = reader.ReadInt32();

            Events = new List <List <GMEvent> >(ev_count + 1);
            for (int i = 0; i <= ev_count; i++)
            {
                var  l    = new List <GMEvent>();
                bool done = false;
                while (!done)
                {
                    int first = reader.ReadInt32();
                    if (first != -1)
                    {
                        var ev = new GMEvent(reader);
                        ev.Key = first;
                        l.Add(ev);
                    }
                    else
                    {
                        done = true;
                    }
                }
                Events.Add(l);
            }

            reader.Dispose();
        }