public ScreenObject GetNextInactiveObject() { for (int i = 0; i < ScreenObjectList.Count; i++) { lastObject = (lastObject + 1) % ScreenObjectList.Count(); if (ScreenObjectList[lastObject].state == STATE_INACTIVE) { return(ScreenObjectList[lastObject]); } } return(ghost); }
public bool ActivateObject() { int count = 0; lastActivatedObject = (lastActivatedObject + 1) % ScreenObjectList.Count(); while (ScreenObjectList[lastActivatedObject].state > STATE_INACTIVE) { count++; if (count > ScreenObjectList.Count()) { return(false); } } ScreenObjectList[lastActivatedObject].changeState(STATE_ACTIVE); return(true); }