Exemplo n.º 1
0
    private void DeleteThisRoom(RoomObject roomToDelete)
    {
        if (EditorApplication.isPlayingOrWillChangePlaymode)
        {
            return;
        }

        if (existingRooms.ContainsKey(roomToDelete.roomPosition))
        {
            existingRooms.Remove(roomToDelete.roomPosition);
        }

        RoomDataSaver.DeleteData(roomToDelete);
        mapper.EliminateRoom(roomToDelete);

        AssetDatabase.DeleteAsset(AssetDatabase.GetAssetPath(roomToDelete));
        DestroyImmediate(roomToDelete, true);
    }
Exemplo n.º 2
0
    private void OnEnable()
    {
        if (EditorApplication.isPlayingOrWillChangePlaymode)
        {
            return;
        }

        if (!isEventSuscribed)
        {
            RoomObject.OnChangePosition += RoomPositionChanged;
            RoomObject.OnChangeStuff    += SaveChanges;
            RoomObject.OnDeleteRoom     += DeleteThisRoom;
            isEventSuscribed             = true;
        }
        existingRooms.Clear();
        roomsToLoad.Clear();

        string[] path = new string[1];
        path[0] = "Assets/Scripts/_ScriptableObjects Assets/Rooms";

        var findRooms = AssetDatabase.FindAssets("t: RoomObject", path);

        for (int i = 0; i < findRooms.Length; i++)
        {
            string     assetPath = AssetDatabase.GUIDToAssetPath(findRooms[i]);
            RoomObject newRoom   = AssetDatabase.LoadAssetAtPath(assetPath, typeof(RoomObject)) as RoomObject;
            roomsToLoad.Add(newRoom);

            if (!existingRooms.ContainsKey(newRoom.roomPosition))
            {
                existingRooms.Add(newRoom.roomPosition, newRoom);
            }
            else
            {
                Debug.LogError("Habitación '" + newRoom.roomName + "' no pudo añadirse al Diccionario. Por favor cambiar su posición.");
                Debug.LogError("La habitación '" + existingRooms[newRoom.roomPosition] + "' ya está ahi.");
            }
        }

        for (int i = 0; i < roomsToLoad.Count; i++)
        {
            RoomDataSaver.LoadData(roomsToLoad[i]);
        }
    }
Exemplo n.º 3
0
 private void SaveChanges(RoomObject currentAnalizedRoom)
 {
     RoomDataSaver.SaveData(currentAnalizedRoom);
     Debug.Log("Habitación salvada: " + currentAnalizedRoom.name.ToString());
     PutVisualRepresentation(currentAnalizedRoom);
 }