Esempio n. 1
0
		private void ButtonTipsHandle(object sender,int code)
		{
			//萌宠献礼
			if (sender.Equals(LuckDrawMode.Instance) && code == LuckDrawMode.Instance.UPDATE_TIPS)
			{
				btn_mcxl.FindInChild<UISprite>("tips").SetActive(LuckDrawMode.Instance.ShowTips);
			}
            //世界Boss
            else if (sender.Equals(BossMode.Instance) && code == BossMode.Instance.UPDATE_TIPS)
            {
                btn_sjb.FindInChild<UISprite>("tips").SetActive(BossMode.Instance.ShowTips);
            }
            //世界Boss开启时间倒计时
            else if (sender.Equals(BossMode.Instance) && code == BossMode.Instance.UPDATE_START)
            {
                float restTimeLeft = BossMode.Instance.RestTimeLeft;
                if (restTimeLeft == 0)
                    btn_sjb.FindInChild<UILabel>("label").text = LanguageManager.GetWord("MainTopRightView.WorldBoss");
                else
                {
                    vp_TimeUtility.Units timeU = vp_TimeUtility.TimeToUnits(restTimeLeft);
                    string timeStr = string.Format("{0:D2}:{1:D2}", timeU.minutes, timeU.seconds);
                    btn_sjb.FindInChild<UILabel>("label").text = LanguageManager.GetWord("MainTopRightView.WorldBoss")
                        + "\n"+ string.Format(ColorConst.RED_FORMAT,timeStr);
                
                }

            }
		}
Esempio n. 2
0
    public static float UnitsToSeconds(vp_TimeUtility.Units units)
    {
        float num = 0f;

        num += (float)(units.hours * 3600);
        num += (float)(units.minutes * 60);
        num += (float)units.seconds;
        num += (float)units.deciSeconds * 0.1f;
        num += (float)(units.centiSeconds / 100);
        return(num + (float)(units.milliSeconds / 1000));
    }
Esempio n. 3
0
 public static vp_TimeUtility.Units TimeToUnits(float timeInSeconds)
 {
     vp_TimeUtility.Units result = default(vp_TimeUtility.Units);
     result.hours        = (int)timeInSeconds / 3600;
     result.minutes      = ((int)timeInSeconds - result.hours * 3600) / 60;
     result.seconds      = (int)timeInSeconds % 60;
     result.deciSeconds  = (int)((timeInSeconds - (float)result.seconds) * 10f) % 60;
     result.centiSeconds = (int)((timeInSeconds - (float)result.seconds) * 100f % 600f);
     result.milliSeconds = (int)((timeInSeconds - (float)result.seconds) * 1000f % 6000f);
     return(result);
 }
Esempio n. 4
0
        //世界Boss战结束
        private void BossEnd()
        {
            restTime = (uint)Singleton <BossMode> .Instance.EndTimeLeft;
            if (Singleton <BossMode> .Instance.isDie)           //Boss死亡
            {
                Singleton <BossTips> .Instance.OpenWNView(BossMode.Instance.BossName, 4, Singleton <BossControl> .Instance.QuitBossScene);
            }
            else if (restTime == 0 && !Singleton <BossMode> .Instance.isDie)    //如果时间到,Boss还没有死亡
            {
                Singleton <BossControl> .Instance.QuitBossScene();              //时间到了,直接退出世界Boss
            }
            vp_TimeUtility.Units timeU = vp_TimeUtility.TimeToUnits(restTime);
            string timeStr             = string.Format("{0:D2}:{1:D2}", timeU.minutes, timeU.seconds);

            leftTime.text = timeStr;
        }
