object LivePlayerList
A class for storing Player
mappings for users that are currently online.
The mapping system is tightly coupled between the Avatar
class and to an instance of WorldSessionActor
.
Use:
1) When a users logs in during WorldSessionActor
, associate that user's session id and their character (avatar).
LivePlayerList.Add(session, avatar)
2) In between the previous two steps, a range of characters may be queried based on provided statistics.
LivePlayerList.WorldPopulation(...)
3) When the user leaves the game entirely, his character's entry is removed from the mapping.
LivePlayerList.Remove(session)
- Source
- LivePlayerList.scala
- Alphabetic
- By Inheritance
- LivePlayerList
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def Add(sessionId: Long, avatar: Avatar): Boolean
Create a mapped entry between the user's session and a user's character.
Create a mapped entry between the user's session and a user's character. Neither the player nor the session may exist in the current mappings if this is to work.
- sessionId
the session
- avatar
the character
- returns
true
, if the session was association was made;false
, otherwise
- def Remove(sessionId: Long): Option[Avatar]
Remove all entries related to the given session identifier from the mappings.
Remove all entries related to the given session identifier from the mappings. The character no longer counts as "online."
- sessionId
the session
- returns
any character that was afffected by the mapping removal
- def Shutdown: List[Avatar]
Hastily remove all mappings and ids.
Hastily remove all mappings and ids.
- returns
an unsorted list of the characters that were still online
- def Update(sessionId: Long, avatar: Avatar): Unit
- def WorldPopulation(predicate: (Tuple2[_, Avatar]) => Boolean): List[Avatar]
Given some criteria, examine the mapping of user characters and find the ones that fulfill the requirements.
Note the signature carefully.Given some criteria, examine the mapping of user characters and find the ones that fulfill the requirements.
Note the signature carefully. A two-element tuple is checked, but only the second element of that tuple - aPlayer
- is eligible for being queried. The first element is ignored. Even a predicate as simple as{ case ((x : Long, _)) => x > 0 }
will not work for that reason.- predicate
the conditions for filtering the live
Player
s- returns
a list of users's
Player
s that fit the criteria
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()