/// <summary>
    ///
    /// </summary>
    /// <param name="memoryIndexToChange">Starts with 0</param>
    private void ChangeMemoryAtIndex(int memoryIndexToChange, PlayerMemoryController.MemoryTypes memoryType)
    {
        // Hide or show empty image
        Color c = memorySprites[memoryIndexToChange].color;

        c.a = (memoryType == PlayerMemoryController.MemoryTypes.None ? 0 : 1);
        memorySprites[memoryIndexToChange].color = c;

        switch (memoryType)
        {
        case PlayerMemoryController.MemoryTypes.None:
            memorySprites[memoryIndexToChange].sprite = null;
            break;

        case PlayerMemoryController.MemoryTypes.Pitfall:
            memorySprites[memoryIndexToChange].sprite = pitfallMemorySprite;
            break;

        case PlayerMemoryController.MemoryTypes.PitfallBoost:
            memorySprites[memoryIndexToChange].sprite = pitfallMemorySpriteAlternate;
            break;

        case PlayerMemoryController.MemoryTypes.Climb:
            memorySprites[memoryIndexToChange].sprite = climbingMemorySprite;
            break;

        case PlayerMemoryController.MemoryTypes.ClimbBoost:
            memorySprites[memoryIndexToChange].sprite = climbingMemorySpriteAlternate;
            break;
        }
    }
 public void ChangeMemory(PlayerMemoryController.MemoryTypes memoryType)
 {
     if (memoryCount < PlayerMemoryController.maxNumberOfMemories)
     {
         ChangeMemoryAtIndex(memoryCount, memoryType);
         memoryCount++;
     }
     else
     {
         RemoveMemory();
         ChangeMemoryAtIndex(PlayerMemoryController.maxNumberOfMemories - 1, memoryType);
     }
 }