Ejemplo n.º 1
0
        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 ) );
        }
Ejemplo n.º 2
0
        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 ) );
        }
Ejemplo n.º 3
0
    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;

    }
Ejemplo n.º 4
0
        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();
        }
Ejemplo n.º 5
0
        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 );
            }
              }
        }
Ejemplo n.º 6
0
        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" );
        }
Ejemplo n.º 7
0
        /// <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();
        }
Ejemplo n.º 8
0
        internal void InitializeData( GameRulesBase rules, JObject data )
        {
            Initialize( rules, data );

              AlreadyInitialized = true;
        }