public void updateCalcedProperty(TowerTemplate tt) { TowerBase tb = tt.tbase; TowerBattleProperty property = TowerBattleProperty.genTowerBattleProperty(tt); _property.setName(tb.tname); if (tb.atkType == eAtkType.MELLE_AOE || tb.atkType == eAtkType.MELLE_POINT) { string s = "Melee"; _property.setAtkRange(s); } else { string s = string.Format("{0:f1}", property.atkRange * 0.001f); _property.setAtkRange(s); } int atkInteval = tb.towerModel.atkInterval; int actualInteval = (int)(atkInteval / (1.0f + property.atkSpd * 0.01f)); string ss = string.Format("{0:f1}", actualInteval * 0.001f); _property.setAtkSpd(ss, property.atkSpd + ""); _property.setHit(tb.mingzhong); //string s = string s =string.Format("{0:f2}", x); _property.setDamage(property.mainAtk, property.extraAtk); _property.setSkill(property.originSkills); }
public void init(TowerTemplate towerTemplate, Vector2Int posInCell) { if (towerTemplate != null) { this.tt = towerTemplate; this.atkType = towerTemplate.tbase.atkType; this.mainAtk = towerTemplate.tbase.mainAtk; this.extraAtk = towerTemplate.tbase.extraAtk; this.atkInterval = towerTemplate.tbase.towerModel.atkInterval; this.atkRange = towerTemplate.tbase.towerModel.atkRange; this.atkPreTime = towerTemplate.tbase.towerModel.atkPreTime; this.mingzhong = towerTemplate.tbase.mingzhong; //this.tt = towerTemplate; for (int i = 0; i < towerTemplate.tbase.skills.Count; i++) { skillComponent.skills [i] = new SkillState(towerTemplate.tbase.skills[i].skillId, towerTemplate.tbase.skills[i].skillLevel); skillComponent.skillCoolDown [i] = 3000; } } this.posInCell = posInCell; Vector2Int posLt = MapManager.getInstance().CellToWorld(posInCell.y, posInCell.x); //posLt += new Vector2Int (MapManager.TILE_WIDTH * 5,-MapManager.TILE_HEIGHT * 5); posXInt = posLt.x; posYInt = posLt.y; atkCoolDown = 1000; atkBhvTimer = 0; initialized = true; }
public HangingPointLoadCompose(int i, int j, float[,] xLoad, float[,] yLoad, float[,] zLoad, string grp, string linkXY, string linkZ, HangingPointSettingParas hpSetting, TowerTemplate template, List <StruCalsDicGroup> dicGrps, string pos = null) { iIndex = i; jIndex = j; xLineLoad = xLoad; yLineLoad = yLoad; zLineLoad = zLoad; xyLink = linkXY; zLink = linkZ; if (pos == null) { isTensionTower = false; } else { isTensionTower = true; position = pos; } group = grp; hpPointsParas = hpSetting; towerTemplate = template; wireType = towerTemplate.Wires[i]; wd = towerTemplate.WorkConditionCombos[j]; dicGroupOptions = dicGrps; }
public void TestMethod1_NewTemplateReadAndSave() { var openFileDialog = new Microsoft.Win32.OpenFileDialog() { Filter = "DLL Files (*.dll)|*.dll" }; if (openFileDialog.ShowDialog() != true) { return; } string datPath = openFileDialog.FileName.Substring(0, openFileDialog.FileName.Length - 3) + "dat"; DES.DesDecrypt(openFileDialog.FileName, datPath, "12345678"); TowerTemplateReader templateReader = new TowerTemplateReader(TowerTypeEnum.LineTower); TowerTemplate template = templateReader.Read(datPath); string newDatPath = openFileDialog.FileName.Substring(0, openFileDialog.FileName.Length - 4) + "New.dat"; NewTowerTemplateReader newTemplateReader = new NewTowerTemplateReader(TowerTypeEnum.LineTower); newTemplateReader.Save(newDatPath, template); TowerTemplate newTemplate = newTemplateReader.Read(newDatPath); }
public void ConvertTemplate() { foreach (var item in Templates) { string datPath = item.Name.Substring(0, item.Name.Length - 3) + "dat"; DES.DesDecrypt(item.Name, datPath, "12345678"); TowerTemplateReader templateReader = new TowerTemplateReader(TowerTypeStringConvert.TowerStringToType(item.TowerType)); TowerTemplate template = templateReader.Read(datPath); string dirPath = datPath.Substring(0, datPath.LastIndexOf('\\')); string templateName = datPath.Substring(datPath.LastIndexOf('\\') + 1); string newDirPath = dirPath + "\\新模板\\"; if (!Directory.Exists(newDirPath)) { Directory.CreateDirectory(newDirPath); } string newTemplatePath = newDirPath + templateName; NewTowerTemplateReader newTemplateReader = new NewTowerTemplateReader(TowerTypeStringConvert.TowerStringToType(item.TowerType)); newTemplateReader.Save(newTemplatePath, template); } }
// void RenderComponents(int index, GObject obj){ // GComponent item = obj.asCom; // item.visible = true; // GLoader icon = item.GetChild ("icon").asLoader; // // TowerComponent tc = PlayerData.getInstance ().bagComponents [index]; // if (tc == null) { // icon.url = "Equips/empty"; // } else { // icon.url = "Equips/" + tc.cid; // } // item.onTouchEnd.Add (delegate() { // GameManager.getInstance().showDetailAmplifier(tc.cdesp); // }); // item.draggable = true; // // item.onDragStart.Set(delegate(EventContext context) { // context.PreventDefault(); // DragDropManager.inst.StartDrag(item, "Equips/"+tc.cid, (object)(index), (int)context.data); // startDragBagItem(index); // }); // // //string name = PlayerData.getInstance ().bagComponents [index].cname; // } // void startDragBagItem(int idx){ // beforeDragPos = tComponents.LocalToGlobal(tComponents.GetChildAt(idx).position); // isDropOnSlot = false; // //tComponents.GetChildAt(index).visible = false; // for (int i = idx+1; i < tComponents.numItems; i++) { // Vector2 startPos = tComponents.GetChildAt (i).position; // Vector2 endPos = tComponents.GetChildAt (i-1).position; // tComponents.GetChildAt (i).TweenMove (endPos,0.3f); // } // tComponents.RemoveChildAt(idx); // nowDragIdx = idx; // tComponents.EnsureBoundsCorrect (); // } void clickTower(EventContext context) { GComponent item = (GComponent)context.data; int idx = towers.GetChildIndex(item); towerIdx = idx; TowerTemplate tt = PlayerData.getInstance().ownedTowers[idx]; for (int i = 0; i < 4; i++) { components [i].visible = true; if (tt.components [i] == null) { components[i].setInfo(null); } else { components[i].setInfo(tt.components[i]); } } _property.visible = true; updateCalcedProperty(tt); if (PlayerData.getInstance().guideStage == 14) { GuideManager.getInstance().showGuideCloseMenu(); PlayerData.getInstance().guideStage = 15; } }
public void gainTowerBase(string tid) { TowerBase tb = GameStaticData.getInstance().getTowerBase(tid); TowerTemplate tt = new TowerTemplate(); tt.tbase = tb; ownedTowers.Add(tt); }
public HangingPointLoadComposeBase(int i, int j, string orient, float[,] xLoad, float[,] yLoad, float[,] zLoad, string group, string link, List <HangingPointParas> pointsParas, HangingPointSettingParas raios, TowerTemplate template, List <StruCalsDicGroup> dicGrps) { iIndex = i; jIndex = j; orientation = orient; xLineLoad = xLoad; yLineLoad = yLoad; zLineLoad = zLoad; if (orient == "X") { lineLoad = xLoad; } else if (orient == "Y") { lineLoad = yLoad; } else { lineLoad = zLoad; } ratioParas = raios; towerTemplate = template; wireType = towerTemplate.Wires[i]; wd = towerTemplate.WorkConditionCombos[j]; StruCalsDicGroup dicGroup = new StruCalsDicGroup(); if (link.Contains("常规")) { pointParas = pointsParas.Where(item => item.WireType == wireType).First(); string vStr = pointParas.StringType.Contains("V") ? "V串" : pointParas.StringType; dicGroup = dicGrps.Where(item => item.Group == group && item.FixedType == vStr && item.Link == link).First(); } else if (link.Contains("转向")) { pointParas = pointsParas.Where(item => item.WireType == wireType).First(); dicGroup = dicGrps.Where(item => item.Group == group && item.Link == link).First(); } else { string wCC = template.WorkConditionCombos[jIndex].WorkConditionCode; string array = wCC.Substring(wCC.Length - 1); pointParas = pointsParas.Where(item => item.WireType == wireType && item.Array != null && item.Array.Contains(array)).First(); dicGroup = dicGrps.Where(item => item.Group == group && item.Link == link).First(); } option = dicGroup.Options.Where(item => item.Num == pointParas.PointNum).First(); dicComposeInfo = option.ComposrInfos.Where(item => item.Orientation == orientation).First().PointCompose; }
public static List <WorkConditionComboSpec> ConvertTemplateToSpec(TowerTemplate template, bool isCalculation = false) { List <WorkConditionComboSpec> listSpec = new List <WorkConditionComboSpec>(); if (template == null || template.WorkConditionCombos == null) { return(listSpec); } foreach (var item in template.WorkConditionCombos) { WorkConditionComboSpec spec = new WorkConditionComboSpec(); spec.Index = item.Index; spec.IsCalculate = item.IsCalculate; spec.WorkConditionCode = isCalculation ? item.WorkConditionCode: WorkConditonSetReader.ConvertWorkConditionCode(template.TowerType, item.WorkConditionCode, conditionSet);// if (item.TensionAngleCode != null) { spec.TensionAngleCode = isCalculation ? item.TensionAngleCode: WorkConditonSetReader.ConvertTensionAngleCode(item.TensionAngleCode); } if (item.VertialLoadCode != null) { spec.VertialLoadCode = isCalculation ? item.VertialLoadCode : WorkConditonSetReader.ConvertVertialLoadCode(item.VertialLoadCode); } spec.WindDirectionCode = item.WindDirectionCode; spec.WorkCode = item.WorkCode; for (int i = 1; i <= item.WireIndexCodes.Count; i++) { Type specType = spec.GetType(); PropertyInfo specPro = specType.GetProperty("Wire" + i.ToString(), BindingFlags.GetProperty | BindingFlags.Instance | BindingFlags.Public); if (specPro != null) { if (isCalculation) { specPro.SetValue(spec, item.WireIndexCodes[i - 1].ToString()); } else { string value = WorkConditonSetReader.ConvertWireCodes(template.TowerType, i, item.WorkConditionCode, item.WireIndexCodes, template.WorkConditongs); specPro.SetValue(spec, value); } } } spec.WorkComment = item.WorkComment; listSpec.Add(spec); } return(listSpec); }
public static void ConvertSpecToWorkCondition(TowerTemplate template, List <WorkConditionComboSpec> workConditionSpecs, bool isCalculation = false) { List <WorkConditionCombo> workConditions = new List <WorkConditionCombo>(); WorkConditionComboSpec item; //foreach (var item in workConditionSpecs) for (int index = 0; index < workConditionSpecs.Count; index++) { item = workConditionSpecs[index]; WorkConditionCombo wcc = new WorkConditionCombo(); wcc.Index = item.Index; wcc.IsCalculate = item.IsCalculate; wcc.WorkConditionCode = isCalculation? template.WorkConditionCombos[index].WorkConditionCode: item.WorkConditionCode; if (item.TensionAngleCode != null) { wcc.TensionAngleCode = isCalculation ? template.WorkConditionCombos[index].TensionAngleCode : item.TensionAngleCode; } if (item.VertialLoadCode != null) { wcc.VertialLoadCode = isCalculation ? template.WorkConditionCombos[index].VertialLoadCode : item.VertialLoadCode; } wcc.WindDirectionCode = item.WindDirectionCode; wcc.WorkCode = item.WorkCode; //int wireIndexCodesNum = template.WorkConditionCombos[0].WireIndexCodes.Count; int wireIndexCodesNum = template.Wires.Count; wcc.WireIndexCodes = new List <int>(); for (int i = 1; i <= wireIndexCodesNum; i++) { Type itemType = item.GetType(); PropertyInfo itemPro = itemType.GetProperty("Wire" + i.ToString(), BindingFlags.GetProperty | BindingFlags.Instance | BindingFlags.Public); if (itemPro != null) { wcc.WireIndexCodes.Add(isCalculation ? template.WorkConditionCombos[index].WireIndexCodes[i - 1]:Convert.ToInt32(itemPro.GetValue(item, null))); } } wcc.WorkComment = item.WorkComment; workConditions.Add(wcc); } template.WorkConditionCombos = workConditions; }
// IEnumerator moveIcon(Vector2 moveTo){ // while (true) { // movingIcon.xy = Vector2.Lerp (movingIcon.xy, moveTo, 0.3f); // yield return null; // if ((movingIcon.xy - moveTo).magnitude < 1f) { // yield break; // } // } // } // public void unequip (int componentIdx){ // if (componentIdx < 0||componentIdx>=4) // return; // TowerTemplate tt = PlayerData.getInstance ().ownedTowers [towerIdx]; // TowerComponent equipped = tt.components [componentIdx]; // if (equipped == null) // return; // PlayerData.getInstance ().bagComponents.Add (equipped); // tComponents.numItems = PlayerData.getInstance ().bagComponents.Count; // components [componentIdx].setInfo (null); // tt.components [componentIdx] = null; // // // movingIcon.url = "Equips/" + equipped.cid; // movingIcon.xy = components [componentIdx].xy; // movingIcon.visible = true; // tComponents.GetChildAt (tComponents.numItems-1).visible = false; // tComponents.EnsureBoundsCorrect (); // movingIcon.TweenMove(this.GlobalToLocal(tComponents.LocalToGlobal(tComponents.GetChildAt(tComponents.numItems-1).xy)),0.3f).OnStart(delegate(GTweener tweener) { // // }).OnUpdate(delegate(GTweener tweener) { // movingIcon.InvalidateBatchingState(); // }).OnComplete(delegate(GTweener tweener) { // movingIcon.visible = false; // //PlayerData.getInstance ().bagComponents [bagSlot] = equipped; // tComponents.GetChildAt (tComponents.numItems-1).visible = true; // }); // // updateCalcedProperty (tt); // // } public void unequip(int componentIdx) { if (componentIdx < 0 || componentIdx >= 4) { return; } TowerTemplate tt = PlayerData.getInstance().ownedTowers [towerIdx]; TowerComponent equipped = tt.components [componentIdx]; if (equipped == null) { return; } PlayerData.getInstance().bagComponents.Add(equipped); components [componentIdx].setInfo(null); tt.components [componentIdx] = null; updateCalcedProperty(tt); }
public static Tower createTower(int idx, Vector2Int posInCell, Transform target) { TowerTemplate tt = PlayerData.getInstance().getTowerTemplate(idx); GameObject prefab = Resources.Load("Prefabs/tower_base") as GameObject; //GameObject viewPrefab = Resources.Load ("Prefabs/towers/"+tt.tbase.tid) as GameObject; AnimatorOverrideController animCtrl = Resources.Load("OverrideAnimCtrl/towers/" + tt.tbase.tid) as AnimatorOverrideController; GameObject o = GameObject.Instantiate(prefab, target); Tower t = o.GetComponent <Tower> (); t.GetComponentInChildren <Animator>().runtimeAnimatorController = animCtrl; t.init(tt, posInCell); BattleManager.getInstance().addTower(t); return(t); }
public LoadComposeBase(StruCalseBaseParas para, StruLineParas[] lineParas, HangingPointSettingParas hpParas, TowerTemplate template, string tablePath) { ProcessString = new List <string>(); Process2String = new List <string>(); Paras = para; LineParasArr = lineParas; HPSettingParas = hpParas; Template = template; DicGroup = StruLoadComposeDicReader.Read(GetDicPath()); LoadDics = StruLoadComposeDicReader.DicRead(GetLoadDicPath()); wireNum = Template.Wires.Count; earthWireNum = Template.Wires.Where(item => item.Contains("地")).Count(); workConditionNum = Template.WorkConditongs.Count; DataSet ds = ExcelUtils.ReadExcel(tablePath); ReadWorkCondition(ds); ReadElectricLoad(ds); }
protected void ShowTemplateEditWindow(TowerTemplateStorageInfo templateInfo, bool isReadOnly) { TowerTemplate template = new TowerTemplate(); //templateInfo 不是null,需要从project中读取模板 if (templateInfo != null) { var proInstance = ProjectUtils.GetInstance(); string path = isReadOnly ? proInstance.GetGeneralTowerTemplatePath(templateInfo.Name, templateInfo.TowerType) : proInstance.GetProjectlTowerTemplatePath(templateInfo.Name, templateInfo.TowerType); NewTowerTemplateReader newTemplateReader = new NewTowerTemplateReader(TowerTypeStringConvert.TowerStringToType(templateInfo.TowerType)); template = newTemplateReader.Read(path); } StruTemplateEditViewModel model = ViewModelSource.Create(() => new StruTemplateEditViewModel(template, isReadOnly)); model.CloseEditTemplateWindowEvent += CloseTemplateEditWindow; editWindow = new StruTemplateEditWindow(); editWindow.DataContext = model; editWindow.ShowDialog(); }
public void Save(string path, TowerTemplate template) { List <string> strs = new List <string>(); strs.Add("线条://“地”即为地线,“导”即为导线,跳线随导线,且“左”,“右”具有实际意义"); string wireStr = ""; foreach (var wire in template.Wires) { wireStr += wire + " "; } strs.Add(wireStr); strs.Add("气象条件://大风为第一要素工况,其余随意"); string wordCdStr = ""; for (int i = 1; i <= template.WorkConditongs.Count; i++) { wordCdStr += i.ToString() + "." + template.WorkConditongs[i] + " "; } strs.Add(wordCdStr); strs.Add("计算工况"); foreach (var combo in template.WorkConditionCombos) { EncodeWorkCondition(out string comboStr, combo); strs.Add(comboStr); } if (File.Exists(path)) { File.Delete(path); } FileUtils.TextSaveByLine(path, strs); }
public void updateView(TowerTemplate tt) { TowerBattleProperty property = TowerBattleProperty.genTowerBattleProperty(tt); TowerBase tb = tt.tbase; _name.text = tb.tname; _cost1.text = tb.cost [0] + ""; _cost2.text = tb.cost [1] + ""; _cost3.text = tb.cost [2] + ""; if (tb.atkType == eAtkType.MELLE_AOE || tb.atkType == eAtkType.MELLE_POINT) { string s = "Melee"; _range.text = s; } else { string s = getAtkRangeTxt(property.atkRange); _range.text = s; } int atkInteval = tb.towerModel.atkInterval; _spd.text = getAtkSpdTxt(atkInteval); setHit(tb.mingzhong); //setAtkRange(tb.towerModel.atkRange+""); //setAtkSpd(tb.towerModel.atkInterval+""); setDamage(property.mainAtk, property.extraAtk); setSkill(property.originSkills); }
// public void changeComponent (int componentIdx, int bagSlot){ // isDropOnSlot = true; // if (towerIdx < 0) // return; // TowerTemplate tt = PlayerData.getInstance ().ownedTowers [towerIdx]; // TowerComponent toEquip = PlayerData.getInstance ().bagComponents [bagSlot]; // TowerComponent equipped = tt.components [componentIdx]; // // tt.components [componentIdx] = toEquip; // components [componentIdx].setInfo (tt.components[componentIdx]); // // if (equipped != null) { // // movingIcon.url = "Equips/" + equipped.cid; // movingIcon.xy = components [componentIdx].xy; // movingIcon.visible = true; // // // PlayerData.getInstance ().bagComponents [bagSlot] = equipped; // tComponents.numItems = PlayerData.getInstance ().bagComponents.Count; // tComponents.GetChildAt (bagSlot).visible = false; // tComponents.EnsureBoundsCorrect (); // for (int i = tComponents.numItems-1; i > bagSlot; i--) { // Vector2 startPos = tComponents.GetChildAt (i - 1).position; // Vector2 endPos = tComponents.GetChildAt (i).position; // tComponents.GetChildAt (i).xy = startPos; // tComponents.GetChildAt (i).TweenMove (endPos,0.3f); // } // // movingIcon.TweenMove(this.GlobalToLocal(beforeDragPos),0.3f).OnStart(delegate(GTweener tweener) { // // }).OnUpdate(delegate(GTweener tweener) { // movingIcon.InvalidateBatchingState(); // }).OnComplete(delegate(GTweener tweener) { // movingIcon.visible = false; // //PlayerData.getInstance ().bagComponents [bagSlot] = equipped; // tComponents.GetChildAt (bagSlot).visible = true; // }); // } else { // PlayerData.getInstance ().bagComponents.RemoveAt (bagSlot); // tComponents.numItems = PlayerData.getInstance ().bagComponents.Count; // } // updateCalcedProperty (tt); // } public void changeComponent(int componentIdx, int bagSlot) { isDropOnSlot = true; if (towerIdx < 0) { return; } TowerTemplate tt = PlayerData.getInstance().ownedTowers [towerIdx]; TowerComponent toEquip = PlayerData.getInstance().bagComponents [bagSlot]; TowerComponent equipped = tt.components [componentIdx]; tt.components [componentIdx] = toEquip; components [componentIdx].setInfo(tt.components[componentIdx]); if (equipped != null) { PlayerData.getInstance().bagComponents[bagSlot] = equipped; } else { PlayerData.getInstance().bagComponents.RemoveAt(bagSlot); } updateCalcedProperty(tt); }
public static TowerBattleProperty genTowerBattleProperty(TowerTemplate tt) { TowerBase tb = tt.tbase; List <TowerComponent> components = new List <TowerComponent>(); foreach (TowerComponent tc in tt.components) { if (tc == null || tc.cid == null) { continue; } components.Add(tc); } int atkRange = tb.towerModel.atkRange; int atkSpeed = tb.atkSpd; List <AtkInfo> extraAtk = new List <AtkInfo> (); AtkInfo mainAtk = new AtkInfo(tb.mainAtk); for (int i = 0; i < tb.extraAtk.Count; i++) { extraAtk.Add(new AtkInfo(tb.extraAtk[i])); } List <SkillState> skills = new List <SkillState> (); skills.AddRange(tb.skills); //List<SkillState> extraSkills = new List<SkillState> (); foreach (TowerComponent tc in components) { foreach (TowerComponentEffect effect in tc.effects) { switch (effect.type) { case eTowerComponentEffectType.ATK_CHANGE: mainAtk.damage += effect.x; break; case eTowerComponentEffectType.EXTRA_ABILITY: // string skillId = effect.extra; int skillLevel = effect.x; TowerSkill ts = GameStaticData.getInstance().getTowerSkillInfo(skillId); { bool found = false; for (int i = 0; i < skills.Count; i++) { if (skills [i].skillId == skillId) { found = true; skills [i].skillLevel += skillLevel; if (skills [i].skillLevel > ts.maxLv) { skills [i].skillLevel = ts.maxLv; } break; } } if (!found) { SkillState skill = new SkillState(); skill.skillId = skillId; skill.skillLevel = skillLevel; skills.Add(skill); } } break; case eTowerComponentEffectType.ATK_SPD_CHANGE: atkSpeed += effect.x; break; case eTowerComponentEffectType.ATK_RANGE_CHANGE: atkRange += effect.x; break; case eTowerComponentEffectType.EXTRA_ATK: if (mainAtk.property == (eProperty)effect.x) { mainAtk.damage += effect.y; } else { bool found = false; for (int i = 0; i < extraAtk.Count; i++) { if (extraAtk [i].property == (eProperty)effect.x) { found = true; extraAtk [i].damage += effect.y; break; } } if (!found) { extraAtk.Add(new AtkInfo(effect.x, effect.y)); } } break; default: break; } } } TowerBattleProperty res = new TowerBattleProperty(); res.atkRange = atkRange; res.atkSpd = atkSpeed; res.mainAtk = mainAtk; res.extraAtk = extraAtk; res.originSkills = skills; return(res); }
public StruTemplateEditViewModel(TowerTemplate template, bool isReadOnly = true) { oldName = template.Name; oldType = template.TowerType; _template = template; IsReadOnly = isReadOnly; #region 导地线的初始化 TemplateWire wire = new TemplateWire(); wire.Wire = new string[16]; List<Column> wireColumns = new List<Column>() { new HeaderColumn() { Settings = SettingsType.Binding, FieldName = "Name", Header = "序号", AllowEditing = (!isReadOnly).ToString(), }, }; if (template.Wires != null) { for(int i = 0; i < template.Wires.Count; i++) { WireNum++; wire.Wire[i] = template.Wires[i]; wireColumns.Add(new HeaderColumn() { Settings = SettingsType.Binding, FieldName = "Wire[" + i.ToString() + "]", Header = (i + 1).ToString(), AllowEditing = (!isReadOnly).ToString(), }); SetWireVisbility(WireNum); } } Wires = new ObservableCollection<TemplateWire>(); Wires.Add(wire); WireColumns = new ObservableCollection<Column>(wireColumns); #endregion #region 工况的初始化 TemplateWorkCondition workCondition = new TemplateWorkCondition(); workCondition.WorkCondition = new string[16]; List<Column> workConditionColumns = new List<Column>() { new HeaderColumn() { Settings = SettingsType.Binding, FieldName = "Name", Header = "序号", AllowEditing = (!isReadOnly).ToString(), }, }; if (template.WorkConditongs != null) { for (int i = 0; i < template.WorkConditongs.Count; i++) { WorkConditionNum++; workCondition.WorkCondition[i] = template.WorkConditongs[i+1]; workConditionColumns.Add(new HeaderColumn() { Settings = SettingsType.Binding, FieldName = "WorkCondition[" + i.ToString() + "]", Header = (i + 1).ToString(), AllowEditing = (!isReadOnly).ToString(), }); } } WorkConditions = new ObservableCollection<TemplateWorkCondition>(); WorkConditions.Add(workCondition); WorkConditionColumns = new ObservableCollection<Column>(workConditionColumns); #endregion #region 工况的初始化 WorkConditionCombos = new ObservableCollection<WorkConditionComboSpec>(StruCalsParasCompose.ConvertTemplateToSpec(template)); //List<Column> workConditionComboColumns = new List<Column>(); //workConditionComboColumns.Add(new HeaderColumn() { // Settings = SettingsType.Binding, // FieldName = "Index", // Header = "序号", // Width = "*", // AllowEditing = (!isReadOnly).ToString(), //}); //workConditionComboColumns.Add(new HeaderColumn() { // Settings = SettingsType.Binding, // FieldName = "IsCalculate", // Header = "选择与否", // Width = "2*", // AllowEditing = (!isReadOnly).ToString(), //}); //workConditionComboColumns.Add(new HeaderColumn() { // Settings = SettingsType.Binding, // FieldName = "WorkConditionCode", // Header = "工况", // Width = "*", // AllowEditing = (!isReadOnly).ToString(), //}); //workConditionComboColumns.Add(new HeaderColumn() { // Settings = SettingsType.Binding, // FieldName = "TensionAngleCode", // Header = "张力角", // Width = "*", // AllowEditing = (!isReadOnly).ToString(), // Visible = "{Binding IsTensionAngleVisible}" //}); //workConditionComboColumns.Add(new HeaderColumn() { // Settings = SettingsType.Binding, // FieldName = "VertialLoadCode", // Header = "垂直载荷", // Width = "*", // AllowEditing = (!isReadOnly).ToString(), // Visible = "{Binding IsVertialLoadCodeVisible}" //}); //workConditionComboColumns.Add(new HeaderColumn() { // Settings = SettingsType.Binding, // FieldName = "WindDirectionCode", // Header = "风向", // Width = "*", // AllowEditing = (!isReadOnly).ToString(), //}); //for (int i = 0; i < template.Wires.Count; i++) //{ // workConditionComboColumns.Add(new HeaderColumn() { // Settings = SettingsType.Binding, // FieldName = "Wire" + (i + 1).ToString(), // Header = template.Wires[i], // Width = "*", // AllowEditing = (!isReadOnly).ToString(), // }); //} //workConditionComboColumns.Add(new HeaderColumn() { // Settings = SettingsType.Binding, // FieldName = "WorkCode", // Header = "工况代码", // Width = "*", // AllowEditing = (!isReadOnly).ToString(), //}); //workConditionComboColumns.Add(new HeaderColumn() { // Settings = SettingsType.Binding, // FieldName = "WorkComment", // Header = "注释", // Width = "6*", // AllowEditing = (!isReadOnly).ToString(), //}); //WorkConditionComboColumns = new ObservableCollection<Column>(workConditionComboColumns); #endregion }
/// <summary> /// 电气计算的结果转转换成结构计算的输入 /// </summary> /// <param name="elecCals"></param> /// <param name="struTemp"></param> public EelcRstConvStruInput(TowerElecCals elecCals, TowerTemplate struTemp) { ElecRst = elecCals; StruTemplate = struTemp; }
public void setTowerInfo(TowerTemplate info) { this.info = info; _pic.url = "image/TowerBigPicture/" + info.tbase.tid; }
public LoadComposeLineCornerTower(StruCalseBaseParas para, StruLineParas[] lineParas, HangingPointSettingParas ratioParas, TowerTemplate template, string tablePath) : base(para, lineParas, ratioParas, template, tablePath) { formula = new FormulaLineLineCornerTower(para); }
public void initTowers() { { TowerTemplate tt = new TowerTemplate(); TowerBase tb = GameStaticData.getInstance().getTowerBase("t01"); tt.tbase = tb; ownedTowers.Add(tt); } { TowerTemplate tt = new TowerTemplate(); TowerBase tb = GameStaticData.getInstance().getTowerBase("t02"); tt.tbase = tb; ownedTowers.Add(tt); } { TowerTemplate tt = new TowerTemplate(); TowerBase tb = GameStaticData.getInstance().getTowerBase("t03"); tt.tbase = tb; ownedTowers.Add(tt); } // { // TowerTemplate tt = new TowerTemplate (); // TowerBase tb = GameStaticData.getInstance ().getTowerBase ("t04"); // // tt.tbase = tb; // ownedTowers.Add (tt); // } { TowerTemplate tt = new TowerTemplate(); TowerBase tb = GameStaticData.getInstance().getTowerBase("t05"); tt.tbase = tb; ownedTowers.Add(tt); } { TowerTemplate tt = new TowerTemplate(); TowerBase tb = GameStaticData.getInstance().getTowerBase("t06"); tt.tbase = tb; ownedTowers.Add(tt); } { TowerTemplate tt = new TowerTemplate(); TowerBase tb = GameStaticData.getInstance().getTowerBase("t07"); tt.tbase = tb; ownedTowers.Add(tt); } { TowerTemplate tt = new TowerTemplate(); TowerBase tb = GameStaticData.getInstance().getTowerBase("t08"); tt.tbase = tb; ownedTowers.Add(tt); } { TowerTemplate tt = new TowerTemplate(); TowerBase tb = GameStaticData.getInstance().getTowerBase("t10"); tt.tbase = tb; ownedTowers.Add(tt); } { TowerTemplate tt = new TowerTemplate(); TowerBase tb = GameStaticData.getInstance().getTowerBase("t11"); tt.tbase = tb; ownedTowers.Add(tt); } { TowerTemplate tt = new TowerTemplate(); TowerBase tb = GameStaticData.getInstance().getTowerBase("t20"); tt.tbase = tb; ownedTowers.Add(tt); } }
void clickComponent(int idx) { TowerTemplate tt = PlayerData.getInstance().ownedTowers [towerIdx]; towerComponentWindow.SetAndShow(idx, tt.components [idx]); }