Script v1.7.1.0
- AI
- Animals
- Contracts
- Debug
- Economy
- Effects
- Events
- Farms
- GUI
- Handtools
- I3d
- Materials
- Misc
- Objects
- Placeables
- Player
- Shop
- Sounds
- Specializations
- Triggers
- Utils
- Vehicles
- Weather
Engine v1.7.1.0
- AI
- Animation
- Camera
- Entity
- Fillplanes
- General
- I3D
- Input
- Lighting
- Math
- Network
- Node
- Overlays
- Particle System
- Physics
- JointConstructor:setActors
- JointConstructor:setJointTransforms
- addDifferential
- addForce
- addImpulse
- addTorque
- addTorqueImpulse
- addVehicleLink
- computeWheelShapeTireForces
- createCCT
- createWheelShape
- getAngularDamping
- getAngularVelocity
- getCCTCollisionFlags
- getCenterOfMass
- getCollisionMask
- getDensity
- getLinearDamping
- getLinearVelocity
- getMass
- getMotorRotationSpeed
- getRigidBodyType
- getVelocityAtLocalPos
- getVelocityAtWorldPos
- getVolume
- getWheelShapeAxleSpeed
- getWheelShapeContactForce
- getWheelShapeContactNormal
- getWheelShapeContactObject
- getWheelShapeContactPoint
- getWheelShapePosition
- getWheelShapeSlip
- moveCCT
- overlapBox
- overlapSphere
- raycastAll
- raycastClosest
- removeCCT
- setAngularDamping
- setAngularVelocity
- setCenterOfMass
- setCollisionMask
- setFrictionVelocity
- setJointDrive
- setLinearDamping
- setLinearVelocity
- setMass
- setRigidBodyType
- setSolverIterationCount
- setWheelShapeForcePoint
- setWheelShapeProps
- setWheelShapeTireFriction
- simulatePhysics
- simulatePhysicsTimeScale
- updateDifferential
- Rendering
- Scenegraph
- Shape
- Sound
- Spline
- String
- Terrain Detail
- Text Rendering
- Tire Track
- XML
- general
Foundation Reference
IndexChangeSubjectMixin
DescriptionAdd this mixin to a GuiElement to implement an observer pattern for index changes (e.g. paging, options, lists).Functions
addIndexChangeObserver
DescriptionAdd an index change observer with a callback.Definition
addIndexChangeObserver(guiElement Decorated, observer Observer, indexChangeCallback Function(observer,)Arguments
guiElement | Decorated | GuiElement instance which has received this method |
observer | Observer | object instance |
indexChangeCallback | Function(observer, | index, count), where index is the new index and count the current number of indexable items |
48 | function IndexChangeSubjectMixin.addIndexChangeObserver(guiElement, observer, indexChangeCallback) |
49 | guiElement[IndexChangeSubjectMixin].callbacks[observer] = indexChangeCallback |
50 | end |
addTo
DescriptionSee GuiMixin:addTo()Definition
addTo()Code
32 | function IndexChangeSubjectMixin:addTo(guiElement) |
33 | if IndexChangeSubjectMixin:superClass().addTo(self, guiElement) then |
34 | guiElement.addIndexChangeObserver = IndexChangeSubjectMixin.addIndexChangeObserver |
35 | guiElement.notifyIndexChange = IndexChangeSubjectMixin.notifyIndexChange |
36 | |
37 | return true |
38 | else |
39 | return false |
40 | end |
41 | end |
clone
DescriptionClone this mixin's state from a source to a destination GuiElement instance.Definition
clone()Code
67 | function IndexChangeSubjectMixin:clone(srcGuiElement, dstGuiElement) |
68 | dstGuiElement[IndexChangeSubjectMixin].callbacks = {unpack(srcGuiElement[IndexChangeSubjectMixin])} |
69 | end |
new
DescriptionDefinitionnew()Code
23 | function IndexChangeSubjectMixin:new() |
24 | local self = GuiMixin.new(IndexableElementMixin_mt, IndexChangeSubjectMixin) |
25 | self.callbacks = {} -- {observer=callback} |
26 | |
27 | return self |
28 | end |
notifyIndexChange
DescriptionNotify observers of an index change.Definition
notifyIndexChange(guiElement Decorated, index New, count Indexable)Arguments
guiElement | Decorated | GuiElement instance which has received this method |
index | New | index |
count | Indexable | item count |
57 | function IndexChangeSubjectMixin.notifyIndexChange(guiElement, index, count) |
58 | local callbacks = guiElement[IndexChangeSubjectMixin].callbacks |
59 | |
60 | for observer, callback in pairs(callbacks) do |
61 | callback(observer, index, count) |
62 | end |
63 | end |