/// <summary> /// GetFacilities by craftDID /// </summary> /// <param name="craftDID">craftDID</param> /// <returns></returns> public IList <FacilityInfo> GetFacilities(int craftDID) { List <FacilityInfo> lst = new List <FacilityInfo>(); DataTable dt = getFacilities(craftDID); if (dt != null && dt.Rows.Count > 0) { foreach (DataRow row in dt.Rows) { FacilityInfo info = new FacilityInfo(); info.FacilityDID = int.Parse(row[0].ToString()); info.MMName = row[1].ToString(); info.ProcessDID = int.Parse(row[2].ToString()); info.DeviceGroupDID = int.Parse(row[3].ToString()); info.State = int.Parse(row[4].ToString()); info.MMIP = row[5].ToString(); info.MMPort = row[6].ToString(); info.MMIsUse = row[7].ToString() == "1" ? true : false; info.MMClearAddr = row[8].ToString(); info.MMRestAddr = row[9].ToString(); if (row[10].ToString() != "") { info.MMSeq = int.Parse(row[10].ToString()); } info.MAAddress = row[11].ToString(); info.IsUse = row[12].ToString() == "1" ? true : false; info.Remark = row[13].ToString(); ProcessInfo processInfo = new ProcessInfo(); DataTable tbProcess = getProcessesByID(info.ProcessDID); if (tbProcess != null && tbProcess.Rows.Count > 0) { processInfo.ProcessDID = int.Parse(tbProcess.Rows[0][0].ToString()); processInfo.ProcessNO = tbProcess.Rows[0][1].ToString(); processInfo.ProcessName = tbProcess.Rows[0][2].ToString(); processInfo.CraftDID = int.Parse(tbProcess.Rows[0][3].ToString()); DataTable tb = getCraftsByID(processInfo.CraftDID); if (tb != null && tb.Rows.Count > 0) { CraftInfo craftInfo = new CraftInfo(); craftInfo.CraftDID = processInfo.CraftDID; craftInfo.CraftNO = tb.Rows[0][1].ToString(); craftInfo.CraftName = tb.Rows[0][2].ToString(); processInfo.Craft = craftInfo; } else { processInfo.Craft = null; throw new Exception("执行getCraftsByID查询为空"); } info.Process = processInfo; } else { info.Process = null; processInfo = null; throw new Exception("执行getProcessesByID查询为空"); } DataTable tbDeviceGroup = getDeviceGroupByID(info.DeviceGroupDID); if (tbDeviceGroup != null && tbDeviceGroup.Rows.Count > 0) { DeviceGroupInfo deviceGroupInfo = new DeviceGroupInfo(); deviceGroupInfo.DeviceGroupDID = info.DeviceGroupDID; deviceGroupInfo.DeviceGroupNO = tbDeviceGroup.Rows[0][1].ToString(); deviceGroupInfo.DeviceGroupName = tbDeviceGroup.Rows[0][2].ToString(); deviceGroupInfo.CraftDID = int.Parse(tbDeviceGroup.Rows[0][3].ToString()); DataTable tb = getCraftsByID(deviceGroupInfo.CraftDID); if (tb != null && tb.Rows.Count > 0) { CraftInfo craftInfo = new CraftInfo(); craftInfo.CraftDID = processInfo.CraftDID; craftInfo.CraftNO = tb.Rows[0][1].ToString(); craftInfo.CraftName = tb.Rows[0][2].ToString(); deviceGroupInfo.Craft = craftInfo; } else { deviceGroupInfo.Craft = null; throw new Exception("执行getCraftsByID查询为空"); } info.DeviceGroup = deviceGroupInfo; } else { info.DeviceGroup = null; throw new Exception("执行getDeviceGroupByID查询为空"); } lst.Add(info); } } return(lst); }
protected override void OnDisabled() { base.OnDisabled(); CraftInfo.Clear(); CraftDownloaded.Clear(); }
public static void OnWriteHousingCard(CraftInfo instance, BinaryWriter writer) { Logger.LogMessage("Saved the housing card"); HousingDataSaveHook(instance, writer); }
public static void OnReadHousingCard(CraftInfo instance, BinaryReader reader) { Logger.LogMessage("Loaded the housing card"); HousingDataLoadHook(instance, reader); }
public FileInfo(string _path) { this.Path = _path; this.CraftInfo = CraftInfo.LoadStatic(_path); }
//private Vector3[] racePositions = { new Vector3(208f, -2.5f, 112f), new Vector3(221f, -2.5f, 96f), new Vector3(234f, -2.5f, 112f), new Vector3(247f, -2.5f, 96f), new Vector3(263f, -2.5f, 112f), new Vector3(279f, -2.5f, 96f) }; // Use this for initialization void Start() { Vector3[] racePositions = new Vector3[6]; for (int i = 0; i < 6; i++) { racePositions[i] = startNode[i].position; } RandomizeArray(racePositions); bool[] craftSelected = new bool[6]; //players[5].GetComponent<anchorArrayScript>().anchors[0].active = false; for (int i = 0; i < players.Count; i++) { players[i].transform.position = racePositions[i]; if (players[i].GetComponent <PlayerScript>().isHuman == true) { //players[i].GetComponent<PlayerScript>().acceleration = CraftInfo.getSpeed(PlayerSelection.selectedCraft) * 600; switch (PlayerSelection.selectedCraft) { case Craft.P_Money: players[i].GetComponent <anchorArrayScript>().anchors[(int)Craft.P_Money].active = true; break; case Craft.Ghetts: players[i].GetComponent <anchorArrayScript>().anchors[(int)Craft.Ghetts].active = true; break; case Craft.Durrty_Goodz: players[i].GetComponent <anchorArrayScript>().anchors[(int)Craft.Durrty_Goodz].active = true; break; case Craft.Crazy_Titch: players[i].GetComponent <anchorArrayScript>().anchors[(int)Craft.Crazy_Titch].active = true; break; case Craft.JME: players[i].GetComponent <anchorArrayScript>().anchors[(int)Craft.JME].active = true; break; case Craft.D_Double_E: players[i].GetComponent <anchorArrayScript>().anchors[(int)Craft.D_Double_E].active = true; break; //players[i].GetComponent<anchorArrayScript>().anchors[0].active = false; } craftSelected[(int)PlayerSelection.selectedCraft] = true; players[i].GetComponent <itemEffect>().ship = players[i].GetComponent <anchorArrayScript>().anchors[(int)PlayerSelection.selectedCraft].gameObject.GetComponentInChildren <Renderer>(); players[i].GetComponent <PlayerScript>().maxSpeed = CraftInfo.getSpeed(PlayerSelection.selectedCraft) / 10 * 20 + 60; players[i].GetComponent <PlayerScript>().acceleration = players[i].GetComponent <PlayerScript>().acceleration - 400 / CraftInfo.getSpeed(PlayerSelection.selectedCraft); players[i].GetComponent <PlayerScript>().rotationSpeed = CraftInfo.getFlow(PlayerSelection.selectedCraft) / 10 * 20 + 90; players[i].GetComponent <PlayerScript>().maxHP = CraftInfo.getLyricism(PlayerSelection.selectedCraft) / 10 * 20 + 90; players[i].GetComponent <PlayerScript>().HP = players[i].GetComponent <PlayerScript>().maxHP; players[i].GetComponent <PlayerScript>().weight = CraftInfo.getRep(PlayerSelection.selectedCraft); players[i].GetComponent <PlayerScript>().chosenPlayer = "" + PlayerSelection.selectedCraft; players[i].GetComponent <PlayerScript>().chosenPlayer = players[i].GetComponent <PlayerScript>().chosenPlayer.Replace("_", " "); players[i].GetComponent <PlayerSoundScript>().addCrashSound(PlayerSelection.selectedCraft); } else { for (int x = 0; x < 6; x++) { if (!craftSelected[x]) { /*PlayerScript.*/ players[i].GetComponent <anchorArrayScript>().anchors[x].active = true; players[i].GetComponent <itemEffect>().ship = players[i].GetComponent <anchorArrayScript>().anchors[x].gameObject.GetComponentInChildren <Renderer>(); players[i].GetComponent <PlayerScript>().maxSpeed = CraftInfo.getSpeed(PlayerSelection.getCraftNameById(x)) / 10 * 20 + 60; players[i].GetComponent <PlayerScript>().acceleration = players[i].GetComponent <PlayerScript>().acceleration - 400 / CraftInfo.getSpeed(PlayerSelection.getCraftNameById(x)); players[i].GetComponent <PlayerScript>().rotationSpeed = CraftInfo.getFlow(PlayerSelection.getCraftNameById(x)) / 10 * 20 + 90; players[i].GetComponent <PlayerScript>().rotationSpeed = CraftInfo.getLyricism(PlayerSelection.getCraftNameById(x)) / 10 * 20 + 90; players[i].GetComponent <PlayerScript>().maxHP = CraftInfo.getLyricism(PlayerSelection.getCraftNameById(x)) / 10 * 20 + 90; players[i].GetComponent <PlayerScript>().HP = players[i].GetComponent <PlayerScript>().maxHP; players[i].GetComponent <PlayerScript>().weight = CraftInfo.getRep(PlayerSelection.getCraftNameById(x)); players[i].GetComponent <PlayerScript>().chosenPlayer = "" + PlayerSelection.getCraftNameById(x); players[i].GetComponent <PlayerScript>().chosenPlayer = players[i].GetComponent <PlayerScript>().chosenPlayer.Replace("_", " "); players[i].GetComponent <PlayerSoundScript>().addCrashSound(PlayerSelection.getCraftNameById(x)); craftSelected[x] = true; break; } } players[i].GetComponent <PathFollowScript>().repathPoints(); } players[i].GetComponent <itemEffect>().initialMat = players[i].GetComponent <itemEffect>().ship.material; } }
/// <summary> /// Get a dictionary of ID, PluginData containing all extended data for a CraftInfo /// </summary> /// <param name="file">CraftInfo for which to get extended data</param> /// <returns>Dictionary of ID, PluginData</returns> public static Dictionary <string, PluginData> GetAllExtendedData(CraftInfo file) => internalCraftInfoDictionary.Get(file);
public static CraftModel ToModel(this CraftInfo entity) { return(Mapper.Map <CraftInfo, CraftModel>(entity)); }
private void LoadCraftables() { TextAsset textAsset = Resources.Load("Craft") as TextAsset; string[] rows = textAsset.text.Split('&'); int itemIndex = 0; craftInfos = new CraftInfo[Item.dataItems.Count]; for (int rowIndex = 1; rowIndex < rows.Length - 1; rowIndex++) { string[] cells = rows[rowIndex].Split(';'); CraftInfo newCraftInfo = new CraftInfo(); newCraftInfo.itemRow = Item.dataItems[itemIndex].index; if (cells[1].Length > 1) { string[] toolCellParts = cells[1].Split('\n'); newCraftInfo.requiredToolItemRows = new int[toolCellParts.Length]; int requiredToolIndex = 0; foreach (var cellPart in toolCellParts) { string itemName = cellPart.Trim('"'); Item requiredToolItem = Item.dataItems.Find(x => x.word.text == itemName); if (requiredToolItem == null) { Debug.LogError("couldn't find tool for item " + Item.dataItems[itemIndex].word.text + " / content : " + itemName); break; } newCraftInfo.requiredToolItemRows[requiredToolIndex] = requiredToolItem.index; ++requiredToolIndex; } string[] itemCellParts = cells[2].Split('\n'); newCraftInfo.requiredItemRows = new int[itemCellParts.Length]; newCraftInfo.requiredItemAmounts = new int[itemCellParts.Length]; int requiredItemIndex = 0; foreach (var cellPart in itemCellParts) { string itemName = cellPart.Trim('"'); int itemAmount = 1; if (itemName.Contains(",")) { string[] str = itemName.Split(','); itemName = str[0]; itemAmount = int.Parse(str[1].Remove(0, 1)); } Item requiredItem = Item.dataItems.Find(x => x.word.text == itemName); if (requiredItem == null) { Debug.LogError("couldn't find required item for item " + Item.dataItems[itemIndex].word.text + " / content : " + itemName); break; } newCraftInfo.requiredItemRows[requiredItemIndex] = requiredItem.index; newCraftInfo.requiredItemAmounts[requiredItemIndex] = itemAmount; ++requiredItemIndex; } craftInfos[itemIndex] = newCraftInfo; } itemIndex++; } }