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(); }
/// <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); }
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); }
/// <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); }
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; } }
////激活时调用 //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); }
/// <summary> /// 设置武器属性 /// </summary> public virtual void SetWeapenInfo(WeapenType weapenType, WeapenCfg weapenCfg) { }