GameFramework.RoomPool.NewRoom C# (CSharp) Method

NewRoom() private method

private NewRoom ( ) : Room
return Room
        internal Room NewRoom()
        {
            if (free_size_ == 0) {
            return null;
              }

              uint ret_index = 0;
              for (int i = 0; i < pool_size_; ++i) {
            if (room_pool_[cur_position_].IsIdle) {
              ret_index = cur_position_;
              room_pool_[cur_position_].IsIdle = false;
              cur_position_ = ++cur_position_ % pool_size_;
              free_size_--;
              return room_pool_[ret_index];
            }
            cur_position_ = ++cur_position_ % pool_size_;
              }
              return null;
        }