Exemplo n.º 1
0
    public List <Player> GetStartingLineupPlayers()
    {
        List <Player> players = new List <Player>();
        List <int>    ids     = new List <int>();

        foreach (var v in startingLineupString.Split(':')[0].Split(','))
        {
            ids.Add(System.Int32.Parse(v));
        }
        players = StreamingDatabaseManager.GetMultiplePlayers(ids);
        return(players);
    }
    public static Club GetClub(int id, bool playersRequired)
    {
        string      query = string.Format("SELECT * FROM Teams WHERE ID = {0};", id);
        List <Club> list  = new List <Club>();
        string      conn  = "URI=file:" + Application.dataPath + "/StreamingAssets/db.db"; //Path to database.

        using (SqliteConnection c = new SqliteConnection(conn))
        {
            c.Open();
            using (SqliteCommand cmd = new SqliteCommand(query, c))
            {
                using (SqliteDataReader reader = cmd.ExecuteReader())
                {
                    while (reader.Read())
                    {
                        int    clubID          = reader.GetInt32(0);
                        string clubName        = reader.GetString(1);
                        int    clubWealth      = reader.GetInt16(2);
                        int    clubFame        = reader.GetInt16(3);
                        int    clubEstYear     = reader.GetInt16(4);
                        string clubLocation    = reader.GetString(5);
                        string transferList    = reader.GetString(6);
                        string loanList        = reader.GetString(7);
                        string players         = reader.GetString(8);
                        int    belongingLeague = reader.GetInt32(9);
                        int    generated       = reader.GetInt32(10);
                        int    captain         = reader.GetInt32(11);
                        int    supporterCount  = reader.GetInt32(12);
                        string startingLineup  = reader.GetString(13);
                        string stadiumName     = reader.GetString(17);
                        int    capacity        = reader.GetInt32(18);
                        int    managerID       = reader.GetInt32(19);
                        int    relationship    = reader.GetInt32(20);
                        var    club            = new Club(clubID, clubName, clubEstYear,
                                                          new List <Player>(), clubLocation, clubFame, clubWealth, players,
                                                          transferList, loanList, 0, generated, startingLineup, capacity, stadiumName, supporterCount, managerID, relationship);
                        List <Player> playersList = playersRequired ? StreamingDatabaseManager.GetPlayersFromTeam(clubID) : new List <Player>();
                        club.players    = playersList;
                        club.captainPID = captain;
                        list.Add(club);
                    }
                }
            }
        }
        RestoreConnection();
        return(list[0]);
    }
Exemplo n.º 3
0
 void Start()
 {
     myBtn = GetComponent <Button>();
     myBtn.onClick.AddListener(delegate
     {
         StreamingDatabaseManager.UpdatePlayerTrainingInTeam(0, "Strength");
         StreamingDatabaseManager.UpdatePlayerTrainingInTeam(0, "Agility");
         StreamingDatabaseManager.UpdatePlayerTrainingInTeam(0, "Tackling");
         //This is a test
         Debug.Log("update success");
         List <Player> TempPlayer = StreamingDatabaseManager.GetPlayersFromTeam(0);//Test if player's ability is indeed increased
         int RandomIndex          = Random.Range(0, TempPlayer.Count - 1);
         myText.text  = "Right now player's Strength is: " + TempPlayer[RandomIndex].strength + "  Player Name is " + TempPlayer[RandomIndex].playerName;
         myText1.text = "Right now player's Agility is: " + TempPlayer[RandomIndex].agility + "  Player Name is " + TempPlayer[RandomIndex].playerName;
         myText2.text = "Right now player's Tackling is: " + TempPlayer[RandomIndex].tackling + "  Player Name is " + TempPlayer[RandomIndex].playerName;
     });
 }
    void Start()
    {
        myBtn = GetComponent <Button>();
        myBtn.onClick.AddListener(delegate
        {//I am using current team = 0's players to test
            List <Player> TempPlayer = StreamingDatabaseManager.GetPlayersFromTeam(0);


            float before = PlayerEvaluater.EvaluateCM(TempPlayer[11]);
            for (int i = 1; i < 61; i++)
            {
                GrowthCalculation.RoundUpdate(TempPlayer);
            }
            float after = PlayerEvaluater.EvaluateCM(TempPlayer[11]);


            //TempPlayer[11].pace += (float)0.5;



            Debug.Log(TempPlayer[11].playerName + " " + TempPlayer[11].position + " " + TempPlayer[11].GetAge() + "Pace is: " + TempPlayer[11].pace + "Before: " + before + "After: " + after); //+"Before: "+before + "After: " + after
        });
    }
