Example #1
0
    public void ButtonHandler(GameObject go)
    {
        int currentButton = go.GetComponent <UnitButtonHandler>().buttonNumber;
        UnitButtonHandler buttonHandlerRef = go.GetComponent <UnitButtonHandler>();

        //int tempRequirement = skillButtonArray[currentButton].GetComponent<UnitButtonHandler>().cost;
        int tempRequirement = 5;
        int elementToCheck  = buttonHandlerRef.referenceNumber;
        int settingsValue   = buttonHandlerRef.settingsReferer;

        CharacterProperties.UnitType buttonUnitType = characterSettingsPrefab.GetComponent <CharacterSettings>().characterProperties[settingsValue].unitType;

        buttonHandlerRef.currentAmount -= 5;

        UpdateElementText();

        if (go.transform.FindChild("Dim").GetComponent <UISprite>().localSize.y != buttonHandlerRef.originalSize.y)
        {
            go.GetComponent <UnitButtonHandler>().ActivateButtonCoolDown();
        }

        if (GlobalManager.multiplyerGame)
        {
            this.gameObject.GetComponent <GameNetworkHandler>().NetworkMessage(GlobalManager.NetworkMessage.SpawnUnit, new object[4] {
                bonusDamageDeck, settingsValue + 1, 5, (int)buttonUnitType
            });
        }
        else
        {
            defObj.SpawnCharacter(bonusDamageDeck, settingsValue + 1, GlobalManager.UICard.localUserCardDeck[currentButton].level, buttonUnitType, CharacterProperties.Team.LEFT);
        }
    }
Example #2
0
    //makes the unit buttons interactable
    //changes the listener functions on the unit buttons to the handler provided as an argument to the method
    //UnitButtonHandler handler: function delegate to be assigned to the unit buttons upon state change
    void ReengageUnitButtons(UnitButtonHandler handler)
    {
        UnityAction tempAction = new UnityAction(handler);

        foreach (Button unitButton in unitButtonList)
        {
            unitButton.interactable = true;
            unitButton.onClick.RemoveAllListeners();
            unitButton.onClick.AddListener(tempAction);
        }
        currentSelectedUnit.GetComponent <Button>().Select();
        prevSelectedButton = currentSelectedUnit;
    }
Example #3
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();
                }
            }
        }
    }