示例#1
0
    // Use this for initialization
    void Start()
    {
        state = GameStateManager.getGameStateManager();
        characterButtonPattern = this.transform.Find("CharacterSelectButton").gameObject;
        abilityTextPattern     = this.transform.Find("AbilityText").gameObject;
        costTextPattern        = this.transform.Find("CostText").gameObject;
        characterNameText      = this.transform.Find("CharacterNameText").gameObject;
        healthText             = this.transform.Find("HealthText").gameObject;
        energyText             = this.transform.Find("EnergyText").gameObject;
        positionText           = this.transform.Find("PosText").gameObject;

        buttonObjects = new List <GameObject> ();
        selectCharacter(state.availibleCharacters[0]);

        float buttonOffset = 0.0f;

        foreach (CombatCharacterFactory.CombatCharacterPresets character in state.availibleCharacters)
        {
            GameObject button = Instantiate(characterButtonPattern, this.transform);
            button.transform.Find("Text").gameObject.GetComponent <Text> ().text = CombatCharacterFactory.GetCharacterName(character);
            button.SetActive(true);
            buttonObjects.Add(button);
            ((RectTransform)(button.transform)).anchorMin -= new Vector2(0f, buttonOffset);
            ((RectTransform)(button.transform)).anchorMax -= new Vector2(0f, buttonOffset);
            CombatCharacterFactory.CombatCharacterPresets tempValue = character;
            button.GetComponent <Button> ().onClick.AddListener(delegate {
                selectCharacter(tempValue);
            });
            buttonOffset += 0.08f;
        }
    }
示例#2
0
    /// <summary>
    /// [EXTENSION] - Call updateDisplayedPosition for the character
    /// </summary>
    /// <param name="character">The character</param>
    public void selectCharacter(CombatCharacterFactory.CombatCharacterPresets character)
    {
        currentCharacter = character;
        characterNameText.GetComponent <Text> ().text = CombatCharacterFactory.GetCharacterName(character);
        healthText.GetComponent <Text> ().text        = "Health: " + CombatCharacterFactory.GetCharacterMaxhealth(character).ToString();
        energyText.GetComponent <Text> ().text        = "Energy: " + CombatCharacterFactory.GetCharacterMaxEnergy(character).ToString();
        updateDisplayedPosition(character);

        if (abilityTextObjects != null)
        {
            foreach (GameObject o in abilityTextObjects)
            {
                Destroy(o);
            }
        }
        if (costTextObjects != null)
        {
            foreach (GameObject o in costTextObjects)
            {
                Destroy(o);
            }
        }

        abilityTextObjects = new List <GameObject> ();
        costTextObjects    = new List <GameObject> ();

        float abilityOffset = 0f;

        foreach (CombatAbility ability in CombatCharacterFactory.GetCharacterAbilities(character))
        {
            GameObject abilityText = Instantiate(abilityTextPattern, this.transform);
            GameObject costText    = Instantiate(costTextPattern, this.transform);
            abilityTextObjects.Add(abilityText);
            costTextObjects.Add(costText);

            abilityText.SetActive(true);
            costText.SetActive(true);
            abilityText.GetComponent <Text> ().text = ability.abilityName;
            costText.GetComponent <Text> ().text    = ability.energyCost.ToString() + " energy";

            ((RectTransform)abilityText.transform).anchorMin -= new Vector2(0, abilityOffset);
            ((RectTransform)abilityText.transform).anchorMax -= new Vector2(0, abilityOffset);
            ((RectTransform)costText.transform).anchorMin    -= new Vector2(0, abilityOffset);
            ((RectTransform)costText.transform).anchorMax    -= new Vector2(0, abilityOffset);
            abilityOffset += 0.05f;
        }
    }
示例#3
0
    // used to activate combat
    public static void startCombat(List <CombatCharacterFactory.CombatCharacterPresets> enemies)
    {
        GameObject             combatObject  = (GameObject)Instantiate(Resources.Load("CombatCanvas"));
        CombatManager          combatMan     = combatObject.GetComponentInChildren <CombatManager> ();
        List <CombatCharacter> enemyCharList = new List <CombatCharacter> ();

        foreach (CombatCharacterFactory.CombatCharacterPresets charType in enemies)
        {
            enemyCharList.Add(CombatCharacterFactory.MakeCharacter(charType));
        }
        combatMan.enemyChars = enemyCharList;

        GameStateManager       gameState       = GameObject.FindGameObjectWithTag("GameStateManager").GetComponent <GameStateManager> ();
        List <CombatCharacter> frendlyCharList = new List <CombatCharacter> ();

        foreach (CombatCharacterFactory.CombatCharacterPresets charType in gameState.currentTeam)
        {
            frendlyCharList.Add(CombatCharacterFactory.MakeCharacter(charType));
        }
        combatMan.frendlyChars = frendlyCharList;
    }