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"); }
// 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(); }
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()); }
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(); }
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"); }
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(); }