Пример #1
0
        private void AliveMTL()
        {
            if (System.Threading.Interlocked.Exchange(ref syncMTLPoint, 1) == 0)
            {
                try
                {
                    ValueWrite isAliveIndexVW = scApp.getBCFApplication().getWriteValueEvent(SCAppConstants.EQPT_OBJECT_CATE_EQPT, "MTL", "OHXC_TO_MTL_ALIVE_INDEX");
                    if (isAliveIndexVW == null)
                    {
                        return;
                    }
                    UInt16 isAliveIndex = (UInt16)isAliveIndexVW.getText();

                    int x = isAliveIndex + 1;
                    if (x > 9999)
                    {
                        x = 1;
                    }
                    isAliveIndexVW.setWriteValue((UInt16)x);
                    ISMControl.writeDeviceBlock(scApp.getBCFApplication(), isAliveIndexVW);
                }
                catch (Exception e)
                {
                }
                finally
                {
                    System.Threading.Interlocked.Exchange(ref syncMTLPoint, 0);
                }
            }
        }
 public virtual void OHxC2MTL_CarOutInterface(bool carOutInterlock, bool carOutReady, bool carMoving, bool carMoveComplete)
 {
     try
     {
         ValueWrite vm_carOutInterlock = bcfApp.getWriteValueEvent(eqpt.EqptObjectCate, eqpt.EQPT_ID, "OHXC_TO_MTL_U2D_CAR_OUT_INTERLOCK");
         ValueWrite vm_carOutReady     = bcfApp.getWriteValueEvent(eqpt.EqptObjectCate, eqpt.EQPT_ID, "OHXC_TO_MTL_U2D_CAR_OUT_READY");
         ValueWrite vm_carMoving       = bcfApp.getWriteValueEvent(eqpt.EqptObjectCate, eqpt.EQPT_ID, "OHXC_TO_MTL_U2D_CAR_MOVING");
         ValueWrite vm_carMoveCmp      = bcfApp.getWriteValueEvent(eqpt.EqptObjectCate, eqpt.EQPT_ID, "OHXC_TO_MTL_U2D_CAR_MOVE_COMPLETE");
         string     setValue           = carOutInterlock ? "1" : "0";
         vm_carOutInterlock.setWriteValue(carOutInterlock ? "1" : "0");
         vm_carOutReady.setWriteValue(carOutReady ? "1" : "0");
         vm_carMoving.setWriteValue(carMoving ? "1" : "0");
         vm_carMoveCmp.setWriteValue(carMoveComplete ? "1" : "0");
         bool result = ISMControl.writeDeviceBlock(bcfApp, vm_carOutInterlock);
         ISMControl.writeDeviceBlock(bcfApp, vm_carOutReady);
         ISMControl.writeDeviceBlock(bcfApp, vm_carMoving);
         ISMControl.writeDeviceBlock(bcfApp, vm_carMoveCmp);
         if (result)
         {
             eqpt.Interlock = setValue == "1" ? true : false;
         }
     }
     catch (Exception ex)
     {
         logger.Error(ex, "Exception");
     }
 }
Пример #3
0
        public ValueWrite getValueWriteHandshake(BCFApplication bcfApp, string eqObjIDCate, string eq_id)
        {
            ValueWrite vw = null;

            vw = bcfApp.getWriteValueEvent(eqObjIDCate, eq_id, HandshakePropName);
            return(vw);
        }
