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; } }
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; } }
// 执行动作 // 若为瞬间动作,返回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; }