Beispiel #1
0
        protected AI(string name, Texture tex, int width, int height, int tilesPerRow, int[] keyFrames, float frameLength, bool show, bool stop) : base(name)
        {
            Renderer = new AnimationRenderer(tex, width, height, tilesPerRow, keyFrames, frameLength, show, stop);
            Renderer.RenderOffset = (int)RenderLayer.AI;
            AddComponent(Renderer);
            this.Layer  = (uint)CollisionLayer.Enemy;
            patrolState = new PatrolState(this);
            chaseState  = new ChaseState(this);

            patrolState.Next = chaseState;
            chaseState.Next  = patrolState;

            BoxCollider2D collider = new BoxCollider2D(new Vector2(1, 1));

            collider.CollisionEnter += OnCollisionEnter;
            AddComponent(collider);

            Rigidbody2D rigidBody = new Rigidbody2D();

            rigidBody.IsGravityAffected = false;
            AddComponent(rigidBody);

            AddComponent(new BoxCollider2DRenderer(new Vector4(1f, 0f, 0f, 0f)));
            patrolState.OnStateEnter();

            AddComponent(new FSMUpdater(patrolState));
        }
Beispiel #2
0
        public Ghost(int life, GameObject target, float range = 120)
        {
            //Animation render
            renderer = AddComponent(new AnimationRenderer(FlyWeight.Get("Ghost"), 32, 32, 4, new[] { 0, 1, 2, 3 }, 0.1f, false, true));
            renderer.RenderOffset = (int)RenderLayer.Player;
            AddComponent(new SwitchAnimation(target, range, true));
            renderer.Sprite.pivot = new Vector2(renderer.Sprite.Width / 2, renderer.Sprite.Height / 2);

            //Collider
            box = new BoxCollider2D(Vector2.One);

            AddComponent(box);

            //Behaviours
            AddComponent(new Rotator(target, range));
            AddComponent(new Blower(target.GetComponent <Blowable>(), range, 3));

            //Input
            input       = AddComponent(new InputMove());
            input.Speed = 90.0f;

            //Rollback
            rollBack     = AddComponent(new RollBack());
            rollBack.box = this.box;

            //Lifes
            // lifes = AddComponent(new Lifes(life, target, this));
        }
Beispiel #3
0
        public Explosion() : base("Explosion")
        {
            this.Layer = (uint)CollisionLayer.Explosion;

            anim = new AnimationRenderer(FlyWeight.Get("Explosion"), 100, 100, 9, new int[]
            {
                0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
                11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
                21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
                31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
                41, 42, 43, 44, 45, 56, 57, 58, 59, 50,
                51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
                61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
                71, 72, 73, 74, 75
            }, 0.018f, true, false);

            BoxCollider = new BoxCollider2D(new Vector2(1f, 1f));
            BoxCollider.CollisionMode = CollisionMode.Trigger;
            BoxCollider.TriggerEnter += OnTriggerEnter;
            AddComponent(BoxCollider);

            AddComponent(new BoxCollider2DRenderer(new Vector4(1f, -1f, -1f, 0f)));

            AddComponent(anim);
        }
Beispiel #4
0
        public BigNaruto(float moveAmount, Vector2 position)
        {
            MoveAmount = moveAmount;
            keyboard   = new KeyboardInput();

            var animations = CreateNarutaoAnimations();

            animations.Color = Color.Red;
            animatedSprite   = AddComponent(animations);

            var collider = AddComponent(new Collider(animatedSprite, true, true, Color.Purple));

            //AddComponent(new PhysicsComponent(BodyType.Dynamic, collider, mass: 10, friction: 0.2f)); ;
            AddComponent <SlimPhysics>();

            Transform.Scale = 0.6f.ToVector2();

            collider.OnTrigger += Collider_OnCollide;

            Transform.MoveTo(position);
            HorizontalPosition = Transform.X;
            AddComponent(
                new Tween(TweenMode.Loop,
                          () => HorizontalPosition,
                          v => HorizontalPosition = v,
                          HorizontalPosition + MoveAmount,
                          EaseFunction.Linear, 1000));
        }
    private void Start()
    {
        //prepare character sprites
        _playerObject = GameObject.Find("/player");
        _charAnimator = gameObject.AddComponent <AnimationRenderer>();
        InitializeCharacterRenderers(_charAnimator);

        //set defaults
        _animationManager = new AnimationManager();
        _newAction        = new IdleAction();
        _lastDirection    = DirectionType.Down;
    }
        public AnimationForm()
        {
            InitializeComponent();

            playbackTimer          = new Timer();
            playbackTimer.Interval = 33;
            playbackTimer.Tick    += PlaybackTimer_Tick;


            renderer = new AnimationRenderer();
            InitGL();
        }
