Exemplo n.º 1
0
    public void Destroy(bool restore)
    {
        //Ensure Sensor isn't connected.
        if (startPt != null)
        {
            //If start isn't null, delete connection from its list.
            SensorConnector presynapse = startPt.GetComponent <SensorConnector>();
            if (endPt != null)
            {
                presynapse.DetachFromSensor(endPt.GetComponent <Controller>());
            }
        }
        else
        {
            //Sensor SHOULDN'T be null, but just in case.
        }

        //If this connection is not going to be restored due to a reset, remove it from the GameSave.
        if (!restore)
        {
            GameSave.SensorConnectionRemoved(this);
        }

        NetworkServer.Destroy(this.gameObject);
    }
Exemplo n.º 2
0
    public static void SensorConnectionRemoved(SensorConnection sen)
    {
        SensorConnectionFile file;
        SensorConnector      start = sen.GetStart().GetComponent <SensorConnector>();
        Controller           end   = sen.GetEnd().GetComponent <Controller>();

        file = new SensorConnectionFile(start.table, start.sensor.location, end.GetTableNum(), end.GetSeatNum());

        int endpoint = sensorConnectionsToReset.Count;          //Avoid changing list while iterating.

        for (int i = endpoint - 1; i >= 0; i--)
        {
            if (sensorConnectionsToReset[i].Equals(sen.gameObject))
            {
                sensorConnectionsToReset.Remove(sen.gameObject);
            }
        }

        endpoint = spawnedSensorConnections.Count;
        for (int i = endpoint - 1; i >= 0; i--)
        {
            if (spawnedSensorConnections[i].Equals(file))
            {
                spawnedSensorConnections.Remove(file);
            }
        }
    }
Exemplo n.º 3
0
    void CmdDeleteSensorConnection(GameObject toDelete)
    {
        SensorConnection deleteConnection = toDelete.GetComponent <SensorConnection>();
        SensorConnector  presynapse       = deleteConnection.GetStart().GetComponent <SensorConnector>();

        presynapse.DetachFromSensor(deleteConnection.GetEnd().GetComponent <Controller>());
        RpcDeleteSensorConnection(presynapse.gameObject, toDelete);
        GameSave.SensorConnectionRemoved(deleteConnection);
        deleteConnection.Destroy(false);
    }
Exemplo n.º 4
0
    public static void SensorConnectionMade(SensorConnection sen)
    {
        SensorConnectionFile file;
        SensorConnector      start = sen.GetStart().GetComponent <SensorConnector>();
        Controller           end   = sen.GetEnd().GetComponent <Controller>();

        file = new SensorConnectionFile(start.table, start.sensor.location, end.GetTableNum(), end.GetSeatNum());
        sensorConnectionsToReset.Add(sen.gameObject);
        if (!spawnedSensorConnections.Contains(file))
        {
            spawnedSensorConnections.Add(file);
        }
    }