public void PaintMask(CustomYokaiMask yokaiMask, YokaiMaskPaint newPaint)
 {
     if (!_isOccupied)
     {
         StartCoroutine(Filling(yokaiMask, newPaint));
     }
     else
     {
         Debug.Log("Info: 'MaskPainterSupplier.PaintMask(...)' was called but valve was occupied.");
     }
 }
示例#2
0
 private Sprite GetSpriteDependingOnMaskType(YokaiMaskPaint maskPaint, List <MaskAssociation> maskAssociations)
 {
     foreach (MaskAssociation currentAssociation in maskAssociations)
     {
         if (currentAssociation.paint == maskPaint)
         {
             return(currentAssociation.sprite);
         }
     }
     return(null);
 }
    private IEnumerator Filling(CustomYokaiMask yokaiMask, YokaiMaskPaint newPaint)
    {
        _isOccupied = true;

        //TODO: Start animation
        yield return(new WaitForSeconds(_fillingTime));

        yokaiMask._potionUpdateSprite.ChangeSpriteColor((PotionColor)yokaiMask.Paint, (PotionColor)newPaint);
        yokaiMask.Paint = newPaint;
        yokaiMask.ResetPositionToSlot();
        DecrementCurrentCapacity();

        _isOccupied = false;
    }
示例#4
0
    public Sprite GetMaskSprite(OrderItems.YokaiMask orderItem)
    {
        YokaiMaskPaint maskPaint = orderItem.Paint;
        YokaiMaskType  maskType  = orderItem.MaskType;

        if (maskType == YokaiMaskType.Kitsune)
        {
            return(GetSpriteDependingOnMaskType(maskPaint, _kitsuneMasksAssociations));
        }
        else if (maskType == YokaiMaskType.Demon)
        {
            return(GetSpriteDependingOnMaskType(maskPaint, _demonMasksAssociations));
        }
        return(null);
    }
示例#5
0
    public static YokaiMaskPaint MixPaint(YokaiMaskPaint paint, MaskPainterType painterType)
    {
        if (paint == YokaiMaskPaint.None)
        {
            // MaskPainterType has same 1, 2 and 3 indexes as YokaiMaskPaint (+1 because 0 is None)
            return((YokaiMaskPaint)painterType + 1);
        }

        if (painterType == MaskPainterType.Point)
        {
            // If potion already contain Red, do not change its color
            if (paint == YokaiMaskPaint.Point || paint == YokaiMaskPaint.PointFlame ||
                paint == YokaiMaskPaint.PointDiamond || paint == YokaiMaskPaint.PointDiamondFlame)
            {
                return(paint);
            }
            else if (paint == YokaiMaskPaint.Diamond)
            {
                return(YokaiMaskPaint.PointDiamond);
            }
            else if (paint == YokaiMaskPaint.Flame)
            {
                return(YokaiMaskPaint.PointFlame);
            }
            else if (paint == YokaiMaskPaint.DiamondFlame)
            {
                return(YokaiMaskPaint.PointDiamondFlame);
            }
        }

        if (painterType == MaskPainterType.Diamond)
        {
            // If potion already contain Blue, do not change its color
            if (paint == YokaiMaskPaint.Diamond || paint == YokaiMaskPaint.DiamondFlame ||
                paint == YokaiMaskPaint.PointDiamond || paint == YokaiMaskPaint.PointDiamondFlame)
            {
                return(paint);
            }
            else if (paint == YokaiMaskPaint.Point)
            {
                return(YokaiMaskPaint.PointDiamond);
            }
            else if (paint == YokaiMaskPaint.Flame)
            {
                return(YokaiMaskPaint.DiamondFlame);
            }
            else if (paint == YokaiMaskPaint.PointFlame)
            {
                return(YokaiMaskPaint.PointDiamondFlame);
            }
        }

        if (painterType == MaskPainterType.Flame)
        {
            // If potion already contain Yellow, do not change its color
            if (paint == YokaiMaskPaint.Flame || paint == YokaiMaskPaint.DiamondFlame ||
                paint == YokaiMaskPaint.PointFlame || paint == YokaiMaskPaint.PointDiamondFlame)
            {
                return(paint);
            }
            else if (paint == YokaiMaskPaint.Point)
            {
                return(YokaiMaskPaint.PointFlame);
            }
            else if (paint == YokaiMaskPaint.Diamond)
            {
                return(YokaiMaskPaint.DiamondFlame);
            }
            else if (paint == YokaiMaskPaint.PointDiamond)
            {
                return(YokaiMaskPaint.PointDiamondFlame);
            }
        }

        // If nothing matches, do not change potion's color
        return(paint);
    }