/// <summary> /// 检查活动是否已经完成,若已经完成则获取相应的收益 /// </summary> /// <param name="acting">正在进行的活动</param> /// <returns>活动是否已经完成</returns> 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); }
/// <summary> /// 检查活动是否已经完成,若已经完成则获取相应的收益 /// </summary> /// <param name="acting">正在进行的活动</param> /// <returns>活动是否已经完成</returns> 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; }