コード例 #1
0
        public void UpdateLocomotorSpeedRate()
        {
            DeleteLocomotorSpeedRateTask();
            if (m_previous_max_speed == m_current_max_speed)
            {
                return;
            }
            m_previous_max_speed = m_current_max_speed;
            CalculateLocomotorSpeedrate();
#if COMBAT_CLIENT
            ChangeLocomotorSpeedRenderMessage msg = RenderMessage.Create <ChangeLocomotorSpeedRenderMessage>();
            msg.Construct(ParentObject.ID, m_locomotor_speed_rate);
            GetLogicWorld().AddRenderMessage(msg);
#endif
        }
コード例 #2
0
        void ProcessRenderMessage_ChangeLocomotorSpeed(ChangeLocomotorSpeedRenderMessage msg)
        {
            RenderEntity render_entity = m_render_entity_manager.GetObject(msg.EntityID);

            if (render_entity == null)
            {
                return;
            }
            AnimationComponent animation_component = render_entity.GetComponent <AnimationComponent>();

            if (animation_component != null)
            {
                animation_component.LocomotorAnimationSpeed = (float)msg.m_animation_rate;
            }
            AnimatorComponent animator_component = render_entity.GetComponent <AnimatorComponent>();

            if (animator_component != null)
            {
                animator_component.LocomotorAnimationSpeed = (float)msg.m_animation_rate;
            }
        }