void CreateSavedComponentData(SavedComponentData componentData, BaseComponent baseComponent) { componentData.name = baseComponent.name; componentData.componentId = baseComponent.gameObject.GetInstanceID(); componentData.position = baseComponent.transform.position; componentData.rotation = baseComponent.transform.rotation.eulerAngles.z; ComponentReferences componentReferences = baseComponent.GetComponent <ComponentReferences>(); List <Connector> connectorList = componentReferences.connectorList; componentData.connectors = new SavedConnectorData[connectorList.Count]; for (int i = 0; i < connectorList.Count; ++i) { componentData.connectors[i] = new SavedConnectorData(); CreateSavedConnectorData(componentData.connectors[i], connectorList[i]); } List <PneumaticSolenoid> solenoidList = componentReferences.solenoidList; componentData.solenoids = new SavedSolenoidData[solenoidList.Count]; for (int i = 0; i < solenoidList.Count; ++i) { componentData.solenoids[i] = new SavedSolenoidData(); CreateSavedSolenoidData(componentData.solenoids[i], solenoidList[i]); } FillContactCorrelationInfo(componentData, baseComponent.GetComponent <Contact>()); FillCylinderInfo(componentData, baseComponent.GetComponent <CylinderEditing>()); FillCoilInfo(componentData, baseComponent.GetComponent <Coil>()); }
void BuildConnectorDictionary() { idToConnector = new Dictionary <int, Connector>(); foreach (var component in data.components) { for (int i = 0; i < component.connectors.Length; ++i) { BaseComponent target = idToComponent[component.componentId]; ComponentReferences targetConnections = target.GetComponent <ComponentReferences>(); idToConnector[component.connectors[i].connectorId] = targetConnections.connectorList[i]; } } }
public void ReloadElement(ElementSave element) { string projectRootDirectory = FileManager.GetDirectory(this.FullFileName); var gumLoadResult = new GumLoadResult(); if (element is ScreenSave) { var matchingReference = ScreenReferences.FirstOrDefault(item => item.Name == element.Name); ScreenSave newScreen = matchingReference?.ToElementSave <ScreenSave>( projectRootDirectory, GumProjectSave.ScreenExtension, gumLoadResult); if (newScreen != null) { Screens.Remove(element as ScreenSave); Screens.Add(newScreen); } } else if (element is ComponentSave) { var matchingReference = ComponentReferences.FirstOrDefault(item => item.Name == element.Name); ComponentSave newComonent = matchingReference?.ToElementSave <ComponentSave>( projectRootDirectory, GumProjectSave.ComponentExtension, gumLoadResult); if (newComonent != null) { Components.Remove(element as ComponentSave); Components.Add(newComonent); } } else if (element is StandardElementSave) { var matchingReference = StandardElementReferences.FirstOrDefault(item => item.Name == element.Name); StandardElementSave newStandardElement = matchingReference?.ToElementSave <StandardElementSave>( projectRootDirectory, GumProjectSave.ComponentExtension, gumLoadResult); if (newStandardElement != null) { StandardElements.Remove(element as StandardElementSave); StandardElements.Add(newStandardElement); } } }
void Awake() { editingCoil = GetComponent <Coil>(); componentReferences = GetComponent <ComponentReferences>(); spriteRenderer = GetComponent <SpriteRenderer>(); }
void Awake() { connections = GetComponent <ComponentReferences>(); spriteRenderer = GetComponent <SpriteRenderer>(); collider = GetComponent <Collider2D>(); }
void Awake() { contact = GetComponent <Contact>(); componentReferences = GetComponent <ComponentReferences>(); spriteRenderer = GetComponent <SpriteRenderer>(); }
void Awake() { componentReferences = GetComponent <ComponentReferences>(); }
void Awake() { electricSolenoid = GetComponent <ElectricSolenoid>(); componentReferences = GetComponent <ComponentReferences>(); spriteRenderer = GetComponent <SpriteRenderer>(); }
void Awake() { componentReferences = GetComponent <ComponentReferences>(); spriteRenderer = GetComponent <SpriteRenderer>(); sensor = GetComponent <Sensor>(); }
void Awake() { componentReferences = GetComponent <ComponentReferences>(); cylinderEditing = GetComponent <CylinderEditing>(); }