manipulator

manipulator komponent służący do łapania obiektów oraz zarządzania zawartością statku.

Dodatkowe pola:

"manipulator_range"

Zasięg manipulatora

"manipulator_slot"

Złapany obiekt

Funkcje:

grab()

Złap obiekt znajdujący się w pobliżu manipulatora

grab(x, y, z)

Złap obiekt znajdujący się w pobliżu współrzędnych [x, y, z]

release()

Wypuść trzymany obiekt

attach(hub_id, slot_id)

Załaduj trzymany obiekt do statku hub_id do slotu slot_id

detach(hub_id, slot_id)

Wyjmij obiekt ze statku hub_id ze slotu slot_id do manipulatora

repulse(x, y, z, power)

Rzuć obiektem z siłą power (0-1, domyślnie 1) w kierunku [x, y, z]. Pozwala uzyskać niewielką prędkość na zasadzie odrzutu. Przydatne w przypadku uszkodzenia silnika.

Polecenia:

"manipulator grab"

Łapie obiekt:

"manipulator grab": {
  target: "id manipulatora",
< position: [ x, y, z ] >
} -> {
  id: "id manipulatora",
  manipulator_slot: {
    id: "id złapanego obiektu"
  }
}

"manipulator release"

Wypuszcza obiekt:

"manipulator release": {
  target: "id manipulatora"
} -> {
  id: "id manipulatora"
}

"manipulator attach"

Przyłącza obiekt:

"manipulator attach": {
  target: "id manipulatora",
  hub: "id statku",
  slot: slot statku
} -> {
  manipulator: {
    id: "id manipulatora"
  },
  hub: {
    id: "id statku"
  },
  slot: slot statku,
  object: {
    id: "id przyłączonego obiektu"
  }
}

"manipulator detach"

Odłącza obiekt:

"manipulator detach": {
  target: "id manipulatora",
  hub: "id statku",
  slot: slot statku
} -> {
  manipulator: {
    id: "id manipulatora"
  },
  hub: {
    id: "id statku"
  },
  slot: slot statku,
  object: {
    id: "id odłączonego obiektu"
  }
}

"manipulator repulse"

Rzuca obiektem

"manipulator repulse": {
  target: "id manipulatora",
  energy_source: "id baterii",
  power: sila rzutu,
  direction: [x, y, z]
} -> undefined