/// <summary> /// チェックボックスアイテムセット /// </summary> public void SetCheckBox(UserGearData data, bool isEquipped, uint isLock, uint checkFlg, Action <ItemInventoryGearScrollViewItem> onClick) { this.gearData = data; // CommonIconをギアに変更 this.commonIcon.SetGearCommonIcon(true); var gearMaster = Masters.GearDB.FindById(data.gearId); // ランクスプライト切替 var rank = CommonIconUtility.GetRarity((uint)ItemType.Gear, this.gearData.gearId); this.commonIcon.SetRank(rank); // ギアCommonIconセット var bgSprite = CommonIconUtility.GetGearBgSprite(data.gearType); var mainSprite = CommonIconUtility.GetGearMainImageSprite(gearMaster.key); var subSprite = CommonIconUtility.GetGearSubImageSprite(gearMaster.subKey); this.commonIcon.SetGearSprite(bgSprite, mainSprite, subSprite); // 装着中ギア装着中パンネル表示 this.equippedMark.SetActive(isEquipped); // クリック時処理登録 this.commonIcon.onClick = () => onClick(this); // // ロック情報セット SetTemplockImage(isLock); // ロックの場合はクリック禁止・イメージ暗く if (isEquipped || isLock == 1) { this.commonIcon.button.interactable = false; // 色暗く var newColor = new Color(130 / 255f, 130 / 255f, 130 / 255f); this.commonIconGearBgGraphic.color = newColor; this.commonIconGearMainGraphic.color = newColor; this.commonIconGearSubGraphic.color = newColor; this.checkBox.SetActive(false); } // チェックボックスセット else { this.commonIcon.button.interactable = true; // 色の原本で var newColor = new Color(255 / 255f, 255 / 255f, 255 / 255f); this.commonIconGearBgGraphic.color = newColor; this.commonIconGearMainGraphic.color = newColor; this.commonIconGearSubGraphic.color = newColor; this.checkBox.SetActive(true); //クリック時処理登録 this.commonIcon.onClick = () => onClick(this); } // 仮選択フラッグチェックセット SetTempCheckImage(checkFlg); }
/// <summary> /// 表示構築 /// </summary> public void Set(UserGearData data, bool isEquipped, uint isLock, Action <ItemInventoryGearScrollViewItem> onClick) { this.gearData = data; // CommonIconをギアに変更 this.commonIcon.SetGearCommonIcon(true); var gearMaster = Masters.GearDB.FindById(data.gearId); // ランクスプライト切替 var rank = CommonIconUtility.GetRarity((uint)ItemType.Gear, this.gearData.gearId); this.commonIcon.SetRank(rank); // ギアCommonIconセット、アイコンスプライト切替 var bgSprite = CommonIconUtility.GetGearBgSprite(data.gearType); var mainSprite = CommonIconUtility.GetGearMainImageSprite(gearMaster.key); var subSprite = CommonIconUtility.GetGearSubImageSprite(gearMaster.subKey); this.commonIcon.SetGearSprite(bgSprite, mainSprite, subSprite); // 装着中ギア装着中パンネル表示 this.equippedMark.SetActive(isEquipped); // クリック時処理登録 this.commonIcon.onClick = () => onClick(this); // ロック情報セット SetTemplockImage(isLock); }
/// <summary> /// 表示構築 /// </summary> public void Set(UserPartsData data, bool isEquipped, uint isLock, Action <ItemInventoryPartsScrollViewItem> onClick) { this.partsData = data; this.commonIcon.countText.text = null; if (data.itemType == (uint)ItemType.Accessory) { this.commonIcon.gearArea.SetActive(false); } // 装着中パンネル表示 this.equippedMark.SetActive(isEquipped); //アイコンスプライト切替 string key = CommonIconUtility.GetSpriteKey(this.partsData.itemType, this.partsData.itemId); string path = CommonIconUtility.GetSpritePath(this.partsData.itemType, key); var handle = AssetManager.FindHandle <Sprite>(path); this.commonIcon.SetIconSprite(handle.asset as Sprite); //ランクスプライト切替 var rank = CommonIconUtility.GetRarity(this.partsData.itemType, this.partsData.itemId); this.commonIcon.SetRank(rank); this.commonIcon.SetGearSlot(data); //クリック時処理登録 this.commonIcon.onClick = () => onClick(this); // ロック情報 bool isLockCheck = false; if (isLock == 1) { isLockCheck = true; } else { isLockCheck = false; } this.lockImage.gameObject.SetActive(isLockCheck); }
/// <summary> /// チェックボックスアイテムセット /// </summary> public void SetCheckBox(UserPartsData data, bool isEquipped, uint isLock, uint checkFlg, Action <ItemInventoryPartsScrollViewItem> onClick) { this.partsData = data; this.commonIcon.countText.text = null; var itemSellId = GetItemSellId(); if (data.itemType == (uint)ItemType.Accessory) { this.commonIcon.gearArea.SetActive(false); } // 装着中パンネル表示 this.equippedMark.SetActive(isEquipped); //アイコンスプライト切替 string key = CommonIconUtility.GetSpriteKey(this.partsData.itemType, this.partsData.itemId); string path = CommonIconUtility.GetSpritePath(this.partsData.itemType, key); var handle = AssetManager.FindHandle <Sprite>(path); this.commonIcon.SetIconSprite(handle.asset as Sprite); //ランクスプライト切替 var rank = CommonIconUtility.GetRarity(this.partsData.itemType, this.partsData.itemId); this.commonIcon.SetRank(rank); this.commonIcon.SetGearSlot(data); // ロック情報 this.SetTemplockImage(isLock); /// 装着ギアがロックの場合、カウント uint[] gearLockCount = UserData.Get().gearData .Where(x => x.partsServerId == data.serverId) .Select(x => x.lockFlg) .ToArray(); uint count = 0; for (int i = 0; i < gearLockCount.Length; i++) { count += gearLockCount[i]; } // ロックの場合はクリック禁止・イメージ暗く if (isLock == 1 || isEquipped || count > 0 || itemSellId == 0) { this.darkBoxImage.gameObject.SetActive(true); this.commonIcon.button.interactable = false; this.checkBox.SetActive(false); } // チェックボックスセット else { this.darkBoxImage.gameObject.SetActive(false); this.commonIcon.button.interactable = true; this.checkBox.SetActive(true); //クリック時処理登録 this.commonIcon.onClick = () => onClick(this); } // 初期砲台の場合、分解不可能の案内メッセージ、テキストセット if (itemSellId == 0) { this.defaultCanonText.text = Masters.LocalizeTextDB.Get("CannotDisassembledDefaultCanon"); } else { this.defaultCanonText.text = null; } SetTempCheckImage(checkFlg); }
/// <summary> /// ギア情報セット /// </summary> public void SetGearData(UserGearData data, Action onReflesh, Action onRefleshDecomposition) { this.gearData = data; this.onReflesh = onReflesh; this.onRefleshDecomposition = onRefleshDecomposition; // CommonIconをギアに変更 this.commonIcon.SetGearCommonIcon(true); // ギアアイコン情報セット this.gearCommonIcon.Set( data: data, isEquipped: data.partsServerId > 0, isLock: data.lockFlg, onClick: null ); // マスターデータ var gearMaster = Masters.GearDB.FindById(data.gearId); //現在ギアと所有するギアを比較の上、同数 uint[] gearIds = UserData.Get().gearData.Select(x => x.gearId).ToArray(); int count = 0; for (int i = 0; i < gearIds.Length; i++) { var userGearIds = gearIds[i].ToString(); var currentGearIds = data.gearId.ToString(); if (currentGearIds == userGearIds) { count++; } } // 同一のギア数テキスト this.overlapCountText.text = Masters.LocalizeTextDB.GetFormat("GearOverlapCount", count - 1); // 名前 this.gearNameText.text = gearMaster.name; // 説明 this.gearDescriptionText.text = gearMaster.description; // ゲージ、ギアを能力値 var config = Masters.ConfigDB.FindById(1); var power = gearMaster.power; var speed = gearMaster.speed; var fvPoint = gearMaster.fvPoint; // ゲージセット this.powerGauge.SetGaugeValue(Mathf.Clamp01((float)power / config.maxGearPower)); this.bulletSpeedGauge.SetGaugeValue(Mathf.Clamp01((float)speed / config.maxGearSpeed)); this.fvPointGetCalueGauge.SetGaugeValue(Mathf.Clamp01((float)fvPoint / config.maxGearFvPoint)); // パーツ別に、情報ロード PartsInfoBase partsInfo = null; if (this.gearData.gearType == (uint)GearType.Battery) { partsInfo = new BatteryPartsInfo(data); } else if (this.gearData.gearType == (uint)GearType.Barrel) { partsInfo = new BarrelPartsInfo(data); } else if (this.gearData.gearType == (uint)GearType.Bullet) { partsInfo = new BulletPartsInfo(data); } if (data.partsServerId == null) { this.partsCommonIcon.gameObject.SetActive(false); this.needCoinArea.gameObject.SetActive(false); this.lockbutton.gameObject.SetActive(false); this.decompositionButton.gameObject.SetActive(true); this.lockbutton.gameObject.SetActive(false); } else { // パーツアイコン this.partsCommonIcon.countText.text = null; this.partsCommonIcon.gearArea.gameObject.SetActive(true); this.decompositionButton.gameObject.SetActive(false); this.lockbutton.gameObject.SetActive(true); // CommonIconパーツスプライトセット string Key = CommonIconUtility.GetSpriteKey((uint)partsInfo.itemType, partsInfo.partsMasterId); string Path = CommonIconUtility.GetSpritePath((uint)partsInfo.itemType, partsInfo.partsMasterId); var partsHandle = AssetManager.FindHandle <Sprite>(Path); this.partsCommonIcon.SetIconSprite(partsHandle.asset as Sprite); // CommonIconパーツランキングセット var partsRank = CommonIconUtility.GetRarity((uint)partsInfo.itemType, partsInfo.partsMasterId); this.partsCommonIcon.SetRank(partsRank); // CommonIconパーツ装着中ギアセット var partsGearSize = partsInfo.partsGearSize; for (int i = 0; i < this.partsCommonIcon.gearIcon.Length; i++) { this.partsCommonIcon.gearIcon[i].enabled = i < partsInfo.partsGearSlotCount; if (i < partsGearSize) { this.partsCommonIcon.gearOnIcon[i].gameObject.SetActive(true); } } // 装着中表示 this.partsEquippedMark.SetActive(partsInfo.partsIsEquiped); // 外すテキスト this.unEquipGearText.text = Masters.LocalizeTextDB.GetFormat("unitNeedCoin", Masters.GearDB.FindById(gearData.gearId).rejectCoin); } // ロックチェック if (data.lockFlg == 1) { this.lockOn.gameObject.SetActive(true); this.lockOff.gameObject.SetActive(false); } else { this.lockOn.gameObject.SetActive(false); this.lockOff.gameObject.SetActive(true); } // 分解詩修得アイテムマスターID取得 this.getItem = Masters.ItemSellDB.GetList().FindAll(x => x.itemSellId == Masters.GearDB.FindById(data.gearId).itemSellId).ToArray(); // 分解詩修得アイテムスクロールビュー this.decompositionScrollView.Initialize( this.decompositionItemPrefab.gameObject, this.getItem.Length, this.OnUpdateDecompositionScrollViewItem ); // ボタングレーアウトON/OFF if (this.gearData.lockFlg == 1) { this.SetGrayout(true); this.decompositionButton.interactable = false; } else { this.SetGrayout(false); } }