예제 #1
0
        public MuzzleFlashEffect(World world, Character character, Vector3 weaponWorldPosition)
        {
            this.World = world;
            Billboard = World.CreateDecayableBillboard(BillboardSystemType.MuzzleFlash, character.ConvertWeaponToWorldPosition(weaponWorldPosition));

            for (int i = 0; i < Lights.Length; ++i)
            {
                Lights[i] = World.CreateLight(character.ConvertWeaponToWorldPosition(weaponWorldPosition + GetScaledOffset(LightOffsets[i])));
                Lights[i].Type = Light.LightTypes.LT_POINT;
                Lights[i].SetAttenuation(5, 0, 0, 0.5f);
                // Soften the flash to 30% (remember, there are four lights)
                Lights[i].SetDiffuseColour(0.1f, 0.1f, 0.1f);
            }

            Alive = true;
        }
예제 #2
0
 public DecayableBillboard CreateBillboard(Vector3 position, Vector2 dimension, float timeToLive)
 {
     DecayableBillboard billboard = new DecayableBillboard(BillboardSet, position, dimension, timeToLive);
     DecayableBillboardSet.Add(billboard);
     return billboard;
 }