void GetAvailability()
    {
        int heroSlotsLeft = GameMaster.BackpackSize - CharectorStats.numOfHeroes();

        if (greenOrPurple == true)
        {
            T1Available = InvManager.T1ShardNumCombo();
            if (T1Available > 10)
            {
                T1Available = 10;
            }
            if (T1Available > heroSlotsLeft)
            {
                T1Available = heroSlotsLeft;
            }
        }
        else
        {
            T2Available = InvManager.T2ShardNumCombo();
            if (T2Available > 10)
            {
                T2Available = 10;
            }
            if (T2Available > heroSlotsLeft)
            {
                T2Available = heroSlotsLeft;
            }
        }
    }
    public void GenButtons()
    {
        int[] tempStats;
        AvailableHeros.Clear();
        HeroesChosen.Clear();
        //populate available heros who match the tier requirements
        AvailableHeros = CharectorStats.heroesThatCanBeSacrificed(heroRequirements.heroType, heroRequirements.stars);

        if (gridButtons.Count > 0)
        {
            foreach (GameObject button in gridButtons)
            {
                Destroy(button.gameObject);
            }
            gridButtons.Clear();
        }
        for (int i = 0; i < AvailableHeros.Count; i++)
        {
            tempStats = CharectorStats.UnlockedCharector(AvailableHeros[i]);
            GameObject button = Instantiate(buttonTemplate) as GameObject;
            gridButtons.Add(button);
            button.SetActive(true);

            button.GetComponent <TileListButton>().SetText(CharectorStats.HeroName(tempStats[1]));
            button.GetComponent <TileListButton>().SetSacrificeIndex(i, tempStats[0]);//also sets toggle functionality and backpackindex to the button
            button.transform.SetParent(buttonTemplate.transform.parent, false);
        }
    }
Пример #3
0
    public void UpdateSlider(int xpToBeAdded)
    {
        if (!gridMan.isMaxedActually)
        {
            bounds = GetBounds();
        }

        current += xpToBeAdded;
        if (!gridMan.isMaxedActually)
        {
            if (heroCloneToPass[1] < heroLevelCap && (accumHeroXp + xpToBeAdded < CharectorStats.XpOfMaxLevel(CharectorStats.getTempHero())))
            {
                xpBar.SetActive(true);
                AddSubtractXP();
                tempMaxReduced?.Invoke();
            }
            else if (heroCloneToPass[1] < heroLevelCap && (accumHeroXp + xpToBeAdded >= CharectorStats.XpOfMaxLevel(CharectorStats.getTempHero())))
            {
                xpBar.SetActive(false);
                currentLvlText.text = CharectorStats.findCurrentMaxLevel(CharectorStats.getTempHero()).ToString();
                tempMax?.Invoke();
            }
            else if (heroCloneToPass[1] >= heroLevelCap && xpToBeAdded < 0)
            {
                xpBar.SetActive(true);
                AddSubtractXP();
                tempMaxReduced?.Invoke();
            }
        }
        accumHeroXp += xpToBeAdded;
    }
    public void InitializeMeltGrid()
    {
        int[] tempStats;
        MeltableList.Clear();
        SelectedToMeltList.Clear();
        MeltableList = CharectorStats.heroesThatCanMelt(CharectorStats.getTempHero(), xpToBeAdded, SelectedToMeltList);

        if (GridButtonGameObjs.Count > 0)
        {
            foreach (GameObject button in GridButtonGameObjs)
            {
                Destroy(button.gameObject);
            }
            GridButtonGameObjs.Clear();
        }
        for (int i = 0; i < MeltableList.Count; i++)
        {
            tempStats = CharectorStats.UnlockedCharector(MeltableList[i]);
            GameObject button = Instantiate(buttonTemplate) as GameObject;
            GridButtonGameObjs.Add(button);
            button.SetActive(true);
            button.GetComponent <EnhanceListButton>().SetText(CharectorStats.HeroName(tempStats[1]));
            button.GetComponent <EnhanceListButton>().SetHeroNum(tempStats[0]);
            button.GetComponent <EnhanceListButton>().SetIndex(i);
            button.transform.SetParent(buttonTemplate.transform.parent, false);
        }
    }
