/// <summary> /// advance location to column 1 of the next row. /// </summary> /// <param name="InLoc"></param> /// <returns></returns> public DisplayLocation CrLf(DisplayLocation InLoc) { int rx = InLoc.Row + 1; int cx = 1; return(new DisplayLocation(rx, cx)); }
public static FieldAttribute QueryFieldAttribute( string InSessId, DisplayLocation InLoc) { UInt32 psLoc = DisplayLocationToPS(InSessId, InLoc); byte[] buf = new byte[10]; UInt32 rc = psLoc; UInt32 funcNx = Ehllapier.InputCodes.QueryFieldAttribute; UInt32 bufLx = 0; UInt32 rv = PcsDll.hllapi_Buffer(out funcNx, buf, out bufLx, out rc); if (rc == 7) { throw new EhllapiExcp( "QueryFieldAttribute failed. Position not valid. "); } else if (rc != 0) { throw new EhllapiExcp( "QueryFieldAttribute failed. " + " rc:" + rc.ToString()); } // the field attribute bits are returned in the bufLx argument. byte[] faBits = BitConverter.GetBytes(bufLx); byte faByte = faBits[0]; // crack the return values. FieldAttribute fldAttr = new FieldAttribute(faByte); return(fldAttr); }
private void LoadPixels() { if (mCharBuf == null) { throw new EhllapiExcp("LoadPixels failed. PresentationSpace buffer is empty."); } mPixels = new LinkedList <PresentationSpacePixel>(); DisplayLocation loc = new DisplayLocation(1, 1); // loop for every character in the character buffer. for (int ix = 0; ix < mCharBuf.Length; ix = ix + mPixelSx) { // create a pixel from the char and color byte buffers. PresentationSpacePixel pixel = null; if (mPixelSx == 2) { pixel = new PresentationSpacePixel( mCharBuf[ix], new CharAttrByte(mCharBuf[ix + 1]), new ColorAttrByte(mColorBuf[ix + 1])); } else { pixel = new PresentationSpacePixel(mCharBuf[ix]); } pixel.DisplayLocation = loc; mPixels.AddLast(pixel); // advance to the next display location in the presentation space. loc = Dim.IncDisplayLocation(loc); } }
public void Enter( DisplaySession Sess, string FileName, string LibraryName, string PositionToMember) { // tab to first entry field - file name. DisplayLocation loc = new DisplayLocation(3, 22); Sess.TabRightToDisplayLocation(loc); if (FileName != null) { Sess.SendKeys(FileName + Ehllapier.Key.FieldExit); } if (LibraryName != null) { Sess.SendKeys(LibraryName + Ehllapier.Key.FieldExit); } if (PositionToMember != null) { Sess.SendKeys(PositionToMember + Ehllapier.Key.FieldExit); } Sess.SendKeys(Ehllapier.Key.Enter); }
/// <summary> /// convert DisplayLocation to presentation space position. /// </summary> /// <param name="InSessId"></param> /// <param name="InRow"></param> /// <param name="InCol"></param> /// <returns></returns> public static UInt32 DisplayLocationToPS(string InSessId, DisplayLocation InLoc) { string sp3 = " "; // 3 spaces string fac2 = InSessId + sp3 + 'R' + sp3; Byte[] fac2Bytes = Encoding.ASCII.GetBytes(fac2); UInt32 funcNx = Ehllapier.InputCodes.ConvertPosition; UInt32 lgth = (UInt32)InLoc.Row; UInt32 rc = (UInt32)InLoc.Column; UInt32 rv = PcsDll.hllapi_Buffer(out funcNx, fac2Bytes, out lgth, out rc); if (rv == 0) { throw new EhllapiExcp("RowToPS failed. Incorrect row or column."); } else if (rv == 9998) { throw new EhllapiExcp("RowToPS failed. Incorrect presentation space ID."); } else if (rv == 9999) { throw new EhllapiExcp("RowToPS failed. Character 2 is not P or R."); } return(rv); }
public static string CopyFieldToString( string InSessId, DisplayLocation InLoc, int InFieldLx) { UInt32 psPos = DisplayLocationToPS(InSessId, InLoc); string fldText = CopyFieldToString(psPos, InFieldLx); return(fldText); }
public DisplayLocation CalcEndLocation(DisplayLocation InStartLoc, int InLgth) { int bx = InStartLoc.ToLinear(this); int ex = bx + InLgth - 1; DisplayLocation endLoc = LinearToDisplayLocation(ex); return(endLoc); }
public PresentationSpaceField( FieldAttribute FldAttr, DisplayLocation Loc, string Text) { mLocation = Loc; this.FieldAttribute = FldAttr; mText = Text; mLength = Text.Length; }
public void Enter_Insert(DisplaySession InSess) { // tab to first entry field - file name. DisplayLocation loc = new DisplayLocation(3, 1); InSess.TabRightToDisplayLocation(loc); InSess.SendKeys("I" + Ehllapier.Key.Enter); }
public LowPresentationSpace( DisplaySession InSess, byte[] InCharBuf, byte[] InColorBuf, int InPixelSx) { this.Dim = InSess.Dim; mCharBuf = InCharBuf; mColorBuf = InColorBuf; mPixelSx = InPixelSx; LoadPixels( ); mCursorLocation = InSess.CursorLocation; }
void AutoPotPreview_AfterDraw(object sender, EventArgs e) { AmountLabel.Visible = Info != null; if (Info == null) { return; } AmountLabel.Text = CountItem(Info).ToString(); Libraries.Items.Draw(Info.Image, DisplayLocation.Add(2, 3), Size, Color.White); AmountLabel.Draw(); }
/// <summary> /// Find the PresentationSpaceField that the FindLoc location is /// located within. /// </summary> /// <param name="InSess"></param> /// <param name="InFindLoc"></param> /// <returns></returns> public PresentationSpaceField FindField(DisplayLocation InFindLoc) { foreach (PresentationSpaceField fld in Fields) { if (fld.ContainsLocation(InFindLoc) == true) { return(fld); } } return(null); }
public PresentationSpace(DisplayLocation CursorLocation, PresentationSpaceDim Dim, IEnumerable <PresentationSpaceField> Fields) { this.Dim = Dim; this.CursorLocation = CursorLocation; this.Fields = new LinkedList <PresentationSpaceField>(); foreach (var item in Fields) { this.Fields.AddLast(item); } }
public DisplayLocation IncDisplayLocation(DisplayLocation InLoc) { DisplayLocation loc = new DisplayLocation(InLoc.Row, InLoc.Column); loc.Column += 1; if (loc.Column > Width) { loc.Row += 1; loc.Column = 1; } return(loc); }
public void Enter( DisplaySession InSess, string InChangeCreateFlag) { // tab to first entry field - file name. DisplayLocation loc = new DisplayLocation(5, 42); InSess.TabRightToDisplayLocation(loc); InSess.SendKeys(InChangeCreateFlag); InSess.SendKeys(Ehllapier.Key.Enter); }
public void Enter( DisplaySession InSess, string InMemberName) { // tab to first entry field - source member name. DisplayLocation loc = new DisplayLocation(7, 37); InSess.TabRightToDisplayLocation(loc); InSess.SendKeys(InMemberName + Ehllapier.Key.FieldExit); InSess.SendKeys(Ehllapier.Key.Enter); }
public void Enter( DisplaySession InSess, string InSelection) { // tab to entry field as row xxx, col yyy var loc = new DisplayLocation(20, 7); InSess.TabRightToDisplayLocation(loc); InSess.SendKeys(InSelection + Ehllapier.Key.FieldExit); InSess.SendKeys(Ehllapier.Key.Enter); InSess.Wait(); }
public void EnterSubfileOption( DisplaySession Sess, int RowNbr, string OptionValue) { // tab to subfile option entry field. DisplayLocation loc = new DisplayLocation(11 + RowNbr, 2); Sess.TabRightToDisplayLocation(loc); Sess.SendKeys(OptionValue + Ehllapier.Key.FieldExit); Sess.SendKeys(Ehllapier.Key.Enter); }
public PresentationSpaceField( out LinkedListNode <PresentationSpacePixel> OutEndPixelNode, PresentationSpace InPs, LinkedListNode <PresentationSpacePixel> InPixelNode) { PresentationSpacePixel pixel = InPixelNode.Value; mPs = InPs; mLocation = pixel.DisplayLocation; this.FieldAttribute = new FieldAttribute(pixel.Byte1); // store the character attributes found in the first character pixel. if (pixel.CharAttrByte != null) { mCharAttrByte = pixel.CharAttrByte; } // length runs from pixel after the attribute pixel to the next // attribute pixel. mLength = 0; StringBuilder sb = new StringBuilder(); LinkedListNode <PresentationSpacePixel> node = InPixelNode; LinkedListNode <PresentationSpacePixel> endNode = InPixelNode; while (true) { node = node.Next; if (node == null) { break; } pixel = node.Value; if (pixel.IsFieldAttribute == true) { break; } endNode = node; ++mLength; sb.Append(pixel.CharValue); if (sb.Length == 1) { if (pixel.ColorAttrByte != null) { mColorAttrByte = pixel.ColorAttrByte; } } } mText = sb.ToString( ); OutEndPixelNode = endNode; }
private void CanPickUp() { if (!outline_active) // 습득과 관련된 아이템은 외곽선과 상관 있다 { return; } if (pickupActivated) { if (hitInfo.transform != null) { if (hitInfo.transform.CompareTag("Item")) { if (theInventory.AcquireItem(hitInfo.transform.GetComponent <ItemPickUp>().item)) { //아이템 입수 사운드 SoundManger.instance.PlaySound(itemgainsound); // - 아이템 습득 InfoDisappear(); //info 삭제 hitInfo.transform.gameObject.SetActive(false); //아이템 비활성화 OutlineController.set_enabled(pre_ol_index, false); OutlineController.set_check(false); outline_active = false; // - 클릭버튼 비활성화 actionCaption.SetActive(false); PickUp_state = true; // 습득한 상태로 변경 -> 이후 Check_use_Item에서 location_script의 상태 업데이트하기 위해서 // - 장식장 클릭 (장식장에서 인형을 뺐을때) if (hitInfo2.transform != null) //null @ { if (hitInfo2.transform.CompareTag("Location")) { DisplayLocation location_script = hitInfo2.transform.GetComponent <DisplayLocation>(); // @ int display_index = location_script.location_Num; displayManager_script2.reset_DisplayArry(display_index); // - 활성화 상태 / 놓여진 상태임을 animation 매니저에 저장 dollAniManager_script.set_dollAcitveState(display_index, false); } } } } } } }
private string ParseResult(Weather weather) { if (weather.current_observation != null) { CurrentObservation o = weather.current_observation; DisplayLocation d = o.display_location; string result = string.Format("Weather for {0}{1}: {2}, {3}", d.full, (d.zip != null ? " (" + d.zip + ")" : ""), o.weather, o.temperature_string); result += string.Format("; feels like {0}. {1} winds. {2} humidity", o.feelslike_string, o.wind_string, o.relative_humidity); if (o.precip_today_metric != null) { result += string.Format("; {0} precipitation today", o.precip_today_string); } return(string.Format("{0}. {1}\n{2}", result, o.observation_time, o.forecast_url)); } return(null); }
public bool ContainsLocation(DisplayLocation Loc) { // calc the end location. Length is the char length of the field. Add 1 to // include the attribute pixel in the end point calculation. var endLoc = mPs.Dim.CalcEndLocation(Location, Length + 1); int bx = Location.ToLinear(mPs.Dim); int ex = endLoc.ToLinear(mPs.Dim); int ix = Loc.ToLinear(mPs.Dim); if ((ix >= bx) && (ix <= ex)) { return(true); } else { return(false); } }
//////////////////////////////////////////////////////////////////////////////////// // Constructor //////////////////////////////////////////////////////////////////////////////////// public DisplayControlsSample(ILightFieldApplication app) { // Cache Some Members application_ = app; display_ = application_.DisplayManager; // Initialize the WPF component InitializeComponent(); // Setup Layout Mode Combo Box LayoutCombo.Items.Add(DisplayLayout.One); LayoutCombo.Items.Add(DisplayLayout.TwoHorizontal); LayoutCombo.Items.Add(DisplayLayout.TwoVertical); LayoutCombo.Items.Add(DisplayLayout.ThreeTopFavored); LayoutCombo.Items.Add(DisplayLayout.ThreeVertical); LayoutCombo.Items.Add(DisplayLayout.FourEven); LayoutCombo.Items.Add(DisplayLayout.FourTopFavored); LayoutCombo.Items.Add(DisplayLayout.FourVertical); LayoutCombo.Items.Add(DisplayLayout.FourLeftFavored); LayoutCombo.Items.Add(DisplayLayout.FiveTopFavored); LayoutCombo.Items.Add(DisplayLayout.FiveLeftFavored); // Defaults from application selectedLocation_ = display_.Location; selectedLayout_ = display_.ExperimentWorkspaceLayout; // Default Combo Boxes LayoutCombo.SelectedItem = selectedLayout_; // Experiment if (selectedLocation_ == DisplayLocation.ExperimentWorkspace) { LocationCombo.SelectedIndex = 0; } // Data Workspace else { LocationCombo.SelectedIndex = 1; } IndexCombo.SelectedIndex = 0; }
public static DisplayLocation QueryCursorLocation(string InSessId) { StringBuilder sbKeys = new StringBuilder(10); UInt32 rc = 0; UInt32 funcNx = Ehllapier.InputCodes.QueryCursorLocation; UInt32 lgth = 0; UInt32 rv = PcsDll.hllapi(out funcNx, sbKeys, out lgth, out rc); if ((rc != 0) || (rv != 0)) { throw new EhllapiExcp( "QueryCursorLocation failed."); } // cursor location is stored as an int16 in the first two bytes of lgth. byte[] bits = BitConverter.GetBytes(lgth); UInt32 psPos = BitConverter.ToUInt16(bits, 0); DisplayLocation loc = PS_ToDisplayLocation(InSessId, psPos); return(loc); }
public void Enter( DisplaySession InSess, string InUserName, string InPassword) { // tab to entry field as row xxx, col yyy var loc = new DisplayLocation(6, 53); InSess.TabRightToDisplayLocation(loc); InSess.SendKeys(InUserName + Ehllapier.Key.FieldExit); InSess.SendKeys(InPassword + Ehllapier.Key.FieldExit); InSess.SendKeys(Ehllapier.Key.Enter); InSess.Wait(); // advance past "display messages" screen. DisplayMessagesScreen dpm = new DisplayMessagesScreen(InSess.GetPresentationSpace( )); if (dpm.IsScreen( )) { dpm.Enter(InSess); } }
//////////////////////////////////////////////////////////////////////////////////// // //////////////////////////////////////////////////////////////////////////////////// private void LocationCombo_SelectionChanged(object sender, SelectionChangedEventArgs e) { switch (LocationCombo.SelectedIndex) { case 0: selectedLocation_ = DisplayLocation.ExperimentWorkspace; LayoutCombo.IsEnabled = true; AddFileButton.IsEnabled = true; break; case 1: selectedLocation_ = DisplayLocation.DataWorkspace; LayoutCombo.IsEnabled = false; AddFileButton.IsEnabled = false; break; } // Show this one if (selectedLayout_ != DisplayLayout.UninitializedEnum) { display_.Location = selectedLocation_; } }
public void TabRightToDisplayLocation(DisplayLocation InLoc) { bool hasTabbedToTop = false; DisplayLocation startLoc = null; while (true) { DisplayLocation loc = CursorLocation; if (loc == InLoc) { break; } // have tabbed to the top of the screen. if ((hasTabbedToTop == false) && (startLoc != null) && (loc <= startLoc)) { hasTabbedToTop = true; } // have tabbed full circle back to start loc. if ((startLoc != null) && (hasTabbedToTop == true) && (loc >= startLoc)) { throw new EhllapiExcp("Tab to display location not found"); } if (startLoc == null) { startLoc = loc; } SendKeys(Ehllapier.Key.TabRight); } }
// private void Check_use_Item() { //if (dollAniManager_script.ClickButton()) // return; if (!layActivated) { return; } if (hitInfo2.transform != null) { if (hitInfo2.transform.CompareTag("Location")) //compare @ { // - 인형들 애니메이션 검사 //if (!dollAniManager_script.ClickButton()) //클릭이 가능한지 // return; // - 클릭한 장식장 위치의 스크립트 얻기 DisplayLocation location_script = hitInfo2.transform.GetComponent <DisplayLocation>(); if (PickUp_state) { //아이템 입수 사운드 SoundManger.instance.PlaySound(itemgainsound); // 장식장 인형 가질수있으면 가져가기 location_script.take_Doll(); PickUp_state = false; } else // - 장식장에 인형 놓기 { // - 선택슬롯의 인덱스 얻기 int use_index = selectSlot_script.get_index(); if (!theInventory.IsVoid_Slot(use_index)) //슬롯에 아이템이 있는가? 있으면 IsVoid_Slot반환값이 false { if (location_script.tryToPut_doll()) //장식장 위치에 이미 인형이 있는가? 없으면 true { //아이템 입수 사운드 SoundManger.instance.PlaySound(itemgainsound); // - 아이템 활성화 // 아이템 코드 int doll_itemCode = theInventory.get_ItemCode(use_index); // 장식장 놓을때, 배치퍼즐의 아이템(인형)의 인덱스를 구한다 int doll_displayIndex = displayManager_script2.compareItemCode(doll_itemCode); //인형매니저(2배치퍼즐)에서 아이템 인덱스 얻기 if (doll_displayIndex != -1) { // - 위에서 구한 인덱스(doll_displayIndex)에 접근, 이동 displayManager_script2.MoveSelectedInputArry( doll_displayIndex, location_script.get_DisplayPosition(), location_script.get_DisplayRotation()); location_script.lay_Doll(); // - 장식장 비교를 위한 변수 // 장식장 위치 넘버 int display_index = location_script.location_Num; // - 아이템 코드 저장 # displayManager_script2.set_DisplayArry(display_index, doll_itemCode); // - 아이템사용 후, 슬롯 클리어 O theInventory.clear_Slot(use_index); // - 활성화 상태 / 놓여진 상태임을 animation 매니저에 저장 dollAniManager_script.set_dollAcitveState(display_index, true); } } } } } else if (hitInfo2.transform.CompareTag("Enter")) //compare @ { // Enter 버튼을 누르고, if (dollAniManager_script.ClickButton()) //클릭이 가능한지 { if (pre_ol_index == -1) { return; } // - 종소리 사운드 SoundManger.instance.PlaySound(bellSound); // - 외곽선 해제 OutlineController.set_enabled(pre_ol_index, false); pre_ol_index = -1; OutlineController.set_check(false); outline_active = false; // - 클릭버튼 해제 actionCaption.SetActive(false); // - 배치퍼즐 장식장에 한개라도 있으면 상태가 false로 if (displayManager_script2.get_inputState()) { dollAniManager_script.set_clickable(false); //클릭했으니 상태를 클릭못하는 상태로변환 } else //장식장에 아무것도 안 놓여짐,비워져있음 { return; } if (displayManager_script2.compare_Answer()) // 맞았을때, { doorAnimation.play_doorAni(); //문열리기 SoundManger.instance.PlaySound(deskSound); this.enabled = false; getKey_script.enabled = true; //Debug.Log("clear - layout puzzle - 3stage"); } else // 틀렸을때 { SoundManger.instance.PlaySound(laugh); // - 비웃기 애니메이션 dollAniManager_script.MisplaceDolls(); //Debug.Log("wrong answer - layout puzzle - 3stage"); } } else { // - 클릭불가 사운드 //~ } } } else { PickUp_state = false; } }
// private void Check_use_Item() { if (hitInfo2.transform != null) { if (hitInfo2.transform.CompareTag("Location")) //compare @ { // - 클릭한 장식장 위치의 스크립트 얻기 DisplayLocation location_script = hitInfo2.transform.GetComponent <DisplayLocation>(); if (PickUp_state) { //인형 배치 사운드 SoundManger.instance.PlaySound(itemgainsound); // 장식장 인형 가질수있으면 가져가기 location_script.take_Doll(); PickUp_state = false; // # //if (!enter_3stage) displayManager_script.count--; } else { // - 선택슬롯의 인덱스 얻기 int use_index = selectSlot_script.get_index(); if (!theInventory.IsVoid_Slot(use_index)) //슬롯에 아이템이 있는가? 있으면 IsVoid_Slot반환값이 false { if (location_script.tryToPut_doll()) //장식장 위치에 이미 인형이 있는가? 없으면 true { //인형 배치 사운드 SoundManger.instance.PlaySound(itemgainsound); // - 아이템 활성화 // 아이템 코드 int doll_itemCode = theInventory.get_ItemCode(use_index); // 장식장 놓을때, 이동 int doll_displayIndex = displayManager_script.compareItemCode(doll_itemCode); //인형매니저(2배치퍼즐)에서 아이템 인덱스 얻기 displayManager_script.MoveSelectedInputArry( doll_displayIndex, location_script.get_DisplayPosition(), location_script.get_DisplayRotation()); location_script.lay_Doll(); // - 장식장 비교를 위한 변수 // 장식장 위치 넘버 int display_index = location_script.location_Num; // - 아이템 코드 저장 # displayManager_script.set_DisplayArry(display_index, doll_itemCode); // - 아이템사용 후, 슬롯 클리어 O theInventory.clear_Slot(use_index); // - count 증가 # displayManager_script.count++; // - 2스테이지 장식장 배치가 3스테이지로 옮겨짐. 한번만 실행 # (2스테이지 클리어) if (displayManager_script.count == 8) { //2스테이지 배치퍼즐 off displayManager_script.enabled = false; displayManager_script.destroy_colliders(); //3스테이지 배치퍼즐 on displayManager_script2.enabled = true; displayManager_script2.init_inputArry(displayManager_script.get_inputArry()); displayManager_script2.Create_sameOne(); //라이트 _lightOn_script.LightOn(); //3스테이지 카메라 스크립트 on actionController_3stage_script.enabled = true; enter_3stage = true; //손전등 없어지기 - 손전등 관련 스크립트 가져오기 //FlashlightItem.SetActive(false); flash_end.FlashLightEnd(1); //지하실, 2층계단 오픈 //tempDoor.SetActive(false); //콜라이더 비활성화 //tempStairs.SetActive(false); temp_basement.SetActive(false); // 지하실 열리기(임시) _________ //DoorOpen_Basement doorAni = tempStairs.GetComponent<DoorOpen_Basement>(); //doorAni.StartDoorAni(); lookingBasement_script.enabled = true; //지하실 파티클 오픈 Ring_Particle.SetActive(true); //지하실 움직임 끝 _cellarManager.MoveStop(); //지하실 엿보기 기능 끝 //_cellarDoor_script.enabled = false; //트리거로 검사해서 소용 없다 _cellarDoor_script.Set2StageEnd(); //모닥불 Fire_script.FireWallStartSound(); if (particleRing.isPlaying) { particleRing.Play(); } //웬디 AI on wendyAI_Script.ClearLayoutPuzzle(); wendyAI_Script.colliderChange(); // 외곽선 해제 if (pre_ol_index != -1) { //외곽선 해제 OutlineController.set_enabled(pre_ol_index, false); pre_ol_index = -1; OutlineController.set_check(false); outline_active = false; // - 클릭버튼 해제 actionCaption.SetActive(false); } } } } } } } else { PickUp_state = false; } }
public override int GetHashCode() { var hashCode = -1002157333; hashCode = hashCode * -1521134295 + Index.GetHashCode(); hashCode = hashCode * -1521134295 + EqualityComparer <string> .Default.GetHashCode(FullName); hashCode = hashCode * -1521134295 + EqualityComparer <string> .Default.GetHashCode(GroupName); hashCode = hashCode * -1521134295 + EqualityComparer <string> .Default.GetHashCode(SetName); hashCode = hashCode * -1521134295 + EqualityComparer <string> .Default.GetHashCode(Name); hashCode = hashCode * -1521134295 + EqualityComparer <string> .Default.GetHashCode(Display); hashCode = hashCode * -1521134295 + Available.GetHashCode(); hashCode = hashCode * -1521134295 + ModesRequired.GetHashCode(); hashCode = hashCode * -1521134295 + ModesDisallowed.GetHashCode(); hashCode = hashCode * -1521134295 + PowerType.GetHashCode(); hashCode = hashCode * -1521134295 + Accuracy.GetHashCode(); hashCode = hashCode * -1521134295 + AttackTypes.GetHashCode(); hashCode = hashCode * -1521134295 + EqualityComparer <string[]> .Default.GetHashCode(GroupMemberships); hashCode = hashCode * -1521134295 + EntitiesAffected.GetHashCode(); hashCode = hashCode * -1521134295 + EntitiesAutoHit.GetHashCode(); hashCode = hashCode * -1521134295 + Target.GetHashCode(); hashCode = hashCode * -1521134295 + TargetLineOfSight.GetHashCode(); hashCode = hashCode * -1521134295 + Range.GetHashCode(); hashCode = hashCode * -1521134295 + TargetSecondary.GetHashCode(); hashCode = hashCode * -1521134295 + RangeSecondary.GetHashCode(); hashCode = hashCode * -1521134295 + EnduranceCost.GetHashCode(); hashCode = hashCode * -1521134295 + InterruptTime.GetHashCode(); hashCode = hashCode * -1521134295 + CastTime.GetHashCode(); hashCode = hashCode * -1521134295 + RechargeTime.GetHashCode(); hashCode = hashCode * -1521134295 + BaseRechargeTime.GetHashCode(); hashCode = hashCode * -1521134295 + ActivatePeriod.GetHashCode(); hashCode = hashCode * -1521134295 + EffectArea.GetHashCode(); hashCode = hashCode * -1521134295 + Radius.GetHashCode(); hashCode = hashCode * -1521134295 + Arc.GetHashCode(); hashCode = hashCode * -1521134295 + MaxTargets.GetHashCode(); hashCode = hashCode * -1521134295 + EqualityComparer <string> .Default.GetHashCode(MaxBoosts); hashCode = hashCode * -1521134295 + CastFlags.GetHashCode(); hashCode = hashCode * -1521134295 + ArtificalIntelligenceReport.GetHashCode(); hashCode = hashCode * -1521134295 + NumberOfCharges.GetHashCode(); hashCode = hashCode * -1521134295 + UsageTime.GetHashCode(); hashCode = hashCode * -1521134295 + LifeTime.GetHashCode(); hashCode = hashCode * -1521134295 + LifeTimeInGame.GetHashCode(); hashCode = hashCode * -1521134295 + NumberAllowed.GetHashCode(); hashCode = hashCode * -1521134295 + DoNotSave.GetHashCode(); hashCode = hashCode * -1521134295 + EqualityComparer <string[]> .Default.GetHashCode(BoostsAllowed); hashCode = hashCode * -1521134295 + CastThroughHold.GetHashCode(); hashCode = hashCode * -1521134295 + IgnoreStrength.GetHashCode(); hashCode = hashCode * -1521134295 + EqualityComparer <string> .Default.GetHashCode(DescriptionShort); hashCode = hashCode * -1521134295 + EqualityComparer <string> .Default.GetHashCode(DescriptionLong); hashCode = hashCode * -1521134295 + EqualityComparer <int[]> .Default.GetHashCode(SetTypes); hashCode = hashCode * -1521134295 + ClickBuff.GetHashCode(); hashCode = hashCode * -1521134295 + AlwaysToggle.GetHashCode(); hashCode = hashCode * -1521134295 + Level.GetHashCode(); hashCode = hashCode * -1521134295 + AllowFrontLoading.GetHashCode(); hashCode = hashCode * -1521134295 + VariableEnabled.GetHashCode(); hashCode = hashCode * -1521134295 + EqualityComparer <string> .Default.GetHashCode(VariableName); hashCode = hashCode * -1521134295 + VariableMin.GetHashCode(); hashCode = hashCode * -1521134295 + VariableMax.GetHashCode(); hashCode = hashCode * -1521134295 + EqualityComparer <string[]> .Default.GetHashCode(SubPowers); hashCode = hashCode * -1521134295 + EqualityComparer <int[]> .Default.GetHashCode(IgnoreEnhancements); hashCode = hashCode * -1521134295 + EqualityComparer <int[]> .Default.GetHashCode(IgnoreBuffs); hashCode = hashCode * -1521134295 + SkipMax.GetHashCode(); hashCode = hashCode * -1521134295 + DisplayLocation.GetHashCode(); hashCode = hashCode * -1521134295 + MutuallyExclusiveAuto.GetHashCode(); hashCode = hashCode * -1521134295 + MutuallyExclusiveIgnore.GetHashCode(); hashCode = hashCode * -1521134295 + AbsorbSummonEffects.GetHashCode(); hashCode = hashCode * -1521134295 + AbsorbSummonAttributes.GetHashCode(); hashCode = hashCode * -1521134295 + ShowSummonAnyway.GetHashCode(); hashCode = hashCode * -1521134295 + NeverAutoUpdate.GetHashCode(); hashCode = hashCode * -1521134295 + NeverAutoUpdateRequirements.GetHashCode(); hashCode = hashCode * -1521134295 + IncludeFlag.GetHashCode(); hashCode = hashCode * -1521134295 + EqualityComparer <string> .Default.GetHashCode(ForcedClass); hashCode = hashCode * -1521134295 + SortOverride.GetHashCode(); hashCode = hashCode * -1521134295 + BoostBoostable.GetHashCode(); hashCode = hashCode * -1521134295 + BoostUsePlayerLevel.GetHashCode(); hashCode = hashCode * -1521134295 + EqualityComparer <Effect[]> .Default.GetHashCode(Effects); hashCode = hashCode * -1521134295 + HiddenPower.GetHashCode(); return(hashCode); }