blob: bb9aae73662b08a74f40485999617eb7b2c9c659 [file] [log] [blame] [raw]
package li.cil.oc.server.component
import java.util
import li.cil.oc.Constants
import li.cil.oc.api.driver.DeviceInfo.DeviceAttribute
import li.cil.oc.api.driver.DeviceInfo.DeviceClass
import li.cil.oc.Settings
import li.cil.oc.api.Network
import li.cil.oc.api.driver.DeviceInfo
import li.cil.oc.api.machine.Arguments
import li.cil.oc.api.machine.Callback
import li.cil.oc.api.machine.Context
import li.cil.oc.api.network.Visibility
import li.cil.oc.api.prefab
import li.cil.oc.common.item.TabletWrapper
import scala.collection.convert.WrapAsJava._
class Tablet(val tablet: TabletWrapper) extends prefab.ManagedEnvironment with DeviceInfo {
override val node = Network.newNode(this, Visibility.Network).
withComponent("tablet").
withConnector(Settings.get.bufferTablet).
create()
private final lazy val deviceInfo = Map(
DeviceAttribute.Class -> DeviceClass.System,
DeviceAttribute.Description -> "Tablet",
DeviceAttribute.Vendor -> Constants.DeviceInfo.DefaultVendor,
DeviceAttribute.Product -> "Jogger",
DeviceAttribute.Capacity -> tablet.getSizeInventory.toString
)
override def getDeviceInfo: util.Map[String, String] = deviceInfo
// ----------------------------------------------------------------------- //
@Callback(doc = """function():number -- Gets the pitch of the player holding the tablet.""")
def getPitch(context: Context, args: Arguments): Array[AnyRef] = result(tablet.player.rotationPitch)
}