/// <inheritdoc/> public override int GetHashCode() { unchecked { int result = base.GetHashCode(); result = (result * 397) ^ ItemFrom?.GetHashCode() ?? 0; result = (result * 397) ^ Separator?.GetHashCode() ?? 0; result = (result * 397) ^ Arguments.GetSequencedHashCode(); return(result); } }
public void SimpleSynchronizationWithAdditionalData() { ItemFrom[] from = new ItemFrom[] { new ItemFrom { id = 1, value = 5 }, new ItemFrom { id = 2, value = 4 }, new ItemFrom { id = 3, value = 3 }, new ItemFrom { id = 4, value = 2 }, new ItemFrom { id = 5, value = 1 }, }; ItemTo[] to = new ItemTo[] { new ItemTo { id = 1, value = 10, anotherValue = 15 }, new ItemTo { id = 2, value = 11, anotherValue = 16 }, new ItemTo { id = 3, value = 12, anotherValue = 17 }, new ItemTo { id = 4, value = 13, anotherValue = 18 }, new ItemTo { id = 5, value = 14, anotherValue = 19 }, }; Mapping.Instance.Synchronize(from, ref to); Assert.AreEqual(5, to.Length); Assert.AreEqual(5, to[0].value); Assert.AreEqual(15, to[0].anotherValue); Assert.AreEqual(4, to[1].value); Assert.AreEqual(16, to[1].anotherValue); Assert.AreEqual(3, to[2].value); Assert.AreEqual(17, to[2].anotherValue); Assert.AreEqual(2, to[3].value); Assert.AreEqual(18, to[3].anotherValue); Assert.AreEqual(1, to[4].value); Assert.AreEqual(19, to[4].anotherValue); }
public void SimpleSynchronization() { ItemFrom[] from = new ItemFrom[] { new ItemFrom { id = 1, value = 5 }, new ItemFrom { id = 2, value = 4 }, new ItemFrom { id = 3, value = 3 }, new ItemFrom { id = 4, value = 2 }, new ItemFrom { id = 5, value = 1 }, }; ItemTo[] to = new ItemTo[] { new ItemTo { id = 1, value = 10 }, new ItemTo { id = 2, value = 11 }, new ItemTo { id = 3, value = 12 }, new ItemTo { id = 4, value = 13 }, new ItemTo { id = 5, value = 14 }, }; Mapping.Instance.Synchronize(from, ref to); Assert.AreEqual(5, to.Length); Assert.AreEqual(5, to[0].value); Assert.AreEqual(4, to[1].value); Assert.AreEqual(3, to[2].value); Assert.AreEqual(2, to[3].value); Assert.AreEqual(1, to[4].value); }
/// <inheritdoc/> public override int GetHashCode() { unchecked { int result = base.GetHashCode(); if (ItemFrom != null) { result = (result * 397) ^ ItemFrom.GetHashCode(); } if (Separator != null) { result = (result * 397) ^ Separator.GetHashCode(); } result = (result * 397) ^ Arguments.GetSequencedHashCode(); return(result); } }
public void EqualCollections() { ItemFrom[] from = new ItemFrom[] { new ItemFrom { id = 1, value = 5 }, new ItemFrom { id = 2, value = 4 }, new ItemFrom { id = 3, value = 3 }, new ItemFrom { id = 4, value = 2 }, new ItemFrom { id = 5, value = 1 }, }; ItemTo[] to = new ItemTo[] { new ItemTo { id = 1, value = 5 }, new ItemTo { id = 2, value = 4 }, new ItemTo { id = 3, value = 3 }, new ItemTo { id = 4, value = 2 }, new ItemTo { id = 5, value = 1 }, }; var same = Mapping.Instance.MapEqual(from, to); Assert.IsTrue(same); }
public void DifferentValues() { ItemFrom[] from = new ItemFrom[] { new ItemFrom { id = 1, value = 1 }, new ItemFrom { id = 2, value = 2 }, new ItemFrom { id = 3, value = 3 }, new ItemFrom { id = 4, value = 4 }, new ItemFrom { id = 5, value = 5 }, }; ItemTo[] to = new ItemTo[] { new ItemTo { id = 1, value = 5 }, new ItemTo { id = 2, value = 4 }, new ItemTo { id = 3, value = 3 }, new ItemTo { id = 4, value = 2 }, new ItemTo { id = 5, value = 1 }, }; var same = Mapping.Instance.MapEqual(from, to); Assert.IsFalse(same); }
void MakeInfoPanle(Item item, ItemFrom from) { EquepDownButton.SetActive(false); EquepUpButton.SetActive(false); UseButton.SetActive(false); SellButton.SetActive(false); BuyButton.SetActive(false); MoneyIcon.SetActive(false); equepSprite.spriteName = item.info.adress; NameLabel.text = item.info.name; DescripteLabel.text = item.info.descript; if (ItemInfo.IsEquep(item.info.type)) { ConstLabels.SetActive(true); STRLabel.text = item.info.STR.ToString(); INTLabel.text = item.info.INT.ToString(); DEXLabel.text = item.info.DEX.ToString(); CONLabel.text = item.info.CON.ToString(); LUKLabel.text = item.info.LUK.ToString(); MoneyLabel.text = item.info.money.ToString(); switch (playerState.GetActionInfoNow()) { case PlayerState.PlayerAction.Free: if (item.isEqueped) { EquepDownButton.SetActive(true); } else { EquepUpButton.SetActive(true); } break; case PlayerState.PlayerAction.Died: break; case PlayerState.PlayerAction.Shopping: if (from == ItemFrom.Bag) { MoneyIcon.SetActive(true); SellButton.SetActive(true); } else if (from == ItemFrom.Shop) { MoneyIcon.SetActive(true); BuyButton.SetActive(true); } break; default: break; } } else { ConstLabels.SetActive(false); STRLabel.text = string.Empty; INTLabel.text = string.Empty; DEXLabel.text = string.Empty; CONLabel.text = string.Empty; LUKLabel.text = string.Empty; MoneyLabel.text = item.info.money.ToString(); switch (playerState.GetActionInfoNow()) { case PlayerState.PlayerAction.Free: UseButton.SetActive(true); break; case PlayerState.PlayerAction.Died: break; case PlayerState.PlayerAction.Shopping: if (from == ItemFrom.Bag) { MoneyIcon.SetActive(true); SellButton.SetActive(true); } else if (from == ItemFrom.Shop) { MoneyIcon.SetActive(true); BuyButton.SetActive(true); } break; default: break; } } }
public void ShowInfo(Item item, ItemFrom from) { if (item != null) { MakeInfoPanle(item, from); bagManager.SetSelectItem(item); bagManager.OnEquepInfoPanelOpenButtonClick(); } }
public EquipDetails(int slotId, int itemId, ItemFrom itemFrom) { SlotId = slotId; ItemId = itemId; ItemFrom = itemFrom; }