protected IUpdateSegment CommonSegmentResolve(
            [NotNull] FlagAccumulatorComponent flags,
            bool needsUpdate)
        {
            if (flags == null)
            {
                throw new ArgumentNullException(nameof(flags));
            }

            if (flags.Movement != null)
            {
                if (flags.Movement.IsWalking)
                {
                    return(new EntityMovementWalkSegment(
                               flags.Movement.Dir1.Direction, needsUpdate));
                }
                else
                {
                    return(new EntityMovementRunSegment(
                               flags.Movement.Dir1.Direction,
                               flags.Movement.Dir2.Direction,
                               needsUpdate));
                }
            }
            if (needsUpdate)
            {
                return(OnlyNeedsUpdateSegment.Instance);
            }

            return(NoUpdateSegment.Instance);
        }
Ejemplo n.º 2
0
 public NpcUpdateWriter([NotNull] FlagAccumulatorComponent accum) : base(accum)
 {
 }
Ejemplo n.º 3
0
 public LocalPlayerUpdateWriter(FlagAccumulatorComponent flags) : base(flags)
 {
 }
Ejemplo n.º 4
0
 public UpdateWriter([NotNull] FlagAccumulatorComponent accum)
 {
     _accum = accum;
 }