Esempio n. 5
0
 public static float TimeToDegrees(float seconds, bool includeHours = false, bool includeMinutes = false, bool includeSeconds = true, bool includeMilliSeconds = true)
 {
     vp_TimeUtility.Units units = vp_TimeUtility.TimeToUnits(seconds);
     if (includeHours && includeMinutes && includeSeconds)
     {
         return(vp_TimeUtility.HoursToDegreesInternal((float)units.hours, (float)units.minutes, (float)units.seconds));
     }
     if (includeHours && includeMinutes)
     {
         return(vp_TimeUtility.HoursToDegreesInternal((float)units.hours, (float)units.minutes, 0f));
     }
     if (includeMinutes && includeSeconds && includeMilliSeconds)
     {
         return(vp_TimeUtility.MinutesToDegreesInternal((float)units.minutes, (float)units.seconds, (float)units.milliSeconds));
     }
     if (includeMinutes && includeSeconds)
     {
         return(vp_TimeUtility.MinutesToDegreesInternal((float)units.minutes, (float)units.seconds, 0f));
     }
     if (includeSeconds && includeMilliSeconds)
     {
         return(vp_TimeUtility.SecondsToDegreesInternal((float)units.seconds, (float)units.milliSeconds));
     }
     if (includeHours)
     {
         return(vp_TimeUtility.HoursToDegreesInternal((float)units.hours, 0f, 0f));
     }
     if (includeMinutes)
     {
         return(vp_TimeUtility.MinutesToDegreesInternal((float)units.minutes, 0f, 0f));
     }
     if (includeSeconds)
     {
         return(vp_TimeUtility.TimeToDegrees((float)units.seconds, false, false, true, true));
     }
     if (includeMilliSeconds)
     {
         return(vp_TimeUtility.MilliSecondsToDegreesInternal((float)units.milliSeconds));
     }
     Debug.LogError("Error: (vp_TimeUtility.TimeToDegrees) This combination of time units is not supported.");
     return(0f);
 }
Esempio n. 6
0
    public static string TimeToString(float timeInSeconds, bool showHours, bool showMinutes, bool showSeconds, bool showTenths, bool showHundredths, bool showMilliSeconds, char delimiter = ':')
    {
        vp_TimeUtility.Units units = vp_TimeUtility.TimeToUnits(timeInSeconds);
        string text  = (units.hours >= 10) ? units.hours.ToString() : ("0" + units.hours.ToString());
        string arg   = (units.minutes >= 10) ? units.minutes.ToString() : ("0" + units.minutes.ToString());
        string arg2  = (units.seconds >= 10) ? units.seconds.ToString() : ("0" + units.seconds.ToString());
        string arg3  = units.deciSeconds.ToString();
        string arg4  = (units.centiSeconds >= 10) ? units.centiSeconds.ToString() : ("0" + units.centiSeconds.ToString());
        string text2 = (units.milliSeconds >= 100) ? units.milliSeconds.ToString() : ("0" + units.milliSeconds.ToString());

        text2 = ((units.milliSeconds >= 10) ? text2 : ("0" + text2));
        return(string.Concat(new string[]
        {
            (!showHours) ? string.Empty : text,
            (!showMinutes) ? string.Empty : (delimiter + arg),
            (!showSeconds) ? string.Empty : (delimiter + arg2),
            (!showTenths) ? string.Empty : (delimiter + arg3),
            (!showHundredths) ? string.Empty : (delimiter + arg4),
            (!showMilliSeconds) ? string.Empty : (delimiter + text2)
        }).TrimStart(new char[]
        {
            delimiter
        }));
    }
