コード例 #1
0
ファイル: Classes.cs プロジェクト: w4x51m/Cerberus-V3
        public static void Initialize()
        {
            // Initialize our stuff.
            CSV.Initialize();
            Game_Events.Initialize();
            Deck.Initialize();
            Files.Cards.Initialize();
            Fingerprint.Initialize();

            Arenas.Initialize();
            Rarities.Initialize();
            Logic.Structure.Game.Cards.Initialize();
            Chests.Initialize();

            ResourcesManager.Initialize();
            ObjectManager.Initialize();

            Logger.Initialize();
            ExceptionLogger.Initialize();

            Gateway.Initialize();
            Timers.Initialize();
            Timers.Run();

            // Start listening since we're done initializing.
            Gateway.Listen();
            if (Constants.UseDiscord)
            {
                Client.Initialize();
            }
            Events = new EventsHandler();
        }
コード例 #2
0
ファイル: ContentManager.cs プロジェクト: ShadowSide/Garbage
 private ArenaInfo GetArenaInfo(IContentManagerArenaId arena, IDocumentId documentId = null /*for logging only*/)
 {
     if (Arenas.TryGetValue(arena, out var currentArenaInfo))
     {
         return(currentArenaInfo);
     }
     throw new ArgumentException($"Working with disposed arena {arena} for document id '{documentId?.ToString() ?? ""}'");
 }
コード例 #3
0
        public void Unregister(PVPArena arena)
        {
            if (Arenas != null)
            {
                Arenas.Remove(arena);
            }

            arena.Unregister();
        }
コード例 #4
0
ファイル: ContentManager.cs プロジェクト: ShadowSide/Garbage
        public IContentManagerArena BeginArena()
        {
            var arena = new ContentManagerArena(this.OnCloseArena);

            if (!Arenas.TryAdd(arena, new ArenaInfo()))
            {
                throw new Exception($"Content manager arena id {arena} duplicated. Internal error.");
            }
            return(arena);
        }
コード例 #5
0
        public IEnumerable <PlayerStatusTypeViewModel> GetUsedPlayerStatus()
        {
            var playerStatuses = new List <PlayerStatusTypeViewModel>();

            playerStatuses.AddRange(ScanForDynamicLayoutPlayerStatus(Arenas.SelectMany(a => a.Layouts), layout => layout.PlayerStatus));
            playerStatuses.AddRange(ScanForDynamicLayoutPlayerStatus(Lobbies, lobbies => lobbies.PlayerStatus));
            playerStatuses.AddRange(ScanForDynamicLayoutPlayerStatus(TopGames, topGames => topGames.PlayerStatus));
            playerStatuses.AddRange(ScanForDynamicLayoutPlayerStatus(VipGames, vipGames => vipGames.PlayerStatus));

            return(playerStatuses.Distinct().ToArray());
        }
コード例 #6
0
ファイル: ContentManager.cs プロジェクト: ShadowSide/Garbage
 private void OnCloseArena(IContentManagerArenaId arena)
 {
     if (!Arenas.TryRemove(arena, out var arenaInfo))
     {
         throw new ArgumentException("Already disposed content manager arena " + arena);
     }
     foreach (var documentId in arenaInfo.ToList())
     {
         documentId.Value.OnCloseArena?.Invoke(documentId.Key);
     }
 }
コード例 #7
0
        public List <ArenaDuel> GetBookedDuels()
        {
            List <ArenaDuel> booked = new List <ArenaDuel>();

            foreach (PVPArena arena in Arenas.Where(a => a.BookedDuels.Count > 0))
            {
                booked.AddRange(arena.BookedDuels);
            }

            return(booked);
        }
コード例 #8
0
        public ArenaDuel GetBookedDuel(PlayerMobile pm)
        {
            foreach (PVPArena arena in Arenas.Where(a => a.BookedDuels.Count > 0))
            {
                foreach (ArenaDuel duel in arena.BookedDuels.Where(d => d.IsParticipant(pm)))
                {
                    return(duel);
                }
            }

            return(null);
        }
コード例 #9
0
        public void Register(PVPArena arena)
        {
            if (Arenas == null)
            {
                Arenas = new List <PVPArena>();
            }

            if (!Arenas.Contains(arena))
            {
                Arenas.Add(arena);
            }
        }
コード例 #10
0
ファイル: PlayerInfo.cs プロジェクト: Aurekaen/Class-Wars-V2
 internal int GetPlayerIndex(string player)
 {
     if (!Players.Contains(player))
     {
         Players.Add(player);
         ClassEdit.Add("none");
         Arenas.Add("none");
         Playing.Add("none");
         Preview.Add(false);
         Backups.Add(null);
     }
     return(Players.FindIndex(p => p == player));
 }
コード例 #11
0
        public static void Discuss(string arena_id, string uid, string message)
        {
            Arena arena;

            lock (Arenas)
            {
                if (Arenas.TryGetValue(arena_id, out arena))
                {
                    foreach (ClientServant cs in arena.m_present.Values)
                    {
                        cs.PostMessage(new Message(uid, "discuss", message));
                    }
                }
            }
        }