Пример #4
0
        private void Write(BCFApplication bcfApp, string eqObjIDCate, string eq_id, out ValueWrite vw_handshake)
        {
            vw_handshake = null;
            EQ_ID        = eq_id;
            List <ValueWrite> listVW = new List <ValueWrite>();

            foreach (FieldInfo info in fieldInfos)
            {
                PLCElement element = getPLCElementAttr(info);

                string   value       = string.Empty;
                UInt16[] ivalueArray = null;
                object   valueObj    = info.GetValue(this);
                if (valueObj is Enum)
                {
                    value = ((int)valueObj).ToString();
                }
                else if (valueObj is bool)
                {
                    value = ((bool)valueObj) ? "1" : "0";
                }
                else if (valueObj is UInt16[])
                {
                    ivalueArray = valueObj as UInt16[];
                }
                else
                {
                    object obj = info.GetValue(this);
                    if (obj != null)
                    {
                        value = info.GetValue(this).ToString();
                    }
                }

                ValueWrite vw = null;
                vw = bcfApp.getWriteValueEvent(eqObjIDCate, eq_id, element.ValueName);
                if (valueObj is UInt16[])
                {
                    vw.setWriteValue(ivalueArray);
                }
                else
                {
                    vw.setWriteValue(value);
                }
                if (element.IsHandshakeProp ||
                    element.IsIndexProp)
                {
                    vw_handshake = vw;
                }
                else
                {
                    ISMControl.writeDeviceBlock(bcfApp, vw);
                }
                listVW.Add(vw);
            }
            if (listVW.Count > 0)
            {
                BCFUtility.writeEquipmentLog(eq_id, listVW);
            }
        }
        public override bool setOHxC2MTL_CarOutInterlock(bool carOutInterlock)
        {
            try
            {
                ValueWrite vm_carOutInterlock = bcfApp.getWriteValueEvent(MTS.EqptObjectCate, MTS.EQPT_ID, "OHXC_TO_MTL_U2D_CAR_OUT_INTERLOCK");
                string     setValue           = carOutInterlock ? "1" : "0";
                vm_carOutInterlock.setWriteValue(setValue);
                bool result = ISMControl.writeDeviceBlock(bcfApp, vm_carOutInterlock);
                LogHelper.Log(logger: logger, LogLevel: LogLevel.Info, Class: nameof(MTSValueDefMapActionNewPH2), Device: SCAppConstants.DeviceName.DEVICE_NAME_MTx,
                              Data: $"Set Car Out Intertlock:{carOutInterlock},result:{result}",
                              XID: MTS.EQPT_ID);
                if (result)
                {
                    eqpt.Interlock = setValue == "1" ? true : false;
                }
                MTS.CarOutInterlock = carOutInterlock;

                return(result);
            }
            catch (Exception ex)
            {
                logger.Error(ex, "Exception");
                return(false);
            }
        }
Пример #6
0
        public bool resetHandshake(BCFApplication bcfApp, string eqObjIDCate, string eq_id)
        {
            ValueWrite        handshake_vw = getValueWriteHandshake(bcfApp, eqObjIDCate, eq_id);
            List <ValueWrite> vws          = new List <ValueWrite>(); //A0.01

            handshake_vw.initWriteValue();
            vws.Add(handshake_vw);                         //A0.01
            BCFUtility.writeEquipmentLog(eq_id, vws);      //A0.01
            return(ISMControl.writeDeviceBlock(bcfApp, handshake_vw));
        }
Пример #7
0
        public virtual void Write(BCFApplication bcfApp, string eqObjIDCate, string eq_id)
        {
            ValueWrite ve_handshake = null;

            Write(bcfApp, eqObjIDCate, eq_id, out ve_handshake);
            if (ve_handshake != null)
            {
                SpinWait.SpinUntil(() => false, 500);
                ISMControl.writeDeviceBlock(bcfApp, ve_handshake);
            }
        }
Пример #8
0
        private void AliveToDevice(int syncIndex, string eqID, string writeName)
        {
            if (System.Threading.Interlocked.Exchange(ref syncPoint[syncIndex], 1) == 0)
            {
                bool isWriteSucess = false;
                try
                {
                    ValueWrite isAliveIndexVW = scApp.getBCFApplication().getWriteValueEvent(SCAppConstants.EQPT_OBJECT_CATE_EQPT, eqID, writeName);
                    if (isAliveIndexVW == null)
                    {
                        return;
                    }
                    UInt16 isAliveIndex = (UInt16)isAliveIndexVW.getText();

                    int x = isAliveIndex + 1;
                    if (x > 9999)
                    {
                        x = 1;
                    }
                    isAliveIndexVW.setWriteValue((UInt16)x);
                    ISMControl.writeDeviceBlock(scApp.getBCFApplication(), isAliveIndexVW);

                    if (isWriteSucess || switchFlag)
                    {
                        isWriteSucess = false;
                        switchFlag    = false;
                        isWriteSucess = ISMControl.writeDeviceBlock(scApp.getBCFApplication(), isAliveIndexVW);
                        switchFlag    = true;
                    }
                    else
                    {
                        switchFlag    = false;
                        isWriteSucess = false;
                    }
                }
                catch (Exception e)
                {
                    switchFlag    = true;
                    isWriteSucess = false;
                }
                finally
                {
                    AEQPT eqpt = scApp.getEQObjCacheManager().getEquipmentByEQPTID(eqID);
                    if (eqpt != null)
                    {
                        eqpt.Plc_Link_Stat = isWriteSucess ? SCAppConstants.LinkStatus.LinkOK : SCAppConstants.LinkStatus.LinkFail;
                    }

                    System.Threading.Interlocked.Exchange(ref syncPoint[syncIndex], 0);
                }
            }
        }
