コード例 #1
0
        public void Add(IWadObjectId newId, IWadObject wadObject)
        {
            // Change id if necessary
            if (newId != wadObject.Id)
            {
                var property = wadObject.GetType().GetProperty("Id");
                property.SetValue(wadObject, newId);
            }

            // Add object
            if (newId is WadMoveableId)
            {
                Moveables.Add((WadMoveableId)newId, (WadMoveable)wadObject);
            }
            else if (newId is WadStaticId)
            {
                Statics.Add((WadStaticId)newId, (WadStatic)wadObject);
            }
            else if (newId is WadSpriteSequenceId)
            {
                SpriteSequences.Add((WadSpriteSequenceId)newId, (WadSpriteSequence)wadObject);
            }
            else
            {
                throw new ArgumentException("Argument not of a valid type.");
            }
        }
コード例 #2
0
 public bool Contains(IWadObject wadObject)
 {
     if (wadObject is WadMoveable)
     {
         return(Moveables.Any(obj => obj.Value == (WadMoveable)wadObject));
     }
     else if (wadObject is WadStatic)
     {
         return(Statics.Any(obj => obj.Value == (WadStatic)wadObject));
     }
     else if (wadObject is WadSpriteSequence)
     {
         return(SpriteSequences.Any(obj => obj.Value == (WadSpriteSequence)wadObject));
     }
     else
     {
         throw new ArgumentException("Argument not of a valid type.");
     }
 }
コード例 #3
0
 public void Remove(IWadObjectId wadObjectId)
 {
     if (wadObjectId is WadMoveableId)
     {
         Moveables.Remove((WadMoveableId)wadObjectId);
     }
     else if (wadObjectId is WadStaticId)
     {
         Statics.Remove((WadStaticId)wadObjectId);
     }
     else if (wadObjectId is WadSpriteSequenceId)
     {
         SpriteSequences.Remove((WadSpriteSequenceId)wadObjectId);
     }
     else
     {
         throw new ArgumentException("Argument not of a valid type.");
     }
 }
コード例 #4
0
 public IWadObject TryGet(IWadObjectId wadObjectId)
 {
     if (wadObjectId is WadMoveableId)
     {
         return(Moveables.TryGetOrDefault((WadMoveableId)wadObjectId));
     }
     else if (wadObjectId is WadStaticId)
     {
         return(Statics.TryGetOrDefault((WadStaticId)wadObjectId));
     }
     else if (wadObjectId is WadSpriteSequenceId)
     {
         return(SpriteSequences.TryGetOrDefault((WadSpriteSequenceId)wadObjectId));
     }
     else
     {
         throw new ArgumentException("Argument not of a valid type.");
     }
 }