public override void End()
    {
        switch (effCamera.type)
        {
        case 0:
            PeCameraImageEffect.ScreenMask(0, false);
            break;

        case 1:
            PeCameraImageEffect.SetDizzyStrength(0);
            break;

        case 2:
            PeCameraImageEffect.FlashlightExplode(0);
            break;

        case 3:
            PeCameraImageEffect.SetFoodPoisonStrength(0);
            break;

        case 4:
            PeCameraImageEffect.SetInjuredPoisonStrength(0);
            break;

        case 5:
            PeCameraImageEffect.SetGRVInfestStrength(0);
            break;
        }
    }
 public override void Update()
 {
     m_ElapseTime += Time.deltaTime;
     switch (effCamera.type)
     {
     case 1:
         if (effectTime > 0 && m_ElapseTime <= effectTime)
         {
             PeCameraImageEffect.SetDizzyStrength(effCamera.value * effectStrength * (1f - m_ElapseTime / effectTime));
         }
         break;
     }
 }
Beispiel #3
0
    public static void Start()
    {
        SetVar("Obstacle LayerMask", (int)(obstacle_layermask));
        SetVar("Build Mode", false);
        SetVar("Roll Mode", false);
        lockCursorMode = !SystemSettingData.Instance.mMMOControlType || SystemSettingData.Instance.FirstPersonCtrl;
        isFirstPerson  = SystemSettingData.Instance.FirstPersonCtrl;

        GameObject go = new GameObject("Cutscene Transform");

        cutsceneTransform = go.transform;
        SetTransform("Cutscene Camera", cutsceneTransform);

        imageEffect = Camera.main.gameObject.GetComponent <PeCameraImageEffect>();
    }
    public override void Do()
    {
        if (null == entity)
        {
            return;
        }

        if (entity != MainPlayer.Instance.entity)
        {
            m_ElapseTime = effectTime;
            return;
        }
        m_ElapseTime = 0;
        switch (effCamera.type)
        {
        case 0:
            PeCameraImageEffect.ScreenMask(Mathf.RoundToInt(effectStrength), true, effectTime);
            break;

        case 1:
            PeCameraImageEffect.SetDizzyStrength(effCamera.value * effectStrength);
            break;

        case 2:
            PeCameraImageEffect.FlashlightExplode(effCamera.value * effectStrength);
            break;

        case 3:
            PeCameraImageEffect.SetFoodPoisonStrength(effCamera.value);
            break;

        case 4:
            PeCameraImageEffect.SetInjuredPoisonStrength(effCamera.value);
            break;

        case 5:
            PeCameraImageEffect.SetGRVInfestStrength(effCamera.value);
            break;
        }
    }
Beispiel #5
0
        // 执行动作
        // 若为瞬间动作,返回true;
        // 若为持续动作,该函数会每帧被调用,直到返回true
        public override bool Logic()
        {
            if (Pathea.PeGameMgr.IsMulti)
            {
                byte[] data = PETools.Serialize.Export(w =>
                {
                    BufferHelper.Serialize(w, obj);
                    w.Write(amt);
                    w.Write((byte)stat);
                    w.Write((byte)func);
                });

                PlayerNetwork.RequestServer(EPacketType.PT_Custom_ModifyStat, data);
            }
            else
            {
                PeEntity entity = PeScenarioUtility.GetEntity(obj);
                if (entity != null && entity.skEntity != null)
                {
                    float prev  = entity.skEntity.GetAttribute((int)stat);
                    float value = Utility.Function(prev, amt, func);

                    float prev_hp = PeCreature.Instance.mainPlayer.HPPercent;
                    entity.SetAttribute(stat, value);
                    float curr_hp = PeCreature.Instance.mainPlayer.HPPercent;
                    float hp_drop = Mathf.Clamp01(prev_hp - curr_hp) * PeCreature.Instance.mainPlayer.GetAttribute(AttribType.HpMax);

                    // 如果是玩家掉血,则播放摄像机特效
                    if (hp_drop > 0)
                    {
                        PeCameraImageEffect.PlayHitEffect(hp_drop);
                    }
                }
            }
            return(true);
        }
 void OnDestroy()
 {
     inst = null;
 }
 // Use this for initialization
 void Awake()
 {
     inst = this;
 }