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); }
public NpcUpdateWriter([NotNull] FlagAccumulatorComponent accum) : base(accum) { }
public LocalPlayerUpdateWriter(FlagAccumulatorComponent flags) : base(flags) { }
public UpdateWriter([NotNull] FlagAccumulatorComponent accum) { _accum = accum; }