Example #1
0
    protected virtual void Start()
    {
        uniqueID = new Id64(Uid.GetNextId());
        allActors.Add(uniqueID, this);

        spriteRenderer = GetComponent <SpriteRenderer>();
    }
Example #2
0
 public override void Execute(IDbConnection connection, IDbTransaction tran, Id64 zone)
 {
     connection.Execute(
         "UPDATE zones SET status=@status,message=@message,request=@request WHERE zones.id=@zone",
         new { status = (short)Status, zone, message = Message, request = (short)Request }, tran);
     Debug.WriteLine($"RequestStatus {Status}");
 }
Example #3
0
 public override void Execute(IDbConnection connection, IDbTransaction tran, Id64 zone)
 {
     connection.Execute(
         "UPDATE zones SET status=@status,message=@message,request=@request WHERE zones.id=@zone",
         new { status = (short)Status, zone, message = Message, request = (short)Request }, tran);
     connection.Execute("done_operation", new { _uncommitted_operation = Operation }, tran, commandType: CommandType.StoredProcedure);
     Debug.WriteLine($"RequestOperation {Status}");
 }
Example #4
0
 public override void Execute(IDbConnection connection, IDbTransaction tran, Id64 zone)
 {
     connection.Execute(
         "UPDATE zones SET status=@status,message=@message,request=@request WHERE zones.id=@zone",
         new { status = (short)Status, zone, message = Message, request = (short)Request }, tran);
     connection.Execute("set_weight", new { _zone = zone, _weight = Weight }, tran, commandType: CommandType.StoredProcedure);
     Debug.WriteLine($"RequestWeight {Status}");
 }
Example #5
0
 public PlcZone(Id64 zone)
 {
     Message       = new MessageCyclic();
     MessageErrors = new MessageErrors();
     id            = zone;
     _locker       = new object();
     _answersQueue = new BlockingCollection <Request>(new ConcurrentQueue <Request>());
     Task.Run(Executor);
 }
Example #6
0
 public MessageOperation(Id64 zone, Id64 message, Id64 operation, OperationTypes operationType, AddressDefinition address1, AddressDefinition address2, AddressDefinition address3, short isVirtual) : base(zone, Messages.RUN_TASK, message)
 {
     Operation     = operation;
     OperationType = operationType;
     Address1      = address1;
     Address2      = address2;
     Address3      = address3;
     IsVirtual     = isVirtual;
 }
Example #7
0
 public override void Execute(IDbConnection connection, IDbTransaction tran, Id64 zone)
 {
     connection.Execute(
         "UPDATE zones SET status=@status,message=@message,request=@request WHERE zones.id=@zone",
         new { status = (short)Status, zone, message = Message, request = (short)Request }, tran);
     Debug.WriteLine(Address);
     connection.Execute(Address switch
     {
         1 => "lock_source_address",
         2 => "lock_destination_address",
         _ => throw new Exception("Невалидный тип адреса")
     }, new { _uncommitted_operation = Operation }, tran, commandType: CommandType.StoredProcedure);
Example #8
0
        public static void NotifyDelegate(object o, NpgsqlNotificationEventArgs e)
        {
            switch (e.Channel)
            {
            case "arsenalum": {
                Debug.WriteLine($"MESSAGE FROM arsenalum: {e.Payload}");
                Notify(e.Payload);
            }
            break;

            case "arsenalum_sse": {
                Debug.WriteLine($"MESSAGE FROM arsenalum_sse: {e.Payload}");
                var request = JObject.Parse(e.Payload);
                if (Enum.TryParse <RequestTypes>(request.Value <string>("$type"), out var requestType))
                {
                    switch (requestType)
                    {
                    case RequestTypes.WRITING_TO_DATABASE_COMPLETED: {
                        if (!Id64.TryParse(request["work_zone"]?.ToString(), out var workZone))
                        {
                            return;
                        }
                        if (!Id64.TryParse(request["id"]?.ToString(), out var id))
                        {
                            return;
                        }
                        Debug.WriteLine($"Values {workZone} {id}");
                        PlcClient.AddMSg(new MessageResponse(workZone, id));
                    }
                    break;
                    }
                }
                break;
            }
            }
        }
Example #9
0
 public RequestWeight(Status status, Id64 message, RequestTypes request, float weight) : base(status, message, request)
 {
     Weight = weight;
 }
Example #10
0
 public MessageReset(Id64 zone) : base(zone, Messages.RESET, default)
 {
 }
Example #11
0
 public MessageChangeMode(Id64 zone, Modes mode) : base(zone, Messages.CHANGE_MODE, default)
 {
     Mode = mode;
 }
Example #12
0
 public RequestOperation(Status status, Id64 message, RequestTypes request, Id64 operation) : base(status, message, request)
 {
     Operation = operation;
 }
Example #13
0
 public abstract void Execute(IDbConnection connection, IDbTransaction tran, Id64 workZone);
Example #14
0
 public Session(Id64 user, Guid token, string login, string password)
 {
     User             = user;
     Token            = token;
     ConnectionString = $"User Id={(long)User};Password={password};";
 }
Example #15
0
 protected Message(Id64 zone, Messages type, Id64 id)
 {
     Zone = zone;
     Type = type;
     Id   = id;
 }
Example #16
0
 public MessageResponse(Id64 zone, Id64 message) : base(zone, Messages.REQUEST_ACCEPT, message)
 {
 }
Example #17
0
 public RequestLock(Status status, Id64 message, RequestTypes request, Id64 operation, short address) : base(status, message, request)
 {
     Operation = operation;
     Address   = address;
 }
Example #18
0
 public PlcZone GetZone(Id64 id)
 {
     return(Zones[id]);
 }
Example #19
0
 public RequestStatus(Status status, Id64 message, RequestTypes request)
 {
     Status  = status;
     Message = message;
     Request = request;
 }