/// <summary>
 /// A constructor for the user interface. It reads in the inital team information.
 /// </summary>
 public UserInterface()
 {
     InitializeComponent();
     StreamReader sr = new StreamReader("TEAMABR.csv");
     while (sr.EndOfStream != true)
     {
         string currentLine = sr.ReadLine();
         string[] sArray = new string[5];
         sArray = currentLine.Split(',');
         TeamData tData = new TeamData(sArray);
         _teamInformation.Add(sArray[0], tData);
     }
 }
Example #2
0
        public static void WritePairing(TeamData red, TeamData blue)
        {
            var color = Console.ForegroundColor;

            Console.ForegroundColor = ConsoleColor.Red;

            Console.Write("  {0,-24} ({1:0000})", red.Name, red.Rating);
            Console.ForegroundColor = ConsoleColor.White;
            Console.Write(" - ");
            Console.ForegroundColor = ConsoleColor.Blue;
            Console.Write("{0,-24} ({1:0000})", blue.Name, blue.Rating);
            Console.ForegroundColor = ConsoleColor.White;
            Console.Write(" : ");
            Console.ForegroundColor = color;
        }
Example #3
0
        public EventAnalysis(FrcEvent frc) : this()
        {
            Event     = frc;
            EventName = frc.EventName;

            foreach (Team t in frc.AllTeams)
            {
                TeamAnalysis ta = new TeamAnalysis(Event, t);
                ta.CalculateSafe();
                TeamData.Add(ta);
            }

            foreach (Match m in frc.Matches)
            {
                MatchAnalysis ma = new MatchAnalysis(Event, m, TeamData);
                ma.CalculatePregame();
                MatchData.Add(ma);
            }
        }
Example #4
0
    /// <summary>
    /// 添加英雄到编队
    /// </summary>
    /// <param name="heroInfo">添加的英雄</param>
    public static void Add(RowHeroDate heroInfo)
    {
        TeamData teamData = ReadTeamModel();

        int armorType = heroInfo.ArmorType == "重型" ? 0 : 1;

        if (armorType == 1)
        {
            teamData.fowardHeroList.Add(heroInfo);
        }
        else
        {
            teamData.backHeroList.Add(heroInfo);
        }

        AddAttribute(heroInfo, ref teamData);

        PlayerPrefs.SetString("Team", JsonMapper.ToJson(teamData));
    }
