示例#1
0
    private void GiveMoneyForBuildings(GamePlayer gamePlayer)
    {
        PlayerCorner pc = game.Playfield.GetCornerByFaction(gamePlayer.FactionType);

        switch (gamePlayer.SkillPouch.Skill)
        {
        case Skill.Miracle:
            gamePlayer.GrabCoins(pc.GetAllBuildFieldsInUse(Skill.Miracle).Length);
            break;

        case Skill.Trade:
            gamePlayer.GrabCoins(pc.GetAllBuildFieldsInUse(Skill.Trade).Length);
            break;

        case Skill.Destruction:
            gamePlayer.GrabCoins(pc.GetAllBuildFieldsInUse(Skill.Destruction).Length);
            break;

        case Skill.TheCrown:
            gamePlayer.GrabCoins(pc.GetAllBuildFieldsInUse().Length);
            break;

        default:
            // Nope.png
            break;
        }
    }
示例#2
0
    public PlayerCorner GetPlayerCornerWithHeighestScore()
    {
        PlayerCorner pc = AllPlayCorners[0];

        for (int i = 0; i < AllPlayCorners.Length; i++)
        {
            if (AllPlayCorners[i].TotalScoreOfAllBuiltBuildings() > pc.TotalScoreOfAllBuiltBuildings())
            {
                pc = AllPlayCorners[i];
            }
        }
        return(pc);
    }
示例#3
0
    public void SetWinner(GamePlayer winner, PlayerCorner corner)
    {
        _usernameText.text       = AirConsole.instance.GetNickname(winner.LinkedPlayer.DeviceID);
        _scoreValueText.text     = corner.TotalScoreOfAllBuiltBuildings().ToString();
        _buildingsValueText.text = corner.GetAllBuildFieldsInUse().Length.ToString();
        _cardsValueText.text     = winner.CardsInHand.Length.ToString();
        _coinsValueText.text     = winner.GoldAmount.ToString();

        FactionsLibrary lib = Ramses.Confactory.ConfactoryFinder.Instance.Get <ConPlayerFactions>().FactionsLibrary;

        _scoreValueText.color = _usernameText.color = _buildingsValueText.color = _cardsValueText.color = _coinsValueText.color = lib.GetItemByFactionType(winner.FactionType).FactionColor;

        _factionCharacterImage.sprite = lib.GetItemByFactionType(winner.FactionType).FactionCharacterSprite;
    }
示例#4
0
    public FactionType GetFactionWithHeighestScore()
    {
        PlayerCorner pc = GetPlayerCornerWithHeighestScore();

        if (pc == _spartanCorner)
        {
            return(FactionType.Spartans);
        }
        if (pc == _knightCorner)
        {
            return(FactionType.Knights);
        }
        if (pc == _samuraiCorner)
        {
            return(FactionType.Samurai);
        }
        if (pc == _vikingCorner)
        {
            return(FactionType.Vikings);
        }

        return(FactionType.None);
    }
示例#5
0
    protected override bool IsTypeCardPlayable(FactionType factionPlayingCard)
    {
        PlayerCorner corner = SceneTrackersFinder.Instance.GetSceneTracker <PlayfieldST>().Playfield.GetCornerByFaction(factionPlayingCard);

        return(corner.CanBuildStructureForCard(this));
    }