Пример #5
0
    public void GenButtons()
    {
        AllHeros.Clear();

        for (int i = 0; i < CharectorStats.numOfHeroes(); i++)
        {
            AllHeros.Add(CharectorStats.UnlockedCharector(i));
        }

        if (buttons.Count > 0)
        {
            foreach (GameObject button in buttons)
            {
                Destroy(button.gameObject);
            }
            buttons.Clear();
        }
        for (int i = 0; i < AllHeros.Count; i++)
        {
            GameObject button = Instantiate(buttonTemplate) as GameObject;
            buttons.Add(button);
            button.SetActive(true);

            button.GetComponent <TileListButton>().SetText(CharectorStats.HeroName(AllHeros[i][1]));
            button.GetComponent <TileListButton>().SetIndex(i);
            button.transform.SetParent(buttonTemplate.transform.parent, false);
        }
    }
    void gainXP()
    {
        int xpToAdd = Convert.ToInt32(initialEHealth * (1 + lengthMultiplier) * diffBonus[difficulty]);

        //stagedXP += xpToAdd;
        updatedHero = CharectorStats.GainXPFromKill(xpToAdd);
        SetXPText();
        lengthMultiplier = 0;
    }
    public static void CombineT2(int NumOfPurple)
    {
        Random rand = new Random(DateTime.Now.Millisecond);

        for (int x = 0; x < NumOfPurple; x++)
        {
            CharectorStats.AddCharecter(2, rand);
        }
        Items[2] -= (NumOfPurple * 50);
    }
    public static void CombineT1(int NumOfGreen)
    {
        Random rand = new Random(DateTime.Now.Millisecond);

        for (int x = 0; x < NumOfGreen; x++)
        {
            CharectorStats.AddCharecter(1, rand);
        }
        Items[1] -= (NumOfGreen * 50);
    }
Пример #9
0
 public static void LoadSplit(string Loadstr)
 {
     string[] tempLoad = Loadstr.Split('#');
     if (tempLoad.Length > 0)
     {
         WordDatav2.LoadManagerData(tempLoad[0]);
         InvManager.LoadManager(tempLoad[1]);
         CharectorStats.LoadManagerData(tempLoad[2]);
     }
 }
Пример #10
0
 public void CloneHero()
 {
     heroCloneToPass = CharectorStats.setTempHero(CharectorStats.getTempHero());
     accumHeroXp     = heroCloneToPass[2];
     if (!gridMan.isMaxedActually)
     {
         bounds  = GetBounds();
         current = accumHeroXp - bounds[0];
     }
     heroLevelCap = CharectorStats.findCurrentMaxLevel(CharectorStats.getTempHero());
 }
Пример #11
0
 private void OnEnable()
 {
     heroesChosenSuccessfully = false;
     selectHeroesButton.GetComponent <Button>().onClick.AddListener(OnSelectClick);
     meltBackButton.GetComponent <Button>().interactable = false;
     currentHeroArray = CharectorStats.setTempHero(CharectorStats.getTempHero());
     selectedHeroTier = CharectorStats.HeroTier(currentHeroArray[0]);
     determineRequirements();
     AGT.GetComponent <Text>().text = heroRequirements.goldReq.ToString();
     setIconsNeedFilled();
 }
