GameFramework.UserPool.NewUser C# (CSharp) Method

NewUser() private method

private NewUser ( ) : User
return User
        internal User NewUser()
        {
            lock (this_lock_) {
            if (free_size_ == 0) {
              return null;
            }

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