Пример #1
0
        /// <summary>
        /// Delete the object named key from existence.
        /// </summary>
        public static void DeleteObject(string key)
        {
            if (!Objects.ContainsKey(key))
            {
                return;
            }
            GameObject del = (CollidableObject)Objects[key];

            if (CollidableObjects.Contains(del))
            {
                CollidableObjects.Remove((CollidableObject)del);
            }
            if (UIObjects.Contains(del))
            {
                UIObjects.Remove((UIObject)del);
            }
            if (NonUIObjects.Contains(del))
            {
                NonUIObjects.Remove(del);
            }
            if (Backgrounds.Contains(del))
            {
                Backgrounds.Remove((Background)(del));
            }
            Objects.Remove(key);
        }
Пример #2
0
//========================================================================================
// Object management - tools.


        private void DeleteData(Data data)
        {
            if (data is IReferenceable refdata)
            {
                refdata.DetachAllReferences();
            }
            switch (data)
            {
            case Room d:
                Rooms.Remove(d);
                break;

            case DoorSet d:
                DoorSets.Remove(d);
                break;

            case Door d:
                Doors.Remove(d);
                break;

            case ScrollSet d:
                ScrollSets.Remove(d);
                break;

            case PlmSet d:
                PlmSets.Remove(d);
                break;

            case ScrollPlmData d:
                ScrollPlmDatas.Remove(d);
                break;

            case Background d:
                Backgrounds.Remove(d);
                break;

            case Fx d:
                Fxs.Remove(d);
                break;

            case SaveStation d:
                SaveStations.Remove(d);
                break;

            case LevelData d:
                LevelDatas.Remove(d);
                break;

            case EnemySet d:
                EnemySets.Remove(d);
                break;

            case EnemyGfx d:
                EnemyGfxs.Remove(d);
                break;

            case ScrollAsm d:
                ScrollAsms.Remove(d);
                break;

            case Asm d:
                DoorAsms.Remove(d);
                SetupAsms.Remove(d);
                MainAsms.Remove(d);
                break;

            case TileSet d:
                TileSets.Remove(d);
                break;

            case TileTable d:
                TileTables.Remove(d);
                break;

            case TileSheet d:
                TileSheets.Remove(d);
                break;

            case Palette d:
                Palettes.Remove(d);
                break;

            case AreaMap d:
                AreaMaps.Remove(d);
                break;

            default:
                break;
            }
            ChangesMade = true;
        }