// 装備する public void Equip(AllyStatus allyStatus, Item item) { // キャラクター毎に装備出来る武器や鎧かどうかを調べ装備を切り替える if (allyStatus.GetCharacterName() == "ゆうしゃ") { if (item.GetItemType() == Item.Type.Armor) { var equipArmorButton = itemPanelButtonList.Find(itemPanelButton => itemPanelButton.transform.Find("ItemName").GetComponent <Text>().text == item.GetKanjiName()); equipArmorButton.transform.Find("Equip").GetComponent <Text>().text = "E"; // 装備している鎧があればItemPanelでEquipのEを外す if (allyStatus.GetEquipArmor() != null) { equipArmorButton = itemPanelButtonList.Find(itemPanelButton => itemPanelButton.transform.Find("ItemName").GetComponent <Text>().text == allyStatus.GetEquipArmor().GetKanjiName()); equipArmorButton.transform.Find("Equip").GetComponent <Text>().text = ""; } allyStatus.SetEquipArmor(item); useItemInformationPanel.GetComponentInChildren <Text>().text = allyStatus.GetCharacterName() + "は" + item.GetKanjiName() + "をそうびした。"; } else if (item.GetItemType() == Item.Type.Weapon) { var equipWeaponButton = itemPanelButtonList.Find(itemPanelButton => itemPanelButton.transform.Find("ItemName").GetComponent <Text>().text == item.GetKanjiName()); equipWeaponButton.transform.Find("Equip").GetComponent <Text>().text = "E"; // 装備している武器があればItemPanelでEquipのEを外す if (allyStatus.GetEquipWeapon() != null) { equipWeaponButton = itemPanelButtonList.Find(itemPanelButton => itemPanelButton.transform.Find("ItemName").GetComponent <Text>().text == allyStatus.GetEquipWeapon().GetKanjiName()); equipWeaponButton.transform.Find("Equip").GetComponent <Text>().text = ""; } allyStatus.SetEquipWeapon(item); useItemInformationPanel.GetComponentInChildren <Text>().text = allyStatus.GetCharacterName() + "は" + item.GetKanjiName() + "をそうびした。"; } else { useItemInformationPanel.GetComponentInChildren <Text>().text = allyStatus.GetCharacterName() + "は" + item.GetKanjiName() + "をそうびできない"; } } // 装備を切り替えたらItemPanelに戻る useItemPanelCanvasGroup.interactable = false; useItemPanel.SetActive(false); itemPanelCanvasGroup.interactable = true; // ItemPanelに戻るのでUseItemPanelの子要素に作ったボタンを全削除 for (int i = useItemPanel.transform.childCount - 1; i >= 0; i--) { Destroy(useItemPanel.transform.GetChild(i).gameObject); } useItemInformationPanel.transform.SetAsLastSibling(); useItemInformationPanel.SetActive(true); currentCommand = CommandMode.UseItemPanelToItemPanel; Input.ResetInputAxes(); }
// 装備を外す public void RemoveEquip(AllyStatus allyStatus, Item item) { // アイテムの種類に応じて装備を外す if (item.GetItemType() == Item.Type.Armor) { var equipArmorButton = itemPanelButtonList.Find(itemPanelButton => itemPanelButton.transform.Find("ItemName").GetComponent <Text>().text == item.GetKanjiName()); equipArmorButton.transform.Find("Equip").GetComponent <Text>().text = ""; allyStatus.SetEquipArmor(null); } else if (item.GetItemType() == Item.Type.Weapon) { var equipArmorButton = itemPanelButtonList.Find(itemPanelButton => itemPanelButton.transform.Find("ItemName").GetComponent <Text>().text == item.GetKanjiName()); equipArmorButton.transform.Find("Equip").GetComponent <Text>().text = ""; allyStatus.SetEquipWeapon(null); } // 装備を外した旨を表示 useItemInformationPanel.GetComponentInChildren <Text>().text = allyStatus.GetCharacterName() + "は" + item.GetKanjiName() + "をはずした"; // 装備を外したらItemPanelに戻る処理 useItemPanelCanvasGroup.interactable = false; useItemPanel.SetActive(false); itemPanelCanvasGroup.interactable = true; // ItemPanelに戻るのでUseItemPanelの子要素のボタンを全削除 for (int i = useItemPanel.transform.childCount - 1; i >= 0; i--) { Destroy(useItemPanel.transform.GetChild(i).gameObject); } useItemInformationPanel.transform.SetAsLastSibling(); useItemInformationPanel.SetActive(true); currentCommand = CommandMode.UseItemPanelToItemPanel; Input.ResetInputAxes(); }
// ステータスをセーブ用にコピー public void StatusCopy(AllyStatus allyStatus) { // キャラクターの名前 this.characterName = allyStatus.GetCharacterName(); // 毒状態かどうか this.isPoisonState = allyStatus.IsPoisonState(); // 痺れ状態かどうか this.isNumbnessState = allyStatus.IsNumbnessState(); // キャラクターのレベル this.level = allyStatus.GetLevel(); // 素早さ this.agility = allyStatus.GetAgility(); // 力 this.power = allyStatus.GetPower(); // 打たれ強さ this.strikingStrength = allyStatus.GetStrikingStrength(); // 魔法力 this.magicPower = allyStatus.GetMagicPower(); // 攻撃力 this.attackPower = allyStatus.GetAttackPower(); // 守備力 this.defencePower = allyStatus.GetDefencePower(); // 最大HP this.maxHp = allyStatus.GetMaxHp(); // HP this.hp = allyStatus.GetHp(); // 最大MP this.maxMp = allyStatus.GetMaxMp(); // MP this.mp = allyStatus.GetMp(); // 持っているスキル this.skillList = allyStatus.GetSkillList(); //属性カット率 this.cutFlame = allyStatus.GetCutFlame(); this.cutThunder = allyStatus.GetCutThunder(); this.cutIce = allyStatus.GetcutIce(); // 獲得経験値 this.earnedExperience = allyStatus.GetEarnedExperience(); // 装備している武器 this.equipWeapon = allyStatus.GetEquipWeapon(); // 装備している鎧 this.equipArmor = allyStatus.GetEquipArmor(); //装備しているアクセサリ this.equipAccessory1 = allyStatus.GetEquipAccessory1(); this.equipAccessory2 = allyStatus.GetEquipAccessory2(); }
//渡す相手を指定しアイテム数の増減をする public void PassItemToOtherCharacter(AllyStatus fromChara, AllyStatus toChara, Item item) { useItemInformationPanel.SetActive(true); useItemSelectCharacterPanelCanvasGroup.interactable = false; useItemSelectCharacterPanel.SetActive(false); //持っているアイテム数を減らす fromChara.SetItemNum(item, fromChara.GetItemNum(item) - 1); //渡されたキャラクターがアイテムを持っていなければそのアイテムを登録 if (!toChara.GetItemDictionary().ContainsKey(item)) { toChara.SetItemDictionary(item, 0); } //渡されたキャラクターのアイテム数を増やす toChara.SetItemNum(item, toChara.GetItemNum(item) + 1); //アイテムを渡し終わったらアイテムを渡す相手のUseItemSelectCharacterPanelの子要素のボタンを全削除 for (int i = useItemSelectCharacterPanel.transform.childCount - 1; i >= 0; i--) { Destroy(useItemSelectCharacterPanel.transform.GetChild(i).gameObject); } //itemPanleButtonListから該当するアイテムを探し数を更新する var itemButton = itemPanelButtonList.Find(obj => obj.transform.Find("ItemName").GetComponent <Text>().text == item.GetKanjiName()); itemButton.transform.Find("Num").GetComponent <Text>().text = fromChara.GetItemNum(item).ToString(); //アイテムを渡した旨を表示 useItemInformationPanel.GetComponentInChildren <Text>().text = fromChara.GetCharacterName() + "は" + item.GetKanjiName() + "を" + toChara.GetCharacterName() + "に渡しました。"; //アイテム数が0だったらボタンとキャラクターステータスからアイテムを削除 if (fromChara.GetItemNum(item) == 0) { //装備している武器や鎧だったら装備を外す if (fromChara.GetEquipArmor() == item) { fromChara.SetEquipArmor(null); } else if (fromChara.GetEquipWeapon() == item) { fromChara.SetEquipWeapon(null); } //アイテムが0になったら一気にItemPanelに戻す為、UseItemPanel内とUseItemSelectCharacterPanel内でのオブジェクト登録を削除 selectedGameObjectStack.Pop(); selectedGameObjectStack.Pop(); //itemPanelButtonListからアイテムパネルボタンを削除 itemPanelButtonList.Remove(itemButton); //アイテムパネルボタン自身の削除 Destroy(itemButton); //アイテムを渡したキャラクター自身のItemDictionaryからそのアイテムを削除 fromChara.GetItemDictionary().Remove(item); //ItemPanelに戻る為、UseItemPanel内に作ったボタンを全削除 for (int i = useItemPanel.transform.childCount - 1; i >= 0; i--) { Destroy(useItemPanel.transform.GetChild(i).gameObject); } //アイテム数が0になったのでCommandMode.NoItemPassedに変更 currentCommand = CommandMode.NoItemPassed; useItemInformationPanel.transform.SetAsLastSibling(); Input.ResetInputAxes(); } else { //アイテム数が残っている場合はUseItemPanelでアイテムをどうするかの選択に戻る currentCommand = CommandMode.UseItemSelectCharacterPanelToUseItemPanel; useItemInformationPanel.transform.SetAsLastSibling(); Input.ResetInputAxes(); } }
public void UseItemToCharacter(AllyStatus fromChara, AllyStatus toChara, Item item) { useItemInformationPanel.SetActive(true); useItemSelectCharacterPanelCanvasGroup.interactable = false; useItemSelectCharacterPanel.SetActive(false); if (item.GetItemType() == Item.Type.HPRecovery) { if (toChara.GetHp() == toChara.GetMaxHp()) { useItemInformationPanel.GetComponentInChildren <Text>().text = toChara.GetCharacterName() + "は元気です。"; } else { toChara.SetHp(toChara.GetHp() + item.GetAmount()); //アイテムを使用した旨を表示 useItemInformationPanel.GetComponentInChildren <Text>().text = fromChara.GetCharacterName() + "は" + item.GetKanjiName() + "を" + toChara.GetCharacterName() + "に使用しました。\n" + toChara.GetCharacterName() + "は" + item.GetAmount() + "回復しました。"; //持っているアイテム数を減らす fromChara.SetItemNum(item, fromChara.GetItemNum(item) - 1); } } else if (item.GetItemType() == Item.Type.MPRecovery) { if (toChara.GetMp() == toChara.GetMaxMp()) { useItemInformationPanel.GetComponentInChildren <Text>().text = toChara.GetCharacterName() + "のMPは最大です。"; } else { toChara.SetMp(toChara.GetMp() + item.GetAmount()); //アイテムを使用した旨を表示 useItemInformationPanel.GetComponentInChildren <Text>().text = fromChara.GetCharacterName() + "は" + item.GetKanjiName() + "を" + toChara.GetCharacterName() + "に使用しました。\n" + toChara.GetCharacterName() + "はMPを" + item.GetAmount() + "回復しました。"; //持っているアイテム数を減らす fromChara.SetItemNum(item, fromChara.GetItemNum(item) - 1); } } else if (item.GetItemType() == Item.Type.PoisonRecovery) { if (!toChara.IsPoisonState()) { useItemInformationPanel.GetComponentInChildren <Text>().text = toChara.GetCharacterName() + "は毒状態ではありません。"; } else { useItemInformationPanel.GetComponentInChildren <Text>().text = toChara.GetCharacterName() + "は毒から回復しました。"; toChara.SetPoisonState(false); //持っているアイテム数を減らす fromChara.SetItemNum(item, fromChara.GetItemNum(item) - 1); } } else if (item.GetItemType() == Item.Type.NumbnessRecovery) { if (!toChara.IsPoisonState()) { useItemInformationPanel.GetComponentInChildren <Text>().text = toChara.GetCharacterName() + "は痺れ状態ではありません。"; } else { useItemInformationPanel.GetComponentInChildren <Text>().text = toChara.GetCharacterName() + "は痺れから回復しました。"; toChara.SetNumbness(false); //持っているアイテム数を減らす fromChara.SetItemNum(item, fromChara.GetItemNum(item) - 1); } } //アイテムを使用したらアイテムを使用する相手のUseItemSelectCharacterPanelの子要素のボタンを全削除 for (int i = useItemSelectCharacterPanel.transform.childCount - 1; i >= 0; i--) { Destroy(useItemSelectCharacterPanel.transform.GetChild(i).gameObject); } //itemPanleButtonListから該当するアイテムを探し数を更新する var itemButton = itemPanelButtonList.Find(obj => obj.transform.Find("ItemName").GetComponent <Text>().text == item.GetKanjiName()); itemButton.transform.Find("Num").GetComponent <Text>().text = fromChara.GetItemNum(item).ToString(); //アイテム数が0だったらボタンとキャラクターステータスからアイテムを削除 if (fromChara.GetItemNum(item) == 0) { //アイテムが0になったら一気にItemPanelに戻す為、UseItemPanel内とUseItemSelectCharacterPanel内でのオブジェクト登録を削除 selectedGameObjectStack.Pop(); selectedGameObjectStack.Pop(); //itemPanelButtonListからアイテムパネルボタンを削除 itemPanelButtonList.Remove(itemButton); //アイテムパネルボタン自身の削除 Destroy(itemButton); //アイテムを渡したキャラクター自身のItemDictionaryからそのアイテムを削除 fromChara.GetItemDictionary().Remove(item); //ItemPanelに戻る為、UseItemPanel内に作ったボタンを全削除 for (int i = useItemPanel.transform.childCount - 1; i >= 0; i--) { Destroy(useItemPanel.transform.GetChild(i).gameObject); } //アイテム数が0になったのでCommandMode.NoItemPassedに変更 currentCommand = CommandMode.NoItemPassed; useItemInformationPanel.transform.SetAsLastSibling(); Input.ResetInputAxes(); } else { //アイテム数が残っている場合はUseItemPanelでアイテムをどうするかの選択に戻る currentCommand = CommandMode.UseItemSelectCharacterPanelToUseItemPanel; useItemInformationPanel.transform.SetAsLastSibling(); Input.ResetInputAxes(); } }
//キャラクターのステータス表示 public void ShowStatus(AllyStatus allyStatus) { currentCommand = CommandMode.StatusPanel; statusPanel.SetActive(true); //キャラクターの名前を表示 characterNameText.text = allyStatus.GetCharacterName(); //タイトルの表示 var text = "レベル\n"; text += "HP\n"; text += "MP\n"; text += "経験値\n"; text += "状態異常\n"; text += "力\n"; text += "素早さ\n"; text += "打たれ強さ\n"; text += "魔法力\n"; text += "装備武器\n"; text += "装備鎧\n"; text += "攻撃力\n"; text += "防御力\n"; statusTitleText.text = text; //HPとMPのDivision記号の表示 text = "\n"; text += allyStatus.GetHp() + "\n"; text += allyStatus.GetMp() + "\n"; statusParam1Text.text = text; //ステータスパラメータの表示 text = allyStatus.GetLevel() + "\n"; text += allyStatus.GetMaxHp() + "\n"; text += allyStatus.GetMaxMp() + "\n"; text += allyStatus.GetEarnedExperience() + "\n"; if (!allyStatus.IsPoisonState() && !allyStatus.IsNumbnessState()) { text += "正常"; } else { if (allyStatus.IsPoisonState()) { text += "毒"; if (allyStatus.IsNumbnessState()) { text += "、痺れ"; } } else { if (allyStatus.IsNumbnessState()) { text += "痺れ"; } } } text += "\n"; text += allyStatus.GetPower() + "\n"; text += allyStatus.GetAgility() + "\n"; text += allyStatus.GetStrikingStrength() + "\n"; text += allyStatus.GetMagicPower() + "\n"; text += allyStatus?.GetEquipWeapon()?.GetKanjiName() ?? ""; text += "\n"; text += allyStatus.GetEquipArmor()?.GetKanjiName() ?? ""; text += "\n"; text += allyStatus.GetPower() + (allyStatus.GetEquipWeapon()?.GetAmount() ?? 0) + "\n"; text += allyStatus.GetStrikingStrength() + (allyStatus.GetEquipArmor()?.GetAmount() ?? 0) + "\n"; statusParam2Text.text = text; }
// 装備ボタンの更新 public void UpdateEquipButton(AllyStatus allyStatus) { AllyStatusDictionary[allyStatus].Find("CharacterNamePanel/CharacterName").GetComponent <Text>().text = allyStatus.GetCharacterName(); AllyStatusDictionary[allyStatus].Find("StatusParamPanel/HPText").GetComponent <Text>().text = "HP: " + allyStatus.GetHp().ToString() + "/" + allyStatus.GetMaxHp().ToString(); AllyStatusDictionary[allyStatus].Find("StatusParamPanel/MPText").GetComponent <Text>().text = "MP: " + allyStatus.GetMp().ToString() + "/" + allyStatus.GetMaxMp().ToString(); AllyStatusDictionary[allyStatus].Find("StatusParamPanel/AttackPowerText").GetComponent <Text>().text = "攻撃力: " + allyStatus.GetAttackPower().ToString(); AllyStatusDictionary[allyStatus].Find("StatusParamPanel/DefencePowerText").GetComponent <Text>().text = "守備力: " + allyStatus.GetDefencePower().ToString(); AllyStatusDictionary[allyStatus].Find("StatusParamPanel/PowerText").GetComponent <Text>().text = "力: " + allyStatus.GetPower().ToString(); AllyStatusDictionary[allyStatus].Find("StatusParamPanel/StrikingStrengthText").GetComponent <Text>().text = "体力: " + allyStatus.GetStrikingStrength().ToString(); AllyStatusDictionary[allyStatus].Find("StatusParamPanel/MagicPowerText").GetComponent <Text>().text = "知力: " + allyStatus.GetMagicPower().ToString(); AllyStatusDictionary[allyStatus].Find("StatusParamPanel/AgilityText").GetComponent <Text>().text = "素早さ: " + allyStatus.GetAgility().ToString(); AllyStatusDictionary[allyStatus].Find("ChangeWeaponPanel/ChangeEquipButton").Find("Text").GetComponent <Text>().text = allyStatus.GetEquipWeapon() ? allyStatus.GetEquipWeapon().GetKanjiName() : "なし"; AllyStatusDictionary[allyStatus].Find("ChangeArmorPanel/ChangeEquipButton").Find("Text").GetComponent <Text>().text = allyStatus.GetEquipArmor() ? allyStatus.GetEquipArmor().GetKanjiName() : "なし"; AllyStatusDictionary[allyStatus].Find("ChangeAccessoryPanel1/ChangeEquipButton").Find("Text").GetComponent <Text>().text = allyStatus.GetEquipAccessory1() ? allyStatus.GetEquipAccessory1().GetKanjiName() : "なし"; AllyStatusDictionary[allyStatus].Find("ChangeAccessoryPanel2/ChangeEquipButton").Find("Text").GetComponent <Text>().text = allyStatus.GetEquipAccessory2() ? allyStatus.GetEquipAccessory2().GetKanjiName() : "なし"; }
public void UseItemToCharacter(AllyStatus toChara, Item item) { useItemInformationPanel.SetActive(true); useItemSelectCharacterPanelCanvasGroup.interactable = false; useItemSelectCharacterPanel.SetActive(false); if (item.GetItemType() == Item.Type.HPRecovery) { if (toChara.GetHp() == toChara.GetMaxHp()) { useItemInformationPanel.GetComponentInChildren <Text>().text = toChara.GetCharacterName() + "は元気です。"; } else { toChara.SetHp(toChara.GetHp() + item.GetAmount()); // アイテムを使用した旨を表示 useItemInformationPanel.GetComponentInChildren <Text>().text = item.GetKanjiName() + "を" + toChara.GetCharacterName() + "に使用しました。\n" + toChara.GetCharacterName() + "は" + item.GetAmount() + "回復しました。"; // 持っているアイテム数を減らす partyStatus.SetItemNum(item, partyStatus.GetItemNum(item) - 1); } } else if (item.GetItemType() == Item.Type.MPRecovery) { if (toChara.GetMp() == toChara.GetMaxMp()) { useItemInformationPanel.GetComponentInChildren <Text>().text = toChara.GetCharacterName() + "のMPは最大です。"; } else { toChara.SetMp(toChara.GetMp() + item.GetAmount()); // アイテムを使用した旨を表示 useItemInformationPanel.GetComponentInChildren <Text>().text = item.GetKanjiName() + "を" + toChara.GetCharacterName() + "に使用しました。\n" + toChara.GetCharacterName() + "はMPを" + item.GetAmount() + "回復しました。"; // 持っているアイテム数を減らす partyStatus.SetItemNum(item, partyStatus.GetItemNum(item) - 1); } } else if (item.GetItemType() == Item.Type.PoisonRecovery) { if (!toChara.IsPoisonState()) { useItemInformationPanel.GetComponentInChildren <Text>().text = toChara.GetCharacterName() + "は毒状態ではありません。"; } else { useItemInformationPanel.GetComponentInChildren <Text>().text = toChara.GetCharacterName() + "は毒から回復しました。"; toChara.SetPoisonState(false); // 持っているアイテム数を減らす partyStatus.SetItemNum(item, partyStatus.GetItemNum(item) - 1); } } else if (item.GetItemType() == Item.Type.NumbnessRecovery) { if (!toChara.IsNumbnessState()) { useItemInformationPanel.GetComponentInChildren <Text>().text = toChara.GetCharacterName() + "は痺れ状態ではありません。"; } else { useItemInformationPanel.GetComponentInChildren <Text>().text = toChara.GetCharacterName() + "は痺れから回復しました。"; toChara.SetNumbness(false); // 持っているアイテム数を減らす partyStatus.SetItemNum(item, partyStatus.GetItemNum(item) - 1); } } // itemPanleButtonListから該当するアイテムを探し数を更新する var itemButton = itemPanelButtonList.Find(obj => obj.transform.Find("ItemNameText").GetComponent <Text>().text == item.GetKanjiName()); itemButton.transform.Find("NumText").GetComponent <Text>().text = partyStatus.GetItemNum(item).ToString(); // アイテム数が0だったらボタンとキャラクターステータスからアイテムを削除 if (partyStatus.GetItemNum(item) == 0) { DeleteLostItem(item, itemButton); // ItemPanelに戻る為UseItemPanelの子要素のボタンを全削除 ResetSelectButton(); } else { // アイテム数が残っている場合はUseItemPanelでアイテムをどうするかの選択に戻る currentCommand = CommandMode.UseItemSelectCharacterPanelToUseItemPanel; } }
// キャラクターのステータス表示 public void ShowStatus(AllyStatus allyStatus) { currentCommand = CommandMode.StatusPanel; statusPanel.SetActive(true); // キャラクターの名前を表示 characterNameText.text = allyStatus.GetCharacterName(); // タイトルの表示 var text = "レベル\n"; text += "HP\n"; text += "MP\n"; text += "けいけんち\n"; text += "たいちょう\n"; text += "ちから\n"; text += "すばやさ\n"; text += "うたれづよさ\n"; text += "まほうりょく\n"; text += "そうびぶき\n"; text += "そうびよろい\n"; text += "こうげきりょく\n"; text += "ぼうぎょりょく\n"; statusTitleText.text = text; // HPとMPのDivision記号の表示 text = "\n"; text += allyStatus.GetHp() + "\n"; text += allyStatus.GetMp() + "\n"; statusParam1Text.text = text; // ステータスパラメータの表示 text = allyStatus.GetLevel() + "\n"; text += allyStatus.GetMaxHp() + "\n"; text += allyStatus.GetMaxMp() + "\n"; text += allyStatus.GetEarnedExperience() + "\n"; if (!allyStatus.IsPoisonState() && !allyStatus.IsParalyzeState() && !allyStatus.IsSilentState()) { text += "ふつう"; } else { if (allyStatus.IsPoisonState()) { text += "どく"; if (allyStatus.IsParalyzeState()) { text += "、しびれ"; if (allyStatus.IsSilentState()) { text += "、ちんもく"; } } } else if (allyStatus.IsParalyzeState()) { text += "しびれ"; if (allyStatus.IsSilentState()) { text += "、ちんもく"; } } else if (allyStatus.IsSilentState()) { text += "ちんもく"; } } text += "\n"; text += allyStatus.GetPower() + "\n"; text += allyStatus.GetAgility() + "\n"; text += allyStatus.GetStrikingStrength() + "\n"; text += allyStatus.GetMagicPower() + "\n"; text += allyStatus?.GetEquipWeapon()?.GetKanjiName() ?? ""; text += "\n"; text += allyStatus.GetEquipArmor()?.GetKanjiName() ?? ""; text += "\n"; text += allyStatus.GetPower() + (allyStatus.GetEquipWeapon()?.GetAmount() ?? 0) + "\n"; text += allyStatus.GetStrikingStrength() + (allyStatus.GetEquipArmor()?.GetAmount() ?? 0) + "\n"; statusParam2Text.text = text; }