private PackBase HandleWalkAction(SingleWalkAction walkAction) { if (walkAction == null) { return(null); } CreatureMovePack movePack = new CreatureMovePack(walkAction.CreatureId, walkAction.MovePath); FDCreature creature = GetCreature(walkAction.CreatureId); if (creature == null) { return(null); } if (walkAction.MovePath?.Desitination != null) { creature.SetMoveTo(walkAction.MovePath.Desitination); } if (walkAction.DelayUnits > 0) { IdlePack idle = IdlePack.FromTimeUnit(walkAction.DelayUnits); return(new SequencedPack(idle, movePack)); } return(movePack); }
private static ActivityBase BuildMoveCreatureActivity(CreatureMovePack pack) { if (pack == null) { throw new ArgumentNullException("CreatureMovePack"); } CreatureMoveActivity moveCreature = new CreatureMoveActivity(pack.CreatureId, pack.MovePath); return(moveCreature); }