Exemplo n.º 5
0
    void Start()
    {
        myBtn = GetComponent <Button>();
        myBtn.onClick.AddListener(delegate
        {
            //StreamingDatabaseManager.CorrectDBWealth(); You only need to run this once, because now that all team wealth has been multiplied by 10w
            StreamingDatabaseManager.UpdateNull();//Fixed Database Null bug, not necessary if database does not have null values.

            //Very IMPORTANT:
            // Only use this at the begining of trading season, this will make all players available,
            StreamingDatabaseManager.MakeAllPlayersTradable();
            //but we don't want this during trading season when players are traded they shouldn't be traded again.


            int TeamIndex  = 6;//just using team 4 as an example, later you can change to any team.
            int TeamWealth = StreamingDatabaseManager.GetTeamWealth(TeamIndex);

            List <Player> TeamPlayers = StreamingDatabaseManager.GetPlayersFromTeam(TeamIndex);
            TransferSystem.GetChinesePlayersInTeam(TeamPlayers); //This step is very important to include: right now we only make Chinese Players transfer system

            List <Player> LeaguePlayers = StreamingDatabaseManager.SearchChinesePlayersFromSameLeague(TeamIndex);


            Dictionary <string, float> LeagueAvg           = new Dictionary <string, float>();
            Dictionary <string, float> LeaguePositionCount = new Dictionary <string, float>();
            Dictionary <string, float> TeamAvg             = new Dictionary <string, float>();
            Dictionary <string, float> TeamPositionCount   = new Dictionary <string, float>();

            TransferSystem.CalculateLeagueAvg(LeagueAvg, LeaguePositionCount, LeaguePlayers);
            TransferSystem.CalculateLeagueAvg(TeamAvg, TeamPositionCount, TeamPlayers);
            List <Player> AllChinesePlayers = StreamingDatabaseManager.GetAllTradableChinesePlayers();
            //以上是准备工作,下面是决定不同type的transfer
            List <string> PositionsNeeded = TransferSystem.CompareTeamAvgAndLeagueAvg(LeagueAvg, TeamAvg);
            Dictionary <string, Player> TypeOneTransfer         = TransferSystem.TypeOnePlayers(PositionsNeeded, AllChinesePlayers, LeagueAvg, TeamAvg, TeamWealth);
            Dictionary <string, float> TypeTwoPositionsNeeded   = TransferSystem.ComparePositionAvgAndTeamAvg(TeamPlayers, TeamAvg, TeamPositionCount);
            Dictionary <string, float> TypeThreePositionsNeeded = TransferSystem.FindPositionsLackingInTheTeam(TeamPositionCount, LeagueAvg);
            Dictionary <string, Player> TypeThreeTransfer       = TransferSystem.GetTransfersByPosEval(TypeThreePositionsNeeded, AllChinesePlayers, TeamWealth);
            Dictionary <string, Player> TypeTwoTransfer         = TransferSystem.GetTransfersByPosEval(TypeTwoPositionsNeeded, AllChinesePlayers, TeamWealth);

            Dictionary <string, Player> AgeTransfer = TransferSystem.GetAgeTransferPlayers(TeamPlayers, AllChinesePlayers, TeamWealth);
            Dictionary <string, float> KeyPlayerSubPositionNeeded = TransferSystem.IfNeedKeyPlayerSub(TeamPlayers);
            Dictionary <string, Player> KeyPlayerSubTransfer      = TransferSystem.GetTransfersByPosEval(KeyPlayerSubPositionNeeded, AllChinesePlayers, TeamWealth);

            List <Player> TransferList = TransferSystem.FinalPlayersToBuy(TypeOneTransfer, TypeTwoTransfer, TypeThreeTransfer, AgeTransfer, KeyPlayerSubTransfer);

            /*foreach (Player player in TransferList) {
             *  Debug.Log(player.position);
             *  Debug.Log(PlayerEvaluater.EvaluatePlayer(player));
             * }
             */
            Dictionary <Player, int> TransferFinalList = TransferSystem.MakeTransfer(TypeOneTransfer, TypeTwoTransfer, TypeThreeTransfer, AgeTransfer, KeyPlayerSubTransfer, TeamWealth);
            foreach (KeyValuePair <Player, int> pair in TransferFinalList)
            {
                Debug.Log(pair.Key.currentClub);
                Debug.Log(pair.Key.ID);
                //Debug.Log(PlayerEvaluater.EvaluatePlayer(pair.Key));
            }
            StreamingDatabaseManager.Transfer(TeamIndex, TransferFinalList);
        }



                                  );
    }