Ejemplo n.º 1
0
    public void Init(WeapenCfg weapenCfg)
    {
        switch (weapenCfg.weapenType)
        {
        case "Rifle":
            weapenType = WeapenType.Rifle;
            break;

        case "Sniper":
            weapenType = WeapenType.Sniper;
            break;
        }
        weapenShootRate   = weapenCfg.weapenShootRate;
        weapenReload      = weapenCfg.weapenReload;
        weapenFrontBullet = weapenCfg.weapenFrontBullet;
        weapenBackBullet  = weapenCfg.weapenBackBullet;
        weapenDamage      = weapenCfg.weapenDamage;
        weapenRocoil      = weapenCfg.weapenRocoil;
        weapenRocoilTime  = weapenCfg.weapenRocoilTime;
        BulletPrefab      = weapenCfg.BulletPrefab;
        FireEffect        = weapenCfg.FireEffect;
        ShellEffect       = weapenCfg.ShellEffect;

        CurrentFrontBullet = weapenFrontBullet;
        isFirst            = false;
        CurrentBackBullet  = weapenBackBullet;


        netSvc = NetSvc.Instance;

        Init();
    }
Ejemplo n.º 2
0
 /// <summary>
 /// 初始化枪械数值
 /// </summary>
 private void InitGun(GameObject gun, int demage, int durable, WeapenType type, GameObject item, int cratridgeNum, bool isWeapenGun)
 {
     gun.GetComponent <GunControllerBase>().Id      = id++;
     gun.GetComponent <GunControllerBase>().Demage  = demage;
     gun.GetComponent <GunControllerBase>().Durable = durable;
     gun.GetComponent <GunControllerBase>().GunType = type;
     gun.GetComponent <GunControllerBase>().Gun_UI  = item;
     GunUIPanel.Instance.InitGunUI(item, cratridgeNum, cratridgeNum, durable, isWeapenGun);
 }
Ejemplo n.º 3
0
    public void ReqChangeWeapen(int weapenID)
    {
        WeapenType weapenType = (WeapenType)weapenID;

        SetHighImg(weapenType);
        GameMsg gameMsg = new GameMsg
        {
            cmd             = (int)CMD.ReqChangeWeapen,
            reqChangeWeapen = new ReqChangeWeapen
            {
                weapenType = weapenID,
            }
        };

        netSvc.SendMsg(gameMsg);
    }
Ejemplo n.º 4
0
    /// <summary>
    /// 退出开镜状态-->动作优化
    /// </summary>
    public void ExitHoldPose(WeapenType weapenType, float time = 0.2f, float fov = 60)
    {
        if (weapenType == WeapenType.Rifle)
        {//步枪
         //Camera.main.transform.parent = null;
         //Camera.main.transform.localPosition = startPos;
         //Camera.main.fieldOfView = fov;

            //检测武器层
            Camera.main.cullingMask = Camera.main.cullingMask | (1 << LayerMask.NameToLayer("GunModel"));
            fovCamera.gameObject.SetActive(false);
            BattleSys.Instance.SetImgSight(PathDefine.GunSightImg);
        }
        else if (weapenType == WeapenType.Sniper)
        {//狙击枪
            BattleSys.Instance.SetSniperAim(false);
            Camera.main.fieldOfView = fov;
        }
        //m_GunStar.SetActive(true);
    }
Ejemplo n.º 5
0
    public void SetHighImg(WeapenType weapenType)
    {
        int imgIndex = (int)weapenType;

        for (int i = 0; i < tagImg.Length; i++)
        {
            tagImg[i].color = Color.white;
        }
        tagImg[imgIndex].color = Color.red;
        switch (weapenType)
        {
        case WeapenType.Rifle:
            imgModel.texture = Resources.Load <RenderTexture>(PathDefine.RifleRawTexture);
            break;

        case WeapenType.Sniper:
            imgModel.texture = Resources.Load <RenderTexture>(PathDefine.SniperRawTexture);
            break;
        }
    }
Ejemplo n.º 6
0
    ////激活时调用
    //private void OnEnable()
    //{
    //    ShowStar();
    //}

    ////不激活时调用
    //private void OnDisable()
    //{
    //    HideStar();
    //}

    /// <summary>
    /// 进入开镜状态-->动作优化
    /// </summary>
    public void EnterHoldPose(WeapenType weapenType, float time = 0.2f, float fov = 40)
    {
        if (weapenType == WeapenType.Rifle)
        {//步枪
         //startPos = Camera.main.transform.localPosition;
         //Camera.main.transform.parent = m_Weapon.transform;
         //Camera.main.transform.localPosition = EndPos;
         //Camera.main.transform.localRotation = m_Weapon.transform.rotation;
         //Camera.main.fieldOfView = fov;

            //无视掉武器层
            Camera.main.cullingMask = Camera.main.cullingMask & ~(1 << LayerMask.NameToLayer("GunModel"));
            fovCamera.gameObject.SetActive(true);
            BattleSys.Instance.SetImgSight(PathDefine.AimSightImg);
        }
        else if (weapenType == WeapenType.Sniper)
        {//狙击枪
            BattleSys.Instance.SetSniperAim(true);
            Camera.main.fieldOfView = 20;
        }
        //m_GunStar.SetActive(false);
    }
Ejemplo n.º 7
0
 /// <summary>
 /// 设置武器属性
 /// </summary>
 public virtual void SetWeapenInfo(WeapenType weapenType, WeapenCfg weapenCfg)
 {
 }