Пример #9
0
 public virtual bool GetOHxC2MTL_CarInMoving()
 {
     try
     {
         ValueWrite vm_carMoving = bcfApp.getWriteValueEvent(eqpt.EqptObjectCate, eqpt.EQPT_ID, "OHXC_TO_MTL_D2U_CAR_MOVING");
         return((Boolean)vm_carMoving.getText());
     }
     catch (Exception ex)
     {
         logger.Error(ex, "Exception");
         return(false);
     }
 }
Пример #10
0
        public TrxMPLC.ReturnCode SendRecv(BCFApplication bcfApp, string eqObjIDCate, string eq_id, ValueRead replyMsg)
        {
            ValueWrite ve_handshake = null;

            Write(bcfApp, eqObjIDCate, eq_id, out ve_handshake);
            if (ve_handshake == null)
            {
                throw new NullReferenceException();
                //TODO Log
            }
            SpinWait.SpinUntil(() => false, 1000);
            return(ISMControl.sendRecv(bcfApp, ve_handshake, replyMsg, 20));
            //return TrxMPLC.ReturnCode.Normal;
        }
 public virtual bool setOHxC2MTL_CarInMoving(bool carMoving)
 {
     try
     {
         ValueWrite vm_carMoving = bcfApp.getWriteValueEvent(eqpt.EqptObjectCate, eqpt.EQPT_ID, "OHXC_TO_MTL_D2U_CAR_MOVING");
         vm_carMoving.setWriteValue(carMoving ? "1" : "0");
         return(ISMControl.writeDeviceBlock(bcfApp, vm_carMoving));
     }
     catch (Exception ex)
     {
         logger.Error(ex, "Exception");
         return(false);
     }
 }
Пример #12
0
 public virtual bool GetOHxC2MTL_CarOutInterlock()
 {
     try
     {
         ValueWrite vm_carOutInterlock = bcfApp.getWriteValueEvent(eqpt.EqptObjectCate, eqpt.EQPT_ID, "OHXC_TO_MTL_U2D_CAR_OUT_INTERLOCK");
         eqpt.Interlock = (Boolean)vm_carOutInterlock.getText();
         return((Boolean)vm_carOutInterlock.getText());
     }
     catch (Exception ex)
     {
         logger.Error(ex, "Exception");
         eqpt.Interlock = false;
         return(false);
     }
 }
