mirror of
https://github.com/psforever/PSF-LoginServer.git
synced 2026-04-29 08:15:29 +00:00
added an overloaded constructor for TargetInfo
This commit is contained in:
parent
6fa701d263
commit
f0bc64d338
1 changed files with 35 additions and 1 deletions
|
|
@ -27,8 +27,42 @@ final case class TargetingInfoMessage(target_list : List[TargetInfo])
|
||||||
def encode = TargetingInfoMessage.encode(this)
|
def encode = TargetingInfoMessage.encode(this)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
object TargetInfo {
|
||||||
|
/**
|
||||||
|
* Transform an unsigned number between 0 and 256 into a percentage of a 255 number.
|
||||||
|
* @param n an unsigned `Integer` number
|
||||||
|
* @return a scaled `Float` number
|
||||||
|
*/
|
||||||
|
private def rangedFloat(n : Int) : Float = {
|
||||||
|
(
|
||||||
|
(if(n < 0) {
|
||||||
|
0
|
||||||
|
}
|
||||||
|
else if(n > 255) {
|
||||||
|
255
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
n
|
||||||
|
}).toDouble * TargetingInfoMessage.unit
|
||||||
|
).toFloat
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Overloaded constructor that takes `Integer` values rather than `Float` values.
|
||||||
|
* @param target_guid the target
|
||||||
|
* @param unk1 na
|
||||||
|
* @param unk2 na
|
||||||
|
* @return a `TargetInfo` object
|
||||||
|
*/
|
||||||
|
def apply(target_guid : PlanetSideGUID, unk1 : Int, unk2 : Int) : TargetInfo = {
|
||||||
|
val unk1_2 : Float = rangedFloat(unk1)
|
||||||
|
val unk2_2 : Float = rangedFloat(unk2)
|
||||||
|
TargetInfo(target_guid, unk1_2, unk2_2)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
object TargetingInfoMessage extends Marshallable[TargetingInfoMessage] {
|
object TargetingInfoMessage extends Marshallable[TargetingInfoMessage] {
|
||||||
private final val unit : Double = 0.0039215689 //common constant for 1/255
|
final val unit : Double = 0.0039215689 //common constant for 1/255
|
||||||
|
|
||||||
private val info_codec : Codec[TargetInfo] = (
|
private val info_codec : Codec[TargetInfo] = (
|
||||||
("target_guid" | PlanetSideGUID.codec) ::
|
("target_guid" | PlanetSideGUID.codec) ::
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue