コード例 #1
0
ファイル: LoadoutState.cs プロジェクト: ycbxklk/Run3D-unity
    public override void Enter(AState from)
    {
        inventoryCanvas.gameObject.SetActive(true);
        missionPopup.gameObject.SetActive(false);

        charNameDisplay.text  = "";
        themeNameDisplay.text = "";

        k_UILayer = LayerMask.NameToLayer("UI");

        skyMeshFilter.gameObject.SetActive(true);
        UIGroundFilter.gameObject.SetActive(true);

        Shader.SetGlobalFloat("_BlinkingValue", 0.0f);

        if (MusicPlayer.instance.GetStem(0) != menuTheme)
        {
            MusicPlayer.instance.SetStem(0, menuTheme);
            StartCoroutine(MusicPlayer.instance.RestartAllStems());
        }

        runButton.interactable = false;
        runButton.GetComponentInChildren <Text>().text = "Loading...";

        if (m_PowerupToUse != Consumable.ConsumableType.NONE)
        {
            if (!PlayerData.instance.consumables.ContainsKey(m_PowerupToUse) || PlayerData.instance.consumables[m_PowerupToUse] == 0)
            {
                m_PowerupToUse = Consumable.ConsumableType.NONE;
            }
        }

        Refresh();
    }
コード例 #2
0
    public void ChangeConsumable(int dir)
    {
        bool found = false;

        do
        {
            m_UsedPowerupIndex += dir;
            if (m_UsedPowerupIndex >= (int)Consumable.ConsumableType.MAX_COUNT)
            {
                m_UsedPowerupIndex = 0;
            }
            else if (m_UsedPowerupIndex < 0)
            {
                m_UsedPowerupIndex = (int)Consumable.ConsumableType.MAX_COUNT - 1;
            }

            int count = 0;
            if (PlayerData.instance.consumables.TryGetValue((Consumable.ConsumableType)m_UsedPowerupIndex, out count) && count > 0)
            {
                found = true;
            }
        } while (m_UsedPowerupIndex != 0 && !found);

        m_PowerupToUse = (Consumable.ConsumableType)m_UsedPowerupIndex;
        PopulatePowerup();
    }
コード例 #3
0
ファイル: LoadoutState.cs プロジェクト: aminulhussain27/Run
    public override void Enter(AState from)
    {
        inventoryCanvas.gameObject.SetActive(true);
//        missionPopup.gameObject.SetActive(false);


        k_UILayer = LayerMask.NameToLayer("UI");

        skyMeshFilter.gameObject.SetActive(true);
        UIGroundFilter.gameObject.SetActive(true);

        // Reseting the global blinking value. Can happen if the game unexpectedly exited while still blinking
        Shader.SetGlobalFloat("_BlinkingValue", 0.0f);

        if (MusicPlayer.instance.GetStem(0) != menuTheme)
        {
            MusicPlayer.instance.SetStem(0, menuTheme);
            StartCoroutine(MusicPlayer.instance.RestartAllStems());
        }


        if (m_PowerupToUse != Consumable.ConsumableType.NONE)
        {
            //if we come back from a run and we don't have any more of the powerup we wanted to use, we reset the powerup to use to NONE
            if (!PlayerData.instance.consumables.ContainsKey(m_PowerupToUse) || PlayerData.instance.consumables[m_PowerupToUse] == 0)
            {
                m_PowerupToUse = Consumable.ConsumableType.NONE;
            }
        }

        Refresh();
    }
コード例 #4
0
ファイル: PlayerData.cs プロジェクト: aminulhussain27/Run
    public void Add(Consumable.ConsumableType type)
    {
        if (!consumables.ContainsKey(type))
        {
            consumables[type] = 0;
        }

        consumables[type] += 1;
    }
コード例 #5
0
ファイル: PlayerData.cs プロジェクト: aminulhussain27/Run
    public void Consume(Consumable.ConsumableType type)
    {
        if (!consumables.ContainsKey(type))
        {
            return;
        }

        consumables[type] -= 1;
        if (consumables[type] == 0)
        {
            consumables.Remove(type);
        }
    }
コード例 #6
0
    public override void Enter(AState from)
    {
        LocalizationSettings.SelectedLocaleChanged += OnLocaleChanged;
        m_RunButtonText.AutoUpdate = true;
        m_RunButtonText.UpdateString.AddListener(SetRunButtonText);
        tutorialBlocker.SetActive(!PlayerData.instance.tutorialDone);
        tutorialPrompt.SetActive(false);

        inventoryCanvas.gameObject.SetActive(true);
        missionPopup.gameObject.SetActive(false);

        charNameDisplay.text  = "";
        themeNameDisplay.text = "";

        k_UILayer = LayerMask.NameToLayer("UI");

        skyMeshFilter.gameObject.SetActive(true);
        UIGroundFilter.gameObject.SetActive(true);

        // Reseting the global blinking value. Can happen if the game unexpectedly exited while still blinking
        Shader.SetGlobalFloat("_BlinkingValue", 0.0f);

        if (MusicPlayer.instance.GetStem(0) != menuTheme)
        {
            MusicPlayer.instance.SetStem(0, menuTheme);
            StartCoroutine(MusicPlayer.instance.RestartAllStems());
        }

        runButton.interactable = false;
        m_RunButtonText.Key    = "Loading...";

        if (m_PowerupToUse != Consumable.ConsumableType.NONE)
        {
            //if we come back from a run and we don't have any more of the powerup we wanted to use, we reset the powerup to use to NONE
            if (!PlayerData.instance.consumables.ContainsKey(m_PowerupToUse) || PlayerData.instance.consumables[m_PowerupToUse] == 0)
            {
                m_PowerupToUse = Consumable.ConsumableType.NONE;
            }
        }

        Refresh();
    }
コード例 #7
0
    public void UseConsumable(Consumable.ConsumableType consumableType, int value, float duration)
    {
        float health  = currentHealth;
        float stamina = currentStamina;

        ConsumableEffect consumableEffect;

        switch (consumableType)
        {
        case Consumable.ConsumableType.Health:
            currentHealth += value;
            break;

        case Consumable.ConsumableType.HealthRegeneration:
            consumableEffect = gameObject.AddComponent <ConsumableEffect>();

            consumableEffect.player   = this;
            consumableEffect.type     = consumableType;
            consumableEffect.value    = value;
            consumableEffect.duration = duration;
            break;

        case Consumable.ConsumableType.Stamina:
            currentStamina += value;
            break;

        case Consumable.ConsumableType.StaminaRegeneration:
            consumableEffect = gameObject.AddComponent <ConsumableEffect>();

            consumableEffect.player   = this;
            consumableEffect.type     = consumableType;
            consumableEffect.value    = value;
            consumableEffect.duration = duration;
            break;
        }
    }
コード例 #8
0
    static public Consumable GetConsumbale(Consumable.ConsumableType type)
    {
        Consumable c;

        return(_consumablesDict.TryGetValue(type, out c) ? c : null);
    }
コード例 #9
0
 public void UnequipPowerup()
 {
     m_PowerupToUse = Consumable.ConsumableType.NONE;
 }