@startuml StudentUsesTransistor
header Student Uses Transistor
hide footbox

participant main as "Main"

create student as "student : Student"
main --> student ++: <<create>>
create studentAction as "studentAction : StudentActions"
student --> studentAction : <<create>>
create inventory as "studentInventory : Inventory"
student --> inventory : <<create>>
create defense as "studentDefense : DefaultDefense"
student --> defense: <<create>>

return

create t1 as "transistorA : Transistor"
main --> t1: <<create>>

create t2 as "transistorB : Transistor"
main --> t2: <<create>>

create room as "room : Room"
main --> room : <<create>>

main --> student++ : teleport(room, true)
return

main --> student ++: getInventory()
return inventory

main --> inventory ++: addItem(transistorA)
return success

' i am going to violently git commit suicide --force

main --> inventory ++: addItem(transistorB)
return success

@enduml