public string CheckCurrentStatus(RedirectedUnit[] otherUnits, string previousStatus) { List <Object2D> otherUsers = GetUsers(otherUnits); if (status == "WALL_RESET") { if (previousStatus == "DONE") { status = "IDLE"; } } else if (status == "USER_RESET") { if (previousStatus == "DONE") { status = "IDLE"; } } else if (status == "IDLE") { if (resetter.NeedWallReset(realUser, realSpace)) { resultData.AddWallReset(); status = "WALL_RESET"; } else if (resetter.NeedUserReset(realUser, otherUsers, out intersectedUser)) { resultData.AddUserReset(); status = "USER_RESET"; } else if (!GetEpisode().IsNotEnd()) { status = "END"; } } return(status); }