예제 #1
0
    public void InvokeCombine()
    {
        Debug.Log($"Invoking Combine");

        int blessingSlot = SelectedHandSlot;

        DiscardHandSlot(blessingSlot);

        var combines = Combines.GetAllActiveCards();

        Combines.RemoveAllCards();

        if (combines.First().CardType == CardType.Gene)
        {
            int oldTier = 6;
            foreach (var card in combines)
            {
                var genecard = card as GeneCard;
                if ((int)genecard.Tier < oldTier)
                {
                    oldTier = (int)genecard.Tier;
                }
            }

            GeneTier newtier = GeneTier.Two;

            if (oldTier == (int)GeneTier.Two)
            {
                int rand = Random.Range((int)GeneTier.Alpha, (int)GeneTier.Ultimate);
                newtier = (GeneTier)rand;
            }
            else if (oldTier == (int)GeneTier.Alpha || oldTier == (int)GeneTier.Beta || oldTier == (int)GeneTier.Gamma)
            {
                newtier = GeneTier.Ultimate;
            }

            var newcard = CardDefinitions.GeneCards.Where(x => x.Tier == newtier).First();

            if (newcard == null)
            {
                Debug.Log("wtf man");
            }

            Hand.InsertCardAtSlot(blessingSlot, newcard);
        }
        //else if(combines.First().CardType == CardType.Part)
        //{
        //	foreach (var card in combines)
        //	{
        //		var genecard = card as GeneCard;
        //		if ((int)genecard.Tier < oldTier)
        //		{
        //			oldTier = (int)genecard.Tier;
        //		}
        //	}
        //}

        DeselectAll();
        RedrawAll();
    }
예제 #2
0
    public void UpdateAllSprites()
    {
        foreach (var part in ImageParts)
        {
            part.UpdateSprite(DisplayTier);
        }

        LastTier = DisplayTier;
    }
예제 #3
0
    public void UpdateSprite(GeneTier tier)
    {
        if (LastTier == tier)
        {
            return;
        }

        Renderer.sprite = Sprites.Where(x => x.Tier == DisplayTier).First().Sprite;
        LastTier        = DisplayTier;
    }
예제 #4
0
    public void UpdateSprite(GeneTier tier)
    {
        if (DisplayTier == tier)
        {
            return;
        }

        ImageRenderer.sprite  = Sprites.Where(x => x.Tier == tier).First().Sprite;
        SpriteRenderer.sprite = Sprites.Where(x => x.Tier == tier).First().Sprite;
        DisplayTier           = tier;
    }
예제 #5
0
 public void UpdateTier(BodyPart part, GeneTier tier)
 {
     foreach (var image in ImageParts)
     {
         if (image.PartType == part)
         {
             image.UpdateSprite(tier);
             break;
         }
     }
 }
예제 #6
0
    public Card GetCard(CardType type, GeneTier tier, BodyPart part = BodyPart.None)
    {
        switch (type)
        {
        case CardType.Gene:
            return(GeneCards.Where(x => x.Tier == tier).First());

        case CardType.Part:
            return(PartCards.Where(x => x.Tier == tier && x.PartType == part).First());


        case CardType.Blessing:
        case CardType.None:
        default:
            return(BlessingCard);
        }
    }
예제 #7
0
    private void UpdateTierLabel(TMP_Text textbox, GeneTier tier)
    {
        string text = "";

        switch (tier)
        {
        case GeneTier.One:
            text = "Basic Tier";
            break;

        case GeneTier.Two:
            text = "Advanced Tier";
            break;

        case GeneTier.Alpha:
            text = "Alpha Tier";
            break;

        case GeneTier.Beta:
            text = "Beta Tier";
            break;

        case GeneTier.Gamma:
            text = "Gamma Tier";
            break;

        case GeneTier.Ultimate:
            text = "Ultimate Tier";
            break;

        default:
            break;
        }

        textbox.text = text;
    }
예제 #8
0
 // Start is called before the first frame update
 void Start()
 {
     DisplayTier = GeneTier.Ultimate;
 }
예제 #9
0
 // Start is called before the first frame update
 void Start()
 {
     DisplayTier = GeneTier.One;
     LastTier    = GeneTier.Ultimate;
 }