//Sets the weapon to be used by the player. void SetCurrentEquip(string name) { //Checks to see if player has the weapon in the inventory. if (_playerData.weaponInventory.Contains(name) == false) { Debug.Log("No Weapon of that name."); return; } //Iterates through the transform of "Gun" to activate the current weapon. WeaponObj weaponSearched; foreach (Transform gameWeps in wepTransform) { weaponSearched = gameWeps.gameObject.GetComponent <WeaponObj>(); if (weaponSearched.wepName == name) { gameWeps.gameObject.SetActive(true); selectedWeapon = weaponSearched; Debug.Log("Weapon Set Successfully"); } else { gameWeps.gameObject.SetActive(false); } } return; }
// どの動物を選んでいるか public int GetSelectNumber() { int unitNum; unitNum = AnimalObj.GetComponent <AnimalButtonScript>().GetSelectNum() * 3 + WeaponObj.GetComponent <WeaponButtonScript>().GetSelectNum(); return(unitNum); }
private void UpdateEquips() { PackageManager pack = mDataModule.GetPackManager(); Dictionary <int, ItemObj> dic = pack.getPackDic(PackageType.Pack_Equip); for (int i = 0; i < (int)EquipSlot.EquipSlot_MAX; ++i) { if (dic.ContainsKey(i)) { UpdateSingleEquip(i, dic[i]); } else { UpdateSingleEquip(i, null); } } PlayerDataModule module = ModuleManager.Instance.FindModule <PlayerDataModule>(); if (module == null) { return; } int mainWeaponid = mDataModule.GetMainWeaponId(); if (!DataManager.WeaponTable.ContainsKey(mainWeaponid)) { return; } WeaponObj wobj = module.GetItemByID(mainWeaponid, PackageType.Pack_Weapon) as WeaponObj; if (wobj == null) { return; } WeaponTableItem res = DataManager.WeaponTable[mainWeaponid] as WeaponTableItem; UIAtlasHelper.SetButtonImage(mWeaponIcon, res.picname); mWeaponSterLv.text = "+" + wobj.GetWeaponLv().ToString(); mWeaponPromoteLv.text = wobj.GetPromoteLv().ToString(); UIAtlasHelper.SetSpriteImage(mWeaponLvPic, wobj.GetWeaponLvPic()); string zhishi = wobj.GetWeaponGradePic(); if (string.IsNullOrEmpty(zhishi)) { UIAtlasHelper.SetSpriteImage(mWeaponGradeBg, "common:weaponlvbg1"); } else { UIAtlasHelper.SetSpriteImage(mWeaponGradeBg, "common:weaponlvbg2"); } UIAtlasHelper.SetSpriteImage(mWeaponGradePic, zhishi); }
public ItemObj CreateItem(ItemObjInit initData) { if (initData == null) { return(null); } ItemObj itemobj = null; switch (GetItemType((uint)initData.mResId)) { case ItemType.Normal: { itemobj = new NormalItemObj(); } break; case ItemType.Defence: { itemobj = new DefenceObj(); } break; case ItemType.Weapon: { itemobj = new WeaponObj(); } break; case ItemType.Stone: { itemobj = new StoneObj(); } break; case ItemType.Box: { itemobj = new BoxItemObj(); } break; default: break; } if (itemobj == null) { return(null); } if (!itemobj.Init(initData)) { return(null); } return(itemobj); }
private void Awake() { //Initialize variables, objects, and defaults. currentWeapon = this.gameObject.GetComponent <WeaponObj>(); bullet = Resources.Load <GameObject>(currentWeapon.ammoType); _playerData = GameObject.Find("Player").GetComponent <PlayerData>(); FPM = this.transform.Find("FPM"); FPOne = this.transform.Find("FP1"); FPTwo = this.transform.Find("FP2"); }
// コストが足りているか public bool IsCreate() { if (AnimalCostPoint >= AnimalObj.GetComponent <AnimalButtonScript>().GetCost() * 100 && WeaponCostPoint >= WeaponObj.GetComponent <WeaponButtonScript>().GetCost() * 100) { return(true); } else { return(false); } }
//更换武器 public void ChangeWeapon(GameObject weapon) { if (nowWeapon != null) { Destroy(nowWeapon.gameObject); nowWeapon = null; } GameObject weaponObj = Instantiate(weapon, WeaponMount, false); nowWeapon = weaponObj.GetComponent <WeaponObj>(); nowWeapon.SetFather(this); }
// 武器コストを消費する public void ConsumeWeaponCost() { float cost = WeaponObj.GetComponent <WeaponButtonScript>().GetCost() * 100; // 消費コストが現在のコストより小さければ if (cost < WeaponCostPoint) { WeaponCostPoint -= cost; } else { Debug.LogWarning("武器コストが足りない"); } }
private void InitWeaponItemInfo() { PlayerDataModule module = ModuleManager.Instance.FindModule <PlayerDataModule>(); if (null == module) { return; } WeaponObj mData = module.GetItemByID(uiparam.itemid, PackageType.Pack_Weapon) as WeaponObj; if (null == mData) { return; } WeaponTableItem item = DataManager.WeaponTable[uiparam.itemid] as WeaponTableItem; if (null == item) { return; } ConfigTableItem configitem = DataManager.ConfigTable[item.quality] as ConfigTableItem; if (null == configitem) { return; } PromoteTableItem pres = DataManager.PromoteTable[mData.GetPromoteLv() + item.upgrade] as PromoteTableItem; if (pres == null) { GameDebug.LogError("进阶promote.txt表格无此ID=" + mData.GetPromoteLv()); return; } StrenTableItem stritem = DataManager.StrenTable[module.GetStrenLv()] as StrenTableItem; if (null == stritem) { return; } uint lv = module.GetStrenLv(); int starlv = (int)(lv / STREN_STEP); if (starlv > 0 && (lv % STREN_STEP) == 0) { starlv -= 1; } uint showlv = lv == 0 ? 0 : (lv % STREN_STEP == 0 ? 10 : lv % STREN_STEP); for (uint i = 0; i < showlv; ++i) { SetIcon(mWeaponStrList[(int)i], "common:strenth (" + (starlv + 7) + ")"); } for (uint i = showlv; i < STREN_STEP; ++i) { SetIcon(mWeaponStrList[(int)i], "common:starslvback"); } mWeaponName.text = "[" + configitem.value + "]" + item.name; mWeaponUseLv.text = mData.GetPromoteLv() + "阶"; mWeaponStrLv.text = module.GetStrenLv() + "级"; mWeaponBaseDamage.text = pres.value.ToString(); mWeaponStrDamage.text = stritem.value.ToString(); mWeaponDesc.text = item.desc; mWeaponAbtain.text = item.desc0; mNumLb.text = mData.GetPromoteLv().ToString(); //SetIcon(mWeaponPic, item.picname); }
public void SetPromote(int resId) { PlayerDataModule module = ModuleManager.Instance.FindModule <PlayerDataModule>(); if (module == null) { return; } WeaponObj wobj = module.GetItemByID(resId, PackageType.Pack_Weapon) as WeaponObj; if (wobj == null) { return; } int plv = (int)wobj.GetPromoteLv(); PromoteTableItem curpres = wobj.GetPromoteRes(); if (curpres == null) { GameDebug.LogError("资源ID为" + plv + "不存在表格promote.txt中 "); return; } int toLv = wobj.getProtemResId() + 1; PromoteTableItem nexpres = DataManager.PromoteTable[toLv] as PromoteTableItem; if (nexpres == null) { PopTipManager.Instance.AddNewTip(StringHelper.GetString("weapon_promote_max")); return; } uint count = module.GetItemNumByID(curpres.item0); string item_name = ""; bool isShortage = false; if (count < curpres.num0) { string ons = ItemManager.Instance.getItemName(curpres.item0); item_name += ons; isShortage = true; } count = module.GetItemNumByID(curpres.item1); if (count < curpres.num1) { string tns = ItemManager.Instance.getItemName(curpres.item1); if (!"".Equals(item_name)) { item_name += "、"; } item_name += tns; isShortage = true; } if (isShortage) { PopTipManager.Instance.AddNewTip(StringHelper.GetString("item_need").Replace("?", item_name)); return; } PackageManager pack = module.GetPackManager(); int packpos = 0; foreach (KeyValuePair <int, ItemObj> value in pack.getPackDic(PackageType.Pack_Weapon)) { if (null != value.Value && value.Value.GetResId() == resId) { packpos = value.Value.PackPos; break; } } SetPromoteActionParam param = new SetPromoteActionParam(); param.WeaponResId = resId; param.WeaponPos = packpos; Net.Instance.DoAction((int)Message.MESSAGE_ID.ID_MSG_WD_SET_PROMOTE, param); }
//枪械属性 public static void BuildWeaponProperty(PlayerData mainData, PropertyOperation operation) { operation.Clear(); //主武器属性 WeaponObj obj = mainData.mPack.GetItemByID(mainData.main_weaponId, PackageType.Pack_Weapon) as WeaponObj; if (null != obj) { obj.BuildProperty(operation); } //强化属性 StrenTableItem item = DataManager.StrenTable[mainData.mStrenLv] as StrenTableItem; if (null == item) { GameDebug.LogError("没有此强化等级 lv = " + mainData.mStrenLv); return; } operation.AddPro((int)PropertyTypeEnum.PropertyTypeDamage, item.value); int starlv = (int)(mainData.mStrenLv / (int)STARS_RANK.MAX_STARS_RANK_NUMBER); if (starlv > 0 && (mainData.mStrenLv % (int)STARS_RANK.MAX_STARS_RANK_NUMBER) == 0) { starlv -= 1; } if (0 != starlv) { for (int i = 1; i <= starlv; ++i) { StrProTableItem itempro = DataManager.StrProTable[i] as StrProTableItem; if (null == itempro) { GameDebug.LogError("strenthpro.txt中不存在id = " + starlv); return; } if (itempro.life != uint.MaxValue) { operation.AddPro((int)PropertyTypeEnum.PropertyTypeMaxHP, itempro.life); } if (itempro.damage != uint.MaxValue) { operation.AddPro((int)PropertyTypeEnum.PropertyTypeDamage, itempro.damage); } if (itempro.crits != uint.MaxValue) { operation.AddPro((int)PropertyTypeEnum.PropertyTypeCrticalLV, itempro.crits); } if (itempro.defence != uint.MaxValue) { operation.AddPro((int)PropertyTypeEnum.PropertyTypeDefance, itempro.defence); } if (itempro.energy != uint.MaxValue) { operation.AddPro((int)PropertyTypeEnum.PropertyTypeMaxMana, itempro.energy); } } } //配件属性 FittingsData[] mFittings = mainData.mFittings; WeaponModule module = ModuleManager.Instance.FindModule <WeaponModule>(); if (null == module) { return; } for (int i = 0; i < (int)FittingsType.MAX_FITTGINS; ++i) { FittingsTableItem fittingsitem = DataManager.FittingsTable[mFittings[i].GetId()] as FittingsTableItem; if (null == fittingsitem) { break; } for (int j = 0; j < (int)FittingsType.MAX_PROPERTY; ++j) { int min = 0; int max = 1; if (!module.GetFittMinMax(mFittings[i].GetId(), mFittings[i].GetProIdByPos(j), ref min, ref max)) { continue; } operation.AddPro(mFittings[i].GetProIdByPos(j), mFittings[i].GetProValueByPos(j)); } } }