public void ShowEquip(List <EquipData> equipDataList, EquipItemCallback2 callback = null) { //1.如果当前图标数小于传进来的数据那么就添加 //2.如果大于就失活 if (equipDataList == null) { return; } Debug.Log("更新"); for (int i = 0; i < equipDataList.Count; i++) { GameObject item = null; if (i < equipItemContent.childCount) { item = equipItemContent.GetChild(i).gameObject; } else { //实例化到场景中 item = PoolManager.Instance.GetObj("Prafebs/UI/equipItem"); //设置父对象 item.transform.SetParent(equipItemContent); (item.transform as RectTransform).localScale = Vector3.one; } EquipItemController si = item.GetComponent <EquipItemController>(); //初始化图标 LocalEquipData localEquip = EquipDataModel.Instance.MyEquipData2Local(equipDataList[i]); si.Init(equipDataList[i], callback); } int num = equipItemContent.childCount; for (int i = equipDataList.Count; i < num; i++) { PoolManager.Instance.PushObj(equipItemContent.GetChild(equipDataList.Count).gameObject); } }
public void UpdateEquip(Image equipImage, out bool hasEquip, out bool hasUpEquip, EquipData equip, EquipItemCallback2 callback = null) { GameObject item = null; if (equipImage.transform.childCount < 2) { //实例化到场景中 item = PoolManager.Instance.GetObj("Prafebs/UI/equipItem"); //设置父对象 item.transform.SetParent(equipImage.transform); item.transform.localScale = Vector3.one; item.transform.localPosition = Vector3.zero; } else { item = equipImage.transform.GetChild(1).gameObject; } EquipItemController si = item.GetComponent <EquipItemController>(); si.Init(equip, callback); hasEquip = true; hasUpEquip = true; }
public async void AvailableItemEquipped() { var itemMetaId = "Test_AvailableItemEquipped"; var itemSlot = "Test_AvailableItemEquipped"; var classMetaId = "Test_AvailableItemEquipped"; var playerId = "Test_AvailableItemEquipped"; // Create test class meta if it doesn't exist. var classMeta = await new ClassMeta(classMetaId).LoadAsync(); if (classMeta == null) { classMeta = new ClassMeta(classMetaId); await classMeta.InsertAsync(); } // Create test item meta if it doesn't exist. var itemMeta = await new ItemMeta(itemMetaId).LoadAsync(); if (itemMeta == null) { itemMeta = new ItemMeta(itemMetaId); itemMeta.ClassMetaId = classMetaId; itemMeta.EquipmentSlot = itemSlot; await itemMeta.InsertAsync(); } // Create test player with a character and item. var player = await Helpers.CreateTestPlayer(playerId); var character = new Character(classMetaId); player.Characters.Add(character); var item = new Item(itemMetaId); player.AddItem(item); await player.ReplaceAsync(); // Auth player. var sessionToken = Helpers.GetSessionToken(playerId); // Mock data. var data = JToken.Parse($@"{{ 'PlayerId':'{playerId}', 'SessionToken':'{sessionToken}', 'CharacterId':'{character.Id}', 'ItemId':'{item.Id}' }}"); // Execute controller. var controller = new EquipItemController(); var responseToken = await controller.HandleHttpRequestAsync(data); // Assert controller response status is OK. Assert.Equal(responseToken["Status"], JStatus.Ok.JToken["Status"]); // Make sure item is equiped. player = await player.LoadAsync(); Assert.True(player.GetItemById(item.Id).IsOwnedByCharacter); Assert.True(player.GetItemById(item.Id).OwningCharacterId == character.Id); }