Exemplo n.º 1
0
    public void IncreaseElement(string tempSpriteName)
    {
        CharacterProperties.CategoryColour spriteNumber = CharacterProperties.CategoryColour.NONE;

        switch (tempSpriteName)
        {
        case "red":
            spriteNumber = CharacterProperties.CategoryColour.RED;
            break;

        case "blue":
            spriteNumber = CharacterProperties.CategoryColour.BLUE;
            break;

        case "green":
            spriteNumber = CharacterProperties.CategoryColour.GREEN;
            break;

        case "yellow":
            spriteNumber = CharacterProperties.CategoryColour.ORANGE;
            break;

        case "purple":
            spriteNumber = CharacterProperties.CategoryColour.PURPLE;
            break;

        case "white":
            spriteNumber = CharacterProperties.CategoryColour.WHITE;
            break;
        }

        for (int i = 0; i < skillButtonArray.Length; i++)
        {
            if (skillButtonArray[i].GetComponent <UnitButtonHandler>().element == spriteNumber)
            {
                skillButtonArray[i].GetComponent <UnitButtonHandler>().currentAmount++;
            }
        }

        UpdateElementText();
    }
Exemplo n.º 2
0
    public void SpawnCharacter(int cardNum, CharacterProperties.UnitType unit)
    {
        CharacterProperties.Team           tempOwner = CharacterProperties.Team.LEFT;
        CharacterProperties.CategoryColour colour    = GlobalManager.GameSettings.csObj.characterProperties[cardNum].category;
        int rankLevel = cardNum;

        if (unit != CharacterProperties.UnitType.DRAGON)
        {
            GameObject go = Instantiate(characterPrefab, Vector3.zero, Quaternion.identity) as GameObject;
            go.transform.parent     = this.transform.Find("Holder/Character Unit Holder").transform;
            go.transform.localScale = Vector3.one * 10;
            Vector3 pos = Vector3.zero;
            pos.y = 36f;
            go.transform.localPosition = pos;
            go.rigidbody2D.isKinematic = true;
            go.collider2D.enabled      = false;

            switch (unit)
            {
            case CharacterProperties.UnitType.ARCHER:
            case CharacterProperties.UnitType.CANNON:
                Archer rangeObj = go.AddComponent <Archer>();
                rangeObj.characterSettings = GlobalManager.GameSettings.csObj;
                rangeObj.rank        = rankLevel;
                rangeObj.Category    = colour;
                rangeObj.UnitType    = unit;
                rangeObj.Team        = tempOwner;
                rangeObj.DisplayUnit = true;
                break;

            case CharacterProperties.UnitType.ONE_HANDED_WARRIOR:
            case CharacterProperties.UnitType.TWO_HANDED_WARRIOR:
            case CharacterProperties.UnitType.SPEAR_WARRIOR:
                Warrior meleeObj = go.AddComponent <Warrior>();
                meleeObj.characterSettings = GlobalManager.GameSettings.csObj;
                meleeObj.rank        = rankLevel;
                meleeObj.Category    = colour;
                meleeObj.UnitType    = unit;
                meleeObj.Team        = tempOwner;
                meleeObj.DisplayUnit = true;
                break;

            case CharacterProperties.UnitType.HEALER:
                Healer healerObj = go.AddComponent <Healer>();
                healerObj.characterSettings = GlobalManager.GameSettings.csObj;
                healerObj.rank        = rankLevel;
                healerObj.Category    = colour;
                healerObj.UnitType    = unit;
                healerObj.Team        = tempOwner;
                healerObj.DisplayUnit = true;
                break;
            }
        }
        else if (unit == CharacterProperties.UnitType.DRAGON)
        {
            GameObject go = Instantiate(dragonPrefab, Vector3.zero, Quaternion.identity) as GameObject;
            go.transform.parent     = this.transform.Find("Holder/Character Unit Holder").transform;
            go.transform.localScale = Vector3.one * 6;
            Vector3 pos = Vector3.zero;
            pos.y = 20f;
            go.transform.localPosition = pos;
            go.rigidbody2D.isKinematic = true;
            go.collider2D.enabled      = false;

            go.GetComponent <DragonRider>().characterSettings = GlobalManager.GameSettings.csObj;
            go.GetComponent <DragonRider>().rank        = rankLevel;
            go.GetComponent <DragonRider>().Category    = colour;
            go.GetComponent <DragonRider>().Team        = tempOwner;
            go.GetComponent <DragonRider>().DisplayUnit = true;
        }
    }
    public void SpawnCharacter(int[] damageDeck, int cardNum, int cardLevel, CharacterProperties.UnitType unit, CharacterProperties.Team tempOwner = CharacterProperties.Team.LEFT)
    {
        Vector3 spawnPosition = tempOwner == CharacterProperties.Team.LEFT ? spawnPointLeft.transform.position : spawnPointRight.transform.position;

        CharacterProperties.CategoryColour colour = characterSettingsObj.characterProperties[cardNum].category;
        CharacterProperties.SkillType      skill  = characterSettingsObj.characterProperties[cardNum].skillType;
        int rankLevel = cardNum;

        if (unit != CharacterProperties.UnitType.DRAGON)
        {
            GameObject go = Instantiate(characterPrefab, spawnPosition, Quaternion.identity) as GameObject;
            go.transform.parent     = defenseParent.transform;
            go.transform.localScale = Vector3.one * 1000;

            switch (unit)
            {
            case CharacterProperties.UnitType.ARCHER:
            case CharacterProperties.UnitType.CANNON:
                Archer rangeObj = go.AddComponent <Archer>();
                rangeObj.characterSettings  = characterSettingsObj;
                rangeObj.skillSettings      = skillSettingsObj;
                rangeObj.indicatorPrefab    = indicatorPrefab;
                rangeObj.damageEffectPrefab = damageEffectPrefab;
                rangeObj.bonusDamageDeck    = damageDeck;
                rangeObj.unitLevel          = cardLevel;
                rangeObj.rank           = rankLevel;
                rangeObj.Category       = colour;
                rangeObj.SkillType      = skill;
                rangeObj.UnitType       = unit;
                rangeObj.Team           = tempOwner;
                rangeObj.effectSettings = skillEffects;
                break;

            case CharacterProperties.UnitType.ONE_HANDED_WARRIOR:
            case CharacterProperties.UnitType.TWO_HANDED_WARRIOR:
            case CharacterProperties.UnitType.SPEAR_WARRIOR:
                Warrior meleeObj = go.AddComponent <Warrior>();
                meleeObj.characterSettings  = characterSettingsObj;
                meleeObj.skillSettings      = skillSettingsObj;
                meleeObj.indicatorPrefab    = indicatorPrefab;
                meleeObj.damageEffectPrefab = damageEffectPrefab;
                meleeObj.bonusDamageDeck    = damageDeck;
                meleeObj.unitLevel          = cardLevel;
                meleeObj.rank           = rankLevel;
                meleeObj.Category       = colour;
                meleeObj.SkillType      = skill;
                meleeObj.UnitType       = unit;
                meleeObj.Team           = tempOwner;
                meleeObj.effectSettings = skillEffects;
                break;

            case CharacterProperties.UnitType.HEALER:
                Healer healerObj = go.AddComponent <Healer>();
                healerObj.characterSettings  = characterSettingsObj;
                healerObj.skillSettings      = skillSettingsObj;
                healerObj.indicatorPrefab    = indicatorPrefab;
                healerObj.damageEffectPrefab = damageEffectPrefab;
                healerObj.bonusDamageDeck    = damageDeck;
                healerObj.unitLevel          = cardLevel;
                healerObj.rank           = rankLevel;
                healerObj.Category       = colour;
                healerObj.SkillType      = skill;
                healerObj.UnitType       = unit;
                healerObj.Team           = tempOwner;
                healerObj.effectSettings = skillEffects;
                break;
            }
        }
        else if (unit == CharacterProperties.UnitType.DRAGON)
        {
            GameObject go = Instantiate(riderPrefab, spawnPosition, Quaternion.identity) as GameObject;
            go.transform.parent = defenseParent.transform;
            go.GetComponent <DragonRider>().characterSettings  = characterSettingsObj;
            go.GetComponent <DragonRider>().skillSettings      = skillSettingsObj;
            go.GetComponent <DragonRider>().indicatorPrefab    = indicatorPrefab;
            go.GetComponent <DragonRider>().damageEffectPrefab = damageEffectPrefab;
            go.GetComponent <DragonRider>().bonusDamageDeck    = damageDeck;
            go.GetComponent <DragonRider>().unitLevel          = cardLevel;
            go.GetComponent <DragonRider>().rank           = rankLevel;
            go.GetComponent <DragonRider>().Category       = colour;
            go.GetComponent <DragonRider>().SkillType      = skill;
            go.GetComponent <DragonRider>().Team           = tempOwner;
            go.GetComponent <DragonRider>().effectSettings = skillEffects;
        }
    }
