コード例 #1
0
ファイル: FightSceneBhv.cs プロジェクト: MaximeRadomski/Rogue
    public virtual void RunAway()
    {
        Instantiator.NewPopupYesNo(Constants.YesNoTitle,
                                   "You have " + PlayerBhv.Character.RunAwayPercent + "% chance of running away.\nDo you risk it?"
                                   , Constants.Cancel, "Risk it!", OnRiskRunningAway);

        object OnRiskRunningAway(bool result)
        {
            if (result)
            {
                var rand = Random.Range(0, 100);
                if (rand < PlayerBhv.Character.RunAwayPercent)
                {
                    PlayerPrefsHelper.SaveCharacter(Constants.PpPlayer, PlayerBhv.Character);
                    Instantiator.NewOverBlend(OverBlendType.StartLoadMidActionEnd, "RUNNING AWAY", 2.0f, TransitionRunAway, reverse: true);
                    object TransitionRunAway(bool transResult)
                    {
                        NavigationService.LoadPreviousScene(OnRootPreviousScene);
                        return(transResult);
                    }
                }
                else
                {
                    Instantiator.NewSnack("Your attempt to flee fails");
                    PassTurn();
                }
            }
            return(result);
        }
    }
コード例 #2
0
    public object OnToSwipeScene(bool result)
    {
        var tmpRace = "Human";

        _playerCharacter = RacesData.GetCharacterFromRaceAndLevel(_race, 1, true);
        if (_playerCharacter.Gender != CharacterGender.Transgender)
        {
            _playerCharacter.Gender = _gender;
        }
        _playerCharacter.Name = _characterName.text;
        for (int i = 0; i < _skinContainer.transform.childCount; ++i)
        {
            var child = _skinContainer.transform.GetChild(i);
            var childSpriteRenderer = child.GetComponent <SpriteRenderer>();
            for (int y = 0; y < _playerCharacter.BodyParts.Count; ++y)
            {
                if (RacesData.BodyParts[y].Contains(child.name))
                {
                    var skinPath = "Sprites/" + tmpRace + "/" + childSpriteRenderer.sprite.name;
                    _playerCharacter.BodyParts[y] = skinPath;
                }
            }
        }
        Journey = new Journey(_playerCharacter);
        PlayerPrefsHelper.SaveJourney(Journey);
        PlayerPrefsHelper.SaveCharacter(Constants.PpPlayer, _playerCharacter);
        NavigationService.LoadNextScene(Constants.SwipeScene);
        return(result);
    }
コード例 #3
0
 public object OnToSwipeScene(bool result)
 {
     Journey = new Journey(_playerChoice);
     PlayerPrefsHelper.SaveJourney(Journey);
     PlayerPrefsHelper.SaveCharacter(Constants.PpPlayer, _playerChoice);
     NavigationService.LoadNextScene(Constants.SwipeScene);
     return(result);
 }
コード例 #4
0
ファイル: FightSceneBhv.cs プロジェクト: MaximeRadomski/Rogue
 object OnLootGained(bool result)
 {
     StartCoroutine(Helper.ExecuteAfterDelay(PlayerPrefsHelper.GetSpeed(), () =>
     {
         PlayerPrefsHelper.SaveCharacter(Constants.PpPlayer, PlayerBhv.Character);
         Instantiator.NewOverBlend(OverBlendType.StartLoadMidActionEnd, "BACK TO JOURNEY", 4.0f, TransitionFight, reverse: true);
         object TransitionFight(bool transResult)
         {
             NavigationService.LoadNextScene(Constants.SwipeScene);
             Constants.InputLocked = false;
             return(transResult);
         }
         return(true);
     }));
     return(result);
 }
コード例 #5
0
ファイル: SwipeSceneBhv.cs プロジェクト: MaximeRadomski/Rogue
 public void GoToFightScene(List <Character> opponentCharacters)
 {
     for (int i = 0; i < opponentCharacters.Count; ++i)
     {
         PlayerPrefsHelper.SaveCharacter(Constants.PpOpponent + i, opponentCharacters[i]);
     }
     PlayerPrefs.SetInt(Constants.PpNbOpponents, opponentCharacters.Count);
     Journey.Step++;
     PlayerPrefsHelper.SaveJourney(Journey);
     PlayerPrefsHelper.SaveCharacter(Constants.PpPlayer, _playerCharacter);
     Instantiator.NewOverBlend(OverBlendType.StartLoadMidActionEnd, "ENTERING FIGHT", 4.0f, TransitionFight);
     object TransitionFight(bool transResult)
     {
         NavigationService.LoadNextScene(Constants.FightScene);
         return(transResult);
     }
 }
コード例 #6
0
ファイル: SwipeSceneBhv.cs プロジェクト: MaximeRadomski/Rogue
 public void NewCard(int minutesPassed, bool regenerate = true)
 {
     if (_playerCharacter.GetTotalWeight() > _playerCharacter.WeightLimit)
     {
         minutesPassed *= 2;
     }
     Journey.UpdateTime(minutesPassed);
     if (regenerate)
     {
         _playerCharacter.RegenerationFromMinutes(minutesPassed);
     }
     //Debug.Log("Minutes Passed = " + minutesPassed + "\t|\t\tHours = " + _journey.Hour + "h" + _journey.Minutes);
     ++Journey.Step;
     Destroy(GameObject.Find("Card1"));
     _currentCard = GameObject.Find("Card0");
     _currentCard.GetComponent <CardBhv>().BringToFront();
     Instantiator.PopText(Helper.TimeFromMinutes(minutesPassed), (Vector2)_currentCard.transform.position + new Vector2(0.0f, 1.6f), TextType.Normal);
     _avoidBhv.EndActionDelegate   = _currentCard.GetComponent <CardBhv>().Avoid;
     _ventureBhv.EndActionDelegate = _currentCard.GetComponent <CardBhv>().Venture;
     if (Journey.Step < Journey.Biome.Steps) //Just '<' because it instantiates one in advance
     {
         Instantiator.NewRandomCard(0, Journey.Day, Journey.Biome, _playerCharacter);
     }
     else if (Journey.CurrentBiomeChoice < Journey.Biome.Destinations)
     {
         ++Journey.CurrentBiomeChoice;
         Instantiator.NewCardBiome(0, Journey.Day, Journey.Biome, Journey.CurrentBiomeChoice, Journey.Biome.Destinations, _playerCharacter);
     }
     else
     {
         _avoidBhv.DisableButton();
     }
     UpdateDisplayJourneyAndCharacterStats();
     PlayerPrefsHelper.SaveJourney(Journey);
     PlayerPrefsHelper.SaveCharacter(Constants.PpPlayer, _playerCharacter);
 }