Ejemplo n.º 1
0
    public void Save(string fileName)
    {
        if (!string.IsNullOrEmpty(fileName))
        {
            LastFileName = fileName;
        }
        else if (string.IsNullOrEmpty(LastFileName))
        {
            throw new ArgumentNullException("fileName");
        }

        GUICircuitComponent[] components = FindObjectsOfType <GUICircuitComponent>();
        Line[] lines = FindObjectsOfType <Line>();

        BinaryFormatter          binaryFormatter     = new BinaryFormatter();
        FileStream               fileStream          = new FileStream(LastFileName, FileMode.OpenOrCreate);
        List <SimulationElement> elementsToSerialize = new List <SimulationElement>();
        List <LineEntity>        linesToSerialize    = new List <LineEntity>();

        foreach (GUICircuitComponent component in components)
        {
            if (!component.CompareTag("ActiveItem"))
            {
                continue;
            }
            SimulationElement element = component.Entity;
            if (element != null)
            {
                elementsToSerialize.Add(element);
            }
        }

        foreach (Line line in lines)
        {
            linesToSerialize.Add(new LineEntity
            {
                StartConnectorId = line.Begin.GetComponentInChildren <Connector>().GetInstanceID(),
                EndConnectorId   = line.End.GetComponentInChildren <Connector>().GetInstanceID(),
                LineType         = line.TypeOfLine
            });
        }

        SerializationPackage package = new SerializationPackage
        {
            LineEntities       = linesToSerialize,
            SimulationElements = elementsToSerialize
        };


        binaryFormatter.Serialize(fileStream, package);
        fileStream.Close();
    }
Ejemplo n.º 2
0
    protected void TransformFromEntity(SimulationElement simulationElement)
    {
        transform.position = new Vector3(simulationElement.PositionX, simulationElement.PositionY, -6);
        transform.rotation = new Quaternion(0, 0, simulationElement.RotationZ, simulationElement.RotationW);

        int indexer = 0;

        foreach (Connector connector in Connectors)
        {
            connector.TemporaryId = simulationElement.ConnectorIds[indexer];
            indexer++;
        }
    }
Ejemplo n.º 3
0
    protected void FillEntity(SimulationElement simulationElement)
    {
        simulationElement.PositionX = transform.position.x;
        simulationElement.PositionY = transform.position.y;
        simulationElement.RotationZ = transform.rotation.z;
        simulationElement.RotationW = transform.rotation.w;
        simulationElement.Id        = GetInstanceID();

        List <int> connectorIdList = new List <int>(Connectors.Count);

        foreach (Connector connector in Connectors)
        {
            connectorIdList.Add(connector.GetInstanceID());
        }

        simulationElement.ConnectorIds = connectorIdList;
    }
Ejemplo n.º 4
0
    void OnEnable()
    {
        profiler = GameProfiler.Get("GameProfiler");
        if (profiler.GetCount() < 19)
        {
            pos = transform.position;

            string id       = name + " speed";
            var    settings = profiler.Add(id);
            settings.min    = 0;
            settings.max    = maxSpeed;
            settings.height = 201;

            if (isSimulationElement)
            {
                id              = name + " target speed";
                settings        = profiler.Add(id);
                settings.min    = 0;
                settings.max    = maxSpeed;
                settings.height = 101;

                id              = name + " acceleration";
                settings        = profiler.Add(id);
                settings.min    = -0.2f;
                settings.max    = 0.2f;
                settings.height = 101;

                simElement = GetComponent <SimulationElement>();
            }
        }
        else
        {
            profiler = null;
            enabled  = false;
        }
    }
Ejemplo n.º 5
0
 void Start()
 {
     simElement = GetComponent <SimulationElement>();
     started    = true;
 }