Esempio n. 1
0
    public void BeginCampaign(string balanceName)
    {
        gameBalance = Resources.Load <GameBalance>(balanceName);
        Debug.Assert(gameBalance != null);

        playerStats = gameObject.AddComponent <VesselStats>();
        playerStats.SetStats(new VesselStatValues());

        playerStatus = gameObject.AddComponent <VesselStatus>();
        //playerStatus.InitialiseFull(gameBalance, playerStats);

        encounter = null;

        state         = State.None;
        nextEncounter = 0;

        state = State.InitialStats;
        int remainingPoints = gameBalance.initialStatPoints;

        while (remainingPoints > 0)
        {
            int statCount = System.Enum.GetValues(typeof(VesselStats.Type)).Length;
            for (int i = 0; remainingPoints > 0 && i < statCount; ++i)
            {
                playerStats.SetRaw((VesselStats.Type)i, playerStats.GetRaw((VesselStats.Type)i) + 1);
                --remainingPoints;
            }
        }
        Game.Instance.pageManager.SetPage("InitialStats");
    }
Esempio n. 2
0
    // construct and configure
    public VesselEncounter(
        bool isPlayer,
        string name,
        Encounter owner,
        GameBalance balance,
        VesselVisuals visuals,
        VesselStats stats,
        VesselStatus status,
        VesselModifiers modifiers)
    {
        this.isPlayer  = isPlayer;
        this.name      = name;
        this.owner     = owner;
        this.balance   = balance;
        this.modifiers = modifiers;
        this.visuals   = visuals;

        Stats  = stats;
        Status = status;

        visuals.ResetVisibility();

        abilities = new Dictionary <string, VesselAbility>();
        InitialiseAbilities();
    }
Esempio n. 3
0
    public void BeginEncounter(Campaign owner, EncounterDescriptor descriptor)
    {
        this.owner      = owner;
        this.descriptor = descriptor;

        // setup opponent
        opponentStats = gameObject.AddComponent <VesselStats>();
        InitialiseOpponentStats();
        opponentStatus = gameObject.AddComponent <VesselStatus>();
        InitialiseOpponentStatus();

        // activate page
        pageEncounter = (PageEncounter)Game.Instance.pageManager.PushPage("Encounter");
        // disable input
        pageEncounter.IsInputEnabled = false;

        // initialise health bars
        pageEncounter.healthBarPlayer.SetFill(owner.playerStatus.GetHealthPercentage());
        pageEncounter.healthBarOpponent.SetFill(opponentStatus.GetHealthPercentage());

        // setup vessel encounters
        playerEncounter   = new VesselEncounter(true, "player", this, owner.gameBalance, pageEncounter.playerVisuals, owner.playerStats, owner.playerStatus, descriptor.playerModifiers);
        opponentEncounter = new VesselEncounter(false, "opponent", this, owner.gameBalance, pageEncounter.opponentVisuals, opponentStats, opponentStatus, descriptor.enemyModifiers);
        VesselEncounter.SetOpponents(playerEncounter, opponentEncounter);

        opponentAiBehaviour = Instantiate(descriptor.enemyAiBehaviour, transform);

        // start
        BeginPlayerTurn();
    }
    private int GetRemaining()
    {
        Campaign    campaign = Game.Instance.campaign;
        VesselStats stats    = campaign.playerStats;

        return(campaign.gameBalance.initialStatPoints - stats.GetRawTotal());
    }
Esempio n. 5
0
    private void UpdateDisplay()
    {
        Campaign    campaign = Game.Instance.campaign;
        VesselStats stats    = campaign.playerStats;

        textAttack.Text  = stats.GetRaw(VesselStats.Type.Attack).ToString();
        textDefense.Text = stats.GetRaw(VesselStats.Type.Defense).ToString();
        textLuck.Text    = stats.GetRaw(VesselStats.Type.Luck).ToString();
    }
Esempio n. 6
0
    public void InitialiseFull(GameBalance balance, VesselStats stats, int health)
    {
        this.balance  = balance;
        this.stats    = stats;
        maximumHealth = health;

        RepairFull();

        fuel = balance.initialFuel;
        ammo = balance.initialAmmo;
    }
    public void TryDec(VesselStats.Type stat)
    {
        Campaign    campaign = Game.Instance.campaign;
        VesselStats stats    = campaign.playerStats;

        if (stats.GetRaw(stat) <= 0)
        {
            Game.Instance.audioManager.Play("failure");
            return;
        }

        stats.SetRaw(stat, stats.GetRaw(stat) - 1);
        UpdateDisplay();
        Game.Instance.audioManager.Play("success");
    }
    public void TryInc(VesselStats.Type stat)
    {
        Campaign    campaign = Game.Instance.campaign;
        VesselStats stats    = campaign.playerStats;

        if (GetRemaining() <= 0 || stats.GetRaw(stat) >= VesselStats.MaxStatValue)
        {
            Game.Instance.audioManager.Play("failure");
            return;
        }

        stats.SetRaw(stat, stats.GetRaw(stat) + 1);
        UpdateDisplay();
        Game.Instance.audioManager.Play("success");
    }
Esempio n. 9
0
    public void TryInc(VesselStats.Type stat)
    {
        Campaign    campaign = Game.Instance.campaign;
        VesselStats stats    = campaign.playerStats;

        if (stats.GetRaw(stat) >= VesselStats.MaxStatValue)
        {
            Game.Instance.audioManager.Play("failure");
            return;
        }

        stats.SetRaw(stat, stats.GetRaw(stat) + 1);
        Game.Instance.audioManager.Play("success");

        pageManager.PopPage();
        onPointSpent?.Invoke();
    }