コード例 #1
0
        public void Initialize()
        {
            OverallInitializer.Initialize();

            mBaseEntity = new EntitySave();
            mBaseEntity.Name = "BaseEntityInheritanceTests";
            ObjectFinder.Self.GlueProject.Entities.Add(mBaseEntity);

            NamedObjectSave nos = new NamedObjectSave();
            nos.InstanceName = "SpriteInstance";
            nos.SourceType = SourceType.FlatRedBallType;
            nos.SourceClassType = "Sprite";
            nos.SetByDerived = true;
            mBaseEntity.NamedObjects.Add(nos);

            nos = new NamedObjectSave();
            nos.InstanceName = "RectInstance";
            nos.SourceType = SourceType.FlatRedBallType;
            nos.SourceClassType = "AxisAlignedRectangle";
            nos.ExposedInDerived = true;
            mBaseEntity.NamedObjects.Add(nos);

            mDerivedEntity = new EntitySave();
            mDerivedEntity.Name = "DerivedentityInheritanceTests";
            mDerivedEntity.BaseEntity = mBaseEntity.Name;
            mDerivedEntity.UpdateFromBaseType();
            ObjectFinder.Self.GlueProject.Entities.Add(mDerivedEntity);

            mDerivedElementRuntime = new ElementRuntime(mDerivedEntity, null, null, null, null);
        }
コード例 #2
0
        private void CreateDerivedElementRuntime()
        {
            mDerivedEntitySave = new EntitySave();
            mDerivedEntitySave.Name = "DerivedVariableSettingEntity";
            mDerivedEntitySave.BaseEntity = mEntitySave.Name;
            ObjectFinder.Self.GlueProject.Entities.Add(mDerivedEntitySave);
            mDerivedEntitySave.UpdateFromBaseType();
            mDerivedEntitySave.GetCustomVariable("CurrentState").DefaultValue = "Uncategorized";


            mDerivedElementRuntime = new ElementRuntime(mDerivedEntitySave, null, null, null, null);


        }
コード例 #3
0
        public void Initialize()
        {
            OverallInitializer.Initialize();

            ExposedVariableManager.Initialize();
            mEntitySave = CreateEntitySaveWithStates("ExposedVariableEntity");
            mEntitySave.ImplementsIVisible = true;
            ObjectFinder.Self.GlueProject.Entities.Add(mEntitySave);

            mDerivedEntitySave = new EntitySave();
            mDerivedEntitySave.BaseEntity = mEntitySave.Name;
            mDerivedEntitySave.Name = "DerivedExposedVariableEntity";
            ObjectFinder.Self.GlueProject.Entities.Add(mDerivedEntitySave);

            mEntityWithCategorizedThatShareVariables = new EntitySave();
            mEntityWithCategorizedThatShareVariables.Name = "ExposedVariableTestEntityWithCategorizedThatShareVariables";
            ObjectFinder.Self.GlueProject.Entities.Add(mEntityWithCategorizedThatShareVariables);
            StateSaveCategory category = new StateSaveCategory();
            category.SharesVariablesWithOtherCategories = true; // this is important - it means that it won't make a new enum or property, so it is just the "CurrentState" variable
            category.Name = "Category1";
            mEntityWithCategorizedThatShareVariables.StateCategoryList.Add(category);
            StateSave stateSave = new StateSave();
            stateSave.Name = "CategorizedState1";
            category.States.Add(stateSave);

            mContainerBaseEntity = new EntitySave();
            mContainerBaseEntity.Name = "ExposedVariableTestContainerBaseEntity";
            ObjectFinder.Self.GlueProject.Entities.Add(mContainerBaseEntity);
            NamedObjectSave namedObjectSave = new NamedObjectSave();
            namedObjectSave.InstanceName = mEntitySave.Name + "Instance";
            namedObjectSave.SourceType = SourceType.Entity;
            namedObjectSave.SourceClassType = mEntitySave.Name;
            mContainerBaseEntity.NamedObjects.Add(namedObjectSave);
            CustomVariable tunneledVariable = new CustomVariable();
            tunneledVariable.Name = "TunneledStateVariable";
            tunneledVariable.SourceObject = namedObjectSave.InstanceName;
            tunneledVariable.SourceObjectProperty = "Current" + mEntitySave.StateCategoryList[0].Name + "State";
            tunneledVariable.Type = mEntitySave.StateCategoryList[0].Name;
            tunneledVariable.SetByDerived = true;
            mContainerBaseEntity.CustomVariables.Add(tunneledVariable);

            mContainerDerivedEntity = new EntitySave();
            mContainerDerivedEntity.Name = "ExposedVariableTestContainerDerivedEntity";
            ObjectFinder.Self.GlueProject.Entities.Add(mContainerDerivedEntity);
            mContainerDerivedEntity.BaseEntity = mContainerBaseEntity.Name;
            mContainerDerivedEntity.UpdateFromBaseType();
            mContainerDerivedEntity.GetCustomVariable(tunneledVariable.Name).DefaultValue = mEntitySave.StateCategoryList[0].States[0].Name;

            CreateCsvContainerEntitySave();
        }
コード例 #4
0
ファイル: StateTests.cs プロジェクト: vchelaru/FlatRedBall
        public void Initialize()
        {
            OverallInitializer.Initialize();

            CreateEntitySave();

            mDerivedEntitySave = new EntitySave();
            mDerivedEntitySave.Name = "StateTestDerivedEntity";
            mDerivedEntitySave.BaseEntity = mEntitySave.Name;
            mDerivedEntitySave.UpdateFromBaseType();
            ObjectFinder.Self.GlueProject.Entities.Add(mDerivedEntitySave);

            CreateContainerEntitySave();

            CreateDerivedContainerEntitySave();

            Container.Set(new StateSaveSetVariableLogic());
        }
コード例 #5
0
        private static void ReactToChangedBaseEntity(object oldValue, EntitySave entitySave)
        {
            bool isValidBase = GetIfCurrentEntityBaseIsValid(entitySave);

            if (isValidBase == false)
            {
                entitySave.BaseEntity = (string)oldValue;
                MainGlueWindow.Self.PropertyGrid.Refresh();
            }
            else
            {

                List<CustomVariable> variablesBefore = new List<CustomVariable>();
                variablesBefore.AddRange(entitySave.CustomVariables);

                entitySave.UpdateFromBaseType();

                AskToPreserveVariables(entitySave, variablesBefore);
            }
        }
コード例 #6
0
        private void CreateDerivedEntitySave()
        {
            mDerivedEntitySave = new EntitySave();
            mDerivedEntitySave.Name = "DerivedCustomVariableTestsEntity";
            ObjectFinder.Self.GlueProject.Entities.Add(mDerivedEntitySave);

            mDerivedEntitySave.BaseEntity = mEntitySave.Name;
            mDerivedEntitySave.UpdateFromBaseType();
        }