Example #5
0
        private void del_team_button_Click(object sender, EventArgs e)
        {
            if (null == TeamProjectInfo)
            {
                Common.ErrAlert("请选择项目后再操作!");
                return;
            }
            if (team_dataGridView.SelectedRows.Count == 0)
            {
                Common.ErrAlert("请选择一行再修改!");
                return;
            }
            TeamData teamData = teamDatas.ToList()[team_dataGridView.SelectedRows[0].Index];

            if (null == teamData)
            {
                Common.ErrAlert("加载选择的班组数据发生错误!");
                return;
            }
            if (MessageBox.Show(string.Format("真的要删除班组 {0} 吗?", teamData.teamName), "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) != DialogResult.OK)
            {
                return;
            }
            CommonResponseData commonResponse = new CommonResponseData();

            TeamRequestService.RequestDelAction(teamData, loginUser, ref commonResponse);
            if (null != commonResponse)
            {
                if (commonResponse.success)
                {
                    Common.SuccessAlert("删除操作成功!");
                    TeamDataGridViewLoad();
                }
                else
                {
                    Common.ErrAlert("删除失败!\n" + commonResponse.message);
                }
            }
            else
            {
                Common.ErrAlert("删除操作异常,请检查网络连接或联系管理员!");
            }
        }
Example #6
0
        public void HandlesValidEmailDomainChanged()
        {
            var team = new TeamData {
                EmailDomain = "team.com"
            };
            var mockState = new Mock <IBotState>();

            mockState.Setup(s => s.Team).Returns(team).Verifiable();

            var message = new EmailDomainChanged
            {
                Type        = EventType.EmailDomainChanged,
                EmailDomain = "team2.com"
            };

            RunHandler(message, mockState);

            Assert.Equal("team2.com", team.EmailDomain);
        }
Example #7
0
        public void HandlesValidTeamRename()
        {
            var team = new TeamData {
                Name = "Team1"
            };
            var mockState = new Mock <IBotState>();

            mockState.Setup(s => s.Team).Returns(team).Verifiable();

            var message = new TeamRename
            {
                Type = EventType.TeamRename,
                Name = "Team1b"
            };

            RunHandler(message, mockState);

            Assert.Equal("Team1b", team.Name);
        }
Example #8
0
    //----------------------------------------------------------------------
    // ゴールのメッシュに当たったらその時点でゴール
    //----------------------------------------------------------------------
    // @Param	collider    当たったオブジェクトの当たり判定
    // @Return	none
    // @Date	2014/12/9  @Update 2014/12/9  @Author T.Kawashita
    //----------------------------------------------------------------------
    void OnTriggerEnter(Collider collider)
    {
        if (collider.gameObject == GameObject.Find("SoccerBall"))
        {
            // グローバルのゴールのデータに追加
            TeamData.AddLog(CGameManager.m_nowTime, CSoccerBallManager.m_shootPlayerNo, CSoccerBallManager.m_shootTeamNo, 1, true);
            CGameManager.m_redPoint++;

            CGameManager.m_nowStatus = CGameManager.eSTATUS.eGOAL;

            // サポーター追加
            int redSupporter  = 0;
            int blueSupporter = 0;

            // オウンゴールではない場合
            if (CSoccerBallManager.m_shootTeamNo != 2)
            {
                // 同点に追いつくシュート
                if (TeamData.GetTeamScore(0) == TeamData.GetTeamScore(1))
                {
                    redSupporter += CSupporterData.m_getDrawPointSupporter;
                }

                // 同点から逆転するシュート
                else if (TeamData.GetTeamScore(0) - 1 == TeamData.GetTeamScore(1))
                {
                    redSupporter += CSupporterData.m_getDrawReversPointSupporter;
                }

                redSupporter += CSupporterData.m_getPointSupporter;
            }
            // オウンゴールの場合は点数は入る
            else if (CSoccerBallManager.m_shootTeamNo == 2)
            {
                blueSupporter += CSupporterData.m_getPointSupporter;
            }

            // 最後にサポーター追加
            CSupporterManager.AddSupporter(redSupporter, blueSupporter, true);

            collider.gameObject.transform.GetComponent <CSoccerBall>().StopTrail();
        }
    }
 /// <summary>
 /// 初始化NPC
 /// </summary>
 public void InitNpcTeams(List <string> teamDatas, Action execOK)
 {
     foreach (string teamItem in teamDatas)
     {
         if (LogicConst.BattleType == BattleType.FreeBattle)
         {
             var      items    = teamItem.ToList <uint>('-');
             var      teamid   = items[0];
             var      turnNum  = items[1];
             var      maxNum   = items[2];
             TeamData itemData = configMgr.GetTeamData(teamid);
             if (itemData != null)
             {
                 for (int i = 0; i < turnNum; i++)
                 {
                     TeamData newItem = new TeamData();
                     newItem.id       = itemData.id;
                     newItem.teamNpcs = new List <TeamNpcData>();
                     for (int j = 0; j < maxNum; j++)
                     {
                         int index   = LogicUtil.Random(0, itemData.teamNpcs.Count);
                         var teamNpc = itemData.teamNpcs[index];
                         newItem.teamNpcs.Add(teamNpc);
                     }
                     turnTeams.Enqueue(newItem);
                 }
             }
         }
         else
         {
             uint     teamid = teamItem.ToUint();
             TeamData item   = configMgr.GetTeamData(teamid);
             if (item != null)
             {
                 turnTeams.Enqueue(item);
             }
         }
     }
     if (execOK != null)
     {
         execOK();
     }
 }
Example #10
0
        /// <summary>
        /// 取得車隊活動列表
        /// </summary>
        /// <param name="teamCommand">teamCommand</param>
        /// <returns>Tuple(EventInfoDtos, string)</returns>
        public async Task <Tuple <IEnumerable <EventSimpleInfoDto>, string> > GetEventListOfTeam(TeamCommandDto teamCommand)
        {
            try
            {
                bool verifyTeamCommandResult = this.VerifyTeamCommand(teamCommand, false, true, false, false, false, false);
                if (!verifyTeamCommandResult)
                {
                    this.logger.LogError($"Get Event List Of Team Fail For Verify TeamCommand >>> TeamID:{teamCommand.TeamID} TargetID:{teamCommand.TargetID}");
                    return(Tuple.Create <IEnumerable <EventSimpleInfoDto>, string>(null, "取得車隊活動列表失敗."));
                }

                TeamData teamData = await this.teamRepository.GetTeamData(teamCommand.TeamID);

                if (teamData == null)
                {
                    return(Tuple.Create <IEnumerable <EventSimpleInfoDto>, string>(null, "車隊不存在."));
                }

                if (!teamData.TeamLeaderID.Equals(teamCommand.TargetID) && !teamData.TeamPlayerIDs.Contains(teamCommand.TargetID))
                {
                    return(Tuple.Create <IEnumerable <EventSimpleInfoDto>, string>(null, "該會員非車隊隊員."));
                }

                string memberID = teamCommand.TargetID;
                IEnumerable <EventData> eventDatas = await this.eventRepository.GetEventDataListOfTeam(teamCommand.TeamID);

                IEnumerable <EventSimpleInfoDto> eventInfos = this.mapper.Map <IEnumerable <EventSimpleInfoDto> >(eventDatas);
                bool isExaminer = teamData.TeamLeaderID.Equals(memberID) || teamData.TeamViceLeaderIDs.Contains(memberID);
                foreach (EventSimpleInfoDto eventInfo in eventInfos)
                {
                    eventInfo.TeamName         = teamData.TeamName;
                    eventInfo.TeamPhoto        = teamData.TeamPhoto;
                    eventInfo.EventSettingType = (isExaminer || eventInfo.CreatorID.Equals(memberID)) ? (int)TeamEventSettingType.Edit : (int)TeamEventSettingType.None;
                }

                return(Tuple.Create(eventInfos, string.Empty));
            }
            catch (Exception ex)
            {
                this.logger.LogError($"Get Event List Of Team Error >>> TeamID:{teamCommand.TeamID} TargetID:{teamCommand.TargetID}\n{ex}");
                return(Tuple.Create <IEnumerable <EventSimpleInfoDto>, string>(null, "取得車隊活動列表發生錯誤."));
            }
        }
Example #11
0
        /// <summary>
        /// チームの状態フラグ設定
        /// </summary>
        /// <param name="teamId"></param>
        /// <param name="flag"></param>
        /// <param name="sw"></param>
        public void SetFlag(int teamId, uint flag, bool sw)
        {
            if (teamId < 0)
            {
                return;
            }
            TeamData data     = teamDataList[teamId];
            bool     oldvalid = data.IsActive();

            data.SetFlag(flag, sw);
            bool newvalid = data.IsActive();

            if (oldvalid != newvalid)
            {
                // アクティブチーム数カウント
                activeTeamCount += newvalid ? 1 : -1;
            }
            teamDataList[teamId] = data;
        }
Example #12
0
    //----------------------------------------------------------------------
    // コンストラクタ
    //----------------------------------------------------------------------
    // @Param	none
    // @Return	none
    // @Date	2014/12/10  @Update 2014/12/10  @Author T.Kawashita
    //----------------------------------------------------------------------
    void Start()
    {
        m_status = eSTATUS_VICTORYPERFORMANCE.eFADE_IN;

        if (TeamData.GetWinTeamNo() == 0 || TeamData.GetWinTeamNo() == 1)
        {
            GameObject.Instantiate(Resources.Load("Prefab/Result/player_victory"));
        }
        else if (TeamData.GetWinTeamNo() == 2)
        {
            GameObject.Instantiate(Resources.Load("prefab/Result/player_draw_1"));
        }

        m_soundPlayer = new CSoundPlayer();
        m_soundPlayer.ChangeSEVolume(0.2f);
        m_soundPlayer.PlaySE("result/supoter_finish");

        // パネル取得
        m_mainUIPanel = GameObject.Find("MainUI").transform.FindChild("Camera").transform.FindChild("Anchor").transform.FindChild("Panel").gameObject;
        m_1p2pUIPanel = GameObject.Find("1p2pUI").transform.FindChild("Camera").transform.FindChild("Anchor").transform.FindChild("Panel").gameObject;
        m_3p4pUIPanel = GameObject.Find("3p4pUI").transform.FindChild("Camera").transform.FindChild("Anchor").transform.FindChild("Panel").gameObject;

        m_mainUIPanel.transform.FindChild("BlackOut").gameObject.AddComponent <CFadeIn> ();
        m_1p2pUIPanel.transform.FindChild("BlackOut").gameObject.AddComponent <CFadeIn> ();
        m_3p4pUIPanel.transform.FindChild("BlackOut").gameObject.AddComponent <CFadeIn> ();

        if (TeamData.GetWinTeamNo() == 0 || TeamData.GetWinTeamNo() == 1)
        {
            m_motionPlayer = GameObject.Find("player_victory(Clone)").gameObject;
        }
        else if (TeamData.GetWinTeamNo() == 2)
        {
            m_motionPlayer = GameObject.Find("player_draw_1(Clone)").gameObject;
        }
        m_mainCamera = GameObject.Find("MainCamera").gameObject;
        m_1p2pCamera = GameObject.Find("1p2pCamera").gameObject;
        m_3p4pCamera = GameObject.Find("3p4pCamera").gameObject;

        m_flame = 0.0f;

//		m_motionPlayer.animation.Stop ();
    }
Example #13
0
    public void OnClickBattleStart()
    {
        if (m_CurrentTeam.Creatures.Count == 0)
        {
            Tooltip.Instance.ShowMessageKey("PVPTeamCountZero");
            return;
        }

        if (CheckSkill() == false)
        {
            return;
        }

        if (m_CurrentTeam.LeaderCreature == null && m_CurrentTeam.Creatures.Any(c => c.creature.TeamSkill != null))
        {
            OnLeaderSkill();
            return;
        }

        bool save = false;

        TeamData pvp_team = TeamDataManager.Instance.GetTeam(pe_Team.PVP);

        if (pvp_team == null)
        {
            TeamDataManager.Instance.AddTeam(m_CurrentTeam, true);
            save = true;
        }
        else if (pvp_team.IsEqual(m_CurrentTeam) == false)
        {
            pvp_team.Set(m_CurrentTeam);
            save = true;
        }

        C2G.PvpEnterBattle packet = new C2G.PvpEnterBattle();
        packet.enemy_account_idx = Network.PVPBattleInfo.enemy_info.account_idx;
        if (save)
        {
            packet.team_data = m_CurrentTeam.CreateSaveData();
        }
        Network.GameServer.JsonAsync <C2G.PvpEnterBattle, C2G.PvpEnterBattleAck>(packet, OnPvpEnterBattle);
    }
Example #14
0
        public static void RequestTeam(this PhotonPlayer player)
        {
#if (UNITY_EDITOR)
            if (!PhotonNetwork.connectedAndReady)
            {
                Debug.LogWarning("JoinTeam was called in state: " + PhotonNetwork.connectionStateDetailed + ". Not connectedAndReady.");
                return;
            }
#endif

            TeamID newTeam       = player.GetTeam();
            int    maxIterations = TeamData.GetMaxTeams(PhotonNetwork.room.MaxPlayers);

            do
            {
                if (maxIterations <= 0)
                {
                    newTeam = TeamID.NotSet;
                    break;
                }
                maxIterations--;

                newTeam = TeamData.GetNextTeam(newTeam);
#if (UNITY_EDITOR)
                Debug.Log(newTeam);
#endif
            } while(RoomTeams.PlayersPerTeam[newTeam].Count >= TeamData.GetMaxPlayersPerTeam(PhotonNetwork.room.MaxPlayers));

            if (newTeam == TeamID.NotSet)
            {
#if (UNITY_EDITOR)
                Debug.Log("ERROR: No empty team found!");
#endif
            }
            else
            {
                player.SetCustomProperties(new Hashtable()
                {
                    { RoomTeams.TeamPlayerProp, (byte)newTeam }
                });
            }
        }
Example #15
0
    override public void Show()
    {
        base.Show();

        teamData      = MainController.Instance.UserTeam.CopyTeam();
        formationData = GameData.Instance.Formations;

        List <PlayerData> squadList = new List <PlayerData>(teamData.Squad);
        List <PlayerData> subsList  = new List <PlayerData>(teamData.Substitutes);

        field.Reset();
        field.PopulatePlayers(squadList, teamData.Formation, this);
        substitutes.Clear();
        substitutes.Populate(subsList, this);

        UpdateFormationDropdown();
        UpdateStrategyDropdown();

        hasChanged = false;
    }
Example #16
0
        /// <summary>
        /// 驗證活動審查者權限
        /// </summary>
        /// <param name="teamData">teamData</param>
        /// <param name="eventData">eventData</param>
        /// <param name="examinerID">examinerID</param>
        /// <returns>bool</returns>
        private bool VerifyEventExaminerAuthority(TeamData teamData, EventData eventData, string examinerID)
        {
            if (string.IsNullOrEmpty(examinerID))
            {
                return(false);
            }

            if (!teamData.TeamLeaderID.Equals(examinerID))
            {
                if (!teamData.TeamViceLeaderIDs.Equals(examinerID))
                {
                    if (!eventData.CreatorID.Equals(examinerID))
                    {
                        return(false);
                    }
                }
            }

            return(true);
        }
Example #17
0
    public static void quickSaveData()
    {
        if (!Directory.Exists(quickpath))
        {
            Directory.CreateDirectory(quickpath);
        }

        if (team == null)
        {
            team = new TeamData();
        }
        if (inventory == null)
        {
            inventory = new InventoryData();
        }

        SaveObj <TeamData>(quickpath + "/team.json", team);
        SaveObj <InventoryData>(quickpath + "/inventory.json", inventory);
        SaveObj <GameInfo>(quickpath + "/info.json", info);
    }
Example #18
0
    private void SpawnPlayers(TeamData _team, List <MatchPlayer> _list, Vector2 _spawnPoint, MatchZonesContainer _zones)
    {
        PlayerData[]  players   = _team.Squad;
        FormationData formation = _team.Formation;

        for (int i = 0; i < players.Length; i++)
        {
            MatchPlayer player = Instantiate(playerTemplate, playersContainer);
            player.transform.localPosition = _spawnPoint;
            player.Populate(players[i], (i + 1).ToString());
            player.gameObject.SetActive(true);
            _list.Add(player);
        }

        for (int j = 0; j < formation.Zones.Length; j++)
        {
            Zone zone = formation.Zones[j];
            _list[j].MoveTo(GetZone(zone, _zones).transform.position, 1f, 0.1f * j);
        }
    }
Example #19
0
        public TeamData CreateTeam(TeamData data)
        {
            List <TeamData> teams = TeamFile.FullFilePath().LoadFile().ConvertToTeam(PersonFile);

            int currentId = 1;

            if (teams.Count > 0)
            {
                currentId = teams.OrderByDescending(x => x.Id).First().Id + 1;
            }

            data.Id = currentId;
            //Lägga till nya data med ett nytt ID (+1)
            teams.Add(data);
            //konvertera till list<string>
            //spara list<string> till textfilen
            teams.SaveToTeamFile(TeamFile);

            return(data);
        }
Example #20
0
    /// <summary>
    /// Initialises the class.
    /// </summary>
    private void Start()
    {
        if (s_Singleton != null)
        {
            Destroy(this);
            return;
        }
        s_Singleton = this;

        m_AmountOfTeams = TeamData.GetMaxTeams(PhotonNetwork.room.MaxPlayers);
        MasterClientStart();

        m_Treasures           = new List <Treasure>();
        m_NextMoneyUpdateTime = m_MoneyUpdateTimeInterval;

        m_GameLength = (int)PhotonNetwork.room.CustomProperties[RoomManager.RoomGameDurationProp];
#if (UNITY_EDITOR)
        Debug.Log("Game will take: " + m_GameLength + "seconds");
#endif
    }
Example #21
0
        private void SetTeam(TeamData team)
        {
            var hasTeam = team != null;

            deleteTeamButton.IsVisible = hasTeam;
            createTeamButton.IsVisible = !hasTeam;
            teamPanel.IsVisible        = hasTeam;
            if (team == null)
            {
                return;
            }

            for (var i = 0; i < characterCount; i++)
            {
                var character = team.Characters[i];
                teamPanel.Components.Add(new Button {
                    Text = character.Name, OnTapped = CharacterButton_Tapped, Id = character.Id.ToString()
                });
            }
        }
Example #22
0
        /// <summary>
        /// Updates a record in the Team table.
        /// </summary>
        /// <param name=""></param>
        public static void Update(TeamData data, SqlTransaction transaction)
        {
            // Create and execute the command
            SqlCommand cmd = GetSqlCommand(CONNECTION_STRING_KEY, "spTeam_Update", CommandType.StoredProcedure, COMMAND_TIMEOUT, transaction);

            //Create the parameters and append them to the command object
            cmd.Parameters.Add(new SqlParameter("@TeamId", SqlDbType.Int, 0, ParameterDirection.Input, false, 10, 0, "TeamId", DataRowVersion.Proposed, data.TeamId.DBValue));
            cmd.Parameters.Add(new SqlParameter("@RegistrationKey", SqlDbType.VarChar, 6, ParameterDirection.Input, false, 0, 0, "RegistrationKey", DataRowVersion.Proposed, data.RegistrationKey.DBValue));
            cmd.Parameters.Add(new SqlParameter("@Status", SqlDbType.Char, 1, ParameterDirection.Input, false, 0, 0, "Status", DataRowVersion.Proposed, data.Status.DBValue));
            cmd.Parameters.Add(new SqlParameter("@TournamentId", SqlDbType.Int, 0, ParameterDirection.Input, false, 10, 0, "TournamentId", DataRowVersion.Proposed, data.TournamentId.DBValue));

            // Execute the query
            cmd.ExecuteNonQuery();

            // do not close the connection if it is part of a transaction
            if (transaction == null)
            {
                cmd.Connection.Close();
            }
        }
Example #23
0
    public void Populate(TournamentData _data)
    {
        Data = _data;

        titleLabel.text       = Data.Name;
        _teamAmountLabel.text = Data.Teams.Count + " TEAMS";
        List <TeamData> list;

        if (Data.CurrentRound == 0)
        {
            list = Data.SortTeamsBy("Name");
        }
        else
        {
            list = Data.SortTeamsBy("Points");
        }

        int max = 2;

        if (list.Count > 3)
        {
            max = 3;
        }
        team_2.text  = "";
        score_2.text = "";
        TMP_Text[] team = new TMP_Text[3] {
            team_0, team_1, team_2
        };
        TMP_Text[] score = new TMP_Text[3] {
            score_0, score_1, score_2
        };
        for (int i = 0; i < max; i++)
        {
            TeamData tData = list[i];
            team[i].text = tData.Name + " (" + tData.OveralRating + ")";
            if (tData.TournamentStatistics.ContainsKey(Data.Id))
            {
                score[i].text = tData.TournamentStatistics[Data.Id].Points + " pts";
            }
        }
    }
Example #24
0
        public override void Create()
        {
            base.Create();

            var levelMgr = ScriptThread.GetOrAddExtension <LevelManager>();

            var sessMgr = ScriptThread.GetOrAddExtension <SessionManager>();

            LevelSpawn spawnPoint = levelMgr.GetSpawnPoint(Info.Sess.TeamNum);

            // spawn above to avoid collision with teammates.

            Vector3 position = Utility.EnsureValidSpawnPos(spawnPoint.Position + new Vector3(0, 0, 2.0f));

            Model model = new Model(VehicleHash.Lazer);

            if (!model.IsLoaded)
            {
                model.Request(1000);
            }

            var vehicle = World.CreateVehicle(model, position, spawnPoint.Heading);

            vehicle.LodDistance   = 2000;
            vehicle.EngineRunning = true;
            vehicle.BodyHealth    = 1000;

            vehicle.MaxSpeed = 280.0f;

            Function.Call(Hash.SET_VEHICLE_EXPLODES_ON_HIGH_EXPLOSION_DAMAGE, vehicle, true);

            Ped ped = Game.Player.Character;

            TeamData team = sessMgr.GetTeamByIndex(Info.Sess.TeamNum);

            ped.RelationshipGroup = team.RelationshipGroup;

            ped.SetIntoVehicle(vehicle, VehicleSeat.Driver);

            Manage(ped, vehicle);
        }
Example #25
0
        bool TryFindNextInputEventTime(TeamData team, float startTime, out float nextTime)
        {
            nextTime = 0f;
            bool bFoundFirst = false;

            foreach (DialRoutineScoreData data in team.JudgesScores)
            {
                foreach (DialInputData input in data.DialInputs)
                {
                    if (input.TimeSeconds > startTime && (!bFoundFirst || input.TimeSeconds < nextTime))
                    {
                        bFoundFirst = true;
                        nextTime    = input.TimeSeconds;

                        break;
                    }
                }
            }

            return(bFoundFirst);
        }
Example #26
0
    private void Awake()
    {
        if (Instance == null)
        {
            Instance = this;
        }

        Application.targetFrameRate = 60;
        QualitySettings.vSyncCount  = 0;

        User.CurrentYear = 2021;
        UserTeam         = initialData.UserTeam;
        AllPlayers       = initialData.AllPlayers;
        AllTeams         = initialData.AllTeams;
        AllTournaments   = initialData.AllTournaments;

        ActiveTournaments = new List <string>();
        UserTeam.Reset();

        initialData = null;
    }
Example #27
0
    private IEnumerator LoadTeams()
    {
        mainController.AllTeams = new List <TeamData>();
        string[] files = Directory.GetFiles(CombinePaths(userFolder, "Teams"));
        totalTeams = files.Length;
        foreach (string file in files)
        {
            TeamAttributes data = LoadFile <TeamAttributes>(file);
            TeamData       team = ScriptableObject.CreateInstance <TeamData>();
            team.Attributes = data;
            team.Initialize(true);

            if (team.IsUserControlled)
            {
                mainController.UserTeam = team;
            }
            mainController.AllTeams.Add(team);
            teamsLoaded++;
        }
        yield return(null);
    }
Example #28
0
        public static bool MemberOfTeam(int memberUniqueId, int leaderUniqueId, out TeamData data)
        {
            data = null;
            foreach (var kvp in Teams)
            {
                if (kvp.Value.Leader.UniqueId != leaderUniqueId)
                {
                    continue;
                }

                if (!kvp.Value.Members.ContainsKey(memberUniqueId))
                {
                    continue;
                }

                data = kvp.Value;
                return(true);
            }

            return(false);
        }
Example #29
0
 // Start is called before the first frame update
 void Start()
 {
     mouseController = FindObjectOfType <TargetMouseSelected>();
     myRigidbody     = GetComponent <Rigidbody2D>();
     myAnimator      = GetComponent <Animator>();
     selectable      = GetComponent <Selectable>();
     teamData        = GetComponent <TeamData>();
     unitParent      = transform.parent.parent.GetChild(2).gameObject;
     health          = GetComponent <Health>();
     sellProfit      = buyCost / 2;
     currentUnits    = new Health[3];
     if (teamData.GetTeamBelonging() == Team.TeamRed)
     {
         spawnTimeInSeconds -= GlobalUpgrades.instance.GetUpgradeValueOnUpgradesIndex(1);    // Index 1 is spawnTimeUpgrade
         unitManager         = FindObjectOfType <UnitManagerPanel>();
     }
     if (dwellingUpgrader == null)
     {
         dwellingUpgrader = GetComponentInChildren <DwellingUpgrader>();
     }
 }
Example #30
0
        private void TeamGrid_MouseDoubleClick(object sender, MouseButtonEventArgs e)
        {
            TeamStats team;
            string    selectedSeason = SeasonsGrid.SelectedItem.ToString();

            if ((sender as DataGrid).Name == "TeamGridWest")
            {
                team = (TeamGridWest.SelectedItem as TeamStats);
            }
            else
            {
                team = (TeamGridEast.SelectedItem as TeamStats);
            }

            List <string> selectedTeamsSeasons =
                TeamData.GetActiveSeasons(teamData.Where(p => p.TeamID == team.TeamID).ToList());

            TeamWindow teamWindow = new TeamWindow(team, selectedTeamsSeasons, selectedSeason, teamData);

            teamWindow.ShowDialog();
        }
Example #31
0
    void Start()
    {
        #if UNITY_EDITOR && !BUILD_MODE
        AssetDatabase.Refresh();
        #endif

        // Spawn everyone
        for (int ti = 0; ti < MatchData.Instance.teamDatas.Length; ++ti)
        {
            TeamData teamData = MatchData.Instance.teamDatas[ti];
            for (int bi = 0; bi < teamData.BotCount; ++bi)
            {
                BotData botData = teamData.GetBotData(bi);
                if (botData != null)
                {
                    Transform spawn = ti == 0 ? t0Spawns[bi] : t1Spawns[bi];
                    Controller.CreateBot(botPrefab, botData, ti, spawn.position, spawn.rotation);
                }
            }
        }
    }
Example #32
0
    public void UpdateCharacterInfo()
    {
        TeamData team_data = TeamDataManager.Instance.GetTeam(pe_Team.Main); //得到队伍的信息

        for (int i = 0; i < m_MainLayout.m_Characters.Length; i++)
        {
            if (m_ListCharacterInfos.Count <= i)
            {
                UICharacterInfo info = NGUITools.AddChild(m_CharacterInfoIndicator[i], m_CharacterInfoPrefab).GetComponent <UICharacterInfo>(); //添加角色信息的预设体
                m_ListCharacterInfos.Add(info);                                                                                                 //往数组里面添加角色额信息
            }
            if (team_data != null && i < team_data.Creatures.Count)
            {
                m_ListCharacterInfos[i].UpdateInfo(team_data.Creatures[i].creature, 5); //绘制或者更新角色的信息
            }
            else
            {
                m_ListCharacterInfos[i].UpdateInfo(null, 5);
            }
        }
    }
Example #33
0
 void Start()
 {
     Suicidals = new TeamData(Team.Suicidials);
     Rescuers = new TeamData(Team.Rescuers);
     if (isServer)
         SecondsToGameEnd = SecondsToRescuersWin;
 }
Example #34
0
        public bool Run(TeamData red, TeamData blue)
        {
            using (var engine = new CloudBallEngine(red.CreateInstance(), blue.CreateInstance()))
            {
                CloudBallScore score = null;
                ConsoleX.WritePairing(red, blue);
                var sw = Stopwatch.StartNew();
                try
                {
                    score = engine.Run();
                }
                catch (SimulationFailedException)
                {
                    ConsoleX.WriteError("crashed");
                    return false;
                }

                ConsoleX.WriteResult(red, blue, score, sw);
                red.Results.GoalsFor += score.Red;
                red.Results.GoalsAgainst += score.Blue;

                blue.Results.GoalsFor += score.Blue;
                blue.Results.GoalsAgainst += score.Red;

                if (score.RedWins)
                {
                    red.Results.Wins++;
                    blue.Results.Loses++;
                }
                else if (score.BlueWins)
                {
                    blue.Results.Wins++;
                    red.Results.Loses++;
                }
                else
                {
                    red.Results.Draws++;
                    blue.Results.Draws++;
                }
                if (ArenaSettings.Instance.ReplayDirectory.Exists)
                {
                    var file = new FileInfo(Path.Combine(
                            ArenaSettings.Instance.ReplayDirectory.FullName,
                            string.Format("{0}-{1} {2:00}-{3:00} {4:yyyy-MM-dd_hh_mm_ss}.cbr",
                            red.Name, blue.Name, score.Red, score.Blue, DateTime.Now)));
                    engine.Save(file);
                }

                var zScore = Elo.GetZScore(red.Rating, blue.Rating);

                var kR = red.GetK(ArenaSettings.Instance.K, ArenaSettings.Instance.Stabilizer);
                red.Rating += kR * ((double)score.RedScore - zScore);

                var kB = blue.GetK(ArenaSettings.Instance.K, ArenaSettings.Instance.Stabilizer);
                blue.Rating += kB * ((double)score.BlueScore - (1d - zScore));

                ArenaData.Instance.Sort();
                ArenaData.Instance.SaveRankings(ArenaSettings.Instance.RankingsFile);
                ArenaData.Instance.Save(ArenaSettings.Instance.DataFile);
                return true;
            }
        }
Example #35
0
        /// <summary>
        /// Recursively navigates the tree to build a JSON string.
        /// </summary>
        /// <param name="tree">The parent tree.</param>
        /// <param name="parentNode">The parent node.</param>
        /// <param name="indexPath">Used for creating IDs for nodes.</param>
        void RecursiveBuild(Dictionary<string, ListDictionary> tree, Node parentNode, string indexPath)
        {
            var index = 0;
            foreach (var treeLevel in tree)
            {
                // Determine the current level.
                const char levelSplitter = GlobalManager.LevelSplitter;
                var currentLevel = indexPath.Count(character => character == levelSplitter);
                var groupLevel = _globalManager.TreeLevels[currentLevel];

                // Determine the node's ID.
                var idPrefix = GetIdPrefix(groupLevel);
                var newIndexPath = indexPath + levelSplitter + index++;
                var nodeId = idPrefix + newIndexPath;

                // Determine the node's name.
                var groupKey = treeLevel.Key;
                string nodeName;
                switch (groupLevel)
                {
                    case "Sprint": // Needs to happen here for sorting by key purposes before this.
                        var sprintIndex = groupKey.IndexOf("Sprint", StringComparison.Ordinal);
                        nodeName = sprintIndex == -1 ? groupKey : groupKey.Substring(sprintIndex);
                        break;
                    case "Quarter":
                    case "Team":
                    case "Product":
                    case "Theme":
                        nodeName = groupKey;
                        break;
                    case "PBI": // Cut off the PBI's ID # that was added to guarantee uniqueness.
                        nodeName = groupKey.Substring(0, groupKey.LastIndexOf(levelSplitter));
                        break;
                    default:
                        throw new Exception("Work item type: " + groupLevel + ", is not supported.");
                }

                // Determine the node's effort.
                var effort = (double)treeLevel.Value["effort"];

                // Determine the node's size.
                double size;
                var sizeType = _globalManager.SizeLevels[currentLevel];
                if (sizeType == "Effort")
                {
                    size = effort == 0 ? 1 : effort;
                }
                else // "Aligning" and "Nothing".
                {
                    size = 1;
                }

                // Determine the node's color.
                var color = "";
                if (groupLevel != "PBI" && groupLevel != "Theme") // PBIs and Themes have special color systems.
                {
                    color = _globalManager.GetColor(groupLevel, groupKey);
                }

                // Make the appropriate data object.
                Data nodeData;
                switch (groupLevel)
                {
                    case "PBI":
                        var pbi = (SimpleWorkItem)treeLevel.Value["simpleWorkItem"];
                        color = GlobalManager.GetPbiColor(pbi);

                        nodeData = new PbiData(size, color, pbi.Effort, pbi.Id, pbi.Priority, pbi.State);
                        break;
                    case "Theme":
                        var mainTheme = (string)treeLevel.Value["mainTheme"];
                        color = _globalManager.GetMainThemeColor(mainTheme);
                        var priority = _globalManager.GetMainThemePriority(mainTheme);

                        nodeData = new ThemeData(size, color, effort, priority);
                        break;
                    case "Team":
                        var velocity = (double)treeLevel.Value["velocity"];

                        nodeData = new TeamData(size, color, effort, velocity);
                        break;
                    case "Product":
                    case "Sprint":
                    case "Quarter":
                        nodeData = new Data(size, color, effort);
                        break;
                    default:
                        throw new Exception("Work item type: " + groupLevel + ", is not supported.");
                }

                // Build the node and add it to the parent node.
                var childNode = new Node { children = new List<Node>(), data = nodeData, id = nodeId, name = nodeName };
                parentNode.children.Add(childNode);

                // Continue recursion if there are more nested lists.
                var unsortedChildren = treeLevel.Value["children"] as Dictionary<string, ListDictionary>;
                if (unsortedChildren != null && unsortedChildren.Count > 0) // Count check is needed when multiple levels have "Aligning".
                {
                    var nextLevel = currentLevel + 1;
                    var sortedChildren = SortManager.SortCollection(unsortedChildren, _globalManager.TreeLevels[nextLevel], _globalManager.SortLevels[nextLevel]);
                    RecursiveBuild(sortedChildren, childNode, newIndexPath);
                }
            }
        }
Example #36
0
        public static void WriteResult(TeamData red, TeamData blue, CloudBallScore score, Stopwatch timer)
        {
            var color = Console.ForegroundColor;
            if /**/ (score.RedWins) { Console.ForegroundColor = ConsoleColor.Red; }
            else if (score.BlueWins) { Console.ForegroundColor = ConsoleColor.Blue; }
            else { Console.ForegroundColor = ConsoleColor.White; }

            Console.Write(score);

            Console.ForegroundColor = ConsoleColor.Gray;
            Console.WriteLine("{0,4}s", timer.Elapsed.TotalSeconds.ToString("0.0"));

            Console.ForegroundColor = color;
        }