public void SetItemValue(object obj) { m_data = obj as BatteryData; if (IsInvoking("Refresh")) { CancelInvoke("Refresh"); } if (m_data != null) { itemId = baseID + m_data.batteryType; if (m_data.dur > 0) { InvokeRepeating("Refresh", 0, 1); } else { this.Refresh(); } } else { lblLeftTime.text = "--:--:--"; openBtn.isEnabled = false; lblMoneyNum.text = "642000"; lblLeftNum.text = "x10"; } }
//监听炮台是否被选择,选中进行更新 public void OnHospitalSelected(bool isOn) { if (isOn) { BatterySelectedData = HospitalData; } }
public void OnMaskFactorySelected(bool isOn) { if (isOn) { BatterySelectedData = MaskFactoryData; } }
private void Charge(ref BatteryData info) { if (info.charge > BatteryData.ChargeTarget * info.capacity) { return; } info.status = BatteryStatus.Charge; var dQ = BatteryData.ChargeRate * DeltaTime; if (info.charge / info.capacity < 0.05f) { dQ *= 0.1f; } else if (info.charge / info.capacity > 0.55f) { dQ *= (2 * (1 - info.charge / info.capacity)); } if (info.charge < info.capacity) { info.totalCharge += dQ; } info.charge += dQ; info.charge = math.clamp(info.charge, 0, info.capacity); if ((int)(info.totalDischarge / info.capacity) <= info.cycles || (int)(info.totalCharge / info.capacity) <= info.cycles) { return; } info.cycles++; SetCap(ref info); }
public void UpdateBattery(BatteryData battery) { if (battery.Percentage == 0) { BatteryImage = ""; return; } Battery = battery.Percentage; if (battery.Status == BatteryStatus.Charging) { BatteryImage = "BatteryCharging.png"; return; } if (battery.Percentage >= 0 && battery.Percentage < 26) { BatteryImage = "BatteryQuart.png"; } else if (battery.Percentage >= 26 && battery.Percentage < 51) { BatteryImage = "BatteryHalf.png"; } else if (battery.Percentage >= 51 && battery.Percentage < 76) { BatteryImage = "BatteryThreeQuarts.png"; } else if (battery.Percentage >= 76) { BatteryImage = "BatteryFull.png"; } }
public void OnPowerStationSelected(bool isOn) { if (isOn) { BatterySelectedData = PowerStationData; } }
// ---------------------------------------------------------------- // Serializing // ---------------------------------------------------------------- override public PropData ToData() { BatteryData data = new BatteryData { pos = pos, travelMind = new TravelMindData(travelMind), }; return(data); }
void InitData() { for (int i = 0; i < batteryItems.Length; i++) { BatteryData bData = new BatteryData(); bData.batteryType = i + 1; if (m_data != null) { bData.buildingId = int.Parse(m_data.config.ID); bData.buildingPid = m_data.RTData.id; BaseBuildingData bbData = Core.Data.BuildingManager.GetConfigByBuildLv(m_data.config.id, bData.batteryType); if (bbData != null) { bData.moneyNum = (int)bbData.GetCoin; bData.moneyType = 1; bData.needBatteryNum = bbData.OpenProduceCostItemNum; if (bbData.OpenProduceCostItem == m_data.RTData.openType + baseItem) { Debug.Log(" need stone Num == " + bbData.ForceGainCost); needStoneNum = bbData.ForceGainCost; } } if (bData.batteryType == m_data.RTData.openType) { bData.canOpen = false; if (bData.dur >= 0) { bData.dur = m_data.RTData.dur; } } else { bData.canOpen = false; bData.dur = -1; } if (m_data.RTData.openType != 0) { if (m_data.RTData.dur >= 0) { needStone = true; } else { needStone = false; } } else { bData.canOpen = true; needStone = false; } } batteryItems [i].SetItemValue((object)bData); } }
private void QuitToMainMenu() { SimManager.SimStatus = SimulationStatus.Paused; SimManager.ClearObjects(); BatteryData.Reset(); DroneData.Reset(); HubData.Reset(); NFZData.Reset(); StartCoroutine(LoadMainMenu()); }
private void Battery_BatteryInfoChanged(object sender, BatteryInfoChangedEventArgs e) { BatteryData data = BatteryStatus; data.ChargeLevel = e.ChargeLevel; data.BatteryState = e.State.ToString(); data.PowerSource = e.PowerSource.ToString(); data.TimeStamp = DateTime.UtcNow; data.SendNotification(); }
/// <summary> /// constructor /// </summary> public BatteryService(IotNode parent) : base("Battery", parent) { BatteryStatus = new BatteryData { Id = nameof(BatteryStatus), ChargeLevel = Battery.ChargeLevel, BatteryState = Battery.State.ToString(), PowerSource = Battery.PowerSource.ToString(), EnergySaverStatus = Battery.EnergySaverStatus.ToString(), TimeStamp = DateTime.UtcNow }; // Register for battery changes, be sure to unsubscribe when needed Battery.BatteryInfoChanged += Battery_BatteryInfoChanged; }
public void BuildBattery(GameObject batteryPrefab, BatteryData data) { //print(transform.position); batteryData = data; position = new Vector3(transform.position.x, transform.position.y, transform.position.z - 1); Vector3 positionHP = new Vector3(transform.position.x, transform.position.y, transform.position.z - 2); BatteryOnMaps = GameObject.Instantiate(batteryPrefab, position, Quaternion.identity); BatterySlider = BatteryOnMaps.GetComponentInChildren <Slider>(); GameObject effect = GameObject.Instantiate(BuildEffect, position, Quaternion.identity); GameObject.Destroy(effect, 1); }
void UpdateDisplay(ReactorData reactorData, BatteryData batteryData) { panel.WriteText($"Реакторы: {(reactorData.status ? "вкл" : "выкл")}\n"); panel.WriteText($"Кол-во реакторов: {reactorData.count}\n", true); panel.WriteText($"Мощность: {reactorData.power} МВт\n", true); panel.WriteText($"U в реакторах: {reactorData.uraniumAmount:0.##} кг\n", true); panel.WriteText($"Авто-режим: {(autoMode ? "вкл" : "выкл")}\n", true); panel.WriteText("-----------------------\n", true); panel.WriteText($"Заряд: {batteryData.percentage}%\n", true); panel.WriteText($"Кол-во: {batteryData.count}\n", true); panel.WriteText($"Статус: {(batteryData.isCharging ? "зарядка" : "разрядка")}\n", true); panel.WriteText($"{(batteryData.isCharging ? "Эффективность заряда:" : "Эффективность разряда: ")} { batteryData.powerRate}%\n", true); }
// Start is called before the first frame update void Start() { BatterySelectedData = HospitalData; lastTime = Time.time; //设置资源初始文本 moneyText.text = "" + money; waterText.text = "" + water; electricText.text = "" + electric; //设置屏幕上相应炮台资源文本 setBatteryText(HospitalData); setBatteryText(PowerStationData); setBatteryText(MaskFactoryData); }
public static void ParseCore(ref Message msg) { var bodies = msg.Bodies; foreach (var body in bodies) { var core = body.CoreMsg; if (core == null) { return; } var buffer = Unpooled.WrappedBuffer(core); switch (body.IdType) { case IdType.HeartBeat: var heartBeatType = EnumUtil.ToEnum <HeartBeatType>(buffer.ReadInt()); var keepAliveDuration = buffer.ReadInt(); var hb = new HeartBeatInfo(); hb.HeartBeatType = heartBeatType; hb.KeepAliveDuration = keepAliveDuration; body.HeartBeatInfo = hb; break; case IdType.BatteryInfo: var voltage = buffer.ReadFloat(); var temp = buffer.ReadFloat(); var capa = buffer.ReadFloat(); var battery = new BatteryData(); battery.voltage = voltage; battery.batteryTemp = temp; battery.capacity = capa; body.BatteryData = battery; break; case IdType.SensorData: var sensorValues = new List <double>(); do { var value = buffer.ReadFloat(); sensorValues.Add(value); } while (buffer.ReadableBytes > 0); var sensor = new SensorData(); sensor.UnparsedData = sensorValues; body.SensorData = sensor; break; default: break; } } }
private void AddPropSprites() { foreach (PropData propData in myRD.allPropDatas) { // -- Batteries -- if (propData.GetType() == typeof(BatteryData)) { BatteryData pd = propData as BatteryData; AddSpriteRenderer("Battery", rh.s_battery, go_props, pd.pos, BatteryIconSize, 10, Color.white); } // -- Grounds -- else if (propData.GetType() == typeof(GroundData)) { GroundData pd = propData as GroundData; groundDatas.Add(pd); // also add it to my ref list! srs_grounds.Add(AddSpriteRenderer("Ground", rh.s_ground, go_props, pd.pos, pd.size, 1, Color.white)); //WHY POSITION? why not center? } // -- DispGrounds -- else if (propData.GetType() == typeof(DispGroundData)) { DispGroundData pd = propData as DispGroundData; Color color = DispGround.GetBodyColor(pd); color = new Color(color.r, color.g, color.b, color.a * 0.6f); // alpha it out a bit, to taste. AddSpriteRenderer("DispGround", rh.s_ground, go_props, pd.pos, pd.size, 1, color); } // -- Gems -- else if (propData.GetType() == typeof(GemData)) { GemData pd = propData as GemData; Sprite sprite = rh.GetGemSprite(pd.type); AddSpriteRenderer("Gem", sprite, go_props, pd.pos, GemIconSize, 10, Color.white); } // -- Snacks -- else if (propData.GetType() == typeof(SnackData)) { SnackData pd = propData as SnackData; Color color = PlayerBody.GetBodyColorNeutral(PlayerTypeHelper.TypeFromString(pd.playerType)); AddSpriteRenderer("Snack", rh.s_snack, go_props, pd.pos, SnackIconSize, 10, color); } // -- Spikes -- else if (propData.GetType() == typeof(SpikesData)) { SpikesData spikesData = propData as SpikesData; Color color = Colors.Spikes(myRD.WorldIndex);// new Color(0.7f,0.1f,0f, 0.6f); SpriteRenderer newSprite = AddSpriteRenderer("Spikes", rh.s_spikes, go_props, spikesData.pos, Vector2.one, 0, color); newSprite.drawMode = SpriteDrawMode.Tiled; newSprite.size = spikesData.size; newSprite.transform.localEulerAngles = new Vector3(0, 0, spikesData.rotation); } } }
public void UpdateBattery(BatteryData battery) { if (battery.Status == 0) { Device.BeginInvokeOnMainThread(delegate { BatteryStatus.Text = "A carregar..." + " - " + battery.Percentage + "%"; }); } else { Device.BeginInvokeOnMainThread(delegate { BatteryStatus.Text = "Não está a carregar." + " - " + battery.Percentage + "%"; }); } }
private void Discharge(ref BatteryData info) { var dQ = info.DeltaEnergy / BatteryData.DischargeVoltage; info.charge -= dQ; if (info.charge > 0.1f) { info.totalDischarge += dQ; } else { info.status = BatteryStatus.Dead; DronesToDrop.Enqueue(info.drone); } }
public SBattery(BatteryData data) { count = BatteryData.Count; uid = data.UID; status = data.status; capacity = data.capacity; charge = data.charge; cycles = data.cycles; drone = data.drone; hub = data.hub; designCycles = BatteryData.designCycles; designCapacity = BatteryData.designCapacity; chargeTarget = BatteryData.chargeTarget; chargeRate = data.chargeRate; chargeVoltage = data.chargeVoltage; dischargeVoltage = data.dischargeVoltage; }
/// <summary> /// Creates Battery-object from rawData. /// </summary> /// <param name="rawData"></param> /// <exception cref="NullReferenceException">Throws exception if rawData is null.</exception> /// <returns>Battery</returns> private BatteryData CreateBatteryObject(byte[] rawData) { if (rawData != null) { var batteryPercentage = rawData[1]; BatteryStatus status = BatteryStatus.NotCharging; if (rawData[2] == 1) { status = BatteryStatus.Charging; } var battery = new BatteryData { RawData = rawData, Percentage = batteryPercentage, Status = status }; return(battery); } throw new NullReferenceException("Rawdata of battery is null!"); }
void Main(string arg) { ReactorData reactorData = GetReactorData(); BatteryData batteryData = GetBatteryData(); if (arg == "auto") { autoMode = !autoMode; } if (autoMode) { if (batteryData.percentage < 10 && reactorData.status == false) { SwitchReactors(true); } if (batteryData.percentage > 90 && reactorData.status == true) { SwitchReactors(false); } } UpdateDisplay(reactorData, batteryData); }
public Battery(SBattery data) { _Data = new BatteryData(data); }
private void UpdateBattery(BatteryData data) { BatteryLife.Text = (data.BatteryLife.HasValue ? data.BatteryLife.Value.ToString() : "-") + " %"; BatteryLifeTime.Text = data.BatteryLifeTime.HasValue ? data.BatteryLifeTime.Value.ToString() : "-"; BatteryStatus.Text = data.BatteryState.ToString(); }
/***************************************************************** * DBからバッテリー情報を取得して表示 *****************************************************************/ private void UpdateBatteryInformation() { time_bat += Time.deltaTime; if (!DBAdapter.CheckWaitAnything() && time_bat > 1.0f) { time_bat = 0.0f; IEnumerator coroutine = DBAdapter.ReadBattery(); StartCoroutine(coroutine); } if (DBAdapter.CheckReadBattery()) { if (DBAdapter.CheckAbort()) { DBAdapter.ConfirmAbort(); } if (DBAdapter.CheckSuccess()) { ServiceResponseDB responce = DBAdapter.GetResponce(); DBAdapter.FinishReadData(); BatteryData battery_data = JsonUtility.FromJson <BatteryData>(responce.values.tmsdb[0].etcdata); float battery_per = battery_data.battery * 100; Debug.Log("SmartPal Battery: " + battery_per + "[%]"); mainSystem.MyConsole_Add("SmartPal Battery: " + battery_per + "[%]"); if (!finish_battery_text) { Battery_3DText = (GameObject)Instantiate(Resources.Load("TextMeshPro")); Battery_3DText.transform.SetParent(transform, false); Battery_3DText.transform.localPosition = new Vector3(0.0f, 1.5f, 0.0f); TextMeshPro TMP = Battery_3DText.GetComponent <TextMeshPro>(); TMP.fontSize = 1.0f; TMP.text = "Battery: " + battery_per.ToString() + "[%]"; finish_battery_text = true; } else { Battery_3DText.GetComponent <TextMeshPro>().text = "Battery: " + battery_per.ToString() + "[%]"; } mainSystem.UpdateDatabaseInfoSmartPalBattery(battery_per); } } //カメラとSmartPalの距離が近づいたら表示 if (Battery_3DText != null) { //if(CalcDistance(Camera.main.gameObject, transform.gameObject) < 2.0f) { if (CalcDistance(Camera.main.gameObject, transform.gameObject) < mainSystem.GetConfig().robot_battery_distance) { Battery_3DText.SetActive(true); } else { Battery_3DText.SetActive(false); } } }
private static void SetCap(ref BatteryData info) { var x = info.cycles / (float)BatteryData.DesignCycles; info.capacity = (-0.7199f * math.pow(x, 3) + 0.7894f * math.pow(x, 2) - 0.3007f * x + 1) * BatteryData.DesignCapacity; }
private void AddPropImages() { int snackIndex = 0; // for determining which Snacks we gots! foreach (PropData propData in myRD.allPropDatas) { // -- Spikes -- if (propData.GetType() == typeof(SpikesData)) { SpikesData spikesData = propData as SpikesData; Color color = Colors.Spikes(myRD.WorldIndex);// new Color(0.7f,0.1f,0f, 0.6f); Image newObj = AddImage("Spikes", rh.s_spikes, rt_props, spikesData.pos, spikesData.size, color); newObj.transform.localEulerAngles = new Vector3(0, 0, spikesData.rotation); newObj.type = Image.Type.Tiled; newObj.transform.localScale = Vector3.one / 100f; // kinda hacky-ish. newObj.rectTransform.sizeDelta *= 100f; newObj.transform.SetAsFirstSibling(); // put spikes BEHIND everything else. } // -- Grounds -- else if (propData.GetType() == typeof(GroundData)) { GroundData pd = propData as GroundData; Color color = new Color255(100, 130, 90).ToColor();//Ground.GetBodyColor(pd, myRD.WorldIndex); AddImage("Ground", rh.s_ground, rt_props, pd.pos, pd.size, color); } // -- DispGrounds -- else if (propData.GetType() == typeof(DispGroundData)) { DispGroundData pd = propData as DispGroundData; Color color = DispGround.GetBodyColor(pd); color = new Color(color.r, color.g, color.b, color.a * 0.6f); // alpha it out a bit, to taste. AddImage("DispGround", rh.s_ground, rt_props, pd.pos, pd.size, color); } // -- Batteries -- else if (propData.GetType() == typeof(BatteryData)) { BatteryData pd = propData as BatteryData; AddImage("Battery", rh.s_battery, rt_props, pd.pos, BatteryIconSize, Color.white); } // -- Gems -- else if (propData.GetType() == typeof(GemData)) { GemData pd = propData as GemData; Sprite sprite = rh.GetGemSprite(pd.type); AddImage("Gem", sprite, rt_props, pd.pos, GemIconSize, Color.white); } // -- Snacks -- else if (propData.GetType() == typeof(SnackData)) { SnackData pd = propData as SnackData; Color color; bool didEatSnack = SaveStorage.GetBool(SaveKeys.DidEatSnack(myRD, snackIndex)); if (didEatSnack) { color = new Color(0, 0, 0, 0.2f); } else { color = PlayerBody.GetBodyColorNeutral(PlayerTypeHelper.TypeFromString(pd.playerType)); } AddImage("Snack", rh.s_snack, rt_props, pd.pos, SnackIconSize, color); snackIndex++; } } }
void setBatteryText(BatteryData bd) { bd.textMoney.text = "" + bd.cost; bd.textWater.text = "" + bd.costWater; bd.textElectric.text = "" + bd.costElectric; }
public Battery(Drone drone, Hub hub) { _Data = new BatteryData(); AssignDrone(drone); AssignHub(hub); }
public static void OnBatteryUpdated(BatteryData battery) { Globals.HomePageViewModel.UpdateBattery(battery); }
//刷新 方法 匹配 id void Refresh() { for (int i = 0; i < batteryItems.Length; i++) { BatteryData bData = batteryItems [i].ReturnValue() as BatteryData; if (bData != null) { if (m_data.RTData.openType != 0) { if (bData.batteryType == m_data.RTData.openType) { bData.fTime = m_data.fTime; if (bData.dur >= 0) { bData.dur = m_data.RTData.dur; } } else { bData.dur = -1; } bData.canOpen = false; btn_Collect.isEnabled = true; // batteryItems [i].SetItemValue (bData); } else { bData.buildingId = int.Parse(m_data.config.ID); bData.buildingPid = m_data.RTData.id; bData.fTime = new DateTime(); bData.dur = -1; bData.canOpen = true; btn_Collect.isEnabled = false; } batteryItems [i].SetItemValue(bData); } else { bData = new BatteryData(); bData.batteryType = (i + 1); bData.buildingId = int.Parse(m_data.config.ID); bData.buildingPid = m_data.RTData.id; if (bData.batteryType == m_data.RTData.openType) { if (bData.dur >= 0) { bData.dur = m_data.RTData.dur; } bData.fTime = m_data.fTime; bData.canOpen = false; } else { bData.dur = -1; bData.canOpen = false; bData.fTime = new System.DateTime(); } batteryItems [i].SetItemValue(bData); } } this.SetBtnLbl(); }
public void Initialize(Room _myRoom, BatteryData data) { base.InitializeAsProp(_myRoom, data); }