Пример #13
0
        /// <summary>
        /// Writes a string dictated by a format
        /// </summary>
        /// <param name="value">String to be written</param>
        /// <param name="type">Denotes what modifications to be made on the string before being written</param>
        public virtual void Write(string value, ValueWrite type)
        {
            if (type.HasFlag(ValueWrite.LeadingTabs))
            {
                this.Writer.Write(ParadoxStreamWriter.tabs[value == "}" ? this.currentIndent - 1 : this.currentIndent]);
            }

            this.UpdateCurrentIndentFromIndentsIn(value);
            this.Writer.Write(type.HasFlag(ValueWrite.Quoted) ? '"' + value + '"' : value);

            if (type.HasFlag(ValueWrite.NewLine))
            {
                this.Writer.WriteLine();
            }
        }
 public virtual void OHxC2MTL_CarInInterface(bool carMoving, bool carMoveComplete)
 {
     try
     {
         ValueWrite vm_carMoving  = bcfApp.getWriteValueEvent(eqpt.EqptObjectCate, eqpt.EQPT_ID, "OHXC_TO_MTL_D2U_CAR_MOVING");
         ValueWrite vm_carMoveCmp = bcfApp.getWriteValueEvent(eqpt.EqptObjectCate, eqpt.EQPT_ID, "OHXC_TO_MTL_D2U_CAR_MOVE_COMPLETE");
         vm_carMoving.setWriteValue(carMoving ? "1" : "0");
         vm_carMoveCmp.setWriteValue(carMoveComplete ? "1" : "0");
         ISMControl.writeDeviceBlock(bcfApp, vm_carMoving);
         ISMControl.writeDeviceBlock(bcfApp, vm_carMoveCmp);
     }
     catch (Exception ex)
     {
         logger.Error(ex, "Exception");
     }
 }
 public override bool setOHxC2MTL_CarInMoving(bool carMoving)
 {
     try
     {
         ValueWrite vm_carMoving = bcfApp.getWriteValueEvent(MTS.EqptObjectCate, MTS.EQPT_ID, "OHXC_TO_MTL_D2U_CAR_MOVING");
         vm_carMoving.setWriteValue(carMoving ? "1" : "0");
         LogHelper.Log(logger: logger, LogLevel: LogLevel.Info, Class: nameof(MTLValueDefMapActionNew), Device: DEVICE_NAME_MTL,
                       Data: $"Car In Moving:{carMoving}",
                       VehicleID: MTS.EQPT_ID);
         return(ISMControl.writeDeviceBlock(bcfApp, vm_carMoving));
     }
     catch (Exception ex)
     {
         logger.Error(ex, "Exception");
         return(false);
     }
 }
Пример #16
0
        public override void doProcess(object obj)
        {
            bool isWriteSucess = false;

            try
            {
                if (mCharger == null)
                {
                    mCharger = scApp.getEQObjCacheManager().getEquipmentByEQPTID("MCharger");
                }
                ValueWrite isAliveIndexVW = scApp.getBCFApplication().getWriteValueEvent(SCAppConstants.EQPT_OBJECT_CATE_EQPT, "MCharger", "AGVC_TO_CHARGER_ALIVE_INDEX");
                if (isAliveIndexVW == null)
                {
                    return;
                }
                UInt16 isAliveIndex = (UInt16)isAliveIndexVW.getText();

                int x = isAliveIndex + 1;
                if (x > 9999)
                {
                    x = 1;
                }
                isAliveIndexVW.setWriteValue((UInt16)x);

                if (isWriteSucess || switchFlag)
                {
                    isWriteSucess = false;
                    switchFlag    = false;

                    //isWriteSucess = smControl.writeDeviceBlock(isAliveIndexVW);
                    isWriteSucess           = ISMControl.writeDeviceBlock(scApp.getBCFApplication(), isAliveIndexVW);
                    switchFlag              = true;
                    mCharger.AGVCAliveIndex = x;
                }
                else
                {
                    switchFlag    = false;
                    isWriteSucess = false;
                }
            }
            catch (Exception e)
            {
                switchFlag    = true;
                isWriteSucess = false;
            }
        }
Пример #17
0
 public virtual bool setOHxC2MTL_CarInMoving(bool carMoving)
 {
     try
     {
         ValueWrite vm_carMoving = bcfApp.getWriteValueEvent(eqpt.EqptObjectCate, eqpt.EQPT_ID, "OHXC_TO_MTL_D2U_CAR_MOVING");
         vm_carMoving.setWriteValue(carMoving ? "1" : "0");
         bool result = ISMControl.writeDeviceBlock(bcfApp, vm_carMoving);
         LogHelper.Log(logger: logger, LogLevel: LogLevel.Info, Class: nameof(MTxValueDefMapActionBase), Device: SCAppConstants.DeviceName.DEVICE_NAME_MTx,
                       Data: $"Set Car In Moving:{carMoving},result:{result}",
                       XID: eqpt.EQPT_ID);
         return(result);
     }
     catch (Exception ex)
     {
         logger.Error(ex, "Exception");
         return(false);
     }
 }
 public virtual bool setOHxC2MTL_CarOutInterlock(bool carOutInterlock)
 {
     try
     {
         ValueWrite vm_carOutInterlock = bcfApp.getWriteValueEvent(eqpt.EqptObjectCate, eqpt.EQPT_ID, "OHXC_TO_MTL_U2D_CAR_OUT_INTERLOCK");
         string     setValue           = carOutInterlock ? "1" : "0";
         vm_carOutInterlock.setWriteValue(setValue);
         bool result = ISMControl.writeDeviceBlock(bcfApp, vm_carOutInterlock);
         if (result)
         {
             eqpt.Interlock = setValue == "1" ? true : false;
         }
         return(result);
     }
     catch (Exception ex)
     {
         logger.Error(ex, "Exception");
         return(false);
     }
 }
