Packages

final case class ObjectCreateDetailedMessage(streamLength: Long, objectClass: Int, guid: PlanetSideGUID, parentInfo: Option[ObjectCreateMessageParent], data: ConstructorData) extends PlanetSideGamePacket with Product with Serializable

Communicate with the client that a certain object with certain properties is to be created. In general, ObjectCreateMessage and its counterpart ObjectCreateDetailedMessage should look similar.

In normal packet data order, the parent object is specified before the actual object is specified. This is most likely a method of early correction. "Does this parent object exist?" "Is this new object something that can be attached to this parent?" "Does the parent have the appropriate attachment slot?" There is no fail-safe method for any of these circumstances being false, however, and the object will simply not be created. In instance where the parent data does not exist, the object-specific data is immediately encountered.

The object's GUID is assigned by the server. The clients are required to adhere to this new GUID referring to the object. There is no fail-safe for a conflict between what the server thinks is a new GUID and what any client thinks is an already-assigned GUID. Likewise, there is no fail-safe between a client failing or refusing to create an object and the server thinking an object has been created. (The GM-level command /sync tests for objects that "do not match" between the server and the client. It's implementation and scope are undefined.)

Knowing the object's type is essential for parsing the specific information passed by the data parameter. If the object does not have encoding information or is unknown, it will not translate between byte data and a game object.

streamLength

the total length of the data that composes this packet in bits, excluding the opcode and end padding

objectClass

the code for the type of object being constructed

guid

the GUID this object will be assigned

parentInfo

if defined, the relationship between this object and another object (its parent)

data

the data used to construct this type of object; on decoding, set to None if the process failed

Source
ObjectCreateDetailedMessage.scala
Linear Supertypes
Product, Equals, PlanetSideGamePacket, PlanetSidePacket, Serializable, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ObjectCreateDetailedMessage
  2. Product
  3. Equals
  4. PlanetSideGamePacket
  5. PlanetSidePacket
  6. Serializable
  7. AnyRef
  8. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new ObjectCreateDetailedMessage(streamLength: Long, objectClass: Int, guid: PlanetSideGUID, parentInfo: Option[ObjectCreateMessageParent], data: ConstructorData)

    streamLength

    the total length of the data that composes this packet in bits, excluding the opcode and end padding

    objectClass

    the code for the type of object being constructed

    guid

    the GUID this object will be assigned

    parentInfo

    if defined, the relationship between this object and another object (its parent)

    data

    the data used to construct this type of object; on decoding, set to None if the process failed

Type Members

  1. type Packet = ObjectCreateDetailedMessage

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  6. val data: ConstructorData
  7. def encode: Attempt[BitVector]
  8. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  9. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  10. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  11. val guid: PlanetSideGUID
  12. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  13. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  14. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  15. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  16. val objectClass: Int
  17. def opcode: GamePacketOpcode.Value
  18. val parentInfo: Option[ObjectCreateMessageParent]
  19. def productElementNames: Iterator[String]
    Definition Classes
    Product
  20. val streamLength: Long
  21. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  22. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  23. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  24. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()

Inherited from Product

Inherited from Equals

Inherited from PlanetSideGamePacket

Inherited from PlanetSidePacket

Inherited from Serializable

Inherited from AnyRef

Inherited from Any

Ungrouped