| System/Vip/VipInvest/CheckDisplay.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Vip/VipInvest/CheckDisplay.cs.meta | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Vip/VipInvest/RotatePointer.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Vip/VipInvest/WheelOfFortuneModel.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Vip/VipInvest/WheelOfFortuneWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Welfare/WelfareCenter.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Welfare/WelfareWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
System/Vip/VipInvest/CheckDisplay.cs
New file @@ -0,0 +1,75 @@ //-------------------------------------------------------- // [Author]: 第二世界 // [ Date ]: Tuesday, October 09, 2018 //-------------------------------------------------------- using UnityEngine; using System.Collections; using UnityEngine.UI; namespace Snxxz.UI { public class CheckDisplay:MonoBehaviour { [SerializeField] Image m_Image1; [SerializeField] Image m_Image2; [SerializeField] Image m_Image3; [SerializeField] Image m_Image4; [SerializeField] Image m_Image5; [SerializeField] Image m_Image6; [SerializeField] Image m_Image7; [SerializeField] Image m_Image8; [SerializeField] Image m_Image9; public void CloseAll() { m_Image1.gameObject.SetActive(false); m_Image2.gameObject.SetActive(false); m_Image3.gameObject.SetActive(false); m_Image4.gameObject.SetActive(false); m_Image5.gameObject.SetActive(false); m_Image6.gameObject.SetActive(false); m_Image7.gameObject.SetActive(false); m_Image8.gameObject.SetActive(false); m_Image9.gameObject.SetActive(false); } public void ShowSelected(int Index) { switch (Index) { case 1: m_Image1.gameObject.SetActive(true); break; case 2: m_Image2.gameObject.SetActive(true); break; case 3: m_Image3.gameObject.SetActive(true); break; case 4: m_Image4.gameObject.SetActive(true); break; case 5: m_Image5.gameObject.SetActive(true); break; case 6: m_Image6.gameObject.SetActive(true); break; case 7: m_Image7.gameObject.SetActive(true); break; case 8: m_Image8.gameObject.SetActive(true); break; case 9: m_Image9.gameObject.SetActive(true); break; } } } } System/Vip/VipInvest/CheckDisplay.cs.meta
New file @@ -0,0 +1,12 @@ fileFormatVersion: 2 guid: 9c0e8745efd12dc438df8485acd59d27 timeCreated: 1539067713 licenseType: Free MonoImporter: serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant: System/Vip/VipInvest/RotatePointer.cs
@@ -6,7 +6,8 @@ using System.Collections; using UnityEngine.UI; using DG.Tweening; using System; namespace Snxxz.UI { public class RotatePointer:MonoBehaviour { @@ -16,6 +17,7 @@ private float Acceleration = 0;//加速度 private float _time; private bool IsRotateBool = false;//是否进行旋转 public static event Action<bool> IsButtonShow; [Header("总旋转时间")] public float ContinuousTime = 4;//旋转时间 [Header("加速减速时间")] @@ -24,22 +26,38 @@ public float MinSpeed= 400; [Header("最大速度")] public float MaxSpeed = 800; WheelOfFortuneModel wheelOfFortuneModel { get { return ModelCenter.Instance.GetModel<WheelOfFortuneModel>(); } } [SerializeField] CheckDisplay m_CheckDisplay; private void OnEnable() public void Init() { IsRotateBool = false; _time = 0; transform.localRotation = Quaternion.Euler(0, 0, -wheelOfFortuneModel.AngleSave); Acceleration = (MaxSpeed - MinSpeed) / SpeedTime; m_CheckDisplay.CloseAll(); } private void OnEnable() { } void Update() { if (!_isRotate) { // transform.DORotate(new Vector3(0, 0, 360 + Angle), 0.5f, RotateMode.FastBeyond360); if (-Angle != transform.localRotation.z) { transform.localRotation = Quaternion.Euler(0, 0, -Angle); m_CheckDisplay.ShowSelected(wheelOfFortuneModel.Lattice); if (IsButtonShow != null) { IsButtonShow(true); } IsRotateBool = false; } return; //不旋转结束 } @@ -71,25 +89,48 @@ } if (_time < ContinuousTime) // 没结束 { transform.Rotate(Vector3.forward * Speed * Time.deltaTime); transform.Rotate(-Vector3.forward * Speed * Time.deltaTime); } else { //结束,使用DoTween旋转到结束角度,耗时1秒 //这里有个360,使用来防止指针回转的,如果不加这个360,你会看到指针倒退 transform.DORotate(new Vector3(0, 0, 360 + Angle), 1f, RotateMode.FastBeyond360); _isRotate = false; // 设置不旋转 Sequence sequence = DOTween.Sequence(); sequence.Append(transform.DORotate(new Vector3(0, 0, -(360 + Angle)), 2f, RotateMode.FastBeyond360)); sequence.AppendCallback(()=> { _isRotate = false; // 设置不旋转 if (IsButtonShow != null) { IsButtonShow(true); } m_CheckDisplay.ShowSelected(wheelOfFortuneModel.Lattice); }); IsRotateBool = false; } } } //外部调用,初始化时间和打开旋转 public void SetTime() public void SetTime(bool _bool) { _time =0; IsRotateBool = true; _isRotate = true; if (_bool) { IsRotateBool = false; _isRotate = false; } else { IsRotateBool = true; _isRotate = true; } } private void TweenOver() { } //外部调用,设置停止角度 } System/Vip/VipInvest/WheelOfFortuneModel.cs
@@ -30,6 +30,11 @@ private string StrKey = string.Empty; private bool IsOk = false; private const int Redpoint_key1 = 66666;//幸运转盘红点 public Redpoint redPointStre1 = new Redpoint(6666, Redpoint_key1); VipModel m_Vipmodel; VipModel vipmodel { get { return m_Vipmodel ?? (m_Vipmodel = ModelCenter.Instance.GetModel<VipModel>()); } } public override void Init() { var BindJadewheel = Config.Instance.Get<FuncConfigConfig>("BindJadeWheelCfg"); @@ -61,10 +66,15 @@ public void OnPlayerLoginOk() { PlayerDatas.Instance.PlayerDataRefreshInfoEvent -= Updatefighting;//数据的刷新(h0418) PlayerDatas.Instance.PlayerDataRefreshInfoEvent += Updatefighting;//数据的刷新(h0418) IsOk = true; StrKey = "IsOpenFiaryJadeRedPoint" + PlayerDatas.Instance.baseData.PlayerID; AngleSave = LocalSave.GetFloat(StrKey); RedPoint(); } public void BindJadeWheelResult(HA324_tagMCBindJadeWheelResult Info) { @@ -83,6 +93,7 @@ { WheelOfFortuneUpdate(AngleSave); } RedPoint(); } } @@ -91,6 +102,23 @@ CA517_tagCMStartBindJadeWheel _tagC517 = new CA517_tagCMStartBindJadeWheel(); GameNetSystem.Instance.SendInfo(_tagC517); } private void Updatefighting(PlayerDataRefresh obj)//红点 { if (obj == PlayerDataRefresh.VIPLv) { RedPoint(); } } private void RedPoint() { redPointStre1.state = RedPointState.None; int LotteryNumber = vipmodel.GetVipPrivilegeCnt(VipPrivilegeType.BindJadeWheel); if (LotteryNumber > Number) { redPointStre1.state = RedPointState.Simple; } } } } System/Vip/VipInvest/WheelOfFortuneWin.cs
@@ -9,14 +9,18 @@ using UnityEngine; using UnityEngine.UI; namespace Snxxz.UI { namespace Snxxz.UI { public class WheelOfFortuneWin : Window { [SerializeField] Button m_LotteryBtn; [SerializeField] RotatePointer m_RotatePointer; [SerializeField] Toggle m_Toggle; [SerializeField] Button m_CloseBtn; [SerializeField] Toggle m_Toggle; [SerializeField] CheckDisplay m_CheckDisplay; [SerializeField] Text Money1_Text; [SerializeField] Text Money2_Text; //[SerializeField] UIEffectFly m_UIEffectFly; VipModel m_Vipmodel; VipModel vipmodel { get { return m_Vipmodel ?? (m_Vipmodel = ModelCenter.Instance.GetModel<VipModel>()); } } WheelOfFortuneModel wheelOfFortuneModel { get { return ModelCenter.Instance.GetModel<WheelOfFortuneModel>(); } } @@ -29,24 +33,30 @@ protected override void AddListeners() { m_LotteryBtn.AddListener(OnClickButton); m_CloseBtn.AddListener(()=> { Close(); }); m_Toggle.onValueChanged.AddListener(OnClickToggle); } protected override void OnPreOpen() { Money1_Text.text = UIHelper.GetMoneyCnt(2).ToString(); Money2_Text.text = UIHelper.GetMoneyCnt(1).ToString(); m_RotatePointer.Init(); IsLottery();//判断是否拥有次数 } protected override void OnAfterOpen() { wheelOfFortuneModel.WheelOfFortuneUpdate += WheelOfFortuneUpdate; RotatePointer.IsButtonShow += IsButtonShow; } protected override void OnPreClose() { wheelOfFortuneModel.WheelOfFortuneUpdate -= WheelOfFortuneUpdate; wheelOfFortuneModel.WheelOfFortuneUpdate -= WheelOfFortuneUpdate; RotatePointer.IsButtonShow -= IsButtonShow; } private void WheelOfFortuneUpdate(float Angel) { @@ -59,8 +69,13 @@ private void OnClickButton() { // m_UIEffectFly.StartFly(Text); m_CheckDisplay.CloseAll(); wheelOfFortuneModel.StartTheDraw();//开始抽奖 m_RotatePointer.SetTime(); m_LotteryBtn.interactable = false; float angel = UnityEngine.Random.Range(0f, 360f); m_RotatePointer.Angle = angel; m_RotatePointer.SetTime(m_Toggle.isOn); } private void OnClickToggle(bool _bool) { @@ -73,8 +88,11 @@ m_RotatePointer._isRotate = true; } } private void IsButtonShow(bool _bool) { m_LotteryBtn.interactable = _bool; } private void IsLottery() { int LotteryNumber = vipmodel.GetVipPrivilegeCnt(VipPrivilegeType.BindJadeWheel); System/Welfare/WelfareCenter.cs
@@ -13,8 +13,8 @@ InSevenDayModel sevenDayModel { get { return ModelCenter.Instance.GetModel<InSevenDayModel>(); } } //FairyJadeInvestmentModel m_FairyJadeInvestmentModel; //FairyJadeInvestmentModel fairyJadeInvestmentModel { get { return m_FairyJadeInvestmentModel ?? (m_FairyJadeInvestmentModel = ModelCenter.Instance.GetModel<FairyJadeInvestmentModel>()); } } WheelOfFortuneModel m_WheelOfFortuneModel; WheelOfFortuneModel wheelOfFortuneModel { get { return m_WheelOfFortuneModel ?? (m_WheelOfFortuneModel = ModelCenter.Instance.GetModel<WheelOfFortuneModel>()); } } /// <summary> /// 点击主界面福利按钮打开 /// </summary> @@ -63,12 +63,12 @@ return; } //if (fairyJadeInvestmentModel.redPointStre1.state == RedPointState.Simple || fairyJadeInvestmentModel.redPointStre1.state == RedPointState.GetReward) //{ // WindowCenter.Instance.Close<MainInterfaceWin>(); // WindowCenter.Instance.Open<WelfareWin>(false, 5); // return; //} if (wheelOfFortuneModel.redPointStre1.state == RedPointState.Simple)//绑玉转盘 { WindowCenter.Instance.Close<MainInterfaceWin>(); WindowCenter.Instance.Open<WelfareWin>(false, 5); return; } WindowCenter.Instance.Close<MainInterfaceWin>(); WindowCenter.Instance.Open<WelfareWin>(false, functionOrder); } @@ -110,10 +110,10 @@ return 3; } //if (fairyJadeInvestmentModel.redPointStre1.state == RedPointState.Simple || fairyJadeInvestmentModel.redPointStre1.state == RedPointState.GetReward) //{ // return 5; //} if (wheelOfFortuneModel.redPointStre1.state == RedPointState.Simple) { return 5; } return functionOrder; } } System/Welfare/WelfareWin.cs
@@ -19,6 +19,7 @@ [SerializeField] FunctionButton Btn_InSeven; [SerializeField] FunctionButton m_LevelGiftBtn; [SerializeField] FunctionButton m_ExchangeBtn; [SerializeField] FunctionButton m_TurntableBtn; [SerializeField] FunctionButtonGroup buttonGroup; [SerializeField] Button closeBtn; @@ -39,6 +40,7 @@ Btn_InSeven.AddListener(InSeven); m_LevelGiftBtn.onClick.AddListener(OnLevelGift); m_ExchangeBtn.onClick.AddListener(OnExchange); m_TurntableBtn.onClick.AddListener(OnTurntableBtn); closeBtn.onClick.AddListener(CloseClick); } @@ -96,7 +98,20 @@ } functionOrder = 4; } private void OnTurntableBtn() { CloseChildWin(); if (windowState == WindowState.Opened) { WindowCenter.Instance.OpenWithoutAnimation<WheelOfFortuneWin>(); } else { WindowCenter.Instance.Open<WheelOfFortuneWin>(); } functionOrder = 5; } private void OnSignIn() { CloseChildWin(); @@ -181,6 +196,10 @@ { WindowCenter.Instance.CloseImmediately<AwardExchangeWin>(); } if (WindowCenter.Instance.IsOpen<WheelOfFortuneWin>()) { WindowCenter.Instance.CloseImmediately<WheelOfFortuneWin>(); } } private void OperationStartEvent(Operation arg1, int arg2)