mirror of
https://github.com/psforever/PSF-LoginServer.git
synced 2026-07-08 04:54:39 +00:00
not necessarily a part of the event bus generalization progress, just have wanted to move these files into this subdirectory for a long time
This commit is contained in:
parent
f3fedaf55d
commit
1507b91f5e
9 changed files with 33 additions and 26 deletions
|
|
@ -5,7 +5,8 @@ import akka.actor.{ActorContext, typed}
|
|||
import net.psforever.objects.serverobject.affinity.FactionAffinity
|
||||
import net.psforever.objects.serverobject.interior.Sidedness.OutsideOf
|
||||
import net.psforever.objects.{PlanetSideGameObject, Tool, Vehicle}
|
||||
import net.psforever.objects.vehicles.{CargoBehavior, MountableWeapons}
|
||||
import net.psforever.objects.vehicles.MountableWeapons
|
||||
import net.psforever.objects.vehicles.control.CargoBehavior
|
||||
import net.psforever.objects.vital.InGameHistory
|
||||
import net.psforever.packet.game.{DismountVehicleCargoMsg, GenericObjectActionMessage, InventoryStateMessage, MountVehicleCargoMsg, MountVehicleMsg, ObjectAttachMessage, ObjectDetachMessage, PlanetsideAttributeMessage}
|
||||
import net.psforever.services.base.CachedEnvelope
|
||||
|
|
|
|||
|
|
@ -18,10 +18,11 @@ import net.psforever.objects.serverobject.mount.Seat
|
|||
import net.psforever.objects.serverobject.tube.SpawnTube
|
||||
import net.psforever.objects.serverobject.turret.auto.AutomatedTurret
|
||||
import net.psforever.objects.sourcing.{PlayerSource, SourceEntry, VehicleSource}
|
||||
import net.psforever.objects.vehicles.control.{CargoBehavior, CarrierBehavior}
|
||||
import net.psforever.objects.vital.{InGameHistory, IncarnationActivity, ReconstructionActivity, SpawningActivity}
|
||||
import net.psforever.objects.zones.blockmap.BlockMapEntity
|
||||
import net.psforever.packet.game.GenericAction.FirstPersonViewWithEffect
|
||||
import net.psforever.packet.game.{CampaignStatistic, ChangeFireStateMessage_Start, CloudInfo, GenericActionMessage, GenericObjectActionEnum, HackState7, MailMessage, ObjectDetectedMessage, SessionStatistic, StormInfo, TriggeredSound, TrainingZoneMessage, WeatherMessage}
|
||||
import net.psforever.packet.game.{CampaignStatistic, ChangeFireStateMessage_Start, CloudInfo, GenericActionMessage, GenericObjectActionEnum, HackState7, MailMessage, ObjectDetectedMessage, SessionStatistic, StormInfo, TrainingZoneMessage, TriggeredSound, WeatherMessage}
|
||||
import net.psforever.services.avatar.support.{CorpseEnvelope, ReleaseEnvelope}
|
||||
import net.psforever.services.base.envelope.MessageEnvelope
|
||||
import net.psforever.services.base.message.{GenericObjectAction, ObjectDelete, PlanetsideAttribute, SendResponse}
|
||||
|
|
|
|||
|
|
@ -9,6 +9,7 @@ import net.psforever.objects.serverobject.resourcesilo.ResourceSilo
|
|||
import net.psforever.objects.serverobject.transfer.TransferContainer
|
||||
import net.psforever.objects.serverobject.structures.WarpGate
|
||||
import net.psforever.objects.vehicles._
|
||||
import net.psforever.objects.vehicles.control.CargoBehavior
|
||||
import net.psforever.objects.zones.Zone
|
||||
import net.psforever.packet.game.{ChatMsg, FrameVehicleStateMessage, GenericObjectActionEnum, HackMessage, HackState, HackState1, HackState7, TriggeredSound, VehicleStateMessage}
|
||||
import net.psforever.types.{ChatMessageType, DriveState, PlanetSideEmpire, PlanetSideGUID, Vector3}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,8 @@
|
|||
// Copyright (c) 2020 PSForever
|
||||
package net.psforever.objects.vehicles
|
||||
package net.psforever.objects.vehicles.control
|
||||
|
||||
import akka.actor.{ActorRef, Cancellable}
|
||||
import akka.actor.typed.scaladsl.adapter._
|
||||
|
||||
import net.psforever.actors.commands.NtuCommand
|
||||
import net.psforever.actors.zone.BuildingActor
|
||||
import net.psforever.objects.serverobject.deploy.Deployment
|
||||
|
|
@ -10,7 +11,6 @@ import net.psforever.objects.serverobject.structures.WarpGate
|
|||
import net.psforever.objects.serverobject.transfer.{TransferBehavior, TransferContainer}
|
||||
import net.psforever.objects._
|
||||
import net.psforever.types.DriveState
|
||||
import akka.actor.typed.scaladsl.adapter._
|
||||
import net.psforever.objects.serverobject.transfer.TransferContainer.TransferMaterial
|
||||
import net.psforever.packet.game.PlanetsideAttributeMessage
|
||||
import net.psforever.services.base.envelope.MessageEnvelope
|
||||
|
|
@ -21,8 +21,8 @@ import scala.concurrent.duration._
|
|||
|
||||
trait AntTransferBehavior extends TransferBehavior with NtuStorageBehavior {
|
||||
var panelAnimationFunc: () => Unit = NoCharge
|
||||
var ntuChargingTick: Cancellable = Default.Cancellable
|
||||
findChargeTargetFunc = Vehicles.FindANTChargingSource
|
||||
var ntuChargingTick: Cancellable = Default.Cancellable
|
||||
findChargeTargetFunc = Vehicles.FindANTChargingSource
|
||||
findDischargeTargetFunc = Vehicles.FindANTDischargingTarget
|
||||
|
||||
def TransferMaterial: TransferMaterial = Ntu.Nanites
|
||||
|
|
@ -32,7 +32,7 @@ trait AntTransferBehavior extends TransferBehavior with NtuStorageBehavior {
|
|||
def antBehavior: Receive = storageBehavior.orElse(transferBehavior)
|
||||
|
||||
def ActivatePanelsForChargingEvent(vehicle: NtuContainer): Unit = {
|
||||
val obj = ChargeTransferObject
|
||||
val obj = ChargeTransferObject
|
||||
val zone = obj.Zone
|
||||
zone.VehicleEvents ! MessageEnvelope(
|
||||
zone.id,
|
||||
|
|
@ -42,7 +42,7 @@ trait AntTransferBehavior extends TransferBehavior with NtuStorageBehavior {
|
|||
|
||||
/** Charging */
|
||||
def StartNtuChargingEvent(vehicle: NtuContainer): Unit = {
|
||||
val obj = ChargeTransferObject
|
||||
val obj = ChargeTransferObject
|
||||
val zone = obj.Zone
|
||||
zone.VehicleEvents ! MessageEnvelope(
|
||||
zone.id,
|
||||
|
|
@ -188,7 +188,8 @@ trait AntTransferBehavior extends TransferBehavior with NtuStorageBehavior {
|
|||
transferTarget match {
|
||||
case Some(silo: ResourceSilo) =>
|
||||
scala.math.min(
|
||||
scala.math.min(silo.MaxNtuCapacitor / silo.Definition.ChargeTime.toSeconds.toFloat, chargeable.NtuCapacitor),
|
||||
scala.math
|
||||
.min(silo.MaxNtuCapacitor / silo.Definition.ChargeTime.toSeconds.toFloat, chargeable.NtuCapacitor),
|
||||
max
|
||||
)
|
||||
case _ =>
|
||||
|
|
@ -208,9 +209,11 @@ trait AntTransferBehavior extends TransferBehavior with NtuStorageBehavior {
|
|||
|
||||
def HandleNtuGrant(sender: ActorRef, src: NtuContainer, amount: Float): Unit = {
|
||||
val obj = ChargeTransferObject
|
||||
if (obj.DeploymentState == DriveState.Deployed &&
|
||||
transferEvent == TransferBehavior.Event.Charging &&
|
||||
ReceiveAndDepositUntilFull(obj, amount)) {
|
||||
if (
|
||||
obj.DeploymentState == DriveState.Deployed &&
|
||||
transferEvent == TransferBehavior.Event.Charging &&
|
||||
ReceiveAndDepositUntilFull(obj, amount)
|
||||
) {
|
||||
panelAnimationFunc()
|
||||
} else {
|
||||
TryStopChargingEvent(obj)
|
||||
|
|
@ -1,19 +1,20 @@
|
|||
// Copyright (c) 2021 PSForever
|
||||
package net.psforever.objects.vehicles
|
||||
package net.psforever.objects.vehicles.control
|
||||
|
||||
import akka.actor.ActorRef
|
||||
import akka.actor.typed.scaladsl.adapter._
|
||||
import net.psforever.actors.commands.NtuCommand
|
||||
import net.psforever.actors.zone.BuildingActor
|
||||
import net.psforever.objects.{NtuContainer, NtuContainerDefinition, _}
|
||||
import net.psforever.objects._
|
||||
import net.psforever.objects.definition.ObjectDefinition
|
||||
import net.psforever.objects.equipment.EquipmentSlot
|
||||
import net.psforever.objects.serverobject.resourcesilo.ResourceSilo
|
||||
import net.psforever.objects.serverobject.structures.WarpGate
|
||||
import net.psforever.objects.serverobject.transfer.{TransferBehavior, TransferContainer}
|
||||
import net.psforever.objects.vehicles.VehicleSubsystem
|
||||
import net.psforever.services.base.envelope.MessageEnvelope
|
||||
import net.psforever.types.{PlanetSideEmpire, PlanetSideGUID, Vector3}
|
||||
import net.psforever.services.vehicle.VehicleAction
|
||||
import net.psforever.types.{PlanetSideEmpire, PlanetSideGUID, Vector3}
|
||||
|
||||
import scala.concurrent.ExecutionContext.Implicits.global
|
||||
import scala.concurrent.duration._
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
// Copyright (c) 2020 PSForever
|
||||
package net.psforever.objects.vehicles
|
||||
package net.psforever.objects.vehicles.control
|
||||
|
||||
import akka.actor.Actor
|
||||
import net.psforever.objects._
|
||||
|
|
@ -3,7 +3,7 @@ package net.psforever.objects.vehicles.control
|
|||
|
||||
import net.psforever.objects._
|
||||
import net.psforever.objects.serverobject.damage.{Damageable, DamageableVehicle}
|
||||
import net.psforever.objects.vehicles.{Cargo, CarrierBehavior}
|
||||
import net.psforever.objects.vehicles.Cargo
|
||||
import net.psforever.objects.vital.interaction.DamageResult
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -1,17 +1,18 @@
|
|||
// Copyright (c) 2021 PSForever
|
||||
package net.psforever.objects.vehicles
|
||||
package net.psforever.objects.vehicles.control
|
||||
|
||||
import akka.actor.{Actor, Cancellable}
|
||||
import net.psforever.actors.zone.ZoneActor
|
||||
import net.psforever.objects.zones.Zone
|
||||
import net.psforever.objects._
|
||||
import net.psforever.objects.sourcing.VehicleSource
|
||||
import net.psforever.objects.vehicles.Cargo
|
||||
import net.psforever.objects.vital.VehicleCargoMountActivity
|
||||
import net.psforever.objects.zones.Zone
|
||||
import net.psforever.packet.game.{CargoMountPointStatusMessage, ObjectAttachMessage, ObjectDetachMessage, PlanetsideAttributeMessage}
|
||||
import net.psforever.types.{BailType, CargoStatus, PlanetSideGUID, Vector3}
|
||||
import net.psforever.services.base.envelope.MessageEnvelope
|
||||
import net.psforever.services.base.message.SendResponse
|
||||
import net.psforever.services.vehicle.VehicleAction
|
||||
import net.psforever.types.{BailType, CargoStatus, PlanetSideGUID, Vector3}
|
||||
|
||||
import scala.concurrent.duration._
|
||||
|
||||
|
|
@ -71,12 +71,11 @@ object BundledEnvelope {
|
|||
if (in.isEmpty) {
|
||||
out
|
||||
} else {
|
||||
val first :: remainder = in
|
||||
first match {
|
||||
in.head match {
|
||||
case bundle: BundledEnvelope =>
|
||||
unwind(bundle.msgs ++ remainder, out)
|
||||
case _ =>
|
||||
unwind(remainder, out :+ first)
|
||||
unwind(bundle.msgs ++ in.tail, out)
|
||||
case first =>
|
||||
unwind(in.tail, out :+ first)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue