Esempio n. 1
0
    CommandCallbackType ReceiveDefenceEctypeResultHandle(byte[] dataBuffer, int socketID)
    {
        SMSGECTYPEDEFINE_RESULT_SC defenceEctypeResult = SMSGECTYPEDEFINE_RESULT_SC.ParsePackage(dataBuffer);

        GameDataManager.Instance.AddData(DataType.DefenceEctypeResult, defenceEctypeResult);
        RaiseEvent(EventTypeEnum.DefenceEctypeSettleAccount.ToString(), defenceEctypeResult);
        return(CommandCallbackType.Continue);
    }
Esempio n. 2
0
    private void CalcSettleInfoData(int ectypeContainerId, SMSGECTYPEDEFINE_RESULT_SC defenceEctypeResult)
    {
        float doorBloodPercent = defenceEctypeResult.dwBossPH;
        float doubleHitPercent = defenceEctypeResult.dwBatterCount;
        float beHitPercent     = defenceEctypeResult.dwHitCount;

        float initValue, endValue;

        //大门血量
        initValue   = CommonDefineManager.Instance.CommonDefine.DefenceLevelJudgeGateHPLeft;
        endValue    = EctypeConfigManager.Instance.EctypeContainerConfigList[ectypeContainerId].GateHPRemain;
        m_doorValue = Mathf.Clamp(doorBloodPercent / (endValue - initValue), 0, 1);

        //连击数
        initValue      = CommonDefineManager.Instance.CommonDefine.DefenceLevelJudgeHitPointLeft;
        endValue       = EctypeConfigManager.Instance.EctypeContainerConfigList[ectypeContainerId].dwBasicHitPoint;
        m_doubleHitVal = Mathf.Clamp(doubleHitPercent / (endValue - initValue), 0, 1);
        //受击数
        initValue = CommonDefineManager.Instance.CommonDefine.DefenceLevelJudgeBeHitParam1;
        endValue  = CommonDefineManager.Instance.CommonDefine.DefenceLevelJudgeBeHitParam2;
        var basicBeHit = EctypeConfigManager.Instance.EctypeContainerConfigList[ectypeContainerId].BasicBeHit;

        m_beHitVal = Mathf.Clamp(1 - beHitPercent / basicBeHit, 0, 1);
    }
Esempio n. 3
0
    public void InitSliders(int ectypeContainerId)
    {
        SMSGECTYPEDEFINE_RESULT_SC defenceEctypeResult = (SMSGECTYPEDEFINE_RESULT_SC)GameDataManager.Instance.GetData(DataType.DefenceEctypeResult);

        m_posAnim.Play(true);
        m_spriteId = 1;
        CalcSettleInfoData(ectypeContainerId, defenceEctypeResult);
        m_sliders.Clear();
        float                  threshold1 = CommonDefineManager.Instance.CommonDefine.DefenceLevelJudgeThreshold1;
        float                  threshold2 = CommonDefineManager.Instance.CommonDefine.DefenceLevelJudgeThreshold2;
        GameObject             slider;
        DefenceSliderBehaviour sliderBehaviour;


        slider          = NGUITools.AddChild(SliderParentNode, DefenceSlider);
        sliderBehaviour = slider.GetComponent <DefenceSliderBehaviour>();
        sliderBehaviour.InitThumnb("IDS_I15_5", DefenceSliderType.DoorBlood, threshold1, threshold2, m_doorValue * 100);
        sliderBehaviour.transform.localPosition = new Vector3(0, 45, 0);
        m_sliders.Add(DefenceSliderType.DoorBlood, sliderBehaviour);

        slider          = NGUITools.AddChild(SliderParentNode, DefenceSlider);
        sliderBehaviour = slider.GetComponent <DefenceSliderBehaviour>();
        sliderBehaviour.InitThumnb("IDS_I15_6", DefenceSliderType.DoubleHit, threshold1, threshold2, defenceEctypeResult.dwBatterCount);
        sliderBehaviour.transform.localPosition = new Vector3(0, 10, 0);
        m_sliders.Add(DefenceSliderType.DoubleHit, sliderBehaviour);

        slider          = NGUITools.AddChild(SliderParentNode, DefenceSlider);
        sliderBehaviour = slider.GetComponent <DefenceSliderBehaviour>();
        sliderBehaviour.InitThumnb("IDS_I15_7", DefenceSliderType.BeHit, threshold1, threshold2, defenceEctypeResult.dwHitCount);
        sliderBehaviour.transform.localPosition = new Vector3(0, -25, 0);
        m_sliders.Add(DefenceSliderType.BeHit, sliderBehaviour);

        m_sliders.Values.ApplyAllItem(P => { P.ReachThresholdCallBack = SliderReachThreshold; P.FinishCallBack = SliderFinish; });

        m_sliders[DefenceSliderType.DoorBlood].StartProcess(m_doorValue);
    }