public static List <ArenaControl> RandomArenaSet(ArenaType type) { List <ArenaControl> arenaset = new List <ArenaControl>(); List <string> settypes = new List <string>(); Random rand = new Random(); string set = ""; if (Arenas.ContainsKey(type)) { arenaset.AddRange(Arenas[type]); foreach (ArenaControl a in arenaset) { if (!settypes.Contains(a.Set)) { settypes.Add(a.Set); } } set = settypes[rand.Next(settypes.Count)]; arenaset.RemoveAll(delegate(ArenaControl a) { return(a.Set != set); }); } return(arenaset); }
private GameObject getRandomArena(ArenaType arenaType, System.Random rand) { switch (arenaType) { case ArenaType.Hub: return(weightedChance(ref hub_prefabs, rand)); case ArenaType.T: return(weightedChance(ref t_prefabs, rand)); case ArenaType.Straight: return(weightedChance(ref straight_prefabs, rand)); case ArenaType.Bend: return(weightedChance(ref bend_prefabs, rand)); case ArenaType.Start: return(weightedChance(ref start_prefabs, rand)); case ArenaType.End: return(weightedChance(ref end_prefabs, rand)); case ArenaType.assigning: Debug.LogError("ArenaType is assigning while trying to spawn"); return(null); case ArenaType.Unassigned: Debug.LogError("ArenaType is unassigned while trying to spawn"); return(null); default: Debug.LogError("ArenaType is null while trying to spawn"); return(null); } }
/// <summary> /// Main Constructor /// </summary> public Tournament() { m_Teams = new List <Teams>(); m_Date = DateTime.Now; m_ArenaSets = new List <string>(); m_Type = TournamentType.SingleElimination; m_TeamSize = ArenaType.OneVsOne; m_Supplied = true; m_Prizes = new Dictionary <string, Item>(); }
public static Duration GetPoTime( int offsetMinutes, ArenaType arenaType, Instant?utcNow = null) { Instant other = utcNow.HasValue ? utcNow.Value : SystemClock.Instance.GetCurrentInstant(); DateTime dateTimeUtc = other.ToDateTimeUtc(); int hourOfDay = arenaType == ArenaType.Squad ? 18 : 19; Instant instant = Instant.FromUtc(dateTimeUtc.Year, dateTimeUtc.Month, dateTimeUtc.Day, hourOfDay, 0, 0).Minus(Duration.FromMinutes((long)offsetMinutes)); return(instant >= other?instant.Minus(other) : instant.Plus(Duration.FromHours(24)).Minus(other)); }
public static List <ArenaControl> GetArenaSet(ArenaType type, string set) { List <ArenaControl> arenaset = new List <ArenaControl>(); if (Arenas.ContainsKey(type)) { arenaset.AddRange(Arenas[type]); arenaset.RemoveAll(delegate(ArenaControl a) { return(a.Set == set); }); } return(arenaset); }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int index; m_FightingAreaOne = new List <Point3D>(); m_FightingAreaTwo = new List <Point3D>(); m_StagingAreaOne = new List <Point3D>(); m_StagingAreaTwo = new List <Point3D>(); m_Occupied = false; reader.ReadBool(); m_Supplied = reader.ReadBool(); m_Set = reader.ReadString(); m_Type = (ArenaType)reader.ReadInt(); m_AnnouncerSpot = reader.ReadPoint3D(); m_ExitArea = reader.ReadPoint3D(); index = reader.ReadInt(); for (int i = 0; i < index; i++) { m_FightingAreaOne.Add(reader.ReadPoint3D()); } index = reader.ReadInt(); for (int i = 0; i < index; i++) { m_FightingAreaTwo.Add(reader.ReadPoint3D()); } m_HoldingArea = reader.ReadPoint3D(); index = reader.ReadInt(); for (int i = 0; i < index; i++) { m_StagingAreaOne.Add(reader.ReadPoint3D()); } index = reader.ReadInt(); for (int i = 0; i < index; i++) { m_StagingAreaTwo.Add(reader.ReadPoint3D()); } m_ArenaArea = ReadRect3DArray(reader); m_SpectatorArea = ReadRect3DArray(reader); Active = reader.ReadBool(); UpdateRegions(); }
public static List <string> GetSets(ArenaType type) { List <string> sets = new List <string>(); if (Arenas.ContainsKey(type)) { List <ArenaControl> list = Arenas[type]; foreach (ArenaControl a in list) { if (!sets.Contains(a.Set)) { sets.Add(a.Set); } } } return(sets); }
public Tracker( IDiscordMessenger messenger, IPlayerSettingsProvider playerSettingsProvider, IArenaRankStorage arenaRankStorage, IPlayerRankService playerRankService, ILog logger, ITagsProvider tagProvider, ArenaType arenaType, IStatsService statService) { this.Messenger = messenger; this.PlayerSettingsProvider = playerSettingsProvider; this.ArenaRankStorage = arenaRankStorage; this.PlayerRankService = playerRankService; this.Logger = logger; this.ArenaType = arenaType; this.TagProvider = tagProvider; this.StatService = statService; this.googleExporter = new GoogleExporter(); }
/// <summary> /// Cleans the "tournament" list by removing tournaments /// that do not have an arena. Sorts the list by date /// after the removal /// </summary> /// <param name="type"></param> public static void CleanTournamentList(ArenaType type) { m_Type = type; if (m_Events.ContainsKey("tournament")) { List <Tournament> list = new List <Tournament>(); foreach (object obj in m_Events["tournament"]) { Tournament t = (Tournament)obj; list.Add(t); } list.RemoveAll(RemoveType); m_Events["tournament"].Clear(); foreach (object obj in list) { m_Events["tournament"].Add(obj); } } }
public ArenaControl() { ItemID = 0x1f13; Visible = false; Name = "General Arena"; m_Active = false; m_Occupied = false; m_Supplied = false; m_Set = "General"; m_Type = ArenaType.OneVsOne; m_AnnouncerSpot = new Point3D(0,0,0); m_HoldingArea = new Point3D(0, 0, 0); m_ExitArea = new Point3D(0,0,0); m_FightingAreaOne = new List<Point3D>(); m_FightingAreaTwo = new List<Point3D>(); m_StagingAreaOne = new List<Point3D>(); m_StagingAreaTwo = new List<Point3D>(); m_Arena = new ArenaRegion(this); m_Spectator = new SpectatorRegion(this); }
public ArenaControl() { ItemID = 0x1f13; Visible = false; Name = "General Arena"; m_Active = false; m_Occupied = false; m_Supplied = false; m_Set = "General"; m_Type = ArenaType.OneVsOne; m_AnnouncerSpot = new Point3D(0, 0, 0); m_HoldingArea = new Point3D(0, 0, 0); m_ExitArea = new Point3D(0, 0, 0); m_FightingAreaOne = new List <Point3D>(); m_FightingAreaTwo = new List <Point3D>(); m_StagingAreaOne = new List <Point3D>(); m_StagingAreaTwo = new List <Point3D>(); m_Arena = new ArenaRegion(this); m_Spectator = new SpectatorRegion(this); }
private static Tracker InitTracker() { string str = Environment.GetEnvironmentVariable("GAME_CLIENT_VERSION") ?? "99.99.99"; string url = (Environment.GetEnvironmentVariable("ALLY_CODES_URL") ?? "").Trim(); ArenaType arenaType = (Environment.GetEnvironmentVariable("ARENA_TYPE") ?? "SQUAD").Trim().Equals("FLEET") ? ArenaType.Fleet : ArenaType.Squad; Program.Logger.Log(string.Format("Arena type: {0}", (object)arenaType)); string webHook = (Environment.GetEnvironmentVariable("DISCORD_WEB_HOOK") ?? "").Trim(); if (string.IsNullOrEmpty(webHook)) { Program.Logger.Log("ENV variable DISCORD_WEB_HOOK not found"); } IPlayerSettingsProvider playerSettingsProvider; if (!string.IsNullOrEmpty(url)) { Program.Logger.Log("Ally codes and tags will be loaded from the provided url"); playerSettingsProvider = (IPlayerSettingsProvider) new PlayerSettingsUrlProvider(url, Program.Logger); } else { playerSettingsProvider = (IPlayerSettingsProvider) new PlayerSettingsEnvProvider(Program.Logger); IList <PlayerSettings> result = playerSettingsProvider.GetPlayerSettingAsync().Result; List <string> list1 = result.Select <PlayerSettings, string>((Func <PlayerSettings, string>)(ac => ac.AllyCode)).ToList <string>(); Program.Logger.Log(string.Format("Provided ally codes from environment: #{0}", (object)list1.Count)); Program.Logger.Log(string.Join <string>(',', (IEnumerable <string>)list1)); List <string> list2 = result.Select <PlayerSettings, string>((Func <PlayerSettings, string>)(x => x.DiscordId)).ToList <string>(); Program.Logger.Log(string.Format("Provided discord tags: #{0}", (object)list2.Count)); Program.Logger.Log(string.Join <string>(',', (IEnumerable <string>)list2)); } return(new Tracker((IDiscordMessenger) new DiscordMessenger(webHook), playerSettingsProvider, (IArenaRankStorage) new StaticArenaRankStorage(), (IPlayerRankService) new PlayerRankService((IGameClient) new Ipd.GameClient.GameClient("ipd-arena-tracker:" + StatsService.ClientVersion) { GameClientVersion = str }), Program.Logger, (ITagsProvider) new EnvTagsProvider(Program.Logger), arenaType, (IStatsService) new StatsService())); }
public static List<ArenaControl> RandomArenaSet(ArenaType type) { List<ArenaControl> arenaset = new List<ArenaControl>(); List<string> settypes = new List<string>(); Random rand = new Random(); string set = ""; if (Arenas.ContainsKey(type)) { arenaset.AddRange(Arenas[type]); foreach (ArenaControl a in arenaset) if (!settypes.Contains(a.Set)) settypes.Add(a.Set); set = settypes[rand.Next(settypes.Count)]; arenaset.RemoveAll(delegate(ArenaControl a) { return a.Set != set; }); } return arenaset; }
/// <summary> /// Main Constructor /// </summary> public Tournament() { m_Teams = new List<Teams>(); m_Date = DateTime.Now; m_ArenaSets = new List<string>(); m_Type = TournamentType.SingleElimination; m_TeamSize = ArenaType.OneVsOne; m_Supplied = true; m_Prizes = new Dictionary<string,Item>(); }
public void ToArenaScene(ArenaType arena) { SceneManager.LoadScene("arena_" + arena.ToString()); }
//void OnGUI() //{ // if (GUILayout.Button("input code print")) // { // Handle_DecodeNumInputConfirm(new int[] { 6, 8, 7, 3, 2, 8, 9, 2, 0, 3, 1, 7 }); // } //} void Handle_DecodeNumInputConfirm(int[] digits) { BackStageSetting bs = GameMain.Singleton.BSSetting; //���������� ulong codeOri = 0; ulong[] pows = new ulong[12]; for (int i = 0; i != 12; ++i) { pows[i] = 1; } for (int i = 0; i != 12; ++i) { for (int powMulti = 0; powMulti != i; ++powMulti) { pows[i] *= 10; } } for (int i = 0; i != 12; ++i) { codeOri += (ulong)(digits[11 - i]) * pows[i]; } byte[] msgEncrypt = HF_Decoder.MsgFromDecimalCode(codeOri); byte[] msgDecrypt = HF_Decoder.Decrypt_Msg(msgEncrypt, (uint)GameMain.Singleton.BSSetting.Dat_IdTable.Val, mCurTagId); // string msgPlainStr = ""; // foreach (byte b in msgDecrypt) // { // msgPlainStr += string.Format("{0:x2} ", b); // } // Debug.Log("msgPlainStr = " + msgPlainStr); bool needCodePrint = false; //(hqc:����ͨ����У�������Խ��������������⣬����ijЩ������(������)λ������,������Ҫ�Ķ�Ӳ������. //�����ü���.ȱ��:�������Ļ����û���������������ʱ��������������) bool isInputValCorrect = true;//����ֵ�Ƿ��Ϸ��� int codeTypeIdx = -1; HF_Decoder.MsgCode codeType = HF_Decoder.GetMsgPlainType(msgDecrypt); bool isVerifySucess = false; switch (codeType) { case HF_Decoder.MsgCode.TouBiBiLi: { //codeTypeStr = "Ͷ�ұ���"; codeTypeIdx = 0; int val = HF_Decoder.TouBiBiLi_FromMsgPlain(msgDecrypt, (uint)GameMain.Singleton.BSSetting.Dat_IdTable.Val, mCurTagId, out isVerifySucess); if (val < 1 || val > 1000 || !isVerifySucess) { isInputValCorrect = false; break; } bs.InsertCoinScoreRatio.Val = val; Text_InsertCoinRatio.text = "1 �� " + bs.InsertCoinScoreRatio.Val.ToString(); Text_InsertCoinRatio.text = string.Format("1 {0:s} {1:d} {2:s}", BackstageMain.Singleton.Unit_Coin.CurrentText, bs.InsertCoinScoreRatio.Val, BackstageMain.Singleton.Unit_Score.CurrentText); Text_InsertCoinRatio.Commit(); needCodePrint = true; } break; case HF_Decoder.MsgCode.ChangDiLeiXing: { //codeTypeStr = "��������"; codeTypeIdx = 1; ArenaType oldArenaType = bs.ArenaType_.Val; int val = HF_Decoder.ChangeDiLeiXing_FromMsgPlain(msgDecrypt, (uint)GameMain.Singleton.BSSetting.Dat_IdTable.Val, mCurTagId, out isVerifySucess); if (val < 0 || val > 2 || !isVerifySucess) { isInputValCorrect = false; break; } bs.ArenaType_.Val = (ArenaType)val; if (GameMain.EvtBGChangeArenaType != null) { GameMain.EvtBGChangeArenaType(oldArenaType, bs.ArenaType_.Val); } Text_ArenaType.text = ArenaTexts[(int)bs.ArenaType_.Val].CurrentText; Text_ArenaType.Commit(); } break; case HF_Decoder.MsgCode.DaMaTianShu: { //codeTypeStr = "��������"; codeTypeIdx = 2; int val = HF_Decoder.DaMaTianShu_FromMsgPlain(msgDecrypt, (uint)GameMain.Singleton.BSSetting.Dat_IdTable.Val, mCurTagId, out isVerifySucess); if (val < 1 || val > 13 || !isVerifySucess) { isInputValCorrect = false; break; } bs.CodePrintDay.Val = val; Text_CodePrintDay.text = bs.CodePrintDay.Val.ToString() + " " + BackstageMain.Singleton.Unit_Day.CurrentText; Text_CodePrintDay.Commit(); } break; case HF_Decoder.MsgCode.XiTongShiJian: { //codeTypeStr = "ϵͳʱ��"; codeTypeIdx = 3; uint[] timeData = new uint[5]; HF_Decoder.XiTongShiJian_FromMsgPlain(msgDecrypt, out timeData[0], out timeData[1], out timeData[02], out timeData[3], out timeData[4]); if ((int)timeData[1] < 1 || (int)timeData[1] > 12 || (int)timeData[2] < 1 || (int)timeData[2] > 31 || (int)timeData[3] < 0 || (int)timeData[3] > 24 || (int)timeData[4] < 0 || (int)timeData[4] > 60) { isInputValCorrect = false; break; } System.DateTime dt = new System.DateTime((int)timeData[0] + 2000, (int)timeData[1], (int)timeData[2], (int)timeData[3], (int)timeData[4], 0); //����ϵͳʱ�� win32Api.SetLocalTimeByDateTime(dt); //��ʾ Text_SystemTime.text = string.Format("{0:d}-{1:d2}-{2:d2} {3:d2}:{4:d2}:{5:d2}" , dt.Year, dt.Month, dt.Day, dt.Hour, dt.Minute, dt.Second); Text_SystemTime.Commit(); } break; case HF_Decoder.MsgCode.XianShiDaMaXinXi: { //codeTypeStr = "�����ɹ���Ϣ"; codeTypeIdx = 4; bs.IsViewCodebeatSuccess.Val = HF_Decoder.XianShiDaMaXinXi_FromMsgPlain(msgDecrypt, (uint)GameMain.Singleton.BSSetting.Dat_IdTable.Val, mCurTagId, out isVerifySucess); if (!isVerifySucess) { isInputValCorrect = false; break; } Text_IsViewCodeBeatSuccess.text = bs.IsViewCodebeatSuccess.Val ? ViewCodeBeatSuccessTexts[1].CurrentText : ViewCodeBeatSuccessTexts[0].CurrentText; Text_IsViewCodeBeatSuccess.Commit(); } break; } if (!isInputValCorrect || codeType == HF_Decoder.MsgCode.None)//��������. { Box_Decoder.ViewErroInput(); } else//�����ɹ� { if (needCodePrint) { mIsCursorMovable = true; Box_Decoder.gameObject.SetActiveRecursively(false); gameObject.SetActiveRecursively(false); GameMain.Singleton.BSSetting.CodePrintCurrentAction.SetImmdiately(false);//��0״̬ GameMain.Singleton.BSSetting.IsCodePrintClearAllData.SetImmdiately(true); //BackstageMain.Singleton.WndCodePrint.gameObject.SetActiveRecursively(true); BackstageMain.Singleton.WndCodePrint.Enter(); } else { mIsCursorMovable = true; Box_Decoder.gameObject.SetActiveRecursively(false); Text_DeCodeSuccessInfo.text = DecodeResultHintTexts[codeTypeIdx].CurrentText;// string.Format("��{0}�����������ɹ�", codeTypeStr); Text_DeCodeSuccessInfo.Commit(); Text_DeCodeSuccessInfo.GetComponent <Renderer>().enabled = true; Rd_DecodeSuccessBG.enabled = true; StartCoroutine(_Coro_DelayDisableSucessInfo()); } } }
/// <summary> /// Cleans the "tournament" list by removing tournaments /// that do not have an arena. Sorts the list by date /// after the removal /// </summary> /// <param name="type"></param> public static void CleanTournamentList(ArenaType type) { m_Type = type; if(m_Events.ContainsKey("tournament")) { List<Tournament> list = new List<Tournament>(); foreach (object obj in m_Events["tournament"]) { Tournament t = (Tournament)obj; list.Add(t); } list.RemoveAll(RemoveType); m_Events["tournament"].Clear(); foreach (object obj in list) { m_Events["tournament"].Add(obj); } } }
public static List<ArenaControl> GetArenaSet(ArenaType type, string set) { List<ArenaControl> arenaset = new List<ArenaControl>(); if (Arenas.ContainsKey(type)) { arenaset.AddRange(Arenas[type]); arenaset.RemoveAll(delegate(ArenaControl a) { return a.Set == set; }); } return arenaset; }
public BattleArenaStateEventArgs(ArenaType _type, ArenaState _state) { BattleArenaType = _type; BattleArenaState = _state; }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int index; m_FightingAreaOne = new List<Point3D>(); m_FightingAreaTwo = new List<Point3D>(); m_StagingAreaOne = new List<Point3D>(); m_StagingAreaTwo = new List<Point3D>(); m_Occupied = false; reader.ReadBool(); m_Supplied = reader.ReadBool(); m_Set = reader.ReadString(); m_Type = (ArenaType)reader.ReadInt(); m_AnnouncerSpot = reader.ReadPoint3D(); m_ExitArea = reader.ReadPoint3D(); index = reader.ReadInt(); for (int i = 0; i < index; i++) m_FightingAreaOne.Add(reader.ReadPoint3D()); index = reader.ReadInt(); for (int i = 0; i < index; i++) m_FightingAreaTwo.Add(reader.ReadPoint3D()); m_HoldingArea = reader.ReadPoint3D(); index = reader.ReadInt(); for (int i = 0; i < index; i++) m_StagingAreaOne.Add(reader.ReadPoint3D()); index = reader.ReadInt(); for (int i = 0; i < index; i++) m_StagingAreaTwo.Add(reader.ReadPoint3D()); m_ArenaArea = ReadRect3DArray(reader); m_SpectatorArea = ReadRect3DArray(reader); Active = reader.ReadBool(); UpdateRegions(); }
public static List<string> GetSets(ArenaType type) { List<string> sets = new List<string>(); if (Arenas.ContainsKey(type)) { List<ArenaControl> list = Arenas[type]; foreach (ArenaControl a in list) if (!sets.Contains(a.Set)) sets.Add(a.Set); } return sets; }