private void OnTriggerExit(Collider other) { if (other.transform.parent && other.transform.parent.GetComponent <Riser>()) { Riser riser = other.transform.parent.GetComponent <Riser>(); if (RiserStack.Contains(riser)) { removeRiser(riser); } } }
private bool validSequence(Riser riser1, Riser riser2, Riser riser3) { if (validPlacement(riser1) && validPlacement(riser2) && validPlacement(riser3)) { if (riser1.RiserColor == riser2.RiserColor && riser2.RiserColor == riser3.RiserColor) { return(true); } } return(false); }
public bool AddRiser(Riser riser) { if (risers.Contains(riser)) { return(false); } else { risers.Add(riser); } return(true); }
public bool RemoveRiser(Riser riser) { if (!risers.Contains(riser)) { return(false); } else { risers.Remove(riser); } return(true); }
private bool validPlacement(Riser riser) { if (!riser) { return(false); } float test = Vector3.Dot(riser.transform.up, Vector3.up); if (test > 0.2f || test < -0.2f) { return(true); } else { return(false); } }
private void removeRiser(Riser riser) { for (int i = 0; i < 3; i += 1) { if (riser) { if (RiserStack[i] == riser) { RiserStack[i] = null; riser = null; } } else { RiserStack[i - 1] = RiserStack[i]; } } }
private void addRiser(Riser riser) { for (int i = 0; i < 3; i += 1) { if (RiserStack[i]) { if (RiserStack[i].transform.position.y > riser.transform.position.y) { Riser temp = RiserStack[i]; RiserStack[i] = riser; riser = temp; } } else { Debug.Log("Empty Slot"); RiserStack[i] = riser; riser = null; break; } } }
private double getRiserTotal() { return(Riser.Sum(item => item.Estimate.TotalPrice)); }
private void changed(TECChangedEventArgs e) { if (e.Value is TECTypical typical) { if (e.Change == Change.Add) { SystemSummaryItem summaryItem = new SystemSummaryItem(typical, bid.Parameters); summaryItem.Estimate.PropertyChanged += (sender, args) => { if (args.PropertyName == "TotalPrice") { RaisePropertyChanged("SystemTotal"); } }; Systems.Add(summaryItem); } else if (e.Change == Change.Remove) { SystemSummaryItem toRemove = null; foreach (var item in Systems) { if (item.Typical == typical) { toRemove = item; break; } } if (toRemove != null) { Systems.Remove(toRemove); } } RaisePropertyChanged("SystemTotal"); } else if (e.Sender is TECBid) { if (e.Change == Change.Add) { if (e.Value is TECController || e.Value is TECPanel) { ScopeSummaryItem summaryItem = new ScopeSummaryItem(e.Value as TECScope, bid.Parameters); summaryItem.Estimate.PropertyChanged += (sender, args) => { if (args.PropertyName == "TotalPrice") { RaisePropertyChanged("RiserTotal"); } }; Riser.Add(summaryItem); } else if (e.Value is TECMisc misc) { ScopeSummaryItem summaryItem = new ScopeSummaryItem(misc, bid.Parameters); summaryItem.Estimate.PropertyChanged += (sender, args) => { if (args.PropertyName == "TotalPrice") { RaisePropertyChanged("MiscTotal"); } }; Misc.Add(summaryItem); } } else if (e.Change == Change.Remove) { if (e.Value is TECController || e.Value is TECPanel) { removeFromCollection(Riser, e.Value as TECScope); } else if (e.Value is TECMisc misc) { removeFromCollection(Misc, misc); } } if (e.PropertyName == "Duration") { populateAll(bid); setupExtraLaborEstimate(bid); } RaisePropertyChanged("RiserTotal"); RaisePropertyChanged("MiscTotal"); } }
public void RemoteClientUpdatedRiserNodeValue(string regname, string regvalue) { var riserAddr = string.Format("N{0}{1}{2}{3}", Overpass, Way, Product, Riser.ToString("000")); int value; long lval; switch (regname) { case "TotalRequests": if (long.TryParse(regvalue, out lval)) { TotalRequests = lval; } break; case "TotalErrors": if (long.TryParse(regvalue, out lval)) { TotalErrors = lval; } break; case "BarometerValue": if (int.TryParse(regvalue, out value)) { BarometerValue = value; } break; case "RiserMode": if (int.TryParse(regvalue, out value) && value >= 0 && value <= 9) { RiserMode = (RiserState)value; } break; case "Ready": Ready = regvalue == "1"; break; case "BigValve": BigValve = regvalue == "1"; break; case "SmallValve": SmallValve = regvalue == "1"; break; case "WorkMode": WorkMode = regvalue == "1"; break; case "HasAlarmLevel": HasAlarmLevel = regvalue == "1"; break; case "HasNoGround": HasNoGround = regvalue == "1"; break; case "HasHandMode": HasHandMode = regvalue == "1"; break; case "FreshedValue": FreshedValue = regvalue == "1"; break; case "FilledKind": if (string.IsNullOrWhiteSpace(regvalue)) { FilledKind = null; } else if (regvalue == "1") { FilledKind = true; } else { FilledKind = false; } break; case "ShowedLevel": if (int.TryParse(regvalue, out value)) { ShowedLevel = value; } break; case "FilledLevel": if (int.TryParse(regvalue, out value)) { FilledLevel = value; } break; case "Number": Number = regvalue; //Data.Tasks.WriteInteger(riserAddr, "Overpass", Overpass); //Data.Tasks.WriteInteger(riserAddr, "Way", Way); //Data.Tasks.WriteString(riserAddr, "Product", Product); //Data.Tasks.WriteInteger(riserAddr, "Riser", Riser); //Data.Tasks.WriteString(riserAddr, "Number", Number); //Data.Tasks.UpdateFile(); break; case "Ntype": Ntype = regvalue; //Data.Tasks.WriteInteger(riserAddr, "Overpass", Overpass); //Data.Tasks.WriteInteger(riserAddr, "Way", Way); //Data.Tasks.WriteString(riserAddr, "Product", Product); //Data.Tasks.WriteInteger(riserAddr, "Riser", Riser); //Data.Tasks.WriteString(riserAddr, "NType", Ntype); //Data.Tasks.UpdateFile(); break; case "Setpoint": if (int.TryParse(regvalue, out value)) { Setpoint = value; //Data.Tasks.WriteInteger(riserAddr, "Overpass", Overpass); //Data.Tasks.WriteInteger(riserAddr, "Way", Way); //Data.Tasks.WriteString(riserAddr, "Product", Product); //Data.Tasks.WriteInteger(riserAddr, "Riser", Riser); //Data.Tasks.WriteInteger(riserAddr, "Setpoint", Setpoint); //Data.Tasks.UpdateFile(); } break; case "FactHeight": if (int.TryParse(regvalue, out value)) { FactHeight = value; //Data.Tasks.WriteInteger(riserAddr, "Overpass", Overpass); //Data.Tasks.WriteInteger(riserAddr, "Way", Way); //Data.Tasks.WriteString(riserAddr, "Product", Product); //Data.Tasks.WriteInteger(riserAddr, "Riser", Riser); //Data.Tasks.WriteInteger(riserAddr, "FactHeight", FactHeight); //Data.Tasks.UpdateFile(); } break; } }
public bool HasRiser(Riser riser) { return(risers.Contains(riser)); }