コード例 #1
0
 private void OnTriggerEnter(Collider other)
 {
     if (other.TryGetComponent <Player>(out var player))
     {
         playerFinished = true;
         ControllManager.Instance.RemoveControl();
         var racer = other.GetComponent <RacerStatus>();
         if (racer != null)
         {
             racer.finished = true;
             OnPlayerCrossFinish?.Invoke(racer.GetRacerValues());
         }
         PlayerDataHolder.AddGameCount();
         OnCrossFinishLine?.Invoke();
     }
     else if (other.TryGetComponent <OpponentBarin>(out var enemy))
     {
         if (playerFinished == false)
         {
             playerPlace++;
             var racer = other.GetComponent <RacerStatus>();
             if (racer != null)
             {
                 racer.finished = true;
                 OnEnemyCrossFinish?.Invoke(racer.GetRacerValues());
             }
         }
         OnCrossFinishLineEnemy?.Invoke(enemy);
     }
 }
コード例 #2
0
 private void Awake()
 {
     Item   = Item.LiveBooster;
     Name   = "Live";
     Price  = 40;
     Amount = PlayerDataHolder.GetItemAmount(Item.LiveBooster) + PlayerDataHolder.GetLives();
 }
コード例 #3
0
        public Lobby(PlayerDataHolder player, Match match)
        {
            int posT1 = 0;
            int posT2 = 0;

            this.match = match;
        }
コード例 #4
0
ファイル: BoostManager.cs プロジェクト: Pyrohova/Runner
 // Update info about amounts of boosters
 public void UpdateBoosters()
 {
     foreach (Boost boost in boughtBoosters)
     {
         boostersInShop[boost.BoostItem] = PlayerDataHolder.GetItemAmount(boost.BoostItem);
     }
 }
コード例 #5
0
        public void GeneratePlayerAndOpponents()
        {
            var roads = new int[_roadCount];

            for (var i = 0; i < roads.Length; i++)
            {
                roads[i] = i;
            }
            roads = roads.Shuffle();
            var isTutorial   = PlayerDataHolder.GetTutorial() == 0;
            var playerRoadId = isTutorial ? 2 : roads[UnityEngine.Random.Range(0, _roadCount)];

            SpawnPlayer(playerRoadId);
            var opponentsSkinsId = new List <int>();

            for (var i = 0; i < SkinDataHolder.GetPlayerSkinData().opponents.Count; i++)
            {
                if (i != SkinnController.currentSkin)
                {
                    opponentsSkinsId.Add(i);
                }
            }
            for (var i = 0; i < _roadCount; i++)
            {
                if (i != playerRoadId)
                {
                    SpawnEnemy(i, opponentsSkinsId);
                }
            }
        }
コード例 #6
0
 private void LoadLevel()
 {
     if (PlayerDataHolder.GetTutorial() == 0)
     {
         StartCoroutine(WaitAndLoad(.2f, _scenesContainer.scenes[0]));
     }
     else
     {
         var levelToLoad = Random.Range(0, _scenesContainer.scenes.Length);
         var levelId     = _scenesContainer.scenes[levelToLoad];
         if (_scenesContainer.scenes.Length > 1)
         {
             for (var i = 0; i < 10; i++)
             {
                 if (levelToLoad == PreviousLevelData.previousLevel)
                 {
                     levelToLoad = Random.Range(0, _scenesContainer.scenes.Length);
                     levelId     = _scenesContainer.scenes[levelToLoad];
                 }
                 else
                 {
                     break;
                 }
             }
         }
         LoadImage.SetActive(true);
         loadAnimator.SetTrigger(Open);
         PreviousLevelData.previousLevel = levelToLoad;
         StartCoroutine(WaitAndLoad(.5f, levelId));
     }
 }
コード例 #7
0
ファイル: BoostManager.cs プロジェクト: Pyrohova/Runner
 public void SaveBoostersIntoHoard()
 {
     foreach (Item item in boostersInShop.Keys)
     {
         PlayerDataHolder.SetItem(item, boostersInShop[item]);
     }
 }
コード例 #8
0
    private void SavePlayersMoney()
    {
        AddAdditionalCoins();
        int addedCoins = DataHolder.GetCurrentPlayer().GetRacerStatus().GetRacerValues().coins + DataHolder.GetCurrentPlayer().GetRacerStatus().RacerWallet().GetAdditionalCoins();

        PlayerDataHolder.AddMoney(addedCoins);
    }
