Files
alternativaphysics-archive/0.0.9.0/src/alternativa/physics/.svn/text-base/BodyListItem.as.svn-base
2024-10-05 12:31:02 +01:00

74 lines
1.3 KiB
Plaintext

package alternativa.physics {
/**
*
*/
public class BodyListItem {
// Верхний элемент хранилища
private static var poolTop:BodyListItem;
/**
* Создаёт новый элемент списка.
*
* @param primitive примитив, содержащийся в элементе
* @return новый элемент списка
*/
public static function create(body:Body):BodyListItem {
var item:BodyListItem;
if (poolTop == null) {
item = new BodyListItem(body);
} else {
item = poolTop;
poolTop = item.next;
item.next = null;
item.body = body;
}
return item;
}
/**
* Очищает хранилище.
*/
public static function clearPool():void {
var item:BodyListItem = poolTop;
while (item != null) {
poolTop = item.next;
item.next = null;
item = poolTop;
}
}
/**
*
*/
public var body:Body;
/**
*
*/
public var next:BodyListItem;
/**
*
*/
public var prev:BodyListItem;
/**
*
* @param body
*/
public function BodyListItem(body:Body) {
this.body = body;
}
/**
*
*/
public function dispose():void {
body = null;
prev = null;
next = poolTop;
poolTop = this;
}
}
}