Beispiel #1
0
        public void DoWork()
        {
            while (IOUtils.ActiveThread)
            {
                if (IOUtils.SaveInThreadFlag)
                {
                    IOUtils.SaveInThreadFlag = false;
                    lock ( locker )
                    {
                        IOUtils.SaveInThreadShaderBody = IOUtils.ShaderCopywriteMessage + IOUtils.SaveInThreadShaderBody;
                        // Add checksum
                        string checksum = IOUtils.CreateChecksum(IOUtils.SaveInThreadShaderBody);
                        IOUtils.SaveInThreadShaderBody += IOUtils.CHECKSUM + IOUtils.VALUE_SEPARATOR + checksum;

                        // Write to disk
                        StreamWriter fileWriter = new StreamWriter(IOUtils.SaveInThreadPathName);
                        try
                        {
                            fileWriter.Write(IOUtils.SaveInThreadShaderBody);
                            Debug.Log("Saving complete");
                        }
                        catch (Exception e)
                        {
                            Debug.LogException(e);
                        }
                        finally
                        {
                            fileWriter.Close();
                        }
                    }
                }
            }
            Debug.Log("Thread closed");
        }