public void Revenge() //Да свершиться месть!!!!! { MyKiller = null; //забываем убийцу - месть совершена EffectMessage.GetMessage(6); //вывеедем сообщение о мести GetCoin(); //награда GetComponent <AudioController>().PlaySound("COMmest", 1f); }
protected void ClientTriggerEffect(int id) { Effect effect = DataReader <Effect> .Get(id); if (effect == null) { return; } EffectMaterial effectMaterial = (!this.effectMessageCache.ContainsKey(id)) ? null : this.effectMessageCache.get_Item(id); EffectMessage effectMessage = new EffectMessage(); effectMessage.casterActor = this; effectMessage.effectData = effect; if (effect.type2 == 4 || effect.type2 == 3) { effectMessage.basePoint = this.GetEffectBasePoint((EffectBasePointType)effect.@base, (float)effect.tremble, (effectMaterial != null) ? effectMaterial.skillTargetID : 0L, effect.summonId, effect.coord, effect.orientation); } else { effectMessage.basePoint = ((effectMaterial != null) ? effectMaterial.basePoint : null); } this.TriggerEffect(effect.delay, effectMessage); if (effectMessage.basePoint != null && effect.fx != 0) { CommandCenter.ExecuteCommand(base.get_transform(), new BulletFXCmd { fxID = effect.fx, point = effectMessage.basePoint, useY = true }); } }
public void FirstBlood() { LevelController.FB = true; //первая кровь была EffectMessage.GetMessage(0); //вывеедем сообщение о первой крови GetCoin(); //награда GetComponent <AudioController>().PlaySound("COMperviiGotov", 1f); }
protected void HandleEffect(bool isRepeat, EffectMessage message) { Actor casterActor = message.casterActor; if (casterActor == null) { return; } Effect effectData = message.effectData; XPoint basePoint = message.basePoint; EffectType type = (EffectType)effectData.type1; if (type == EffectType.Damage) { if (basePoint != null) { List <ActorModel> list = this.CheckCandidatesByEffectShape(new List <ActorModel>(), casterActor, basePoint, effectData); if (list.get_Count() != 0) { for (int i = 0; i < list.get_Count(); i++) { list.get_Item(i).PlayHitFX(casterActor.get_transform(), effectData.hitFx, 1f, new List <int>()); list.get_Item(i).PlayHitSound(effectData.hitAudio); list.get_Item(i).HandleHit(effectData, basePoint); } } } } }
protected void InitEffect(EffectMessage message) { if ((message.caster.IsEntitySelfType || message.caster.OwnerID == EntityWorld.Instance.EntSelf.ID || message.caster.IsEntityMonsterType) && message.effectData.cameraRelyPickup == 0) { for (int i = 0; i < message.effectData.cameraEffect.get_Count(); i++) { int cameraEffectID = message.effectData.cameraEffect.get_Item(i); this.effectCameraTimerList.Add(TimerHeap.AddTimer((uint)(20 * i), 0, delegate { this.HandleCameraEffect(cameraEffectID); })); } } this.StartEffect(false, message); int count = message.effectData.time - 1; if (count > 0) { uint effectLoopTimer = 0u; effectLoopTimer = TimerHeap.AddTimer((uint)message.effectData.interval, message.effectData.interval, delegate { this.StartEffect(true, message); count--; if (count <= 0) { TimerHeap.DelTimer(effectLoopTimer); } }); this.effectLoopTimerList.Add(effectLoopTimer); } }
public void GetSpeed() { speedSuperKof = 2; if (photonView.isMine) { EffectMessage.GetMessage(3); //выводим "Быстрые копытца" GetComponent <AudioController>().PlaySound("Eating", 0.5f); //звук еды } }
public void GetJumpPower() { jumpKof = 1.3f; if (photonView.isMine) { EffectMessage.GetMessage(4); //выводим "Выше" GetComponent <AudioController>().PlaySound("Eating", 0.5f); //звук еды } }
public void ChikenSniper() { if (photonView.isMine) { EffectMessage.GetMessage(5); //вывеедем сообщение о попадании курой GetCoin(); //награда GetComponent <AudioController>().PlaySound("COMkuriniiSnaiper", 1f); } }
public EffectMessage(EffectMessage copy) { this.caster = copy.caster; this.casterActor = copy.casterActor; this.skillData = copy.skillData; this.effectData = copy.effectData; this.basePoint = copy.basePoint; this.UID = copy.UID; this.isClientHandle = copy.isClientHandle; }
protected void TriggerEffect(int delay, EffectMessage message) { if (delay == 0) { this.InitEffect(message); } else { this.effectDelayTimerList.Add(TimerHeap.AddTimer <EffectMessage>((uint)delay, 0, new Action <EffectMessage>(this.InitEffect), message)); } }
internal async Task <List <string> > DeleteEffect(List <string> effectIds) { var responses = new List <string>(); if (effectIds.Count <= 0) { return(responses); } var message = new EffectMessage(effectIds, true); responses.Add(await client.Request(message).ConfigureAwait(false)); return(responses); }
internal async Task <List <RequestResponse> > SetEffect(List <string> effectIds) { var responses = new List <RequestResponse>(); if (effectIds.Count <= 0) { return(responses); } var message = new EffectMessage(effectIds); responses.Add(new RequestResponse(message.Device, await client.Request(message).ConfigureAwait(false))); return(responses); }
protected void ServerTriggerEffect(int effectID, int skillID) { Effect effect = DataReader <Effect> .Get(effectID); if (effect == null) { return; } SkillManager.effectPoolID++; EffectMaterial effectMaterial = (!this.effectMessageCache.ContainsKey(effectID)) ? null : this.effectMessageCache.get_Item(effectID); EffectMessage effectMessage = new EffectMessage(); effectMessage.caster = this.owner; effectMessage.casterActor = this.ownerActor; effectMessage.skillData = DataReader <Skill> .Get(skillID); effectMessage.effectData = effect; if (effect.type2 == 4 || effect.type2 == 3) { effectMessage.basePoint = this.GetEffectBasePoint((EffectBasePointType)effect.@base, (float)effect.tremble, (effectMaterial != null) ? effectMaterial.skillTargetID : 0L, effect.summonId, effect.coord, effect.orientation); } else { effectMessage.basePoint = ((effectMaterial != null) ? effectMaterial.basePoint : null); } effectMessage.UID = SkillManager.effectPoolID; effectMessage.isClientHandle = (effectMaterial == null || effectMaterial.isClientHandle); if (effect.aiEffectMove == 1 && effectMessage.basePoint != null) { EffectWarningMessage effectWarningMessage = new EffectWarningMessage(); effectWarningMessage.caster = this.owner; effectWarningMessage.effectID = effectID; effectWarningMessage.basePoint = effectMessage.basePoint.ApplyOffset(effect.offset); EventDispatcher.Broadcast <EffectWarningMessage>(WarningManagerEvent.AddEffectWarningMessage, effectWarningMessage); } ClientEffectHandler.Instance.TriggerEffect(effect.delay, effectMessage); if (effectMessage.basePoint != null && effect.fx != 0) { CommandCenter.ExecuteCommand(this.ownerActor.FixTransform, new BulletFXCmd { fxID = effect.fx, point = effectMessage.basePoint, scale = DataReader <AvatarModel> .Get(this.ownerActor.GetEntity().FixModelID).scale }); } }
public void KillsCounter()//увеличение счетчика убийств на мастер клиенте { Kills++; KillsSeries++; if (KillsSeries == 5) // { EffectMessage.GetMessage(1); //вывеедем сообщение о серии 5 убийств GetCoin(); //награда GetComponent <AudioController>().PlaySound("COMopasniiSvin", 1f); } if (KillsSeries >= 10) { EffectMessage.GetMessage(2); //вывеедем сообщение о серии 10 и более убийств GetCoin(); //награда GetComponent <AudioController>().PlaySound("COMbezjalostnii", 1f); } }
protected void StartEffect(bool isRepeat, EffectMessage message) { if (message.effectData.bullet > 0) { this.CastBullet(message.effectData.bullet, new Action <bool, EffectMessage>(this.HandleEffect), isRepeat, message); } else { this.HandleEffect(isRepeat, message); } if (message.effectData.audio > 0) { AudioPlayer component = message.casterActor.GetComponent <AudioPlayer>(); component.RoleId = (long)message.effectData.id; SoundManager.Instance.PlayPlayer(component, message.effectData.audio); } }
protected void InitEffect(EffectMessage message) { this.StartEffect(false, message); int count = message.effectData.time - 1; if (count > 0) { uint effectLoopTimer = 0u; effectLoopTimer = TimerHeap.AddTimer((uint)message.effectData.interval, message.effectData.interval, delegate { this.StartEffect(true, message); count--; if (count <= 0) { TimerHeap.DelTimer(effectLoopTimer); } }); this.effectLoopTimerList.Add(effectLoopTimer); } }
public void InputStatsFromMasterKills(int kills)//принимаем колличество убийств { Kills = kills; KillsSeries++;//увеличиваем серию убийств if (photonView.isMine) { if (KillsSeries == 5) // { EffectMessage.GetMessage(1); //вывеедем сообщение о серии 5 убийств GetCoin(); //награда GetComponent <AudioController>().PlaySound("COMopasniiSvin", 1f); } if (KillsSeries >= 10) { EffectMessage.GetMessage(2); //вывеедем сообщение о серии 10 и более убийств GetCoin(); //награда GetComponent <AudioController>().PlaySound("COMbezjalostnii", 1f); } } }
public void ApplyEffect(EffectMessage message) { LevelManagerMB.Instance.ReturnToPrevLevel(); }
protected void HandleEffect(bool isRepeat, EffectMessage message) { EntityParent caster = message.caster; if (caster == null) { return; } if (caster.IsDead || !caster.IsFighting) { return; } Actor casterActor = message.casterActor; if (casterActor == null) { return; } Effect effectData = message.effectData; XPoint basePoint = message.basePoint; List <EffectTargetInfo> list = new List <EffectTargetInfo>(); switch (effectData.type1) { case 3: case 8: case 9: case 10: goto IL_484; } if (basePoint != null) { List <EntityParent> list2 = this.CheckCandidateByType(caster, casterActor, effectData.targetType, effectData.forcePickup == 1, effectData.antiaircraft); if (list2.get_Count() != 0) { Hashtable hashtable = this.CheckCandidatesByEffectShape(list2, ContainerGear.containers.Values, casterActor, basePoint, effectData); if (hashtable.get_Count() != 0) { List <EntityParent> list3 = hashtable.get_Item("Entity") as List <EntityParent>; List <ContainerGear> list4 = hashtable.get_Item("Container") as List <ContainerGear>; if (list3.get_Count() > 0) { List <float> list5 = new List <float>(); for (int i = 0; i < list3.get_Count(); i++) { if (!SystemConfig.IsEffectOn) { break; } if (list3.get_Item(i) != null) { if (list3.get_Item(i).Actor) { list.Add(new EffectTargetInfo { targetId = list3.get_Item(i).ID }); if (caster.IsEntitySelfType && (effectData.type1 == 1 || effectData.type1 == 5 || effectData.type1 == 11)) { BattleBlackboard.Instance.ContinueCombo = true; } AvatarModel avatarModel = DataReader <AvatarModel> .Get(list3.get_Item(i).FixModelID); if ((!isRepeat || effectData.cycleHit != 0) && (!list3.get_Item(i).IsUnconspicuous || effectData.forcePickup != 0) && effectData.hitFx != 0) { if (casterActor is ActorParent) { list3.get_Item(i).Actor.PlayHitFx((casterActor as ActorParent).FixTransform, effectData.hitFx, avatarModel.undAtkFxScale, avatarModel.undAtkFxOffset); } else { list3.get_Item(i).Actor.PlayHitFx(casterActor.get_transform(), effectData.hitFx, avatarModel.undAtkFxScale, avatarModel.undAtkFxOffset); } } if (InstanceManager.IsServerBattle) { list3.get_Item(i).Actor.PlayHitSound(effectData.hitAudio); } list5.Add(avatarModel.frameRatio); } } } if (!isRepeat) { if ((message.caster.IsEntitySelfType || message.caster.OwnerID == EntityWorld.Instance.EntSelf.ID || message.caster.IsEntityMonsterType) && effectData.cameraRelyPickup == 1) { for (int j = 0; j < message.effectData.cameraEffect.get_Count(); j++) { int cameraEffectID = message.effectData.cameraEffect.get_Item(j); this.effectCameraTimerList.Add(TimerHeap.AddTimer((uint)(20 * j), 0, delegate { this.HandleCameraEffect(cameraEffectID); })); } } list5.Sort(); CommandCenter.ExecuteCommand(casterActor.get_transform(), new FrozeFrameCmd { count = list3.get_Count(), rate = effectData.frameFroze, time = effectData.frameTime, timeRateList = list5, interval = effectData.frameInterval, callback = null }); } } if (list4.get_Count() > 0 && effectData.type1 == 1 && effectData.targetType == 1) { for (int k = 0; k < list4.get_Count(); k++) { list4.get_Item(k).OnHit(effectData.id); } } if (casterActor is ActorFX && (list3.get_Count() > 0 || list4.get_Count() > 0)) { (casterActor as ActorFX).bulletLife--; } } } } IL_484: if (isRepeat) { GlobalBattleNetwork.Instance.SendUpdateEffect(message.caster.ID, (message.skillData != null) ? message.skillData.id : 0, message.effectData.id, list, message.UID, message.basePoint, message.isClientHandle); } else { GlobalBattleNetwork.Instance.SendAddEffect(message.caster.ID, (message.skillData != null) ? message.skillData.id : 0, message.effectData.id, list, message.UID, message.basePoint, message.isClientHandle); } }
public void CastBullet(int guid, Action <bool, EffectMessage> callback, bool isRepeat, EffectMessage message) { if (!message.casterActor) { return; } CommandCenter.ExecuteCommand(message.casterActor.get_transform(), new BulletFXCmd { fxID = guid, point = this.GetBulletPoint(message.casterActor, (float)message.effectData.bulletRange), offset = message.effectData.bulletOffset, bulletLife = message.effectData.collisionTimes, collisionCallback = null }); }
public void ApplyEffect(EffectMessage message) { message.target.Move(message.target.CurrentDirection); }
public void ApplyEffect(EffectMessage message) { LevelManagerMB.Instance.ProceedToNextLevel(); }
protected void CastBullet(int guid, Action <bool, EffectMessage> callback, bool isRepeat, EffectMessage message) { if (!message.casterActor) { return; } CommandCenter.ExecuteCommand(message.casterActor.get_transform(), new BulletFXCmd { fxID = guid, point = this.GetBulletPoint(message.casterActor, (float)message.effectData.bulletRange), offset = message.effectData.bulletOffset, bulletLife = message.effectData.collisionTimes, collisionCallback = delegate(Actor bullet, XPoint bulletBasePoint, ActorParent targetActor) { if (targetActor == null) { return; } if (targetActor.GetEntity() == null) { return; } if (!this.CheckBulletCamp(message.caster, targetActor.GetEntity(), message.effectData.targetType)) { return; } if (message.effectData.bulletCameraEffect > 0) { this.HandleCameraEffect(message.effectData.bulletCameraEffect); } if (message.effectData.bulletFx > 0 && bullet != null) { FXManager.Instance.PlayFX(message.effectData.bulletFx, null, bullet.get_transform().get_position(), bullet.get_transform().get_rotation(), 1f, 1f, 0, false, 0, null, null, 1f, FXClassification.Normal); } callback.Invoke(false, new EffectMessage { caster = message.caster, casterActor = bullet, skillData = message.skillData, effectData = message.effectData, basePoint = bulletBasePoint, UID = message.UID, isClientHandle = true }); } }); }
public void ApplyEffect(EffectMessage message) { message.target.NumTurnsToMove = 1; }
public void ApplyEffect(EffectMessage message) { LevelManagerMB.Instance.RepeatCurrentLevel(); }