protected override void Initialize( GameRulesBase rules, JObject data ) { base.Initialize( rules, data ); Name = data.Value<string>( "Name" ); Description = data.Value<string>( "Description" ); InstanceType = rules.GetType( (string) data.Value<string>( "InstanceType" ), typeof( Item ) ); }
protected override void Initialize( GameRulesBase rules, JObject data ) { base.Initialize( rules, data ); dynamic d = data; Name = d.Name; Description = d.Description; MobilityMaximum = d.Mobility.Maximum; MobilityRecoveryCycle = d.Mobility.RecoveryCycle; MobilityRecoveryScale = d.Mobility.RecoveryScale; InstanceType = rules.GetType( (string) d.InstanceType, typeof( Unit ) ); }
public static UnitRestriction FromData( GameRulesBase rules, JToken data ) { var value = data as JValue; if ( value != null ) { var unit = rules.GetDataItem<UnitDescriptor>( value.GuidValue() ); return new UnitRestriction { Unit = unit, }; } else return null; }
public static void Initialize( GameRulesBase rules, IGameDataService dataService, IGameMessageService messageService ) { if ( rules == null ) throw new ArgumentNullException( "rules" ); if ( dataService == null ) throw new ArgumentNullException( "dataService" ); if ( messageService == null ) throw new ArgumentNullException( "messageService" ); GameRules = rules; DataService = dataService; MessageService = messageService; rules.Initialize(); DataService.Initialize(); }
public ActionConstraint( GameRulesBase rules, JObject data ) { _data = data; BuildingDescriptors = new HashSet<Guid>(); TerrainDescriptors = new HashSet<Guid>(); UnitDescriptors = new HashSet<Guid>(); { var constraint = _data["Building"] as JObject; if ( constraint != null ) { var descriptors = constraint["Descriptors"] as JArray ?? new JArray(); foreach ( JValue item in descriptors ) { var guid = item.GuidValue(); if ( guid.HasValue ) BuildingDescriptors.Add( guid.Value ); } var typeName = (string) constraint["Type"]; BuildingType = rules.GetType( typeName ); } } { var constraint = _data["Terrain"] as JObject; if ( constraint != null ) { var descriptors = constraint["Descriptors"] as JArray ?? new JArray(); foreach ( JValue item in descriptors ) { var guid = item.GuidValue(); if ( guid.HasValue ) TerrainDescriptors.Add( guid.Value ); } var typeName = (string) constraint["Type"]; TerrainType = rules.GetType( typeName ); } } }
protected override void Initialize( GameRulesBase rules, JObject data ) { base.Initialize( rules, data ); Constraint = rules.CreateConstraint( (JObject) data["Constraint"] ); Requirement = ActionInvestmentDescriptor.FromData( (JObject) data["Requirement"] ); Returns = ActionReturnsDescriptor.FromData( (JObject) data["Returns"] ); if ( data.Value<string>( "Name" ) == null ) _name = DefaultName(); else _name = data.Value<string>( "Name" ); if ( data.Value<string>( "Description" ) == null ) _description = DefaultDescription(); else _description = data.Value<string>( "Description" ); }
/// <summary> /// 初始化游戏规则数据 /// </summary> /// <param name="data">游戏规则数据</param> protected virtual void Initialize( GameRulesBase rules, JObject data ) { if ( data == null ) throw new ArgumentNullException( "data" ); Guid = (Guid) data.GuidValue( "ID" ); Data = (JObject) data.DeepClone(); }
internal void InitializeData( GameRulesBase rules, JObject data ) { Initialize( rules, data ); AlreadyInitialized = true; }