Exemplo n.º 4
0
    private void InitSkillButton()
    {
        string buttonName          = "";
        string spriteName          = "";
        int    limit               = 8;
        int    val                 = 0;
        int    tempReferenceNumber = 0;
        int    buttonNumber        = -1;

        CharacterProperties.CategoryColour category = CharacterProperties.CategoryColour.RED;
        CharacterProperties.UnitType       unitType = CharacterProperties.UnitType.ARCHER;
        int unitLevel = 0;

        CharacterProperties.SkillType skillType = CharacterProperties.SkillType.NONE;
        int skillLevel  = 0;
        int settingsAmt = 0;
        //int offset = 0;
        float buttonXPos = 0;

        for (int i = 0; i < skillButtonArray.Length; i++)
        {
            val = i;
            if (GlobalManager.UICard.localUserCardDeck[i] != null)
            {
                int deckValue = settingsAmt = GlobalManager.UICard.localUserCardDeck[i].cardNumber - 1;

                UIEventListener.Get(skillButtonArray[i]).onClick += ButtonHandler;

                // character deck
                if (GlobalManager.UICard.localUserCardDeck[i].cardNumber > 0)
                {
                    buttonName          = spriteName = characterSettingsPrefab.GetComponent <CharacterSettings>().characterProperties[deckValue].iconSpriteName;
                    tempReferenceNumber = i + 1;
                    category            = characterSettingsPrefab.GetComponent <CharacterSettings>().characterProperties[deckValue].category;
                    unitType            = characterSettingsPrefab.GetComponent <CharacterSettings>().characterProperties[deckValue].unitType;
                    unitLevel           = 1;
                    skillType           = characterSettingsPrefab.GetComponent <CharacterSettings>().characterProperties[deckValue].skillType;
                    skillLevel          = (int)characterSettingsPrefab.GetComponent <CharacterSettings>().characterProperties[deckValue].skillLevel;
                    settingsAmt         = deckValue;
                    buttonNumber        = i;

                    if (skillType == CharacterProperties.SkillType.FIRE_BOOST)
                    {
                        int skillIndex = (int)CharacterProperties.SkillType.FIRE_BOOST - 1;
                        bonusDamageDeck[0] += (int)skillSettings.skillProperties[skillIndex].damageBoost[skillLevel];
                        Debug.Log(bonusDamageDeck[0]);
                    }
                    else if (skillType == CharacterProperties.SkillType.WATER_BOOST)
                    {
                        int skillIndex = (int)CharacterProperties.SkillType.WATER_BOOST - 1;
                        bonusDamageDeck[1] += (int)skillSettings.skillProperties[skillIndex].damageBoost[skillLevel];
                    }
                    else if (skillType == CharacterProperties.SkillType.NATURE_BOOST)
                    {
                        int skillIndex = (int)CharacterProperties.SkillType.NATURE_BOOST - 1;
                        bonusDamageDeck[2] += (int)skillSettings.skillProperties[skillIndex].damageBoost[skillLevel];
                    }
                    else if (skillType == CharacterProperties.SkillType.GROUND_BOOST)
                    {
                        int skillIndex = (int)CharacterProperties.SkillType.GROUND_BOOST - 1;
                        bonusDamageDeck[3] += (int)skillSettings.skillProperties[skillIndex].damageBoost[skillLevel];
                    }
                    else if (skillType == CharacterProperties.SkillType.DARK_BOOST)
                    {
                        int skillIndex = (int)CharacterProperties.SkillType.DARK_BOOST - 1;
                        bonusDamageDeck[4] += (int)skillSettings.skillProperties[skillIndex].damageBoost[skillLevel];
                    }
                    else if (skillType == CharacterProperties.SkillType.LIGHT_BOOST)
                    {
                        int skillIndex = (int)CharacterProperties.SkillType.LIGHT_BOOST - 1;
                        bonusDamageDeck[5] += (int)skillSettings.skillProperties[skillIndex].damageBoost[skillLevel];
                    }

                    skillButtonArray[i].transform.Find("Background").GetComponent <UISprite>().spriteName = spriteName;
                    skillButtonArray[i].GetComponent <UIButton>().normalSprite   = spriteName;
                    skillButtonArray[i].GetComponent <UIButton>().hoverSprite    = spriteName;
                    skillButtonArray[i].GetComponent <UIButton>().pressedSprite  = spriteName;
                    skillButtonArray[i].GetComponent <UIButton>().disabledSprite = spriteName;

                    UnitButtonHandler obj = skillButtonArray[i].GetComponent <UnitButtonHandler>();
                    obj.referenceNumber = tempReferenceNumber;
                    obj.element         = category;
                    obj.unitType        = unitType;
                    obj.unitLevel       = unitLevel;
                    obj.skillType       = skillType;
                    obj.skillLevel      = skillLevel;
                    obj.buttonNumber    = buttonNumber;
                    obj.settingsReferer = settingsAmt;
                }
                else
                {
                    //skillButtonArray[i].collider.enabled = false;
                    skillButtonArray[i].GetComponent <UIButton>().isEnabled = false;
                    skillButtonArray[i].GetComponent <UnitButtonHandler>().DisableSelf();
                }
            }
        }
    }