コード例 #1
0
        public void StopHitEffect(NodeRemoveEvent evt, WeaponStreamHitGraphicsNode weapon)
        {
            WeaponStreamHitGraphicsEffectComponent weaponStreamHitGraphicsEffect = weapon.weaponStreamHitGraphicsEffect;

            if (weaponStreamHitGraphicsEffect.HitStatic)
            {
                weaponStreamHitGraphicsEffect.HitStatic.Stop(true);
            }
            if (weaponStreamHitGraphicsEffect.HitTarget != null)
            {
                weaponStreamHitGraphicsEffect.HitTarget.Stop(true);
            }
            if (weaponStreamHitGraphicsEffect.HitStaticLight != null)
            {
                weaponStreamHitGraphicsEffect.HitStaticLight.enabled = false;
            }
            if (weaponStreamHitGraphicsEffect.HitTargetLight != null)
            {
                weaponStreamHitGraphicsEffect.HitTargetLight.enabled = false;
            }
        }
コード例 #2
0
        public void UpdateHitEffect(UpdateEvent evt, WeaponStreamHitGraphicsNode weapon)
        {
            WeaponStreamHitGraphicsEffectComponent weaponStreamHitGraphicsEffect = weapon.weaponStreamHitGraphicsEffect;
            StreamHitComponent streamHit = weapon.streamHit;

            if (streamHit.StaticHit != null)
            {
                weaponStreamHitGraphicsEffect.HitStatic.transform.position = streamHit.StaticHit.Position + (streamHit.StaticHit.Normal * weaponStreamHitGraphicsEffect.HitOffset);
                weaponStreamHitGraphicsEffect.HitStatic.transform.rotation = Quaternion.LookRotation(streamHit.StaticHit.Normal);
                weaponStreamHitGraphicsEffect.HitStatic.Play(true);
                weaponStreamHitGraphicsEffect.HitStaticLight.enabled = true;
            }
            else if ((streamHit.TankHit != null) && weapon.Entity.HasComponent <StreamHitTargetLoadedComponent>())
            {
                UpdateWeaponStreamHitGraphicsByTargetTankEvent eventInstance = new UpdateWeaponStreamHitGraphicsByTargetTankEvent {
                    HitTargetParticleSystem = weaponStreamHitGraphicsEffect.HitTarget,
                    HitTargetLight          = weaponStreamHitGraphicsEffect.HitTargetLight,
                    TankHit   = streamHit.TankHit,
                    HitOffset = weaponStreamHitGraphicsEffect.HitOffset
                };
                base.ScheduleEvent(eventInstance, streamHit.TankHit.Entity);
            }
        }