Пример #12
0
    public static string SaveParse()
    {
        string tempSave = "";

        tempSave += WordDatav2.SaveManagerData();
        tempSave += '#';
        tempSave += InvManager.SaveManager();
        tempSave += '#';
        tempSave += CharectorStats.SaveManagerData();
        return(tempSave);
    }
 public void DisplayStats()
 {
     int[] heroStats = CharectorStats.setTempHero(CharectorStats.getTempHero()); //displays stats of hero picked from tile but not necessarily selected
     objects[0].GetComponent <Text>().text = heroStats[2].ToString();            //XP
     objects[1].GetComponent <Text>().text = heroStats[5].ToString();            //health
     objects[2].GetComponent <Text>().text = heroStats[4].ToString();            //dmg
     objects[3].GetComponent <Text>().text = heroStats[7].ToString();            //agi
     objects[4].GetComponent <Text>().text = heroStats[6].ToString();            //crit
     objects[5].GetComponent <Text>().text = heroStats[8].ToString();            //def
     objects[6].GetComponent <Text>().text = heroStats[9].ToString();            //xptonext
     objects[7].GetComponent <Text>().text = heroStats[1].ToString();            //level
 }
    public void MeltHeros()
    {
        CharectorStats.meltHero(SelectedToMeltList, xpToBeAdded);
        int tempHero = CharectorStats.getTempHero();

        if (isMaxedTemp)
        {
            CharectorStats.updateHero(tempHero, CharectorStats.XpOfMaxLevel(tempHero), CharectorStats.findCurrentMaxLevel(tempHero));
            xpslide.reduceTempMax();
        }
        PlayServices.Instance.SaveData();
        OnEnable();
    }
    public void TestAddHeroClicked()
    {
        InvManager.GoldAdd(30);
        InvManager.T1ShardAdd(10);
        InvManager.T2ShardAdd(10);
        Debug.Log("current Inv:" + InvManager.GoldReturn().ToString() + " gold, " + InvManager.T1ShardAmount().ToString() + " T1s, " + InvManager.T2ShardAmount().ToString() + " T2s");
        for (int i = 0; i < CharectorStats.numOfHeroes(); i++)
        {
            var character = CharectorStats.UnlockedCharector(i);
            CharectorStats.testAddExp(i, 10);
        }

        SaveManager.SaveParse();
        //GameMaster.CallSave();
    }
    public void OpenPanel()
    {
        int tempHero = CharectorStats.getTempHero();

        if (CharectorStats.HeroIsMaxLvl(tempHero))
        {
            chosenPanel = Panels[1]; //1 is tier up panel
        }
        else
        {
            chosenPanel = Panels[0]; //0 is melt panel
        }
        if (chosenPanel != null)
        {
            chosenPanel.gameObject.SetActive(true);
        }
    }
    public void TransferToSelected()
    {
        int[] tempStats;
        int   tempxp = 0;

        //Insert function to gray out tile on grid
        ClearSelectedGameObjs();
        for (int i = 0; i < SelectedToMeltList.Count; i++)
        {
            tempStats = CharectorStats.UnlockedCharector(SelectedToMeltList[i]);
            tempxp    = tempStats[4];
            GameObject button = Instantiate(selectedBtnTemplate) as GameObject;
            MeltingButtonGameObjs.Add(button);
            button.SetActive(true);
            button.GetComponent <SelectedToMeltBtn>().SetText(CharectorStats.HeroName(tempStats[1]));
            button.GetComponent <SelectedToMeltBtn>().SetIndex(i);
            button.GetComponent <SelectedToMeltBtn>().SetHeroNum(tempStats[0]);
            button.transform.SetParent(selectedBtnTemplate.transform.parent, false);
        }
        xpToBeAdded += tempxp;
    }
    public bool MeltableButtonClicked(int buttonIdx, bool clicked, int BPIndex)
    {
        indexJustClicked = buttonIdx;

        if (clicked == false)
        {
            SelectedToMeltList.Add(BPIndex);
            TransferToSelected();
            int[] tempStats = CharectorStats.UnlockedCharector(BPIndex);
            xpslide.UpdateSlider(tempStats[4]);
            xpslide.SetCurrentAndBoundText();
            clicked = true;
            return(clicked);
        }
        else
        {
            clicked = false;
            int[] tempStats = CharectorStats.UnlockedCharector(BPIndex);
            xpToBeAdded -= tempStats[4];
            GameObject temp = new GameObject();
            for (int i = 0; i < GridButtonGameObjs.Count; i++)
            {
                if (GridButtonGameObjs[i].GetComponent <EnhanceListButton>().heroNum == BPIndex)
                {
                    temp = GridButtonGameObjs[i];
                    break;
                }
            }
            temp.GetComponent <EnhanceListButton>().clicked = false;
            SelectedToMeltList.RemoveAt(buttonIdx);
            RemoveFromSelectedRow(buttonIdx);
            xpslide.UpdateSlider(-tempStats[4]);
            xpslide.SetCurrentAndBoundText();
            return(clicked);
        }
    }
    private void OnEnable()
    {
        isMaxedActually = false;
        int[] temp = CharectorStats.setTempHero(CharectorStats.getTempHero());
        if (CharectorStats.HeroIsMaxLvl(CharectorStats.getTempHero()))
        {
            isMaxedActually = true;
        }
        MeltPrestButtonDisplay();
        xpslide.tempMax        += tempMaxHit;
        xpslide.tempMaxReduced += tempMaxReduced;

        if (!isMaxedActually)
        {
            xpslide.CloneHero();
            xpslide.UpdateSlider(0);
            xpslide.SetCurrentAndBoundText();
        }
        xpToBeAdded = 0;
        InitializeMeltGrid();
        xpslide.SetHeroNameText();
        //need to remove selectedButtons if refreshing panel
        ClearSelectedGameObjs();
    }
 //these methods can also contain positional logic for displays
 private void SetToTemp()
 {
     disableObjects();
     transform.GetChild(CharectorStats.setTempHero(CharectorStats.getTempHero())[0]).gameObject.SetActive(true);
 }
    // Coroutine CRRef;

    void Awake()
    {
        if (instance == null)
        {
            instance = this;
        }
        bgTween.AssignBackgroundsForRegion(region);
        bgTween.changeBackground(level);
        for (int i = 0; i < allCharacters.Count; i++)
        {
            if (i != CharectorStats.SetCurrentHero(CharectorStats.GetCurrentHero())[0])
            {
                allCharacters[i].SetActive(false);
            }
            else
            {
                SelectedHero = allCharacters[i];
            }
        }
        SelectedEnemy     = allEnemies[0];
        characterAnimator = characterHolder.GetComponentInChildren <Animator>();

        heroParticles = SelectedHero.transform.Find("HeroAttackParticles").gameObject;
        characterAnimator.SetBool("inCombat", true);
        bubbles = GetComponentsInChildren <Image>();
        foreach (Image bubble in bubbles)
        {
            bubble.gameObject.SetActive(false);
        }

        int[] heroStats = CharectorStats.SetCurrentHero(CharectorStats.GetCurrentHero());
        SetXPText();
        pDmg             = heroStats[4];
        pHealth          = heroStats[5];
        pCrit            = heroStats[6];
        pAgi             = heroStats[7];
        pDef             = heroStats[8];
        lengthMultiplier = 0;

        stagedGold   = 0;
        stagedShard1 = 0;
        stagedShard2 = 0;

        //event subs
        CombatWordManager.onMaxLengthFound += generateBubble;
        CombatWordManager.onCorrectWord    += spelledWord;
        CombatWordManager.onIncorrectWord  += wrongWord;
        CharectorStats.leveledUp           += onLeveledUp;
        onDamageEnemy += enemyTakeDamage;
        //onDamageEnemy += enemyGotHitAnim;
        onDamagePlayer += playerTakeDamage;
        onDamagePlayer += enemyAttackAnim;
        onEnemyKilled  += nextWord;
        onEnemyKilled  += stageLoot;
        //onEnemyKilled += enemyIsDeadAnim;
        onLevelComplete += levelFinished;
        onLevelComplete += heroCelebrateAnim;
        onPlayerKilled  += gameOverSequence;
        onPlayerKilled  += removeBubble;
        onLevelComplete += enableContinueButton;
        onPlayerKilled  += disableContinueButton;
        InitializePlayer();
        InitializeEnemy();
        displayNewEnemyPrefab();
        InitializeTimer();

        isGameplay = true;
        //StartCoroutine("enemyWalk");
        CombatWordManager.StartLevel();
        wordsLeft = CombatWordManager.Words.Count;
    }
