Exemplo n.º 1
0
        public void PlayEffectAudio(ClientEffectEmitter emitter, Vector3 Position)
        {
            switch (audioClientEffectType)
            {
            case AudioClientEffectType.WeaponEnvHit:
                GameAudioMedia.PlayHitEnvironmentAudio((AudioGrp_HitMatType)AudioClientEffectArg1,
                                                       AudioClientEffectArg2, emitter.nodeObject.AudioMono);
                // AudioEntry.Logger.Info("Real Play Time:" +(_playerContext.flagSelfEntity.time.ClientTime - GlobalConst.BeforeAttackTime));
                break;

            case AudioClientEffectType.WeaponPlayerHit:

                GameAudioMedia.PlayHitPlayerAudio((EBodyPart)AudioClientEffectArg1, AudioClientEffectArg2,
                                                  Position);
                break;

            case AudioClientEffectType.BulletDrop:
                GameAudioMedia.PlayBulletDropAudio(AudioClientEffectArg1,
                                                   (AudioGrp_FootMatType)AudioClientEffectArg2, Position);
                break;

            case AudioClientEffectType.ThrowExplosion:
                GameAudioMedia.PlayEventAudio(AudioClientEffectArg1, Position);
                break;
            }
        }
Exemplo n.º 2
0
 protected override void Free(ClientEffectEmitter emitter)
 {
     if (Parent)
     {
         emitter.nodeObject.transform.SetParent(emitter.PoolFolder);
     }
 }
Exemplo n.º 3
0
 public override void PlayEffect(ClientEffectEmitter emitter, GameObject effectGo)
 {
     this.effectGo = effectGo;
     emitter.nodeObject.transform.SetPositionAndRotation(CurrPosition, InitRocatioin);
     effectGo.SetActive(false);
     ShowEffectTime = MyGameTime.time + DelayDuration;
 }
Exemplo n.º 4
0
        protected override void Free(ClientEffectEmitter emitter)
        {
            if (Parent)
            {
                emitter.nodeObject.transform.SetParent(emitter.PoolFolder);
            }
            ObjectAllocatorHolder <ChunkEffectBehavior> .Free(this);

            ChunkEffectBehaviors.Remove(this);
        }
Exemplo n.º 5
0
        public override void PlayEffect(ClientEffectEmitter emitter, GameObject effectGo)
        {
            effectGo.SetActive(true);
            if (Parent)
            {
                emitter.nodeObject.transform.SetParent(Parent);
            }

            AudioData.PlayEffectAudio(emitter, Position);
            SetPosition(emitter);
        }
Exemplo n.º 6
0
 protected override void SetPosition(ClientEffectEmitter emitter)
 {
     if (Parent)
     {
         emitter.nodeObject.transform.forward       = Parent.forward;
         emitter.nodeObject.transform.localPosition = new Vector3(0, 0, 0.05f);
     }
     else
     {
         emitter.nodeObject.transform.SetPositionAndRotation(Position, Quaternion.Euler(0, Yaw, 0));
     }
 }
Exemplo n.º 7
0
        public override void FrameUpdate(ClientEffectEmitter emitter)
        {
            var nowTime  = MyGameTime.time;;
            var interval = nowTime - lastUpdateTime;

            if (effectGo && ShowEffectTime <= nowTime)
            {
                effectGo.SetActive(true);
                effectGo = null;
            }
            // O(1) = O(0) + V(0) * t;
            CurrPosition.x = CurrPosition.x + Velocity.x * interval;
            CurrPosition.y = CurrPosition.y + Velocity.y * interval;
            CurrPosition.z = CurrPosition.z + Velocity.z * interval;

            emitter.nodeObject.transform.position = CurrPosition;
            emitter.nodeObject.transform.rotation = Quaternion.LookRotation(Velocity);
            //   DebugUtil.MyLog("UpdatePos:{0},{1}",CurrPosition,interval.ToString("f3"));
            lastUpdateTime = nowTime;
        }
 protected override void SetPosition(ClientEffectEmitter emitter)
 {
     emitter.nodeObject.transform.position = Position;
 }
 protected override void Free(ClientEffectEmitter emitter)
 {
     base.Free(emitter);
     ObjectAllocatorHolder <HitPlayerEffectBehavior> .Free(this);
 }
Exemplo n.º 10
0
 protected abstract void SetPosition(ClientEffectEmitter emitter);
Exemplo n.º 11
0
 protected override void SetPosition(ClientEffectEmitter emitter)
 {
     emitter.nodeObject.transform.SetPositionAndRotation(Position + GlobalConst.offset * Normal,
                                                         Quaternion.FromToRotation(Vector3.forward, Normal));
 }
Exemplo n.º 12
0
        // public static object Allocate(EEffectBehaviorType eftType)
        // {
        //     return Get(eftType).Allocate();
        // }
        //
        // private static IObjectAllocator Get(EEffectBehaviorType eftType)
        // {
        //     var allocator = Allocators[(byte) eftType];
        //     if (allocator == null)
        //     {
        //         allocator                  = ObjectAllocators.GetAllocator(effectBehaviorTypes[eftType]);
        //         Allocators[(byte) eftType] = allocator;
        //     }
        //
        //     return allocator;
        // }
        //
        // public static void Free(EEffectBehaviorType eftType, IEffectBehavior effectBehavior)
        // {
        //     Get(eftType).Free(effectBehavior);
        // }

        protected abstract void Free(ClientEffectEmitter emitter);
Exemplo n.º 13
0
 public virtual void PlayEffect(ClientEffectEmitter emitter, GameObject effectGo)
 {
 }
Exemplo n.º 14
0
 public virtual void Recycle(ClientEffectEmitter emitter)
 {
     emitter.nodeObject.transform.position = Vector3.zero;
     Free(emitter);
 }
Exemplo n.º 15
0
        // protected static readonly IObjectAllocator[]
        //                 Allocators = new IObjectAllocator[(byte) EEffectBehaviorType.Count];
        //
        // protected static readonly Dictionary<EEffectBehaviorType, Type> effectBehaviorTypes =
        //                 new Dictionary<EEffectBehaviorType, Type>
        //                 {
        //                                 {EEffectBehaviorType.HitPlayerEffect, typeof(HitPlayerEffectBehavior)},
        //                                 {EEffectBehaviorType.MovableEffect, typeof(MoveEffectBehavior)},
        //                                 {EEffectBehaviorType.ChunkedEffect, typeof(ChunkEffectBehavior)},
        //                                 {EEffectBehaviorType.NormalEffect, typeof(NormalEffectBehavior)},
        //                                 {EEffectBehaviorType.YawEffect, typeof(YawEffectBehavior)}
        //                 };

        public virtual void FrameUpdate(ClientEffectEmitter emitter)
        {
        }
Exemplo n.º 16
0
 protected override void Free(ClientEffectEmitter emitter)
 {
     ObjectAllocatorHolder <MoveEffectBehavior> .Free(this);
 }