コード例 #9
0
    public GamePLay(int gameMap, Match myMatch)
    {
        this.myMatch = myMatch;
        if (myMatch.matchType == MatchType.Tutorial)
        {
            currentTutorialPlayer = myMatch.currentPlayer;
            currentPlayerStage    = TutorialStage.Introduction;
            ServerSend.BeginTutorial(currentTutorialPlayer.GetPlayerId());
        }
        else
        {
            this.gameMap = (Map)gameMap;
            foreach (var player in myMatch.GetTeam1())
            {
                team1Zones.Add(player.GetPlayerId(), -1);
                gamePlayers.Add(new InternalPlayerMethods(1, player.GetPlayerId(), this.myMatch.MatchLobby.currentPick[player.GetPlayerId()], this));
            }
            foreach (var player in myMatch.GetTeam2())
            {
                team2Zones.Add(player.GetPlayerId(), -1);
                gamePlayers.Add(new InternalPlayerMethods(2, player.GetPlayerId(), this.myMatch.MatchLobby.currentPick[player.GetPlayerId()], this));
            }

            UpdateGamePlay     += UpdateMethod;
            FastUpdateGamePlay += FastUpdateMethod;
        }
    }
コード例 #10
0
    public void SelectMonster(int monID)
    {
        PlayerDataHolder playerData = GameObject.Find("GameDataController").GetComponent <PlayerDataHolder>();

        playerData.SetData(monID, 5);
        LoadOverworld();
    }
コード例 #11
0
    public static void RemoveFromExistingParty(int _partyLeaderPartyID, PlayerDataHolder _partyMember)
    {
        List <PlayerDataHolder> x = GetParty(_partyLeaderPartyID);

        x.Remove(_partyMember);
        CurrentParties[_partyLeaderPartyID] = x;
    }
コード例 #12
0
 void Awake()
 {
     Item   = Item.AccelerationBooster;
     Name   = "Starter acceleration";
     Price  = 60;
     Amount = PlayerDataHolder.GetItemAmount(Item.AccelerationBooster);
 }
コード例 #13
0
ファイル: BoostManager.cs プロジェクト: Pyrohova/Runner
 private void LoadBoostersFromHoard()
 {
     foreach (Boost boost in boughtBoosters)
     {
         boostersInShop.Add(boost.BoostItem, PlayerDataHolder.GetItemAmount(boost.BoostItem));
     }
 }
コード例 #14
0
 public static void RemoveFromQueue(PlayerDataHolder playerDataHolder)
 {
     ServerConsoleWriter.WriteLine($"{playerDataHolder.Username} has left the match Queue");
     if (MatchQueue.Contains(playerDataHolder))
     {
         MatchQueue.Remove(playerDataHolder);
     }
 }
コード例 #15
0
 private bool CanBuyItem(ShopItem item)
 {
     if (item.Price <= PlayerDataHolder.GetCoins())
     {
         return(true);
     }
     return(false);
 }
コード例 #16
0
    public void StartGame()
    {
        lives = PlayerDataHolder.GetLives();

        OnGameStarted?.Invoke();

        UIManager.Instance.UpdateLives(lives);
    }
コード例 #17
0
        private void SetupSkills()
        {
            speedSkill        = PlayerDataHolder.GetSpeed() / 10;
            accelerationSkill = PlayerDataHolder.GetAcceleration() / 10;

            defaultSpeed      += speedSkill;
            accelerationSpeed += accelerationSkill;
        }
コード例 #18
0
    private void InitializeStartGameValues()
    {
        PlayerDataHolder.SetCoins(100);
        PlayerDataHolder.SetLives(0);

        PlayerDataHolder.SetItem(Item.LiveBooster, 5);
        PlayerDataHolder.SetItem(Item.AccelerationBooster, 0);
    }
コード例 #19
0
    public int armor;  //armor points, add to health

    public void Awake()
    {
        if (me != null)
        {
            Destroy(gameObject);
            return;
        }
        me = this;
    }
