class SquadService extends Actor
- Source
- SquadService.scala
- Alphabetic
- By Inheritance
- SquadService
- Actor
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new SquadService()
Type Members
- type Receive = PartialFunction[Any, Unit]
- Definition Classes
- Actor
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 ApplySquadDecorationToEntriesForUser(faction: types.PlanetSideEmpire.Value, targetCharId: Long): Unit
- def ApplySquadDecorationToEntry(faction: types.PlanetSideEmpire.Value, guid: PlanetSideGUID, squad: Squad): Unit
Squad decoration are the colors applied to entries in the squad listing based on individual assessments.
Squad decoration are the colors applied to entries in the squad listing based on individual assessments. Apply these colors to one squad at a time. This sends out the least amount of messages - one for the whole faction and one message for each search for which this squad is a positive result.
- faction
empire whose squad is being decorated
- guid
the squad's identifier
- squad
the squad
- def CleanUpSquadFeatures(removed: List[Long], guid: PlanetSideGUID, position: Int): Unit
- def CloseSquad(squad: Squad): Unit
All players are made to leave the squad and the squad will stop existing.
All players are made to leave the squad and the squad will stop existing. Any member of the squad missing an
ActorRef
object used to message the player's client will still leave the squad, but will not attempt to send feedback to the said unreachable client. If the player is in the process of unsubscribing from the service, the no-messaging pathway is useful to avoid accumulating dead letters.- squad
the squad
- See also
CleanUpAllInvitesToSquad
SquadDetail
SquadSubscriptionEntity.Publish
TryResetSquadId
UpdateSquadList
- def DisbandSquad(features: SquadFeatures): Unit
All players are made to leave the squad and the squad will stop existing.
All players are made to leave the squad and the squad will stop existing. Essentially, perform the same operations as
CloseSquad
but treat the process as if the squad is being disbanded in terms of messaging.- features
the squad
- See also
PanicDisbandSquad
SquadResponse.Membership
SquadSubscriptionEntity.Publish
- def EnsureEmptySquad(charId: Long): Boolean
Determine whether a player is sufficiently unemployed and has no grand delusions of being a squad leader.
Determine whether a player is sufficiently unemployed and has no grand delusions of being a squad leader.
- charId
the player
- returns
true
, if the target player possesses no squad or a squad that is suitably nonexistent;false
, otherwise
- See also
CloseSquad
- def GetLeadingSquad(charId: Long, opt: Option[SquadFeatures]): Option[SquadFeatures]
If the player associated with this unique character identifier number is the leader of any squad, discover that squad.
If the player associated with this unique character identifier number is the leader of any squad, discover that squad.
- charId
the potential member identifier
- opt
an optional squad to check; the expectation is that the provided squad is a known participating squad
- returns
the discovered squad, or
None
- See also
GetParticipatingSquad
Squad->Leader
- def GetLeadingSquad(player: Player, opt: Option[SquadFeatures]): Option[SquadFeatures]
If this player is a member of any squad, discover that squad.
If this player is a member of any squad, discover that squad.
- player
the potential member
- opt
an optional squad to check; the expectation is that the provided squad is a known participating squad
- returns
the discovered squad, or
None
- See also
GetParticipatingSquad
Squad::Leader
- def GetNextSquadId(): PlanetSideGUID
Produce the next available unique squad identifier.
Produce the next available unique squad identifier. The first number is always 1. The greatest possible identifier is 65535 (an unsigned 16-bit integer) before it wraps back around to 1.
- returns
the current squad unique identifier number
- def GetOrCreateSquadOnlyIfLeader(player: Player): Option[SquadFeatures]
- def GetParticipatingSquad(charId: Long): Option[SquadFeatures]
If the player associated with this unique character identifier number is a member of any squad, discover that squad.
If the player associated with this unique character identifier number is a member of any squad, discover that squad.
- charId
the potential member identifier
- returns
the discovered squad, or
None
- def GetParticipatingSquad(player: Player): Option[SquadFeatures]
If this player is a member of any squad, discover that squad.
If this player is a member of any squad, discover that squad.
- player
the potential member
- returns
the discovered squad, or
None
- def GetSquad(id: PlanetSideGUID): Option[SquadFeatures]
If a squad exists for an identifier, return that squad.
If a squad exists for an identifier, return that squad.
- id
the squad unique identifier number
- returns
the discovered squad, or
None
- def JoinByCharacterId(charId: String, sender: ActorRef): Unit
- def JoinByFaction(faction: String, sender: ActorRef): Unit
- def JoinSquad(player: Player, features: SquadFeatures, position: Int): Boolean
Behaviors and exchanges necessary to complete the fulfilled recruitment process for the squad role.
This operation is fairly safe to call whenever a player is to be inducted into a squad.Behaviors and exchanges necessary to complete the fulfilled recruitment process for the squad role.
This operation is fairly safe to call whenever a player is to be inducted into a squad. The aforementioned player must have a callback retained insubs.UserEvents
and conditions imposed by both the role and the player must be satisfied.- player
the new squad member; this player is NOT the squad leader
- features
the squad the player is joining
- position
the squad member role that the player will be filling
- returns
true
, if the player joined the squad in some capacity;false
, if the player did not join the squad or is already a squad member
- See also
CleanUpAllInvitesWithPlayer
Squad.isAvailable
Squad.Switchboard
SquadSubscriptionEntity.MonitorSquadDetails
SquadSubscriptionEntity.Publish
SquadSubscriptionEntity.Join
SquadSubscriptionEntity.UserEvents
- def LeaveByCharacterId(charId: String, sender: ActorRef): Unit
- def LeaveByFaction(faction: String, sender: ActorRef): Unit
- def LeaveInGeneral(sender: ActorRef): Unit
- def LeaveService(charId: Long, sender: ActorRef): Unit
na
na
- charId
the player's unique character identifier number
- sender
the
ActorRef
associated with this character
- def LeaveService(charId: String, sender: ActorRef): Unit
na
na
- charId
the player's unique character identifier number
- sender
the
ActorRef
associated with this character
- def LeaveSquad(charId: Long, features: SquadFeatures): Boolean
Behaviors and exchanges necessary to undo the recruitment process for the squad role.
Behaviors and exchanges necessary to undo the recruitment process for the squad role.
- charId
the player
- features
the squad
- returns
true
, if the player, formerly a normal member of the squad, has been ejected from the squad;false
, otherwise
- See also
PanicLeaveSquad
SquadSubscriptionEntity.Publish
- def PanicDisbandSquad(features: SquadFeatures, membership: Iterable[Long]): Unit
All players are made to leave the squad and the squad will stop existing.
The complement of the priorDisbandSquad
method.All players are made to leave the squad and the squad will stop existing.
The complement of the priorDisbandSquad
method. This method deals entirely with other squad members observing the squad become abandoned. The distinction is useful when unsubscribing from this service, as theActorRef
object used to message the player's client is no longer reliable and has probably ceased to exist.- features
the squad
- membership
the unique character identifier numbers of the other squad members
- returns
if a role/index pair is provided
- See also
CloseSquad
DisbandSquad
SquadResponse.Membership
SquadResponseType
SquadSubscriptionEntity.Publish
- def PublishedLists(squads: Iterable[SquadFeatures]): Vector[SquadInfo]
Transform a list of squad unique identifiers into a list of
SquadInfo
objects for updating the squad list window.Transform a list of squad unique identifiers into a list of
SquadInfo
objects for updating the squad list window.- squads
the list of squads
- returns
a
Vector
of transformed squad data
- def PublishedLists(faction: Type): Vector[SquadInfo]
Transform a list of squad unique identifiers into a list of
SquadInfo
objects for updating the squad list window.Transform a list of squad unique identifiers into a list of
SquadInfo
objects for updating the squad list window.- faction
the faction to which the squads belong
- returns
a
Vector
of transformed squad data
- def SquadActionDefinition(message: SquadServiceMessage, action: packet.game.SquadAction, guid: PlanetSideGUID): Unit
- def SquadActionDefinitionCancelSquadSearch(charId: Long): Unit
- def SquadActionDefinitionDisplaySquad(tplayer: Player, guid: PlanetSideGUID): Unit
the following action can be performed by anyone
- def SquadActionDefinitionSearchForSquadsWithParticularRole(tplayer: Player, criteria: SearchForSquadsWithParticularRole): Unit
- def SquadActionDefinitionSquadInitializationIssue(tplayer: Player, guid: PlanetSideGUID): Unit
- def SquadActionInitCharId(tplayer: Player): Unit
- def SquadActionInitSquadList(tplayer: Player, sender: ActorRef): Unit
- def SquadActionMembership(tplayer: Player, zone: Zone, action: Any): Unit
- def SquadActionMembershipAccept(tplayer: Player, invitedPlayer: Long): Unit
- def SquadActionMembershipCancel(cancellingPlayer: Long): Unit
- def SquadActionMembershipDisband(charId: Long): Unit
- def SquadActionMembershipInvite(tplayer: Player, invitingPlayer: Long, _invitedPlayer: Long, invitedName: String): Unit
- def SquadActionMembershipLeave(tplayer: Player, actingPlayer: Long, _leavingPlayer: Option[Long], name: String): Unit
- def SquadActionMembershipPromote(sponsoringPlayer: Long, promotedPlayer: Long, features: SquadFeatures, msg: SquadServiceMessage, ref: ActorRef): Unit
- def SquadActionMembershipPromote(sponsoringPlayer: Long, promotionCandidatePlayer: Long, promotionCandidateName: String, msg: SquadServiceMessage, ref: ActorRef): Unit
- def SquadActionMembershipProximityInvite(zone: Zone, invitingPlayer: Long): Unit
- def SquadActionMembershipReject(tplayer: Player, rejectingPlayer: Long): Unit
- def SquadActionUpdate(message: SquadServiceMessage, char_id: Long, replyTo: ActorRef): Unit
- def SquadActionWaypoint(message: SquadServiceMessage, tplayer: Player): Unit
- def SquadServiceReloadSquadDecoration(faction: types.PlanetSideEmpire.Value, to: Long): Unit
- def StartSquad(player: Player): SquadFeatures
Establish a new squad.
Establish a new squad. Create all of the support structures for the squad and link into them. At a minimum, by default, the squad needs a squad leader and a stronger, more exposed connection between the squad and leader needs to be recognized.
Usually, a squad is created by modifying some aspect of its necessary fields. The primary necessary fields required for a squad include the squad's task and the squad's zone of operation.- player
the player who would become the squad leader
- returns
the squad that has been created
- See also
GetNextSquadId
Squad
SquadFeatures
SquadFeatures::Start
- def TerminatedBy(requestee: ActorRef): Unit
- def TryResetSquadId(): Boolean
Set the unique squad identifier back to the start if no squads are active.
Set the unique squad identifier back to the start if no squads are active.
- returns
true
, if the identifier is reset;false
, otherwise
- def UpdateSquadList(features: SquadFeatures, changes: Option[SquadInfo]): Unit
Dispatch a message entailing the composition of this squad and focus on any specific aspects of it, purported as being changed recently.
What sort of message is dispatched is not only based on the input parameters but also on the state of previously listed squad information.Dispatch a message entailing the composition of this squad and focus on any specific aspects of it, purported as being changed recently.
What sort of message is dispatched is not only based on the input parameters but also on the state of previously listed squad information. Listed squad information is queued when it is first published, organized first by faction affinity, then by chronology. The output is first determinate on whether the squad had previously been listed as available. If so, it will either update its data to all valid faction associated entities with the provided changed data; or, it will be removed from the list of available squads, if there is no provided change data. If the squad can not be found, the change data, whatever it is, is unimportant, and the squad will be listed in full for the first time.
When a squad is first introduced to the aforementioned list, thus first being published to all faction-associated parties, the entirety of the squad list for that faction will be updated in one go. It is not necessary to do this, but doing so saves index and unique squad identifier management at the cost of the size of the packet to be dispatched. When a squad is removed to the aforementioned list, the same process occurs where the full list for that faction affiliation is sent as an update. The procedure for updating individual squad fields is precise and targeted, and has been or should be prepared in advance by the caller to this method. As a consequence, when updating the entry for that squad, the information used as the update does not necessarily reflect the actual information currently in the squad.- features
the squad
- changes
the optional highlighted aspects of the squad; these "changes" do not have to reflect the actual squad but are related to the contents of the message
- See also
SquadResponse.InitList
SquadResponse.UpdateList
SquadService.SquadList.Publish
- def aroundPostRestart(reason: Throwable): Unit
- Attributes
- protected[akka]
- Definition Classes
- Actor
- Annotations
- @InternalApi()
- def aroundPostStop(): Unit
- Attributes
- protected[akka]
- Definition Classes
- Actor
- Annotations
- @InternalApi()
- def aroundPreRestart(reason: Throwable, message: Option[Any]): Unit
- Attributes
- protected[akka]
- Definition Classes
- Actor
- Annotations
- @InternalApi()
- def aroundPreStart(): Unit
- Attributes
- protected[akka]
- Definition Classes
- Actor
- Annotations
- @InternalApi()
- def aroundReceive(receive: akka.actor.Actor.Receive, msg: Any): Unit
- Attributes
- protected[akka]
- Definition Classes
- Actor
- Annotations
- @InternalApi()
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- implicit val context: ActorContext
- Definition Classes
- Actor
- 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()
- def performStartSquad(sender: ActorRef, player: Player): Unit
- def postRestart(reason: Throwable): Unit
- Definition Classes
- Actor
- Annotations
- @throws(classOf[java.lang.Exception])
- def postStop(): Unit
- Definition Classes
- SquadService → Actor
- def preRestart(reason: Throwable, message: Option[Any]): Unit
- Definition Classes
- Actor
- Annotations
- @throws(classOf[java.lang.Exception])
- def preStart(): Unit
- Definition Classes
- Actor
- Annotations
- @throws(classOf[java.lang.Exception])
- def receive: Receive
- Definition Classes
- SquadService → Actor
- implicit final val self: ActorRef
- Definition Classes
- Actor
- final def sender(): ActorRef
- Definition Classes
- Actor
- def supervisorStrategy: SupervisorStrategy
- Definition Classes
- Actor
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- def unhandled(message: Any): Unit
- Definition Classes
- Actor
- 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()