Пример #22
0
    private int [] GetBounds()
    {
        var temp = CharectorStats.MeltSetBounds(heroCloneToPass[0], heroCloneToPass[1]);

        return(temp);
    }
 private void SetToCurrent()
 {
     disableObjects();
     transform.GetChild(CharectorStats.SetCurrentHero(CharectorStats.GetCurrentHero())[0]).gameObject.SetActive(true);
 }
Пример #24
0
 public void ascendHero() //MAKE UNCLICKABLE UNLESS HEORESCHOSENSUCCESSFUL = TRUE
 {
     CharectorStats.buyHeroUpgrade(CharectorStats.getTempHero());
     confirmPanel.SetActive(false);
     gameObject.SetActive(false);
 }
Пример #25
0
 void SetHero()
 {
     CharectorStats.SetCurrentHero(CharectorStats.getTempHero());
     Debug.Log("Hero is now: " + CharectorStats.SetCurrentHero(CharectorStats.GetCurrentHero())[0] + CharectorStats.HeroName(CharectorStats.SetCurrentHero(CharectorStats.GetCurrentHero())[0]));
     PlayServices.Instance.SaveData();
 }
Пример #26
0
 public void SetTemp()
 {
     CharectorStats.setTempHero(thisButtonIndex);
     statValues.DisplayStats();
 }
Пример #27
0
 public void SetHeroNameText()
 {
     int[] nameTemp = CharectorStats.setTempHero(CharectorStats.getTempHero());
     heroText.text = CharectorStats.HeroName(nameTemp[0]);
 }