StartAt() static private method

在指定地块开始这个活动
static private StartAt ( GamePlayer player, HelloWorld.Place place, ActionDescriptorBase action ) : PlaceActing
player GamePlayer
place HelloWorld.Place 要开始活动的地块
action ActionDescriptorBase
return PlaceActing
示例#1
0
        /// <summary>
        /// 尝试在指定地块开始这个活动
        /// </summary>
        /// <param name="place">要开始活动的地方</param>
        /// <returns>正在进行的活动</returns>
        protected virtual PlaceActing TryStartAt(GamePlayer player, Place place)
        {
            lock ( place )
            {
                if (place.Acting != null)
                {
                    throw new InvalidOperationException("土地上已经存在一个正在进行的活动");
                }

                if (Requirement.TryInvest(place) == false)
                {
                    return(null);
                }
            }


            return(PlaceActing.StartAt(player, place, this));
        }