コード例 #20
0
 public static void PlayerRotation(PlayerDataHolder player, List <int> sendToList)
 {
     using (var packet = new Packet((int)ServerPackets.playerRotation))
     {
         packet.Write(player.GetPlayerId());
         packet.Write(player.GetGameObject().transform.rotation);
         SendTcpDataToList(packet, sendToList);
     }
 }
コード例 #21
0
ファイル: StarterBoost.cs プロジェクト: Pyrohova/Runner
    public override void Apply()
    {
        if (!BoostManager.Instance.BoostIsRunning)
        {
            SetAcceleratedBoostMove();

            PlayerDataHolder.DecrementItem(BoostItem);
        }
    }
コード例 #22
0
 private void OnTriggerEnter(Collider other)
 {
     if (other.TryGetComponent <Player>(out var player))
     {
         if (PlayerDataHolder.GetTutorial() != 0)
         {
             ControllManager.Instance.GiveControl();
         }
     }
 }
コード例 #23
0
    private void SetSkinnsAvailable()
    {
        int gamesCount = PlayerDataHolder.GetGamesCount();

        for (int i = 0; i < skinns.Count; i++)
        {
            int gamesNeeded = i * 5;
            savedSkinns[i].aviable = PlayerDataHolder.GetGamesCount() >= gamesNeeded;
        }
    }
コード例 #24
0
    // End game with saving level result
    // used when player dies
    public void EndGame()
    {
        //Update holder values
        PlayerDataHolder.SetCoins(coinsPerLevel + PlayerDataHolder.GetCoins());
        PlayerDataHolder.SetLives(lives);

        coinsPerLevel = 0;

        OnGameEnded?.Invoke();
    }
コード例 #25
0
    private void Start()
    {
        isTutorial = PlayerDataHolder.GetTutorial() == 0;
        if (isTutorial)
        {
            Finish.OnCrossFinishLine += SaveTutorialFinished;
        }

        Finish.OnCrossFinishLine += SavePlayersMoney;
    }
コード例 #26
0
 private void Start()
 {
     if (PlayerDataHolder.GetTutorial() == 0)
     {
         TutorialController.RegisterTutorialObject(this);
     }
     else
     {
         Deactivate();
     }
 }
コード例 #27
0
 private static List <PlayerDataHolder> MatchQueue = new List <PlayerDataHolder>(); //This list stores the PlayerDataHolder's of Clients looking for match
 //public List<Maps> availableMaps = new List<Maps>();
 public static void AddToQueue(PlayerDataHolder playerDataHolder)
 {
     ServerConsoleWriter.WriteLine($"{playerDataHolder.Username} has joined the match Queue");
     if (playerDataHolder.GetMatchId() != 0)
     {
         //This user was on a match so he should rejoin it :)
     }
     else
     {
         MatchQueue.Add(playerDataHolder);
     }
 }
コード例 #28
0
    private bool UpgradeSkill(SkillType skillType)
    {
        int   playerMoney = PlayerDataHolder.GetPlayerMoney();
        float skillLevel  = GetSkillValueByType(skillType);

        if (playerMoney >= GetPriseByType(skillType) && skillLevel < maxSkillValue)
        {
            PlayerDataHolder.RemoveMoney(skillPrise);
            AddSkillValue(skillType);
            source.PlayOneShot(skillSound, 0.7f);
            return(true);
        }
        return(false);
    }
コード例 #29
0
    public void StartMatch()
    {
        var x = new List <PlayerDataHolder>();

        for (var i = 0; i < 6; i++)
        {
            var p = new PlayerDataHolder(i, $"user{(int)(i + Random.Range(1,25)) * Random.Range(1, 800) * .5f}");
            if (p.Username == "user0")
            {
                Debug.Log($"{p.Username}");
            }
        }
        HandleMatchMaking.GenerateMatch(x);
    }
コード例 #30
0
    // Use this for initialization
    void Start()
    {
        gameDataController = GameObject.Find("GameDataController");
        playerData         = gameDataController.GetComponent <PlayerDataHolder>();
        player             = GameObject.FindGameObjectWithTag("Player");
        camera             = GameObject.FindGameObjectWithTag("MainCamera");

        if (EnemyDataHolder.baseTrainer != null)
        {
            GameObject.Find(EnemyDataHolder.baseTrainer).GetComponentInChildren <Trainer>().defeated = true;
        }
        SetPlayerLocation();
        SetCameraLocation();
    }