Exemplo n.º 1
0
    //=====================================================

    private void SetRewardItem(eSwitchItem switchItem,
                               eTradingCardClassification cardClassification,
                               eTradingCardRarity cardRarity,
                               eTradingCardCondition cardCondition)
    {
        if (switchItem == eSwitchItem.NULL)
        {
            // Reset reward to gems or a card
            _reward = SceneManager.GetChestReward(_type, cardClassification, cardRarity, cardCondition);
        }
        else
        {
            if (_reward == null)
            {
                _reward = new ChestReward();
            }

            // Clear other reward items if switchItem is set
            _reward.Gems       = 0;
            _reward.Card       = null;
            _reward.SwitchItem = switchItem;
        }
        //Debug.Log( "Chest: " + _type + " : " + _reward );

        // Initialise chest switchItem as reward
        if (_chestReward != null && _reward != null)
        {
            _chestReward.Init(_reward);
        }
    }
Exemplo n.º 2
0
    //=====================================================

    public ChestReward()
    {
        Gems          = 0;
        Card          = new TradingCardSpreadsheetItem();
        CardCondition = eTradingCardCondition.MINT;
        SwitchItem    = eSwitchItem.NULL;
    }
Exemplo n.º 3
0
    //=====================================================

    public void Refresh()
    {
        CheckReferences();

        // Update chest-model
        //Debug.Log( "Model type: " + _type + " : " + _model );
        var mdlChest   = ResourcesChests.GetModel(_type, _model);
        var chestModel = Instantiate(mdlChest) as GameObject;

        Init(chestModel);

        // Special Case: editor changes only update _rewardSwitchItem because of enumerated type so forcing update on _reward
        // Do we need to set the chest-reward?
        if (_reward == null)
        {
            // Set reward (gems or a card). Special 'key' items only set in inspector for large chests (NULL forces normal reward setup)
            _rewardSwitchItem = eSwitchItem.NULL;
            SetRewardItem(_rewardSwitchItem, _cardClassification, _cardRarity, _cardCondition);
        }
        else
        {
            if (_reward.SwitchItem != _rewardSwitchItem)
            {
                SetRewardItem(_rewardSwitchItem, _cardClassification, _cardRarity, _cardCondition);
            }
        }
    }
Exemplo n.º 4
0
    //=====================================================

    #region Private Methods

    private void Awake()
    {
        _maxPlayerGems    = Convert.ToInt32(SettingsManager.GetSettingsItem("PLAYER_MAX_GEMS", -1));
        _maxPlayerRedGems = Convert.ToInt32(SettingsManager.GetSettingsItem("PLAYER_MAX_RED_GEMS", -1));

        // Reset
        _localPlayerData   = new PlayerData();
        _currentSwitchItem = eSwitchItem.NULL;
        _is100GemKeyActive = false;
        _isRedGemKeyActive = false;
    }
Exemplo n.º 5
0
    //=====================================================

    public static void AwardPlayer(ChestReward reward)
    {
        if (reward == null)
        {
            return;
        }

        if (reward.Gems > 0)
        {
            AddPlayerGems(reward.Gems);
            //Debug.Log( "Gems collected: " + reward.Gems );
        }
        else if (string.IsNullOrEmpty(reward.Card.id) == false)
        {
            // Add card to players collection
            var heldCard = GameDataManager.Instance.AddTradingCard(reward.Card.id, reward.CardCondition);

            // If card rarity is TEACHER unlock special NPC e.g. Faragonda
            if (reward.Card.rarity == eTradingCardRarity.TEACHER && reward.Card.id != "NULL")
            {
                var npc = NPCItemsManager.GetNPCItemIDFromCardId(reward.Card.id);

                if (npc != eNPC.NULL)
                {
                    GameDataManager.Instance.UnlockPlayerNPC(npc);
                }
            }

            // Show popup
            if (PopupChestReward.instance != null)
            {
                PopupChestReward.instance.Show(heldCard, 1.5f);
            }

            //Debug.Log( "Card collected: " + reward.Card._id );
        }
        else if (reward.SwitchItem != eSwitchItem.NULL)
        {
            _currentSwitchItem = reward.SwitchItem;
            //Debug.Log( "Switch Item received: " + _currentSwitchItem );
        }

        // Play player's celebrate animation
        PlayerManager.OnCelebrate();
    }