Пример #1
0
        public void SummonSkeleton()
        {
            Vector3  pos      = Position + MathFunctions.RandVector3Box(-1.0f, 1.0f, 0.0f, 0.0f, -1.0f, 1.0f);
            Skeleton skeleton = EntityFactory.GenerateSkeleton(pos, Manager, GameState.Game.Content,
                                                               GameState.Game.GraphicsDevice, Chunks, PlayState.Camera, Faction, PlayState.PlanService,
                                                               this.Creature.Allies).GetChildrenOfType <Skeleton>().FirstOrDefault();

            Skeletons.Add(skeleton);
            Matrix animatePosition = skeleton.Sprite.LocalTransform;

            animatePosition.Translation = animatePosition.Translation - new Vector3(0, 1, 0);
            skeleton.Sprite.AnimationQueue.Add(new EaseMotion(1.0f, animatePosition, skeleton.Sprite.LocalTransform.Translation));
            PlayState.ParticleManager.Trigger("green_flame", pos, Color.White, 10);
            SoundManager.PlaySound(ContentPaths.Audio.tinkle, pos, true);
        }