public override bool TryComplete( PlaceActing acting, DateTime now )
{
var completedOn = acting.StartOn + Requirement.Time;
if ( completedOn > now )
return false;
var place = acting.Place;
var player = acting.GetPlayer();
if ( Returns.Items != null && player != null )
player.Resources.AddItems( Returns.Items );
if ( Returns.Building != null )
place.SetBuilding( Returns.Building.Guid );
place.CheckPoint = completedOn;
if ( player != null )
{
var message = new GameMessageEntry( completedOn, string.Format( "通过不懈的努力,在位置 {0} 的活动 {1} 已经完成 {2}", place.Coordinate.ToRelative( player ), Name, Returns.DescriptiveMessage ) );
GameHost.MessageService.AddMessage( player.Guid, message );
}
return true;
}