Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
04/13/10 06:41:56 (14 years ago)
Author:
swagner
Message:

Implemented ReadOnlyView property for items (#969).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.Problems.ArtificialAnt/3.3/AntTrail.cs

    r3239 r3317  
    3434  [StorableClass]
    3535  public sealed class AntTrail : Item {
     36    [Storable]
    3637    private SymbolicExpressionTree expression;
    37     [Storable]
    3838    public SymbolicExpressionTree SymbolicExpressionTree {
    3939      get { return expression; }
     
    4848    }
    4949
     50    [Storable]
    5051    private BoolMatrix world;
    51     [Storable]
    5252    public BoolMatrix World {
    5353      get { return world; }
     
    6161      }
    6262    }
     63    [Storable]
    6364    private IntValue maxTimeSteps;
    64     [Storable]
    6565    public IntValue MaxTimeSteps {
    6666      get { return maxTimeSteps; }
     
    8080    public AntTrail(BoolMatrix world, SymbolicExpressionTree expression, IntValue maxTimeSteps)
    8181      : this() {
    82       World = world;
    83       SymbolicExpressionTree = expression;
    84       MaxTimeSteps = maxTimeSteps;
     82      this.world = world;
     83      this.expression = expression;
     84      this.maxTimeSteps = maxTimeSteps;
     85      Initialize();
     86    }
     87    [StorableConstructor]
     88    private AntTrail(bool deserializing) : base(deserializing) { }
     89
     90    [StorableHook(HookType.AfterDeserialization)]
     91    private void Initialize() {
     92      //if (expression != null) RegisterSymbolicExpressionTreeEvents();
     93      if (world != null) RegisterWorldEvents();
     94      if (maxTimeSteps != null) RegisterMaxTimeStepsEvents();
    8595    }
    8696
     
    8898      AntTrail clone = new AntTrail();
    8999      cloner.RegisterClonedObject(this, clone);
     100      clone.ReadOnlyView = ReadOnlyView;
    90101      clone.expression = (SymbolicExpressionTree)cloner.Clone(expression);
    91102      clone.world = (BoolMatrix)cloner.Clone(world);
    92103      clone.maxTimeSteps = (IntValue)cloner.Clone(maxTimeSteps);
     104      clone.Initialize();
    93105      return clone;
    94106    }
Note: See TracChangeset for help on using the changeset viewer.