HelloWorld.PlaceActing.FromData C# (CSharp) Method

FromData() public static method

从 JSON 数据中读取
public static FromData ( HelloWorld.Place place, Newtonsoft.Json.Linq.JObject data ) : PlaceActing
place HelloWorld.Place 活动所处地块
data Newtonsoft.Json.Linq.JObject 活动数据
return PlaceActing
        public static PlaceActing FromData( Place place, JObject data )
        {
            if ( place == null )
            throw new ArgumentNullException( "place" );

              if ( data == null )
            return null;

              var startOn = data.Value<DateTime>( "StartOn" );
              var playerId = data.GuidValue( "PlayerID" );
              var action = GameHost.GameRules.GetDataItem<ActionDescriptorBase>( data.GuidValue( "ActionDescriptor" ) );

              if ( action == null )
            return null;

              return new PlaceActing
              {
            PlayerID = playerId,
            Place = place,
            StartOn = startOn,
            ActionDescriptor = action,
              };
        }

Usage Example

示例#1
0
文件: Place.cs 项目: Ivony/HelloWorld
        /// <summary>
        /// 初始化 Place 对象
        /// </summary>
        protected override void Initialize()
        {
            {
                var items = ItemListJsonConverter.FromJson((JObject)DataObject.Resources);
                Resources = new ItemCollection(items, collection =>
                {
                    DataObject.Resources = ItemListJsonConverter.ToJson(collection);
                });
            }


            Acting = PlaceActing.FromData(this, (JObject)DataObject.Acting);


            Terrain       = InitializeImmovableInstance <Terrain>((JsonDataObject)DataObject.Terrain);
            TraficNetwork = InitializeImmovableInstance <TraficNetwork>((JsonDataObject)DataObject.TraficNetwork);
            Building      = InitializeImmovableInstance <Building>((JsonDataObject)DataObject.Building);



            base.Initialize();
        }