Beispiel #7
0
        //AUDIO
        public void Render(RenderWindow window)
        {
            //HANDLE EVENTS
            window.KeyPressed         += HandleInput;
            window.MouseButtonPressed += HandleMouseButtonInput;
            window.MouseMoved         += HandleMouseInput;

            Renderer.Render(window, objects);
            UIRenderer.RenderButtons(window, buttons);
            AnimationRenderer.Render(animations, window);
            TextRenderer.Render(text, window);
        }
    void InitializeCharacterRenderers(AnimationRenderer charAnimator)
    {
        Dictionary <string, SpriteRenderer> spriteRenderers = new Dictionary <string, SpriteRenderer>();

        foreach (string blockKey in DNABlockType.GetTypeList())
        {
            GameObject blockObject = new GameObject(blockKey);
            blockObject.transform.parent = _playerObject.transform;
            spriteRenderers[blockKey]    = blockObject.AddComponent <SpriteRenderer>();
        }

        charAnimator.InitializeSpriteRenderers(spriteRenderers);
    }
Beispiel #9
0
        // na początku działania gry
        public override void Create()
        {
            // paleta domyślna
            Engine.SetPalette(Palettes.Default);
            Console.Title = "Rex -1";

            // docelowy framerate
            TargetFramerate = 30;

            // ładowanie rendererów
            modelRenderer     = new ModelRenderer(Engine);
            spriteRenderer    = new SpriteRenderer(Engine);
            levelManager      = new LevelManager();
            animationRenderer = new AnimationRenderer(Engine);

            // inicjalizacja podstawowych elementow
#if DEBUG
            PlayerManager.Instance.IsMusicEnabled = false;
#else
            PlayerManager.Instance.IsMusicEnabled = true;
#endif

            // ładowanie poziomów i ekranów
            levelManager.Add(new Levels.MainScreen());
            levelManager.Add(new Levels.Intro());
            levelManager.Add(new Levels.One());
            levelManager.Add(new Levels.Two());
            levelManager.Add(new Levels.Three());
            levelManager.Add(new Levels.Four());
            levelManager.Add(new Levels.Five());
            levelManager.Add(new Levels.YouWin());
            levelManager.Add(new Levels.YouLose());

            levelManager.GameOverLose = 8;
            levelManager.GameOverWin  = 7;
            levelManager.Intro        = 1;
            levelManager.Welcome      = 0;

            // inicjalizacja podstawowych rzeczy w poziomach
            // i ladowanie do pamięci wszystkiego
            levelManager.Initialize(Engine, modelRenderer, spriteRenderer, animationRenderer);

            // przejście do pierwszego poziomu, ekranu powitalnego
#if !DEBUG
            levelManager.GoTo(levelManager.Welcome);
#else
            levelManager.GoTo(levelManager.Welcome);
#endif
        }
Beispiel #10
0
        private void InitializeCharacterRenderers(AnimationRenderer charAnimator)
        {
            var spriteRenderers = new Dictionary <string, SpriteRenderer>();

            foreach (var blockKey in DNABlockType.TypeList)
            {
                GameObject blockObject = new GameObject(blockKey);
                blockObject.transform.parent     = _playerObject.transform;
                blockObject.transform.position  += Vector3.right * 3;
                blockObject.transform.localScale = new Vector3(6, 6, 6);

                spriteRenderers[blockKey] = blockObject.AddComponent <SpriteRenderer>();
            }

            charAnimator.InitializeSpriteRenderers(spriteRenderers);
        }
Beispiel #11
0
        private void Initialize2()
        {
            _animationRenderer = new AnimationRenderer(_game, _bodyMesh, _bodyAvatar, _bodyBoneList, _headMesh, _headAvatar, _headBoneList, _animation);
            _bodyBoneDebugger  = new BoneDebugger(_bodyBoneList, _simpleColorProgram)
            {
                Color = new Vector4(1, 0, 0, 0.5f)
            };
            _headBoneDebugger = new BoneDebugger(_headBoneList, _simpleColorProgram)
            {
                Color = new Vector4(0, 1, 0, 0.5f)
            };

            _animationRenderer.Enabled = false;

            _axesDebugger = new AxesDebugger(_simpleColorProgram);
        }