Esempio n. 7
0
        // 0 表示未开启, 1 表示CD没到,但有付费次数, 2 表示CD没到(有免费次数), 3 表示没有免费次数
        // 4 表示
        // 0 表示未开启, 1 表示CD没到, 2表示CD到了, 3表示剩余免费次数为0,4表示剩余付费次数为0
        private void UpdateCDTime()
        {
            GrowattrInfoMsg_17_1 growInfo = GrowMode.Instance.GrowAttrInfo;

            List <uint> CDList    = new List <uint>();
            List <uint> FreeTimes = new List <uint>();
            List <uint> CostTimes = new List <uint>();

            //方便迭代
            CDList.Add(growInfo.lv1Cd);    //CD时间
            CDList.Add(growInfo.lv2Cd);
            CDList.Add(growInfo.lv3Cd);
            FreeTimes.Add(growInfo.lv1Free);   //剩余免费次数
            FreeTimes.Add(growInfo.lv2Free);
            FreeTimes.Add(growInfo.lv3Free);
            int free;  //可免费次数
            int total; //总次数

            string cd1format = LanguageManager.GetWord("Grow.CD1");
            string cd2format = LanguageManager.GetWord("Grow.CD2");

            cd1format = cd1format.Replace(@"\n", "\n");
            cd2format = cd2format.Replace(@"\n", "\n");
            string  cdformat   = null;
            string  freeString = LanguageManager.GetWord("Grow.Free");
            string  unOpen     = LanguageManager.GetWord("Grow.UnOpen");
            UILabel cdLabel;

            int[]             freeCount  = { 5, 2, 1 }; //三种培育的免费次数
            int[]             vipRequire = { 0, 4, 6 }; //vip开启
            UIWidgetContainer wc;
            UILabel           valueLabel;               //花费文本
            ItemContainer     ic;
            int leftTime;                               //剩余付费次数
            int leftFree;                               //剩余免费次数

            for (int i = 0; i < 3; i++)
            {
                //0 表示未开启,
                //1 表示CD没到,但有付费次数, 2 表示CD没到(有免费次数)没有付费次数, 3 表示CD时间到,有免费次数,
                //4 表示没有免费次数,有付费次数 5 表示没有免费次数,没有付费次数
                int state = GrowMode.Instance.GetGrowState(i + 1);

                wc         = costList[i];   //花费
                ic         = buttonList[i]; //按钮
                cdLabel    = cdList[i];     //CD 文本
                valueLabel = wc.FindInChild <UILabel>("value");
                free       = (int)FreeTimes[i];
                leftFree   = freeCount[i] - free;

                int buttonState = 0; //按钮状态
                int costState   = 0; //钻石信息显示状态
                int cdState     = 0; //cd显示状态

                if (state == 0)      //没有开启
                {
                    //Log.info(this, "没有开启");
                    cdState     = 1;
                    buttonState = 1;
                    costState   = 1;
                }
                else if (state == 5)
                {
                    //Log.info(this, "免费次数和付费次数都用完了");
                    cdState     = 4;
                    buttonState = 2;
                    costState   = 2;
                }
                else if (state == 4)
                {
                    //Log.info(this, "没有免费次数,有付费次数");
                    cdState     = 4;
                    buttonState = 2;
                    costState   = 2;
                }
                else if (state == 3)   //免费
                {
                    //Log.info(this, "表示CD时间到,有免费次数");
                    cdState     = 3;
                    buttonState = 2;
                    costState   = 1;
                }
                else if (state == 2)
                {
                    cdState     = 2;
                    buttonState = 2;
                    costState   = 2;
                }
                else if (state == 1)    //付费
                {
                    //Log.info(this, "表示CD没到,但有付费次数");
                    cdState     = 2;
                    buttonState = 2;
                    costState   = 2;
                }
                if (cdState == 1) // 未开启
                {
                    cdLabel.text = string.Format(LanguageManager.GetWord("Grow.VIPOpen").Replace(@"\n", "\n"),
                                                 vipRequire[i]);
                    cdLabel.color = Color.yellow;
                }
                else if (cdState == 2)  //cd 时间未到
                {
                    vp_TimeUtility.Units units = vp_TimeUtility.TimeToUnits(CDList[i]);
                    string timeStr             = string.Format("{0:D2}:{1:D2}:{2:D2}", units.hours, units.minutes, units.seconds);
                    cdLabel.text = string.Format(cd1format, timeStr, string.Format(ColorConst.GREEN_FORMAT, free + "/" + freeCount[i]));
                    //cdLabel.color = Color.white;
                }
                else if (cdState == 3)  //CD时间到
                {
                    cdLabel.text = string.Format(cd2format, string.Format(ColorConst.GREEN_FORMAT, free + "/" + freeCount[i]));
                    //cdLabel.color = Color.white;
                }
                else if (cdState == 4) //免费用完
                {
                    cdLabel.text = string.Format(cd2format, string.Format(ColorConst.RED_FORMAT, free + "/" + freeCount[i]));
                    //cdLabel.color = Color.red;
                }
                if (buttonState == 1) //未开启
                {
                    ic.FindInChild <UISprite>("background").spriteName = "anniuh1";
                    ic.FindInChild <UILabel>("label").effectColor      = ColorConst.YellowOutline;
                    ic.buttonType = Button.ButtonType.None;
                    ic.SetHighLightState(false);
                }
                else if (buttonState == 2) //开启可点击
                {
                    ic.FindInChild <UISprite>("background").spriteName = "anniulv";
                    ic.FindInChild <UILabel>("label").effectColor      = ColorConst.BlueOutline;
                    ic.buttonType = Button.ButtonType.Toggle;
                }
                else if (buttonState == 3) //开启不可点击
                {
                    ic.FindInChild <UISprite>("background").spriteName = "anniulv";
                    ic.buttonType = Button.ButtonType.None;
                    ic.SetHighLightState(false);
                }
                if (costState == 2)  //显示
                {
                    wc.SetActive(true);
                    ic.FindInChild <UILabel>("label").cachedTransform.localPosition = new Vector3(6.3f, 19f, 0f);
                    valueLabel.text = string.Empty + GrowMode.Instance.GrowCost[i];
                }
                else if (costState == 1)  //不显示
                {
                    wc.SetActive(false);
                    ic.FindInChild <UILabel>("label").cachedTransform.localPosition = new Vector3(6.3f, -4.0f, 0f);
                }
                ic.Id = (uint)state;
            }
        }