MessageBoxButtonList
The MessageBoxButtonList
class is an extension of the BSScrollingList
class, which is designed to handle a list of message box button entries with dynamic border widths based on the content.
Filename: MessageBoxButtonList.as
Class Declaration
package {
import Shared.AS3.BSScrollingList;
public class MessageBoxButtonList extends BSScrollingList {
// Constructor and methods follow...
}
}
Constructor
MessageBoxButtonList
Initializes a new instance of the MessageBoxButtonList
class.
public function MessageBoxButtonList() {
super();
}
Methods
InvalidateData
Overrides the parent classβs InvalidateData
method to refresh the list and adjust entry border widths as necessary.
override public function InvalidateData() : * {
super.InvalidateData();
this.SetEntryBorderWidths();
}
SetEntryBorderWidths
A private method that calculates and sets the border width for each entry in the list based on the widest entry.
private function SetEntryBorderWidths() : * {
var _loc4_:MessageBoxButtonEntry = null;
var _loc5_:Number = NaN;
var _loc6_:MessageBoxButtonEntry = null;
var _loc1_:Number = 0;
var _loc2_:uint = 0;
// Determine the maximum border width required by any entry
while(_loc2_ < uiNumListItems) {
_loc4_ = GetClipByIndex(_loc2_) as MessageBoxButtonEntry;
if(_loc4_ && _loc4_.textField) {
_loc5_ = _loc4_.CalculateBorderWidth();
if(_loc5_ > _loc1_) {
_loc1_ = _loc5_;
}
}
_loc2_++;
}
// Set the calculated border width for all entries
var _loc3_:uint = 0;
while(_loc3_ < uiNumListItems) {
_loc6_ = GetClipByIndex(_loc3_) as MessageBoxButtonEntry;
if(_loc6_) {
_loc6_.SetBorderWidth(_loc1_);
}
_loc3_++;
}
}
updateScrollPosition
Overrides the updateScrollPosition
method from the base class to maintain border widths when the scrolling position is updated.
override protected function updateScrollPosition(param1:uint) : * {
super.updateScrollPosition(param1);
this.SetEntryBorderWidths();
}
Properties
The MessageBoxButtonList
class inherits all properties from its base class, BSScrollingList
, but does not introduce new properties of its own.
Remarks
π The SetEntryBorderWidths
method is responsible for ensuring that all entries in the MessageBoxButtonList
have consistent border widths.
π It is worth noting that the implementation details of GetClipByIndex
, CalculateBorderWidth
, and SetBorderWidth
are not provided in the provided code snippet and are assumed to be part of the MessageBoxButtonEntry
class or the parent BSScrollingList
.
π This class is likely part of a user interface system for a game where actionscript is employed for UI component creation and manipulation.
Table of Methods
Method | Visibility | Description |
---|---|---|
MessageBoxButtonList |
Public | Constructor initializing the class instance. |
InvalidateData |
Public (Override) | Refreshes the list and adjusts entry border widths. |
SetEntryBorderWidths |
Private | Calculates the optimal border width for all list entries. |
updateScrollPosition |
Protected (Override) | Updates the scroll position and maintains border widths. |
Note: The *
return type in the ActionScript language represents an untyped reference, which means that the method can return any type of value or object.