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); }
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); }
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(); }
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()); }
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); } }
private void CreateDerivedEntitySave() { mDerivedEntitySave = new EntitySave(); mDerivedEntitySave.Name = "DerivedCustomVariableTestsEntity"; ObjectFinder.Self.GlueProject.Entities.Add(mDerivedEntitySave); mDerivedEntitySave.BaseEntity = mEntitySave.Name; mDerivedEntitySave.UpdateFromBaseType(); }