public bool ServerChangeSelectWeapon(WeaponData weaponData, int ammoAmount) { if (weaponData == null || string.IsNullOrEmpty(weaponData.GetId()) || weaponData.equipPosition < 0 || weaponData.equipPosition >= equippedWeapons.Count) { return(false); } var equipPosition = weaponData.equipPosition; var equippedWeapon = equippedWeapons[equipPosition]; var updated = equippedWeapon.ChangeWeaponId(weaponData.GetId(), ammoAmount); if (updated) { InterruptAttack(); InterruptReload(); RpcInterruptAttack(); RpcInterruptReload(); equippedWeapons[equipPosition] = equippedWeapon; equippedWeapons.Dirty(equipPosition); // Trigger change weapon if (selectWeaponIndex == equipPosition) { OnWeaponChanged(selectWeaponIndex); RpcWeaponChanged(selectWeaponIndex); } } return(updated); }
public void UpdateSelectButtonInteractable() { if (selectWeaponButton == null || weaponData == null) { return; } selectWeaponButton.interactable = true; if (textSelectWeaponButton != null) { textSelectWeaponButton.text = messageWeaponSelectable; } var savedWeapons = PlayerSave.GetWeapons(); foreach (var savedWeapon in savedWeapons) { if (GameInstance.GetAvailableWeapon(savedWeapon.Value).GetId().Equals(weaponData.GetId())) { selectWeaponButton.interactable = false; if (textSelectWeaponButton != null) { textSelectWeaponButton.text = messageWeaponSelected; } break; } } }
public void AddWeapon(int indexInAvailableList, WeaponData weaponData) { if (weaponData == null || UIs.ContainsKey(weaponData.GetId()) || weaponData.equipPosition != equipPosition) { return; } var uiObject = Instantiate(prefab.gameObject); uiObject.SetActive(true); uiObject.transform.SetParent(container, false); var ui = uiObject.GetComponent <UIWeaponSelectEntry>(); ui.weaponData = weaponData; ui.indexInAvailableList = indexInAvailableList; ui.list = this; ui.UpdateSelectButtonInteractable(); UIs[weaponData.GetId()] = ui; }
public bool ServerFillWeaponAmmo(WeaponData weaponData, int ammoAmount) { if (weaponData == null || weaponData.equipPosition < 0 || weaponData.equipPosition >= equippedWeapons.Count) { return(false); } var equipPosition = weaponData.equipPosition; var equippedWeapon = equippedWeapons[equipPosition]; var updated = false; if (equippedWeapon.weaponId.Equals(weaponData.GetId())) { updated = equippedWeapon.AddReserveAmmo(ammoAmount); if (updated) { equippedWeapons[equipPosition] = equippedWeapon; equippedWeapons.Dirty(equipPosition); } } return(updated); }
public void KilledTarget(CharacterEntity target) { var gameplayManager = GameplayManager.Singleton; var targetLevel = target.level; var maxLevel = gameplayManager.maxLevel; Exp += Mathf.CeilToInt(target.RewardExp * TotalExpRate); score += Mathf.CeilToInt(target.KillScore * TotalScoreRate); if (connectionToClient != null) { foreach (var rewardCurrency in gameplayManager.rewardCurrencies) { var currencyId = rewardCurrency.currencyId; var amount = rewardCurrency.amount.Calculate(targetLevel, maxLevel); TargetRewardCurrency(connectionToClient, currencyId, amount); } } ++killCount; GameNetworkManager.Singleton.SendKillNotify(playerName, target.playerName, WeaponData == null ? string.Empty : WeaponData.GetId()); }
public static void Draw() { if (!MenuInventory.show) { return; } float num = Time.time - MenuInventory.showtime + 0.001f; if (num > 0.05f) { num = 0.05f; } num *= 20f; Matrix4x4 matrix = GUI.matrix; Vector3 s = new Vector3(num, num, 1f); Vector3 pos = new Vector3(MenuInventory.rBack.center.x - MenuInventory.rBack.center.x * num, MenuInventory.rBack.center.y - MenuInventory.rBack.center.y * num, 1f); GUI.matrix = Matrix4x4.TRS(pos, Quaternion.identity, s); GUIM.DrawBox(MenuInventory.rBack, MenuInventory.tBlack); MenuInventory.DrawButtonCategory(0, new Rect(MenuInventory.rBackBody.x + GUIM.YRES(4f) + GUIM.YRES(84f) * 0f, MenuInventory.rBackBody.y + GUIM.YRES(4f), GUIM.YRES(80f), GUIM.YRES(24f)), Lang.Get("_ALL"), false); MenuInventory.DrawButtonCategory(1, new Rect(MenuInventory.rBackBody.x + GUIM.YRES(4f) + GUIM.YRES(84f) * 1f, MenuInventory.rBackBody.y + GUIM.YRES(4f), GUIM.YRES(80f), GUIM.YRES(24f)), Lang.Get("_STOCK"), false); MenuInventory.DrawButtonCategory(2, new Rect(MenuInventory.rBackBody.x + GUIM.YRES(4f) + GUIM.YRES(84f) * 2f, MenuInventory.rBackBody.y + GUIM.YRES(4f), GUIM.YRES(80f), GUIM.YRES(24f)), Lang.Get("_BADGES"), false); MenuInventory.DrawButtonCategory(3, new Rect(MenuInventory.rBackBody.x + GUIM.YRES(4f) + GUIM.YRES(84f) * 3f, MenuInventory.rBackBody.y + GUIM.YRES(4f), GUIM.YRES(80f), GUIM.YRES(24f)), Lang.Get("_MASKS"), false); MenuInventory.DrawButtonCategory(4, new Rect(MenuInventory.rBackBody.x + GUIM.YRES(4f) + GUIM.YRES(84f) * 4f, MenuInventory.rBackBody.y + GUIM.YRES(4f), GUIM.YRES(80f), GUIM.YRES(24f)), Lang.Get("_WEAPONS"), false); MenuInventory.scroll = GUIM.BeginScrollView(new Rect(MenuInventory.rBackBody.x + GUIM.YRES(4f), MenuInventory.rBackBody.y + GUIM.YRES(32f), MenuInventory.rBackBody.width - GUIM.YRES(8f), MenuInventory.rBackBody.height - GUIM.YRES(40f)), MenuInventory.scroll, new Rect(0f, 0f, 0f, (float)MenuInventory.hcount * GUIM.YRES(100f) - GUIM.YRES(4f))); int num2 = 0; int num3 = 0; for (int i = 0; i < 1024; i++) { if (BaseData.item[i] != 0 || i <= 127) { if (MenuShop.shopdata[i] != null) { if (MenuInventory.currCat != 0) { if (MenuInventory.currCat == 1 && MenuShop.shopdata[i].section != 0) { goto IL_602; } if (MenuInventory.currCat == 2 && MenuShop.shopdata[i].section != 1 && MenuShop.shopdata[i].section != 2) { goto IL_602; } if (MenuInventory.currCat == 3 && MenuShop.shopdata[i].section != 3 && MenuShop.shopdata[i].section != 4) { goto IL_602; } if (MenuInventory.currCat == 4 && MenuShop.shopdata[i].section != 5) { goto IL_602; } } if (MenuShop.DrawItem(new Rect((GUIM.YRES(96f) + GUIM.YRES(4f)) * (float)num2, (GUIM.YRES(96f) + GUIM.YRES(4f)) * (float)num3, GUIM.YRES(96f), GUIM.YRES(96f)), MenuShop.shopdata[i])) { if (MenuShop.shopdata[i].section == 1) { BaseData.badge_back = i; PlayerPrefs.SetInt(BaseData.uid + "_badge_back", i); } else if (MenuShop.shopdata[i].section == 2) { BaseData.badge_icon = i; PlayerPrefs.SetInt(BaseData.uid + "_badge_icon", i); } else if (MenuShop.shopdata[i].section == 3) { BaseData.mask_merc = i; PlayerPrefs.SetInt(BaseData.uid + "_mask_merc", i); } else if (MenuShop.shopdata[i].section == 4) { BaseData.mask_warcorp = i; PlayerPrefs.SetInt(BaseData.uid + "_mask_warcorp", i); } else if (MenuShop.shopdata[i].section == 5) { int id = WeaponData.GetId(MenuShop.shopdata[i].name2); if (id > 0) { BaseData.profileWeapon[id] = i; BaseData.currentWeapon[id] = i; PlayerPrefs.SetInt(BaseData.uid + "_custom_" + MenuShop.shopdata[i].name2, i); } } } num2++; if (num2 >= 6) { num2 = 0; num3++; } } } IL_602 :; } MenuInventory.hcount = num3 + 1; GUIM.EndScrollView(); GUI.matrix = matrix; }
public static bool DrawItem(Rect r, MenuShop.CShopData data) { int num = (int)GUIM.YRES(1f); if (num < 1) { num = 1; } bool flag = false; Vector2 mpos = new Vector2(Input.mousePosition.x, (float)Screen.height - Input.mousePosition.y); if (data == MenuShop.currData) { GUI.DrawTexture(r, MenuShop.tWhite); } else if (GUIM.Contains(r, mpos)) { GUI.DrawTexture(r, MenuShop.tGray); GUI.color = new Color(1f, 1f, 1f, 0.1f); GUI.DrawTexture(r, MenuShop.tWhite); GUI.color = Color.white; flag = true; } else { if (BaseData.item[data.wid] == 1) { GUI.color = new Color(1f, 1f, 1f, 0.05f); GUI.DrawTexture(r, MenuShop.tWhite); GUI.color = Color.white; } GUI.DrawTexture(new Rect(r.x, r.y, r.width, (float)num), MenuShop.tGray); GUI.DrawTexture(new Rect(r.x, r.y + r.height - (float)num, r.width, (float)num), MenuShop.tGray); GUI.DrawTexture(new Rect(r.x, r.y, (float)num, r.height), MenuShop.tGray); GUI.DrawTexture(new Rect(r.x + r.width - (float)num, r.y, (float)num, r.height), MenuShop.tGray); } if (data.level > 0) { BaseColor fontcolor = BaseColor.White; if (BaseData.iLevel < data.level) { fontcolor = BaseColor.Red; } GUIM.DrawText(r, "Lv." + data.level.ToString() + " ", TextAnchor.LowerRight, fontcolor, 1, 12, false); } if (data.section == 1) { GUI.DrawTexture(new Rect(r.x + GUIM.YRES(4f), r.y + GUIM.YRES(4f) + GUIM.YRES(33f), GUIM.YRES(88f), GUIM.YRES(22f)), data.icon); } if (data.section == 2) { GUI.DrawTexture(new Rect(r.x + GUIM.YRES(4f), r.y + GUIM.YRES(4f), GUIM.YRES(88f), GUIM.YRES(88f)), data.icon); } if (data.section == 3 || data.section == 4) { GUI.DrawTexture(new Rect(r.x + GUIM.YRES(4f), r.y + GUIM.YRES(4f), GUIM.YRES(88f), GUIM.YRES(88f)), data.icon); } if (data.section == 5) { GUI.DrawTexture(new Rect(r.x + GUIM.YRES(4f), r.y + GUIM.YRES(4f), GUIM.YRES(88f), GUIM.YRES(88f)), data.icon); } if (data.section == 0) { GUI.DrawTexture(new Rect(r.x + GUIM.YRES(4f), r.y + GUIM.YRES(4f) + GUIM.YRES(22f), GUIM.YRES(88f), GUIM.YRES(44f)), data.icon); } if (MenuInventory.isActive()) { bool flag2 = false; int id = WeaponData.GetId(data.name2); if (id > 0 && BaseData.profileWeapon[id] == data.wid) { flag2 = true; } if (BaseData.badge_back == data.wid || BaseData.badge_icon == data.wid || BaseData.mask_merc == data.wid || BaseData.mask_warcorp == data.wid || flag2) { GUI.color = Color.green; GUI.DrawTexture(new Rect(r.x + GUIM.YRES(4f), r.y + GUIM.YRES(4f), GUIM.YRES(10f), GUIM.YRES(10f)), MenuShop.apply); GUI.color = Color.white; } else if (flag && data.section > 0) { GUIM.DrawText(r, Lang.Get("_CLICK_TO_EQUIP"), TextAnchor.LowerCenter, BaseColor.White, 1, 10, false); } } bool result = false; if (GUIM.HideButton(r)) { MenuShop.currData = data; if (MenuShop.show) { if (MenuShop.currData.section == 3 || MenuShop.currData.section == 4) { MenuPlayer.PreviewMask(MenuShop.currData); MenuPlayer.SetPosition(0.9f, 0.03f, -1f); } else if (MenuShop.currData.section == 5) { MenuPlayer.playermodel = -1; if (MenuShop.currData.name2 == "ak47") { MenuPlayer.ChangePlayer(0, 6, 22); } else if (MenuShop.currData.name2 == "aks74u") { MenuPlayer.ChangePlayer(0, 7, 22); } else if (MenuShop.currData.name2 == "asval") { MenuPlayer.ChangePlayer(0, 8, 22); } else if (MenuShop.currData.name2 == "aug") { MenuPlayer.ChangePlayer(0, 18, 22); } else if (MenuShop.currData.name2 == "awp") { MenuPlayer.ChangePlayer(0, 22, 8); } else if (MenuShop.currData.name2 == "beretta") { MenuPlayer.ChangePlayer(0, 2, 22); } else if (MenuShop.currData.name2 == "bm4") { MenuPlayer.ChangePlayer(0, 9, 22); } else if (MenuShop.currData.name2 == "colt") { MenuPlayer.ChangePlayer(0, 3, 8); } else if (MenuShop.currData.name2 == "deagle") { MenuPlayer.ChangePlayer(0, 4, 8); } else if (MenuShop.currData.name2 == "famas") { MenuPlayer.ChangePlayer(0, 10, 22); } else if (MenuShop.currData.name2 == "glock17") { MenuPlayer.ChangePlayer(0, 1, 8); } else if (MenuShop.currData.name2 == "m4a1") { MenuPlayer.ChangePlayer(0, 11, 22); } else if (MenuShop.currData.name2 == "m24") { MenuPlayer.ChangePlayer(0, 21, 22); } else if (MenuShop.currData.name2 == "m90") { MenuPlayer.ChangePlayer(0, 23, 22); } else if (MenuShop.currData.name2 == "m110") { MenuPlayer.ChangePlayer(0, 20, 22); } else if (MenuShop.currData.name2 == "m249") { MenuPlayer.ChangePlayer(0, 25, 22); } else if (MenuShop.currData.name2 == "mp5") { MenuPlayer.ChangePlayer(0, 12, 22); } else if (MenuShop.currData.name2 == "mp7") { MenuPlayer.ChangePlayer(0, 13, 22); } else if (MenuShop.currData.name2 == "p90") { MenuPlayer.ChangePlayer(0, 14, 22); } else if (MenuShop.currData.name2 == "pkp") { MenuPlayer.ChangePlayer(0, 24, 22); } else if (MenuShop.currData.name2 == "qbz95") { MenuPlayer.ChangePlayer(0, 15, 22); } else if (MenuShop.currData.name2 == "remington") { MenuPlayer.ChangePlayer(0, 5, 22); } else if (MenuShop.currData.name2 == "spas12") { MenuPlayer.ChangePlayer(0, 16, 8); } else if (MenuShop.currData.name2 == "svd") { MenuPlayer.ChangePlayer(0, 19, 22); } else if (MenuShop.currData.name2 == "ump45") { MenuPlayer.ChangePlayer(0, 17, 22); } MenuPlayer.SetPosition(0.9f, 0.03f, -1f); } } result = true; } return(result); }