public void setup()
        {
            var configuration = new EngineConfiguration();

            configuration.DeclareGlobalProperty("globalBoolean", true);
            configuration.DeclareGlobalProperty("globalBooleanNoStartingValue");

            configuration.DeclareGlobalProperty("globalNumber", BigDouble.One);
            configuration.DeclareGlobalProperty("globalNumberNoStartingValue");

            configuration.DeclareGlobalProperty("globalString", "startingValue");
            configuration.DeclareGlobalProperty("globalStringNoStartingValue");

            configuration.DeclareGlobalProperty("globalMapNoStartingValue");
            configuration.DeclareGlobalProperty("globalMap", new Dictionary <string, ValueReferenceDefinition>()
            {
                { "foo", new ValueReferenceDefinitionBuilder().WithStartingValue("bar").Build() }
            });

            configuration.DeclareGlobalProperty("incrementingNumberValue",
                                                new ValueReferenceDefinitionBuilder().WithUpdater((engine, parent, deltaTime, currentValue) =>
            {
                return((BigDouble)currentValue + BigDouble.One);
            })
                                                .Build());

            engine = new IdleEngine(configuration, null);
        }
        public ValueReference CreateValueReference(IdleEngine engine, ValueReference containingReference)
        {
            if (engine == null)
            {
                throw new ArgumentException("engine cannot be null");
            }
            if (HasChildValues) // Recursively create child references
            {
                var mapValues    = new ParentNotifyingMap(engine);
                var mapReference = new ValueReference(containingReference, mapValues, postUpdateHook);
                foreach (var entry in StartingValue as Dictionary <string, ValueReferenceDefinition> )
                {
                    mapValues[entry.Key] = entry.Value.CreateValueReference(engine, mapReference);
                }
                engine.RegisterReference(mapReference);
                return(mapReference);
            }
            var newReference = new ValueReference(containingReference, startingValue, updater, postUpdateHook);;

            engine.RegisterReference(newReference);
            return(newReference);
        }
Пример #3
0
        public void Setup()
        {
            var configuration = new EngineConfiguration();

            engine = new IdleEngine(configuration, null);
        }
 public void Setup()
 {
     engine = new IdleEngine(null, null);
 }
 public void Setup()
 {
     engine         = new IdleEngine(new EngineConfiguration(), null);
     valueReference = new ValueReferenceDefinitionBuilder().Build().CreateValueReference(engine);
 }
 public ValueReference CreateValueReference(IdleEngine engine)
 {
     return(CreateValueReference(engine, null));
 }