Пример #19
0
 private ValueWrite StripLeadingTabs(ValueWrite val)
 {
     return(val & ~ValueWrite.LeadingTabs);
 }
Пример #20
0
        public virtual bool sendRoadControlCompleteNotify()
        {
            bool isSendSuccess = false;
            var  send_function =
                scApp.getFunBaseObj <OHxCToOHVC_RoadControlCompleteNotify>(eqpt.EQPT_ID) as OHxCToOHVC_RoadControlCompleteNotify;
            var receive_function =
                scApp.getFunBaseObj <OHxCToOHVC_RoadControlCompleteNotifyReply>(eqpt.EQPT_ID) as OHxCToOHVC_RoadControlCompleteNotifyReply;
            ValueRead  ReplyRoadControlCompleteNotifyVW = scApp.getBCFApplication().getReadValueEvent(SCAppConstants.EQPT_OBJECT_CATE_EQPT, eqpt.EQPT_ID, "REPLY_ROAD_CONTROL_COMPLETE_NOTIFY");
            ValueWrite RoadControlCompleteNotifyVW      = scApp.getBCFApplication().getWriteValueEvent(SCAppConstants.EQPT_OBJECT_CATE_EQPT, eqpt.EQPT_ID, "ROAD_CONTROL_COMPLETE_NOTIFY");

            try
            {
                //1.準備要發送的資料
                ValueRead vr_reply = receive_function.getValueReadHandshake
                                         (bcfApp, eqpt.EqptObjectCate, eqpt.EQPT_ID);
                //2.紀錄發送資料的Log
                send_function.Handshake = true;
                LogHelper.Log(logger: logger, LogLevel: LogLevel.Info, Class: nameof(OHCVValueDefMapAction), Device: DEVICE_NAME_OHCV,
                              Data: send_function.ToString(),
                              VehicleID: eqpt.EQPT_ID);
                //3.等待回復
                TrxMPLC.ReturnCode on_returnCode =
                    send_function.SendRecv(bcfApp, eqpt.EqptObjectCate, eqpt.EQPT_ID, vr_reply);
                //4.取得回復的結果
                if (on_returnCode == TrxMPLC.ReturnCode.Normal)
                {
                    receive_function.Read(bcfApp, eqpt.EqptObjectCate, eqpt.EQPT_ID);
                    LogHelper.Log(logger: logger, LogLevel: LogLevel.Info, Class: nameof(OHCVValueDefMapAction), Device: DEVICE_NAME_OHCV,
                                  Data: receive_function.ToString(),
                                  VehicleID: eqpt.EQPT_ID);
                    isSendSuccess = true;
                }
                else
                {
                    isSendSuccess = false;
                }

                send_function.Handshake = false;
                //send_function.resetHandshake(bcfApp, eqpt.EqptObjectCate, eqpt.EQPT_ID);
                LogHelper.Log(logger: logger, LogLevel: LogLevel.Info, Class: nameof(OHCVValueDefMapAction), Device: DEVICE_NAME_OHCV,
                              Data: send_function.ToString(),
                              VehicleID: eqpt.EQPT_ID);
                if (isSendSuccess)
                {
                    TrxMPLC.ReturnCode off_returnCode = send_function.SendRecv(bcfApp, eqpt.EqptObjectCate, eqpt.EQPT_ID, vr_reply);
                    if (off_returnCode == TrxMPLC.ReturnCode.Normal)
                    {
                        receive_function.Read(bcfApp, eqpt.EqptObjectCate, eqpt.EQPT_ID);
                        LogHelper.Log(logger: logger, LogLevel: LogLevel.Info, Class: nameof(OHCVValueDefMapAction), Device: DEVICE_NAME_OHCV,
                                      Data: receive_function.ToString(),
                                      VehicleID: eqpt.EQPT_ID);
                        isSendSuccess = true;
                    }
                    else
                    {
                        isSendSuccess = false;
                    }
                }
                else
                {
                    send_function.resetHandshake(bcfApp, eqpt.EqptObjectCate, eqpt.EQPT_ID);
                }
            }
            catch (Exception ex)
            {
                logger.Error(ex, "Exception");
            }
            finally
            {
                scApp.putFunBaseObj <OHxCToOHVC_RoadControlCompleteNotify>(send_function);
                scApp.putFunBaseObj <OHxCToOHVC_RoadControlCompleteNotifyReply>(receive_function);
            }
            return(isSendSuccess);
        }
