示例#1
0
	public UserContainer()
	{
		if (userStats == null)
			userStats = new UserStats();
		if (userAssets == null)
			userAssets = new UserAssets();
		if (gridBlocksContainer == null)
			gridBlocksContainer = new GridBlockValuesContainer();
	}
示例#2
0
 // Pre-initiates all the required stuff for the game
 private void reqPreInit()
 {
     window=	new PCWindow(this);
     Input.init(window.viewport);
     graphics=	new GLGraphicsRenderer();
     gui=	new GuiManager(this);
     states=	new GameStateManager(this);
     registry=	new Registry();
     log=	new Log();
     camera=	null;
     achievements=	new AchievementManager(this);
     stats=	new UserStats(this);
 }
示例#3
0
 public ActionResult UserControl()
 {
     UserStats stats = new UserStats(){
         TotalUsers = uow.uc.UserProfiles.Count(),
         NewestUser = uow.uc.UserProfiles.OrderByDescending(d => d.UserId).First(),
         Roles = Roles.GetAllRoles()
     };
     return PartialView("_UsersControl", stats);
 }
        private void HandleChatEvent(BncsReader dr)
        {
            if (_oldParseCallback != null)
            {
                _oldParseCallback(dr);
                dr.Seek(-dr.Position);
                dr.Seek(4);
            }

            ChatEventType type  = (ChatEventType)dr.ReadInt32();
            int           flags = dr.ReadInt32();
            int           ping  = dr.ReadInt32();

            dr.Seek(12);
            string user = dr.ReadCString();

            byte[] userInfo = dr.ReadNullTerminatedByteArray();
            string text     = Encoding.ASCII.GetString(userInfo);

            switch (type)
            {
            case ChatEventType.UserInChannel:
            case ChatEventType.UserJoinedChannel:
                ChatUser newUser = new ChatUser(user, ping, (ClassicUserFlags)flags, UserStats.Parse(user, userInfo));
                if (_namesToUsers.ContainsKey(user))
                {
                    _namesToUsers.Remove(user);
                }
                _namesToUsers.Add(user, newUser);
                UserEventArgs <ChatUser> uArgs = new UserEventArgs <ChatUser>(type, newUser);
                HandleUserChatEvent(uArgs);
                break;

            case ChatEventType.UserFlagsChanged:
                if (_namesToUsers.ContainsKey(user))
                {
                    ChatUser changedUser = _namesToUsers[user];
                    changedUser.Flags = (ClassicUserFlags)flags;
                    UserEventArgs <ChatUser> updatedArgs = new UserEventArgs <ChatUser>(type, changedUser);
                    HandleUserChatEvent(updatedArgs);
                }
                else if (_channelName.Equals("The Void", StringComparison.OrdinalIgnoreCase))
                {
                    ChatUser voidUser = new ChatUser(user, ping, (ClassicUserFlags)flags, UserStats.Parse(user, userInfo));
                    _namesToUsers.Add(user, voidUser);
                    UserEventArgs <ChatUser> voidArgs = new UserEventArgs <ChatUser>(type, voidUser);
                    HandleUserChatEvent(voidArgs);
                }
                break;

            case ChatEventType.UserLeftChannel:
                if (_namesToUsers.ContainsKey(user))
                {
                    ChatUser goneUser = _namesToUsers[user];
                    UserEventArgs <ChatUser> leftArgs = new UserEventArgs <ChatUser>(type, goneUser);
                    HandleUserChatEvent(leftArgs);
                }
                break;

            case ChatEventType.Emote:
            case ChatEventType.Talk:
            case ChatEventType.WhisperReceived:
            case ChatEventType.WhisperSent:
                ChatMessageEventArgs <UserFlags> cmArgs = new ChatMessageEventArgs <UserFlags>(type, (UserFlags)flags, user, Encoding.UTF8.GetString(userInfo));
                HandleChatMessageEvent(cmArgs);
                break;

            case ChatEventType.NewChannelJoined:
                ServerChatEventArgs joinArgs = new ServerChatEventArgs(type, flags, text);
                _channelName = text;
                _namesToUsers.Clear();
                OnJoinedChannel(joinArgs);
                break;

            case ChatEventType.Broadcast:
            case ChatEventType.ChannelDNE:
            case ChatEventType.ChannelFull:
            case ChatEventType.ChannelRestricted:
            case ChatEventType.Error:
            case ChatEventType.Information:
                ServerChatEventArgs scArgs = new ServerChatEventArgs(type, flags, text);
                HandleServerChatEvent(scArgs);
                break;
            }
        }
示例#5
0
 public override void Display()
 {
     ClearBackground(Colors.space);
     starscape();
     UserStats stats = MainWindow.settings.userStats;
 }
示例#6
0
 /// <summary>
 /// Used to communicate user stats between the server and clients.
 /// </summary>
 /// <param name="userStats"></param>
 public void SendRequestUserStats(UserStats userStats)
 {
     Connection.SendControl(PacketType.UserStats, userStats);
 }
示例#7
0
 /// <summary>
 /// Used to communicate user stats between the server and clients.
 /// </summary>
 /// <param name="userStats"></param>
 public virtual void UserStats(UserStats userStats)
 {
 }