コード例 #12
0
        public static void LayAt(string arena_id, string uid, int x, int y)
        {
            Arena arena;

            lock (Arenas)
            {
                if (Arenas.TryGetValue(arena_id, out arena))
                {
                    foreach (ClientServant cs in arena.m_present.Values)
                    {
                        cs.PostMessage(new Message(uid, "layat", x.ToString(), y.ToString()));
                    }
                }
            }
        }
コード例 #13
0
        public override int GetHashCode()
        {
            int hash = 1;

            hash ^= Arenas.GetHashCode();
            if (Seed != 0)
            {
                hash ^= Seed.GetHashCode();
            }
            if (_unknownFields != null)
            {
                hash ^= _unknownFields.GetHashCode();
            }
            return(hash);
        }
コード例 #14
0
 public bool Equals(ArenasConfigurationsProto other)
 {
     if (ReferenceEquals(other, null))
     {
         return(false);
     }
     if (ReferenceEquals(other, this))
     {
         return(true);
     }
     if (!Arenas.Equals(other.Arenas))
     {
         return(false);
     }
     if (Seed != other.Seed)
     {
         return(false);
     }
     return(Equals(_unknownFields, other._unknownFields));
 }
コード例 #15
0
ファイル: DataTable.cs プロジェクト: w4x51m/Cerberus-V3
        internal Data Create(Row _Row)
        {
            Data _Data;

            switch ((Gamefile)this.Index)
            {
            case Gamefile.Treasure_Chests:
                _Data = new Treasure_Chests(_Row, this);
                break;

            case Gamefile.Rarities:
                _Data = new Rarities(_Row, this);
                break;

            case Gamefile.Spells_Characters:
                _Data = new Spells_Characters(_Row, this);
                break;

            case Gamefile.Spells_Buildings:
                _Data = new Spells_Buildings(_Row, this);
                break;

            case Gamefile.Spells_Other:
                _Data = new Spells_Other(_Row, this);
                break;

            case Gamefile.Arenas:
                _Data = new Arenas(_Row, this);
                break;

            default:
            {
                _Data = new Data(_Row, this);
                break;
            }
            }

            return(_Data);
        }
コード例 #16
0
        internal Data Create(Row _Row)
        {
            Data _Data;

            switch (this.Index)
            {
            case 1:
                _Data = new Abilities(_Row, this);
                break;

            case 2:
                _Data = new Achievements(_Row, this);
                break;

            case 3:
                _Data = new Alliance_Badges(_Row, this);
                break;

            case 4:
                _Data = new Alliance_Roles(_Row, this);
                break;

            case 5:
                _Data = new Area_Effect(_Row, this);
                break;

            case 6:
                _Data = new Arenas(_Row, this);
                break;

            case 7:
                _Data = new Buildings(_Row, this);
                break;

            case 8:
                _Data = new Character_Buffs(_Row, this);
                break;

            case 9:
                _Data = new Characters(_Row, this);
                break;

            case 10:
                _Data = new Chest_Order(_Row, this);
                break;

            case 11:
                _Data = new Configuration_Definitions(_Row, this);
                break;

            case 12:
                _Data = new Content_Tests(_Row, this);
                break;

            case 13:
                _Data = new Decos(_Row, this);
                break;

            case 14:
                _Data = new Draft_Deck(_Row, this);
                break;

            case 15:
                _Data = new Event_Categories(_Row, this);
                break;

            case 16:
                _Data = new Event_Category_Definitions(_Row, this);
                break;

            case 17:
                _Data = new Event_Category_Enums(_Row, this);
                break;

            case 18:
                _Data = new Event_Category_Object_Definitions(_Row, this);
                break;

            case 19:
                _Data = new Exp_Levels(_Row, this);
                break;

            case 20:
                _Data = new Gamble_Chests(_Row, this);
                break;

            case 21:
                _Data = new Game_Modes(_Row, this);
                break;

            case 22:
                _Data = new Globals(_Row, this);
                break;

            case 23:
                _Data = new Heroes(_Row, this);
                break;

            case 24:
                _Data = new Locales(_Row, this);
                break;

            case 25:
                _Data = new Locations(_Row, this);
                break;

            case 26:
                _Data = new NPCS(_Row, this);
                break;

            case 27:
                _Data = new Predefined_Decks(_Row, this);
                break;

            case 28:
                _Data = new Projectiles(_Row, this);
                break;

            case 29:
                _Data = new Rarities(_Row, this);
                break;

            case 30:
                _Data = new Regions(_Row, this);
                break;

            case 31:
                _Data = new Resource_Packs(_Row, this);
                break;

            case 32:
                _Data = new Resources(_Row, this);
                break;

            case 33:
                _Data = new Shop(_Row, this);
                break;

            case 34:
                _Data = new Spell_Sets(_Row, this);
                break;

            case 35:
                _Data = new Spells_Buildings(_Row, this);
                break;

            case 36:
                _Data = new Spells_Characters(_Row, this);
                break;

            case 37:
                _Data = new Spells_Heroes(_Row, this);
                break;

            case 38:
                _Data = new Spells_Others(_Row, this);
                break;

            case 39:
                _Data = new Survival_Modes(_Row, this);
                break;

            case 40:
                _Data = new Taunts(_Row, this);
                break;

            case 41:
                _Data = new Tournament_Tiers(_Row, this);
                break;

            case 42:
                _Data = new Treasure_Chests(_Row, this);
                break;

            case 43:
                _Data = new Tutorials_Home(_Row, this);
                break;

            case 44:
                _Data = new Tutorial_NPC(_Row, this);
                break;

            default:
            {
                _Data = new Data(_Row, this);
                break;
            }
            }

            return(_Data);
        }
