mirror of
https://gitlab.com/cc-ru/ocelot/ocelot-desktop.git
synced 2025-12-20 02:59:19 +01:00
Make BoomCardFxHandler a supertrait of ComputerAwareNode
This commit is contained in:
parent
7ecb9a6fe7
commit
a5a9b18771
@ -22,7 +22,7 @@ abstract class ComputerAwareNode(entity: Entity with Environment with WorkspaceA
|
||||
with SyncedInventory
|
||||
with DiskActivityHandler
|
||||
with OcelotLogParticleNode
|
||||
with SmokeParticleNode
|
||||
with BoomCardFxHandler
|
||||
with ShiftClickNode {
|
||||
|
||||
private lazy val soundCardSounds: (SoundStream, SoundSource) = Audio.newStream(SoundCategory.Records)
|
||||
|
||||
@ -4,7 +4,7 @@ import ocelot.desktop.color.Color
|
||||
import ocelot.desktop.graphics.{Graphics, IconSource}
|
||||
import ocelot.desktop.inventory.item.SelfDestructingCardItem
|
||||
import ocelot.desktop.node.Node.HighlightThickness
|
||||
import ocelot.desktop.node.{BoomCardFxHandler, ComputerAwareNode, WindowedNode}
|
||||
import ocelot.desktop.node.{ComputerAwareNode, WindowedNode}
|
||||
import ocelot.desktop.ui.event.ClickEvent
|
||||
import ocelot.desktop.ui.widget.contextmenu.ContextMenu
|
||||
import ocelot.desktop.ui.widget.slot._
|
||||
@ -18,8 +18,7 @@ import totoro.ocelot.brain.util.Tier
|
||||
class ComputerNode(val computerCase: Case)
|
||||
extends ComputerAwareNode(computerCase)
|
||||
with AudibleComputerAware
|
||||
with WindowedNode[ComputerWindow]
|
||||
with BoomCardFxHandler {
|
||||
with WindowedNode[ComputerWindow] {
|
||||
|
||||
override val iconSource: IconSource = IconSource.Nodes.Computer.Default
|
||||
override def iconColor: Color = TierColor.get(computerCase.tier)
|
||||
|
||||
@ -20,6 +20,7 @@ class MicrocontrollerNode(val microcontroller: Microcontroller)
|
||||
with ComputerAware
|
||||
with DefaultSlotItemsFillable
|
||||
with WindowedNode[ComputerWindow] {
|
||||
|
||||
override val iconSource: IconSource = IconSource.Nodes.Microcontroller.Default
|
||||
|
||||
override def setupContextMenu(menu: ContextMenu, event: ClickEvent): Unit = {
|
||||
@ -67,6 +68,12 @@ class MicrocontrollerNode(val microcontroller: Microcontroller)
|
||||
override def computerType: ComputerType = ComputerType.Microcontroller
|
||||
override def brainInventory: Inventory = microcontroller.inventory.owner
|
||||
|
||||
override protected def selfDestructingCards: IterableOnce[SelfDestructingCardItem] = {
|
||||
inventoryIterator.flatMap(_.get).collect {
|
||||
case item: SelfDestructingCardItem => item
|
||||
}
|
||||
}
|
||||
|
||||
override def addSlotsBasedOnTier(): Unit = {
|
||||
microcontroller.tier match {
|
||||
case Tier.One =>
|
||||
|
||||
@ -6,7 +6,7 @@ import ocelot.desktop.inventory.Item
|
||||
import ocelot.desktop.inventory.item.{DiskDriveMountableItem, SelfDestructingCardItem, ServerItem}
|
||||
import ocelot.desktop.inventory.traits.RackMountableItem
|
||||
import ocelot.desktop.node.Node.{HighlightThickness, NoHighlightSize, Size, TexelCount}
|
||||
import ocelot.desktop.node.{BoomCardFxHandler, ComputerAwareNode, NodePort, WindowedNode}
|
||||
import ocelot.desktop.node.{ComputerAwareNode, NodePort, WindowedNode}
|
||||
import ocelot.desktop.ui.event.{BrainEvent, ClickEvent}
|
||||
import ocelot.desktop.ui.widget.contextmenu.{ContextMenu, ContextMenuEntry}
|
||||
import ocelot.desktop.util.DrawUtils
|
||||
@ -17,11 +17,7 @@ import totoro.ocelot.brain.event.NetworkActivityEvent
|
||||
import totoro.ocelot.brain.network
|
||||
import totoro.ocelot.brain.util.Direction
|
||||
|
||||
class RackNode(val rack: Rack)
|
||||
extends ComputerAwareNode(rack)
|
||||
with WindowedNode[RackWindow]
|
||||
with BoomCardFxHandler {
|
||||
|
||||
class RackNode(val rack: Rack) extends ComputerAwareNode(rack) with WindowedNode[RackWindow] {
|
||||
override val iconSource: IconSource = IconSource.Nodes.Rack.Empty
|
||||
override def exposeAddress = false
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user