Exemplo n.º 1
0
    public void OnCharacterClicked(CharacterDisplayItem cha)
    {
        selectedCharacter = cha;

        if (chaDetail != null && !teamController.isChangingMember)
        {
            chaDetail.Init(cha);
        }
        else if (teamController.isChangingMember)
        {
            if (CheckIsSameCharacterInTeam(cha.saved.baseClass.CatalogCode))
            {
                Debug.LogError("same character is in team already");
                PF_Bridge.RaiseCallbackError("same character is in the team already", PlayFabAPIMethods.Generic, MessageDisplayStyle.context);
                teamController.Refresh();
                return;
            }

            if (string.IsNullOrEmpty(selectedMember.myId.text))
            {
                PF_PlayerData.MyTeamsCharacterId["CurrentTeam"].Add(cha.saved.characterDetails.CharacterId);
            }
            else
            {
                int index = PF_PlayerData.MyTeamsCharacterId["CurrentTeam"].FindIndex(x => x.Contains(selectedMember.myId.text));
                PF_PlayerData.MyTeamsCharacterId["CurrentTeam"][index] = cha.saved.characterDetails.CharacterId;
            }
            UpdateTeam();
            teamController.Refresh();
        }
    }
Exemplo n.º 2
0
    public void Init(CharacterDisplayItem selected)
    {
        selectedSlot = selected;
        SetUpCharacterStats();

        characterImage.sprite = GameController.Instance.iconManager.GetIconById(selected.saved.baseClass.Icon + "_Card");
        this.gameObject.SetActive(true);
    }
Exemplo n.º 3
0
    public void OnChangeTeamMember(CharacterMemberSlot selectedSlot)
    {
        if (!teamController.isChangingMember)
        {
            selectedMember = selectedSlot;
            teamController.isChangingMember          = true;
            teamController.leaveTeamBtn.interactable = true;

            // find character itself and interact btn
            foreach (var id in PF_PlayerData.MyTeamsCharacterId["CurrentTeam"])
            {
                CharacterDisplayItem slot = activedSlots.Find(x => x.saved.characterDetails.CharacterId.Contains(id));
                if (slot != null)
                {
                    slot.myBtn.interactable = false;
                }
            }
            // change slot state
            foreach (var go in activedSlots)
            {
                if (go.saved != null)
                {
                    go.OnMemberChanging();
                }
            }
        }
        else if (teamController.isChangingMember)
        {
            if (string.IsNullOrEmpty(selectedSlot.myId.text))
            {
                teamController.Refresh();
                return;
            }
            //to do : Swap order
            int    index1 = PF_PlayerData.MyTeamsCharacterId["CurrentTeam"].FindIndex(x => x.Contains(selectedMember.myId.text));
            int    index2 = PF_PlayerData.MyTeamsCharacterId["CurrentTeam"].FindIndex(x => x.Contains(selectedSlot.myId.text));
            string temp   = PF_PlayerData.MyTeamsCharacterId["CurrentTeam"][index1];
            PF_PlayerData.MyTeamsCharacterId["CurrentTeam"][index1] = selectedSlot.myId.text;
            PF_PlayerData.MyTeamsCharacterId["CurrentTeam"][index2] = temp;
            UpdateTeam();
            teamController.Refresh();
        }
    }
Exemplo n.º 4
0
    public void Refresh()
    {
        foreach (var go in itemSlots)
        {
            go.gameObject.SetActive(false);
        }

        selectedCha  = chaController.selectedCharacter;
        selectedItem = null;
        SetUpChaEquipment(activedType);

        int count = 0;

        foreach (var kvp in PF_PlayerData.inventoryByCategory)
        {
            foreach (var id in kvp.Value.inventory)
            {
                bool addItem = false;

                if (string.Equals(kvp.Value.catalogRef.ItemClass, activedType.ToString()) && !PF_PlayerData.characterEquipedItem.Contains(id.ItemInstanceId))
                {
                    addItem = true;
                }
                else
                {
                    continue;
                }

                if (addItem == true)
                {
                    itemSlots[count].gameObject.SetActive(true);
                    itemSlots[count].Init(this);
                    itemSlots[count].SetUpButton(kvp.Value, id.ItemInstanceId);

                    count++;
                }
            }
        }
    }