Beispiel #12
0
        public virtual void Start()
        {
#if DEBUG
            PlayerManager.Instance.Shield = 1;
#endif

            AnimationRenderer.Clear();
            ModelRenderer.CameraPosition = ModelRenderer.StartingCameraPosition;
            ModelRenderer.CameraRotation = 0.0f;

            proximity = new BorderedTextAnimation()
            {
                Color = 4, BackgroundColor = 0, Speed = 5, Text = "PROXIMITY ALERT", IsCentered = true
            };
            proximity.IsPaused = true;
            AnimationRenderer.Add(proximity);

            overheat = new BorderedTextAnimation()
            {
                Color = 4, BackgroundColor = 0, Speed = 2, Text = "OVERHEAT", Origin = new Point(98, 57)
            };
            AnimationRenderer.Add(overheat);

            lowenergy = new BorderedTextAnimation()
            {
                Color = 4, BackgroundColor = 0, Speed = 10, Text = "LOW ENERGY", Origin = new Point(63, 57)
            };
            AnimationRenderer.Add(lowenergy);

            lowshield = new BorderedTextAnimation()
            {
                Color = 4, BackgroundColor = 0, Speed = 10, Text = "LOW SHIELD", Origin = new Point(28, 57)
            };
            AnimationRenderer.Add(lowshield);

            isStarting = true;
            startingTimer.Reset();
            if (UseStartingAnimation)
            {
                PlayAnimation(new StartingAnimation()
                {
                    Speed = 4, ForegroundColor = 7, BackgroundColor = 0, Character = ConsoleCharacter.Dark
                });
            }
        }
Beispiel #13
0
        public Bomb() : base("Bomb")
        {
            this.Layer = (uint)CollisionLayer.Bombs;

            collider = new BoxCollider2D(Vector2.One);
            //collider.CollisionMode = CollisionMode.Collision;
            //collider.CollisionEnter += OnCollisionEnter;
            collider.CollisionMode = CollisionMode.Trigger;
            collider.TriggerExit  += OnTriggerExit;
            colliders = new List <BoxCollider2D>();
            AddComponent(collider);
            AddComponent(new BoxCollider2DRenderer(Vector4.Zero));



            locations = new List <Vector2>();
            renderer  = new AnimationRenderer(FlyWeight.Get("Bomb"), 50, 50, 3, new int[] { 0, 1, 2, 1 }, 0.2f, true, false);
            AddComponent(renderer);

            #region FSM
            wait    = new StateWait(this);
            explode = new StateExplode(this);

            explode.Next = wait;
            wait.Next    = explode;

            wait.OnStateEnter();
            AddComponent(new FSMUpdater(wait));

            #endregion

            for (int i = 0; i < bigExplosion; i++)
            {
                Explosion toAdd = Pool <Explosion> .GetInstance(x => x.Active = false);

                explosionList.Add(toAdd);
            }
            // ChooseBomb();
        }
Beispiel #14
0
 public virtual void Render()
 {
     ModelRenderer.Render();
     AnimationRenderer.Render();
 }
Beispiel #15
0
 protected void PlayAnimation(Animation anim)
 {
     anim.IsPaused = false;
     AnimationRenderer.Add(anim);
 }
Beispiel #16
0
 public Candle()
 {
     renderer = AddComponent(new AnimationRenderer(FlyWeight.Get("Candle"), 32, 32, 3, new[] { 1, 0, 1, 2, 0 }, 0.5f, false, true));
     renderer.Sprite.pivot = new Vector2(renderer.Sprite.Width / 2, renderer.Sprite.Height / 2);
 }
Beispiel #17
0
        public void Initialize(ConsoleEngine engine, ModelRenderer modelRenderer, SpriteRenderer spriteRenderer, AnimationRenderer animationRenderer)
        {
            foreach (var item in levels)
            {
                item.Engine            = engine;
                item.ModelRenderer     = modelRenderer;
                item.SpriteRenderer    = spriteRenderer;
                item.AnimationRenderer = animationRenderer;

                item.LevelManager = this;

                item.Create();
            }
        }
Beispiel #18
0
 public void Start()
 {
     renderer = Owner.GetComponent <AnimationRenderer>();
 }