Пример #21
0
 private ValueWrite Normalize(ValueWrite val)
 {
     return(StripLeadingTabs(NoNewLineIfQuoted(val)));
 }
Пример #22
0
 /// <summary>
 /// If a value being written is quoted, then there is no need to insert
 /// a newline because quotes are used as delimiters
 /// </summary>
 /// <param name="val"><see cref="ValueWrite"/> to test against</param>
 /// <returns>A new <see cref="ValueWrite"/> that ensures delimitation</returns>
 private ValueWrite NoNewLineIfQuoted(ValueWrite val)
 {
     return(val.HasFlag(ValueWrite.Quoted) ? val & ~ValueWrite.NewLine : val);
 }
 public override void Write(string key, string value, ValueWrite valuetype)
 {
     Write(key);
     Write("=");
     Write(value, valuetype & ~ValueWrite.LeadingTabs);
 }
Пример #24
0
 public override void WriteLine(string value, ValueWrite valuetype)
 {
     Write(value, Normalize(valuetype) | ValueWrite.NewLine);
 }
 /// <summary>
 /// If a value being written is quoted, then there is no need to insert
 /// a newline because quotes are used as delimiters
 /// </summary>
 /// <param name="val"><see cref="ValueWrite"/> to test against</param>
 /// <returns>A new <see cref="ValueWrite"/> that ensures delimitation</returns>
 private ValueWrite NoNewLineIfQuoted(ValueWrite val)
 {
     return val.HasFlag(ValueWrite.Quoted) ? val & ~ValueWrite.NewLine : val;
 }
 private ValueWrite Normalize(ValueWrite val)
 {
     return StripLeadingTabs(NoNewLineIfQuoted(val));
 }
Пример #27
0
 /// <summary>
 /// Writes a key-value pair to the stream with formatting specified by <paramref name="valuetype"/>.
 /// It is assumed that the key will be indented and that the value will not be.
 /// </summary>
 /// <param name="key">Key that identifies the value</param>
 /// <param name="value">Value to be written to the stream</param>
 /// <param name="valuetype">Dictates how the value should be written to the stream.</param>
 public override void Write(string key, string value, ValueWrite valuetype)
 {
     this.Write(key, ValueWrite.LeadingTabs);
     this.Writer.Write('=');
     this.Write(value, valuetype & ~ValueWrite.LeadingTabs);
 }
 private ValueWrite StripLeadingTabs(ValueWrite val)
 {
     return val & ~ValueWrite.LeadingTabs;
 }
Пример #29
0
        /// <summary>
        /// Writes a string dictated by a format
        /// </summary>
        /// <param name="value">String to be written</param>
        /// <param name="type">Denotes what modifications to be made on the string before being written</param>
        public void Write(string value, ValueWrite type)
        {
            if (type.HasFlag(ValueWrite.LeadingTabs))
            {
                this.writer.Write(tabs[value == "}" ? this.currentIndent - 1 : this.currentIndent]);
            }

            this.UpdateCurrentIndentFromIndentsIn(value);
            this.writer.Write(type.HasFlag(ValueWrite.Quoted) ? '"' + value + '"' : value);

            if (type.HasFlag(ValueWrite.NewLine))
            {
                this.writer.WriteLine();
            }
        }
 public override void WriteLine(string key, string value, ValueWrite valuetype)
 {
     this.Write(key, value, this.Normalize(valuetype) | ValueWrite.NewLine);
 }
