package Startmaze import public RegionData import public Teleporter import public Revivepoint import public EscaperKillers import public GameConstants import public BuilderConstants import public ObstacleObjects public constant boolexpr pickFilter = Condition(() -> GetFilterUnit().getOwner() == STAFF_PLAYER) public abstract class Startmaze boolean inited = false RegionData rdata = RegionData.EMPTY_REGION abstract function initMaze() function isInit() returns boolean return inited function clearMaze() GroupEnumUnitsInRect(ENUM_GROUP, rdata.theRect, Filter(() -> GetFilterUnit().getOwner() == STAFF_PLAYER)) for vicu from ENUM_GROUP if vicu.isAlive() and vicu.getPos().isInRect(rdata.theRect) let data = vicu.getEntity() if data != null and data.actor.getName() != null and data.typeId > 0 Log.debug("clear") data.terminate() else vicu.remove() EnumDestructablesInRectAll(rdata.theRect, function killD) EnumItemsInRect(rdata.theRect, null, function deleteKeys) abstract function getStart() returns vec2 public function killD() RemoveDestructable(GetEnumDestructable()) public function deleteKeys() let itm = GetEnumItem() if(itm.getEntity() != null) Log.debug("Delete Keys") itm.getEntity().terminate() else itm.remove()