<commit_before>////////////////////////////////////////////////////////////////////////////////
//                                                                            //
// This file is part of Swift2D.                                              //
//                                                                            //
// Copyright: (c) 2011-2014 <NAME> & <NAME>                    //
//                                                                            //
////////////////////////////////////////////////////////////////////////////////

#include <swift2d/components/NetworkPositionUpdateComponent.hpp>

#include <swift2d/components/LifeComponent.hpp>
#include <swift2d/scene/SceneObject.hpp>

namespace swift {

////////////////////////////////////////////////////////////////////////////////

NetworkPositionUpdateComponent::NetworkPositionUpdateComponent(bool is_local)
  : update_interval_(0.1)
  , time_(0)
  , is_local_(is_local) {

  if (!is_local_) {
    PosRotUpdate.on_change().connect([this](math::vec3 const& val) {
      if (body_) {
        body_->set_transform(val.xy(), val.z());
      }
      return true;
    });

    LinAngUpdate.on_change().connect([this](math::vec3 const& val) {
      if (body_) {
        body_->set_linear_velocity(val.xy());
        body_->set_angular_velocity(val.z());
      }
      return true;
    });
  }

}

////////////////////////////////////////////////////////////////////////////////

void NetworkPositionUpdateComponent::update(double time) {

  if (!body_) {
    body_ = get_user()->get_component<DynamicBodyComponent>();

    if (!body_) {
      LOG_WARNING << "Failed to initialize NetworkPositionUpdateComponent: No DynamicBodyComponent found!" << std::endl;
    }
  }

  if (is_local_) {
    time_ += time;
    if (time_ > update_interval_) {
      time_ = 0.f;<commit_msg>fixed bullet start position<commit_after>////////////////////////////////////////////////////////////////////////////////
//                                                                            //
// This file is part of Swift2D.                                              //
//                                                                            //
// Copyright: (c) 2011-2014 <NAME> & <NAME>                    //
//                                                                            //
////////////////////////////////////////////////////////////////////////////////

#include <swift2d/components/NetworkPositionUpdateComponent.hpp>

#include <swift2d/components/LifeComponent.hpp>
#include <swift2d/scene/SceneObject.hpp>

namespace swift {

////////////////////////////////////////////////////////////////////////////////

NetworkPositionUpdateComponent::NetworkPositionUpdateComponent(bool is_local)
  : update_interval_(0.1)
  , time_(update_interval_)
  , is_local_(is_local) {

  if (!is_local_) {
    PosRotUpdate.on_change().connect([this](math::vec3 const& val) {
      if (body_) {
        body_->set_transform(val.xy(), val.z());
      }
      return true;
    });

    LinAngUpdate.on_change().connect([this](math::vec3 const& val) {
      if (body_) {
        body_->set_linear_velocity(val.xy());
        body_->set_angular_velocity(val.z());
      }
      return true;
    });
  }

}

////////////////////////////////////////////////////////////////////////////////

void NetworkPositionUpdateComponent::update(double time) {

  if (!body_) {
    body_ = get_user()->get_component<DynamicBodyComponent>();

    if (!body_) {
      LOG_WARNING << "Failed to initialize NetworkPositionUpdateComponent: No DynamicBodyComponent found!" << std::endl;
    }
  }

  if (is_local_) {
    time_ += time;
    if (time_ >= update_interval_) {
      time_ = 0.f;
{'fraction_non_alphanumeric': 0.27318763326226014, 'fraction_numerical': 0.009328358208955223, 'mean_word_length': 1.0689084895259096, 'pattern_counts': {'":': 0, '<': 23, '<?xml version=': 0, '>': 25, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 22, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '825115', 'n_tokens_mistral': 872, 'n_tokens_neox': 828, 'n_words': 146}