private string ResolveEnum(RiddleColor value)
    {
        switch (value)
        {
        case RiddleColor.Blue:
            return("b");

        case RiddleColor.Red:
            return("r");

        case RiddleColor.Green:
            return("g");

        default:
            return("-");
        }
    }
    public override void OnInteraction(PlayerContext context)
    {
        string glassUniqueId          = "glass_empty";
        Item   emptyGlassId           = new Item(glassUniqueId, glassUniqueId, glassUniqueId, emptyGlass);
        InventoryController inventory = context.inventory;

        if (null != context.inventory.ContainsItem("glass_blue"))
        {
            ChangeSprite(blueSplash);
            value = RiddleColor.Blue;
            if (playSound)
            {
                if (soundSourcePlayer != null)
                {
                    soundSourcePlayer.Play();
                }
            }
        }
        else if (null != context.inventory.ContainsItem("glass_red"))
        {
            ChangeSprite(redSplash);
            value = RiddleColor.Red;
            if (playSound)
            {
                if (soundSourcePlayer != null)
                {
                    soundSourcePlayer.Play();
                }
            }
        }
        else if (null != context.inventory.ContainsItem("glass_green"))
        {
            ChangeSprite(greenSplash);
            value = RiddleColor.Green;
            if (playSound)
            {
                if (soundSourcePlayer != null)
                {
                    soundSourcePlayer.Play();
                }
            }
        }
        colorRiddleManager.UpdateState(key, value);
    }
 public void UpdateState(int order, RiddleColor value)
 {
     values[order] = value;
     CheckCode();
 }