コード例 #1
0
ファイル: Gauntlet.cs プロジェクト: zakattak/Timbre
    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);
    }
コード例 #2
0
ファイル: Gauntlet.cs プロジェクト: zakattak/Timbre
        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);
        }
コード例 #3
0
ファイル: Gauntlet.cs プロジェクト: zakattak/Timbre
 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();
 }
コード例 #4
0
ファイル: Gauntlet.cs プロジェクト: zakattak/Timbre
        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()
                );
        }
コード例 #5
0
ファイル: Gauntlet.cs プロジェクト: zakattak/Timbre
 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;
     }
 }
コード例 #6
0
ファイル: Gauntlet.cs プロジェクト: zakattak/Timbre
        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++);
        }
コード例 #7
0
ファイル: Gauntlet.cs プロジェクト: zakattak/Timbre
 public override void EndState(GauntletState nextState)
 {
 }
コード例 #8
0
ファイル: Gauntlet.cs プロジェクト: zakattak/Timbre
 public override void StartState(GauntletState lastState)
 {
     parent.EndGauntlet();
 }
コード例 #9
0
ファイル: Gauntlet.cs プロジェクト: zakattak/Timbre
 public override void EndState(GauntletState nextState)
 {
     parent.townMenu.SetActive(false);
 }
コード例 #10
0
ファイル: Gauntlet.cs プロジェクト: zakattak/Timbre
 public virtual void EndState(GauntletState nextState)
 {
 }
コード例 #11
0
ファイル: Gauntlet.cs プロジェクト: zakattak/Timbre
 public virtual void StartState(GauntletState lastState)
 {
 }