void Start() { ethreadMenu.SetActive(false); ethreadMenuCamPosition = GameObject.Find("EthreadMenuPosition").transform.position; townMenu.SetActive(false); var possiblePartyMembers = new List <GameObject>() { Resources.Load <GameObject>("Prefabs/Grid/AllyClasses/GridPlayer"), Resources.Load <GameObject>("Prefabs/Grid/AllyClasses/Dog"), Resources.Load <GameObject>("Prefabs/Grid/AllyClasses/Knight"), Resources.Load <GameObject>("Prefabs/Grid/AllyClasses/Woodsman"), }; possibleThreadDrops = new List <GameObject> { Resources.Load <GameObject>("Prefabs/Overworld/Pickups/RedThreadPickup"), Resources.Load <GameObject>("Prefabs/Overworld/Pickups/BlueThreadPickup"), Resources.Load <GameObject>("Prefabs/Overworld/Pickups/GreenThreadPickup"), Resources.Load <GameObject>("Prefabs/Overworld/Pickups/PurpleThreadPickup"), Resources.Load <GameObject>("Prefabs/Overworld/Pickups/YellowThreadPickup"), Resources.Load <GameObject>("Prefabs/Overworld/Pickups/PinkThreadPickup"), }; partyMembers = possiblePartyMembers.ManyRandomElements(2); currentState = new ThreadCustomization(this); currentState.StartState(null); }
public override void StartState(GauntletState lastState) { parent.townMenu.SetActive(true); var townMenu = parent.townMenu.GetComponent <TownMenu>(); townMenu.PopulateParty(parent.partyMembers); continueButton = new PollableButton(townMenu.continueButton); }
public override void EndState(GauntletState nextState) { parent.afraidEnemiesDefeated = parent.gridSystem.factions .Where(faction => faction.isHostileFaction) .SelectMany(faction => faction.entities) .Where(entity => entity.totalFearValue >= entity.fearThreshold).Count(); parent.gridSystem.DeactivateGrid(); }
public override void StartState(GauntletState lastState) { parent.mainCam.transform.position = new Vector3(0, 0, -10); parent.gridSystem.ActivateGrid( playerLocation: new Vector2(0, 0), activeParty: parent.partyMembers, enemiesToSpawn: parent.GenerateRandomEnemies() ); }
private void ChangeState(Type newStateType) { if (newStateType.IsSubclassOf(typeof(GauntletState))) { var oldState = currentState; var newState = (GauntletState)Activator.CreateInstance(newStateType, new object[] { this }); oldState.EndState(newState); Debug.Log($"Transitioning from {oldState.GetType().FullName} to {newState.GetType().FullName}"); newState.StartState(oldState); currentState = newState; } }
public override void StartState(GauntletState lastState) { parent.mainCam.transform.position = parent.ethreadMenuCamPosition; parent.ethreadMenu.SetActive(true); var ethreadMenu = parent.ethreadMenu.GetComponent <EthreadMenu>(); ethreadMenu.PopulateParty(parent.partyMembers); continueButton = new PollableButton(ethreadMenu.continueButton); returnButton = new PollableButton(ethreadMenu.returnButton); // reward at the end of battle var possibleRewards = parent.ethreadMenu.GetComponent <EthreadMenu>().threadButtonGroups; possibleRewards.RandomElement().quantity++; possibleRewards.ManyRandomElements(parent.afraidEnemiesDefeated).ForEach(i => i.quantity++); }
public override void EndState(GauntletState nextState) { }
public override void StartState(GauntletState lastState) { parent.EndGauntlet(); }
public override void EndState(GauntletState nextState) { parent.townMenu.SetActive(false); }
public virtual void EndState(GauntletState nextState) { }
public virtual void StartState(GauntletState lastState) { }