Ejemplo n.º 1
0
 public static void SetPlayerSlot(AbilityCard abilityCard, PlayerAbilitySlot.SlotType slotType = PlayerAbilitySlot.SlotType.Cycling)
 {
     if (mainHud != null)
     {
         mainHud.quickBar.SetQuickBarSlot(abilityCard, slotType);
     }
 }
Ejemplo n.º 2
0
 public void ClearQuickBarSlot(AbilityCard abilityCard, SlotType slotType = SlotType.Cycling)
 {
     //if (slotIndex > quickbarSlots.Count) {
     //    Debug.LogError("[PlayerQuickBar] index out of range. " + slotIndex + " is more than 4");
     //}
     GetSlotByCard(abilityCard, slotType).RemoveSlotAbility();
 }
Ejemplo n.º 3
0
    private void SetupCard(Entity source, SlotType cardSlotType = SlotType.None, int itemID = -1)
    {
        this.source       = source;
        this.cardSlotType = cardSlotType;
        this.ParentItemID = itemID;

        AbilityDeck.ALL_CARDS.activeCards.Add(this);
    }
Ejemplo n.º 4
0
 public void PlayCard(AbilityCard card, Controller2D.CollisionInfo colInfo, PlayerAbilitySlot.SlotType slotType = PlayerAbilitySlot.SlotType.Cycling)
 {
     if (card.Activate(colInfo))
     {
         if (slotType == PlayerAbilitySlot.SlotType.Cycling)
         {
             TransferCard(card, DeckType.Library);
         }
     }
 }
Ejemplo n.º 5
0
    public AbilityCard(List <SpecialAbilityData> abilities, Entity source, SlotType cardSlotType = SlotType.None, int itemID = -1)
    {
        SetupCard(source, cardSlotType, itemID);

        int count = abilities.Count;

        for (int i = 0; i < count; i++)
        {
            //Debug.Log("Adding an ability " + abilities[i].abilityName + " to card");
            AddAbility(abilities[i], abilities[i].sequencedAbilities);
        }
    }
    //private void SwapCardSet(List<AbilityCard> inCards, PlayerAbilitySlot.SlotType slot) {
    //    List<AbilityCard> outCards = GetAllCardsBySlotType(slot);

    //    RemoveCardSet(outCards);
    //    AddCardSet(inCards, slot);
    //}

    private void AddCardSet(List <AbilityCard> cards, PlayerAbilitySlot.SlotType slot)
    {
        switch (slot)
        {
        case PlayerAbilitySlot.SlotType.Cycling:
            TransferCardSet(cards, GetDeck(AbilityDeck.DeckType.Library));
            break;

        case PlayerAbilitySlot.SlotType.Primary:
            TransferCardSet(cards, GetDeck(AbilityDeck.DeckType.PrimaryCards));
            break;
        }
    }
Ejemplo n.º 7
0
    public AbilityCard(Entity source, SlotType cardSlotType = SlotType.None, int itemID = -1)
    {
        SetupCard(source, cardSlotType, itemID);

        //this.source = source;
        //this.cardSlotType = cardSlotType;
        //this.ParentItemID = itemID;
        //ability = new SpecialAbility();
        //ability.Initialize(source, abilityData);

        //AddAbility(abilityData);

        //cardName = abilityData.abilityName;
    }
Ejemplo n.º 8
0
    public void SetQuickBarSlot(AbilityCard abilityCard, SlotType slotType = SlotType.Cycling)
    {
        //if(slotIndex > quickbarSlots.Count) {
        //    Debug.LogError("[PlayerQuickBar] index out of range. " + slotIndex + " is more than 4");
        //}

        PlayerAbilitySlot targetSlot = GetFirstEmptySlot(slotType);

        if (targetSlot == null)
        {
            Debug.Log("Couldn't get slot");
        }

        targetSlot.SetSlotAbility(abilityCard);
    }
    private List <AbilityCard> GetAllCardsBySlotType(PlayerAbilitySlot.SlotType slot)
    {
        List <AbilityCard> results = new List <AbilityCard>();

        int count = AbilityDeck.ALL_CARDS.activeCards.Count;

        for (int i = 0; i < count; i++)
        {
            if (AbilityDeck.ALL_CARDS.activeCards[i].cardSlotType == slot)
            {
                results.Add(AbilityDeck.ALL_CARDS.activeCards[i]);
            }
        }

        return(results);
    }
Ejemplo n.º 10
0
    private PlayerAbilitySlot GetSlotByCard(AbilityCard abilityCard, SlotType slotType = SlotType.Cycling)
    {
        int count = slots.Count;

        for (int i = 0; i < count; i++)
        {
            if (slots[i].slotType != slotType)
            {
                continue;
            }


            if (slots[i].CurrentCard == abilityCard)
            {
                return(slots[i]);
            }
        }

        return(null);
    }
Ejemplo n.º 11
0
    private PlayerAbilitySlot GetFirstEmptySlot(SlotType slotType = SlotType.Cycling)
    {
        int count = slots.Count;

        for (int i = 0; i < count; i++)
        {
            if (slots[i].slotType != slotType)
            {
                continue;
            }


            if (slots[i].IsEmpty)
            {
                slots[i].currentIndex = i;
                return(slots[i]);
            }
        }

        return(null);
    }
Ejemplo n.º 12
0
 public AbilityCardSet(List <AbilityCard> cards, PlayerAbilitySlot.SlotType slotType)
 {
     this.cards    = cards;
     this.slotType = slotType;
 }
Ejemplo n.º 13
0
 public static void ClearPlayerSlot(AbilityCard abilityCard, PlayerAbilitySlot.SlotType slotType = PlayerAbilitySlot.SlotType.Cycling)
 {
     mainHud.quickBar.ClearQuickBarSlot(abilityCard, slotType);
 }
Ejemplo n.º 14
0
    public static AbilityCard CreateCard(Entity owner, SlotType cardSlotType = SlotType.None, int itemID = -1)
    {
        AbilityCard newCard = new AbilityCard(owner, cardSlotType, itemID);

        return(newCard);
    }
Ejemplo n.º 15
0
    public static AbilityCard CreateCard(List <SpecialAbilityData> abilities, Entity owner, SlotType cardSlotType = SlotType.None, int itemID = -1)
    {
        //Debug.Log("Create Card is recieving " + abilities.Count + " abilities in the card factory");

        AbilityCard newCard = new AbilityCard(abilities, owner, cardSlotType, itemID);

        return(newCard);
    }