trait FireModeSwitch[Mode] extends AnyRef

Fire mode is a non-complex method of representing variance in Equipment output.

All weapons and some support items have fire modes, though most only have one. The number of fire modes is visually indicated by the bubbles next to the icon of the Equipment in a holster slot. The specifics of how a fire mode affects the output is left to implementation and execution. Contrast how Tools deal with multiple types of ammunition.

While most Tools - weapons and such - are known to have fire modes, ConstructionItem equipment that produce deployable entities in the game world also support fire modes. The mechanism is different, however, even while the user interactions work in a similar way. For most weapons, the fire mode is just a modification of how the projectiles behave or the weapon behaves. For example, the bounciness of the grenades or the number of shots fired by the Jackhammer. One has to change tool ammo types to actual swap out different ammunitions such as, most commonly, grey normal ammo for gold armor-piercing ammo. For deployable-constructing entities, fire mode switches between the categories of deployables that can be built and "changing ammunition" actually changes the subtype of deployable within that deployable category. For example, fire modes go from "Boomers" to "Mines" while ammo types for "Mines" goes from "HE mines" to "Disruptor Mines".

Mode

the type parameter representing the fire mode

Source
FireModeSwitch.scala
Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. FireModeSwitch
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Abstract Value Members

  1. abstract def FireMode: Mode
  2. abstract def FireModeIndex: Int
  3. abstract def FireModeIndex_=(index: Int): Int
  4. abstract def NextFireMode: Mode

Concrete Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  6. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  7. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  8. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  9. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  10. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  11. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  12. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  13. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  14. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  15. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  16. def toString(): String
    Definition Classes
    AnyRef → Any
  17. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  18. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  19. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()

Inherited from AnyRef

Inherited from Any

Ungrouped