农场设备管理代码(1)

using Dias_Interface;

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

namespace Dias_Farm

{

public class staticDevice

{

public static List<DeviceInfo> DEVLIST = new List<DeviceInfo>();

public static void Init(string mainid)

{

DEVLIST.Clear();

string path = System.IO.Path.Combine(Environment.CurrentDirectory, "Data", $"DeviceList_{mainid}.Dat");

if (System.IO.File.Exists(path))

{

string data = System.IO.File.ReadAllText(path, Encoding.UTF8);

DEVLIST = DataBus.StringToObject<List<DeviceInfo>>(data);

if (DEVLIST == null)

DEVLIST = new List<DeviceInfo>();

}

if (DEVLIST.Count <= 0)

{

DataDeviceInfo dvi = new DataDeviceInfo(new Setting("Device_Data_Set"))

{

Id = "1001",

Name = "场温度",

Value = 23.50,

Status = 0,

Type = DeviceType.Data,

Description = "场室外温度"

};

dvi.Set.Set("Unit", "℃");

DEVLIST.Add(dvi);

DataDeviceInfo dvi1 = new DataDeviceInfo(new Setting("Device_Contol_Set"))

{

Id = "1002",

Name = "供水闸",

Value = 0,

Status = 0,

Type = DeviceType.Control,

Description = "总水匣开关"

};

DEVLIST.Add(dvi1);

}

}

public static void Add(DeviceInfo dev)

{

if (DEVLIST.Find(s => s.Id == dev.Id) == null)

{

DEVLIST.Add(dev);

}

}

public static DeviceInfo GetDeviceById(string id)

{

return DEVLIST.FirstOrDefault(s => s.Id == id) as DeviceInfo;

}

public static bool RemoveById(string id)

{

return DEVLIST.RemoveAll(s => s.Id == id)==1;

}

public static void Save(string mainid)

{

string path = System.IO.Path.Combine(Environment.CurrentDirectory, "Data", $"DeviceList_{mainid}.Dat");

string data=DataBus.ObjectToString(DEVLIST);

System.IO.File.WriteAllText(path, data,Encoding.UTF8);

}

}

}

相关推荐
Joy T39 分钟前
Agent 确定性上下文设计:从 Prompt 参数注入到能力分层
java·开发语言·微服务·架构·prompt·agent context
专注仿真4 小时前
引擎扩展性与集成设计深度剖析:从 14 个扩展点到 DIS→HLA 演进之路
开发语言·算法·仿真引擎·推演引擎
Best-Wishes4 小时前
科来网络分析系统(技术交流版)使用说明书
开发语言·junit·php
代码不停5 小时前
自动化测试(java)
java·开发语言·selenium·自动化
鬼手点金7 小时前
opencode-rules 插件
java·开发语言·前端·人工智能·chrome·git·github
爱上网的小舟7 小时前
星际战士2启动错误怎么办?5种游戏报错解决方法
开发语言·php
阿里嘎多学长8 小时前
2026-10-12 GitHub 热点项目精选
开发语言·程序员·github·代码托管
wangchunyu1149 小时前
Python 数据可视化实战入门教程
开发语言·python·信息可视化
学逆向的10 小时前
C 突破编译器限制
c语言·开发语言·网络安全
jimy110 小时前
C++ 虚函数表:基类和派生类共用一张 vtable 吗?
开发语言·c++