Пример #31
0
 public override void Write(string key, string value, ValueWrite valuetype)
 {
     this.Write(key, ValueWrite.LeadingTabs);
     this.Writer.Write('=');
     this.Write(value, valuetype & ~ValueWrite.LeadingTabs);
 }
        /// <summary>
        /// Writes a string dictated by a format
        /// </summary>
        /// <param name="value">String to be written</param>
        /// <param name="type">Denotes what modifications to be made on the string before being written</param>
        public virtual void Write(string value, ValueWrite type)
        {
            if (type.HasFlag(ValueWrite.LeadingTabs))
            {
                Writer.Write(ParadoxStreamWriter.tabs[value == "}" ? currentIndent - 1 : currentIndent]);
            }

            UpdateCurrentIndentFromIndentsIn(value);
            Writer.Write(type.HasFlag(ValueWrite.Quoted) ? '"' + value + '"' : value);

            if (type.HasFlag(ValueWrite.NewLine))
            {
                Writer.WriteLine();
            }
        }
Пример #33
0
 public override void Write(string value, ValueWrite type)
 {
     base.Write(value, Normalize(type));
 }
 /// <summary>
 /// Writes a key-value pair followed by a line terminator to the stream with formatting specified by <paramref name="valuetype"/>.
 /// It is assumed that the key will be indented and that the value will not be.
 /// </summary>
 /// <param name="key">Key that identifies the value</param>
 /// <param name="value">Value to be written to the stream</param>
 /// <param name="valuetype">Dictates how the value should be written to the stream</param>
 public abstract void WriteLine(string key, string value, ValueWrite valuetype);
Пример #35
0
 public override void Write(string key, string value, ValueWrite valuetype)
 {
     Write(key);
     Write("=");
     Write(value, valuetype & ~ValueWrite.LeadingTabs);
 }
Пример #36
0
 /// <summary>
 /// Writes a string in the format of <paramref name="valuetype"/> followed by a line terminator.
 /// </summary>
 /// <param name="value">The string to be written to the text stream</param>
 /// <param name="valuetype">The format of how the string should be written</param>
 public override void WriteLine(string value, ValueWrite valuetype)
 {
     this.Write(value, valuetype | ValueWrite.NewLine);
 }
 public override void Write(string value, ValueWrite type)
 {
     base.Write(value, Normalize(type));
 }
 public override void WriteLine(string key, string value, ValueWrite valuetype)
 {
     this.Write(key, value, this.Normalize(valuetype) | ValueWrite.NewLine);
 }
 public override void WriteLine(string value, ValueWrite valuetype)
 {
     Write(value, Normalize(valuetype) | ValueWrite.NewLine);
 }
Пример #40
0
 /// <summary>
 /// Writes a key-value pair followed by a line terminator to the stream with formatting specified by <paramref name="valuetype"/>.
 /// It is assumed that the key will be indented and that the value will not be.
 /// </summary>
 /// <param name="key">Key that identifies the value</param>
 /// <param name="value">Value to be written to the stream</param>
 /// <param name="valuetype">Dictates how the value should be written to the stream</param>
 public abstract void WriteLine(string key, string value, ValueWrite valuetype);
Пример #41
0
 public override void WriteLine(string key, string value, ValueWrite valuetype)
 {
     Write(key, value, valuetype | ValueWrite.NewLine);
 }
Пример #42
0
 public override void WriteLine(string value, ValueWrite valuetype)
 {
     this.Write(value, valuetype | ValueWrite.NewLine);
 }
Пример #43
0
 /// <summary>
 /// Writes a key-value pair followed by a line terminator to the stream with formatting specified by <paramref name="valuetype"/>.
 /// It is assumed that the key will be indented and that the value will not be.
 /// </summary>
 /// <param name="key">Key that identifies the value</param>
 /// <param name="value">Value to be written to the stream</param>
 /// <param name="valuetype">Dictates how the value should be written to the stream</param>
 public void WriteLine(string key, string value, ValueWrite valuetype)
 {
     this.Write(key, value, valuetype | ValueWrite.NewLine);
 }