示例#1
0
文件: PIGCONTROL.cs 项目: djon22/demo
 public void Revenge()            //Да свершиться месть!!!!!
 {
     MyKiller = null;             //забываем убийцу - месть совершена
     EffectMessage.GetMessage(6); //вывеедем сообщение о мести
     GetCoin();                   //награда
     GetComponent <AudioController>().PlaySound("COMmest", 1f);
 }
示例#2
0
        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
                });
            }
        }
示例#3
0
文件: PIGCONTROL.cs 项目: djon22/demo
 public void FirstBlood()
 {
     LevelController.FB = true;   //первая кровь была
     EffectMessage.GetMessage(0); //вывеедем сообщение о первой крови
     GetCoin();                   //награда
     GetComponent <AudioController>().PlaySound("COMperviiGotov", 1f);
 }
示例#4
0
        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);
                        }
                    }
                }
            }
        }
示例#5
0
    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);
        }
    }
示例#6
0
 public void GetSpeed()
 {
     speedSuperKof = 2;
     if (photonView.isMine)
     {
         EffectMessage.GetMessage(3);                                //выводим "Быстрые копытца"
         GetComponent <AudioController>().PlaySound("Eating", 0.5f); //звук еды
     }
 }
示例#7
0
 public void GetJumpPower()
 {
     jumpKof = 1.3f;
     if (photonView.isMine)
     {
         EffectMessage.GetMessage(4);                                //выводим "Выше"
         GetComponent <AudioController>().PlaySound("Eating", 0.5f); //звук еды
     }
 }
示例#8
0
 public void ChikenSniper()
 {
     if (photonView.isMine)
     {
         EffectMessage.GetMessage(5); //вывеедем сообщение о попадании курой
         GetCoin();                   //награда
         GetComponent <AudioController>().PlaySound("COMkuriniiSnaiper", 1f);
     }
 }
示例#9
0
 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;
 }
示例#10
0
 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));
     }
 }
示例#11
0
        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);
        }
示例#12
0
        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);
        }
示例#13
0
        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
                });
            }
        }
示例#14
0
文件: PIGCONTROL.cs 项目: djon22/demo
 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);
     }
 }
示例#15
0
 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);
     }
 }
示例#16
0
        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);
            }
        }
示例#17
0
 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);
         }
     }
 }
示例#18
0
 public void ApplyEffect(EffectMessage message)
 {
     LevelManagerMB.Instance.ReturnToPrevLevel();
 }
示例#19
0
    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);
        }
    }
示例#20
0
 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
     });
 }
示例#21
0
 public void ApplyEffect(EffectMessage message)
 {
     message.target.Move(message.target.CurrentDirection);
 }
示例#22
0
 public void ApplyEffect(EffectMessage message)
 {
     LevelManagerMB.Instance.ProceedToNextLevel();
 }
示例#23
0
 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
             });
         }
     });
 }
示例#24
0
 public void ApplyEffect(EffectMessage message)
 {
     message.target.NumTurnsToMove = 1;
 }
示例#25
0
 public void ApplyEffect(EffectMessage message)
 {
     LevelManagerMB.Instance.RepeatCurrentLevel();
 }