コード例 #17
0
ファイル: DataTable.cs プロジェクト: skadiD/UCS-GUI
        /// <summary>
        /// Create the item.
        /// </summary>
        /// <param name="_Row">The row.</param>
        /// <returns>The Data.</returns>
        public Data Create(Row _Row)
        {
            Data _Data;

            switch (this.Index)
            {
            case 1:
            {
                _Data = new Achievements(_Row, this);
                break;
            }

            case 2:
            {
                _Data = new Alliance_Badges(_Row, this);
                break;
            }

            case 3:
            {
                _Data = new Alliance_Roles(_Row, this);
                break;
            }

            case 4:
            {
                _Data = new Area_Effect_Objects(_Row, this);
                break;
            }

            case 5:
            {
                _Data = new Arenas(_Row, this);
                break;
            }

            case 6:
            {
                _Data = new Buildings(_Row, this);
                break;
            }

            case 7:
            {
                _Data = new Character_Buffs(_Row, this);
                break;
            }

            case 8:
            {
                _Data = new Characters(_Row, this);
                break;
            }

            case 9:
            {
                _Data = new Chest_Order(_Row, this);
                break;
            }

            case 10:
            {
                _Data = new Content_Tests(_Row, this);
                break;
            }

            case 11:
            {
                _Data = new Damage_Types(_Row, this);
                break;
            }

            case 12:
            {
                _Data = new Decos(_Row, this);
                break;
            }

            case 13:
            {
                _Data = new Exp_Levels(_Row, this);
                break;
            }

            case 14:
            {
                _Data = new Gamble_Chests(_Row, this);
                break;
            }

            case 15:
            {
                _Data = new Globals(_Row, this);
                break;
            }

            case 16:
            {
                _Data = new Locales(_Row, this);
                break;
            }

            case 17:
            {
                _Data = new Locations(_Row, this);
                break;
            }

            case 18:
            {
                _Data = new Npcs(_Row, this);
                break;
            }

            case 19:
            {
                _Data = new Predefined_Decks(_Row, this);
                break;
            }

            case 20:
            {
                _Data = new Projectiles(_Row, this);
                break;
            }

            case 21:
            {
                _Data = new Rarities(_Row, this);
                break;
            }

            case 22:
            {
                _Data = new Regions(_Row, this);
                break;
            }

            case 23:
            {
                _Data = new Resource_Packs(_Row, this);
                break;
            }

            case 24:
            {
                _Data = new Resources(_Row, this);
                break;
            }

            case 25:
            {
                _Data = new Shop(_Row, this);
                break;
            }

            case 26:
            {
                _Data = new Spawn_Points(_Row, this);
                break;
            }

            case 27:
            {
                _Data = new Spell_Sets(_Row, this);
                break;
            }

            case 28:
            {
                _Data = new Spells_Buildings(_Row, this);
                break;
            }

            case 29:
            {
                _Data = new Spells_Characters(_Row, this);
                break;
            }

            case 30:
            {
                _Data = new Spells_Other(_Row, this);
                break;
            }

            case 31:
            {
                _Data = new Survival_Modes(_Row, this);
                break;
            }

            case 32:
            {
                _Data = new Taunts(_Row, this);
                break;
            }

            case 33:
            {
                _Data = new Tournament_Tiers(_Row, this);
                break;
            }

            case 34:
            {
                _Data = new Treasure_Chests(_Row, this);
                break;
            }

            case 35:
            {
                _Data = new Tutorials_Home(_Row, this);
                break;
            }

            case 36:
            {
                _Data = new Tutorials_Npc(_Row, this);
                break;
            }

            default:
            {
                _Data = new Data(_Row, this);
                break;
            }
            }

            return(_Data);
        }
コード例 #18
0
 public void OnTick()
 {
     Arenas.ForEach(a => a.OnTick());
 }
コード例 #19
0
 private static bool CanInitialize(ArenaDefinition def)
 {
     return(!Instance.IsBlocked(def) && (Arenas == null || !Arenas.Any(arena => arena.Definition == def)));
 }
コード例 #20
0
        public void Unregister(PVPArena arena)
        {
            Arenas?.Remove(arena);

            arena.Unregister();
        }