コード例 #1
0
    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>());
    }
コード例 #2
0
 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];
         }
     }
 }
コード例 #3
0
ファイル: GumProjectSave.cs プロジェクト: derKosi/Gum
        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);
                }
            }
        }
コード例 #4
0
 void Awake()
 {
     editingCoil         = GetComponent <Coil>();
     componentReferences = GetComponent <ComponentReferences>();
     spriteRenderer      = GetComponent <SpriteRenderer>();
 }
コード例 #5
0
 void Awake()
 {
     connections    = GetComponent <ComponentReferences>();
     spriteRenderer = GetComponent <SpriteRenderer>();
     collider       = GetComponent <Collider2D>();
 }
コード例 #6
0
 void Awake()
 {
     contact             = GetComponent <Contact>();
     componentReferences = GetComponent <ComponentReferences>();
     spriteRenderer      = GetComponent <SpriteRenderer>();
 }
コード例 #7
0
 void Awake()
 {
     componentReferences = GetComponent <ComponentReferences>();
 }
コード例 #8
0
 void Awake()
 {
     electricSolenoid    = GetComponent <ElectricSolenoid>();
     componentReferences = GetComponent <ComponentReferences>();
     spriteRenderer      = GetComponent <SpriteRenderer>();
 }
コード例 #9
0
 void Awake()
 {
     componentReferences = GetComponent <ComponentReferences>();
     spriteRenderer      = GetComponent <SpriteRenderer>();
     sensor = GetComponent <Sensor>();
 }
コード例 #10
0
 void Awake()
 {
     componentReferences = GetComponent <ComponentReferences>();
     cylinderEditing     = GetComponent <CylinderEditing>();
 }