Пример #1
0
    //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;
    }
Пример #2
0
    //  どの動物を選んでいるか
    public int GetSelectNumber()
    {
        int unitNum;

        unitNum = AnimalObj.GetComponent <AnimalButtonScript>().GetSelectNum() * 3 + WeaponObj.GetComponent <WeaponButtonScript>().GetSelectNum();
        return(unitNum);
    }
Пример #3
0
    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);
    }
Пример #4
0
    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);
    }
Пример #5
0
 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");
 }
Пример #6
0
 //  コストが足りているか
 public bool IsCreate()
 {
     if (AnimalCostPoint >= AnimalObj.GetComponent <AnimalButtonScript>().GetCost() * 100 &&
         WeaponCostPoint >= WeaponObj.GetComponent <WeaponButtonScript>().GetCost() * 100)
     {
         return(true);
     }
     else
     {
         return(false);
     }
 }
Пример #7
0
    //更换武器
    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);
    }
Пример #8
0
    //  武器コストを消費する
    public void ConsumeWeaponCost()
    {
        float cost = WeaponObj.GetComponent <WeaponButtonScript>().GetCost() * 100;

        //  消費コストが現在のコストより小さければ
        if (cost < WeaponCostPoint)
        {
            WeaponCostPoint -= cost;
        }
        else
        {
            Debug.LogWarning("武器コストが足りない");
        }
    }
Пример #9
0
    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);
    }
Пример #10
0
    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);
    }
Пример #11
0
    //枪械属性
    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));
            }
        }
    }