示例#1
0
        private void cmdTest_Click(object sender, RoutedEventArgs e)
        {
            // Objekte erstellen
            IGFXObject obj1 = new SpriteObject("Test Sprite");
            //IGFXObject obj2 = new CarObject("Test Auto");  // erstellt ParticleSystem. passt nicht zu neuer Baumstruktur
            IGFXObject         obj2  = new SpriteObjectElastic("Fussball");
            IGFXObjComposition comp2 = new GFXComposition("Blumenbeet");

            comp2.AddObject(new SpriteObject("Sehr grüne Pflanze"));
            comp2.AddObject(new SpriteObject("Maiglöckchen"));

            IGFXObjComposition comp1 = new GFXComposition("Zusammengebautes Object");

            comp1.AddObject(new SpriteObject("Teil 1"));
            comp1.AddObject(new SpriteObject("Teil 2"));
            comp1.AddObject(comp2);
            comp1.AddObject(new SpriteObject("Teil 3"));

            MainGFX.AddObject(obj1);
            MainGFX.AddObject(obj2);
            MainGFX.AddObject(comp1);


            // Objekt-Baum listen
            lstTree.ItemsSource = MainGFX.ToList();
        }
示例#2
0
        private void lstSprites_KeyDown(object sender, System.Windows.Input.KeyEventArgs e)
        {
            SpriteObject obj = (lstSprites.SelectedItem as SpriteObject);

            if (obj != null)
            {
                // Space not possible
                switch (e.Key)
                {
                case Key.Delete:
                    ThisLevel.Sprites.Remove(obj);
                    MainGFX.RemoveObject(obj);
                    lstSprites.Items.Refresh();
                    break;

                case Key.Enter:
                    obj.Animated = !obj.Animated;
                    lstSprites.Items.Refresh();
                    break;

                default:
                    break;
                }
            }
        }
示例#3
0
        public UserSelectComponent(PPDDevice device, PPDFramework.Resource.ResourceManager resourceManager, ISound sound, ChangableList <User> users) : base(device)
        {
            this.resourceManager = resourceManager;
            this.sound           = sound;
            this.AddChild(back   = new PictureObject(device, resourceManager, Utility.Path.Combine("dialog_back.png")));
            back.AddChild(new TextureString(device, Utility.Language["PlayerManager"], 30, PPDColors.White)
            {
                Position = new Vector2(35, 30)
            });
            back.AddChild(userSprite = new SpriteObject(device)
            {
                Position = new Vector2(40, 80)
            });
            this.AddChild(new RectangleComponent(device, resourceManager, PPDColors.Black)
            {
                RectangleHeight = 450,
                RectangleWidth  = 800,
                Alpha           = 0.75f
            });

            Inputed    += ItemSettingComponent_Inputed;
            GotFocused += ItemSettingComponent_GotFocused;

            foreach (var user in users)
            {
                if (user.IsSelf)
                {
                    continue;
                }
                userSprite.AddChild(new UserComponent(device, resourceManager, user));
            }
            AdjustPosition();
            users.ItemChanged += users_ItemChanged;
        }
示例#4
0
 public CityObject(CityLevel cityLevel, Texture2D texture, Vector2 pos, Vector2 size)
 {
     this.cityLevel    = cityLevel;
     this.bounds       = new Vectangle(ClampToShelf(pos), size);
     this.sprite       = new SpriteObject(texture, bounds.Origin, size);
     sprite.layerDepth = 0.0f;
 }
示例#5
0
        public override void Load()
        {
            OnLoadProgressed(0);
            var temp = new SpriteObject(device);

            OnLoadProgressed(10);
            this.AddChild((controllerSprite = new SpriteObject(device)));
            movieController = new MovieController(device, resourceManager, null);
            controllerSprite.AddChild(movieController);
            OnLoadProgressed(20);
            this.AddChild(temp);
            OnLoadProgressed(30);
            temp.AddChild((selection = new LineRectangleComponent(device, resourceManager, PPDColors.Selection)
            {
                RectangleWidth = 180, RectangleHeight = 100, Position = new SharpDX.Vector2(10, 190)
            }));
            OnLoadProgressed(50);
            temp.AddChild((thumbSprite = new SpriteObject(device)));
            OnLoadProgressed(60);
            temp.AddChild(new PictureObject(device, resourceManager, Utility.Path.Combine("leftmenu.png"))
            {
                Alpha = 0.5f, Scale = new SharpDX.Vector2(1.2f, 1)
            });
            OnLoadProgressed(80);
            this.AddChild((movieSprite = new SpriteObject(device)));
            OnLoadProgressed(90);

            GotFocused += MoviePanel_GotFocused;
            Inputed    += MoviePanel_Inputed;
            OnLoadProgressed(100);
        }
示例#6
0
        public UpdateScoreControl(PPDDevice device, PPDFramework.Resource.ResourceManager resourceManager, ISound sound) : base(device)
        {
            this.resourceManager = resourceManager;
            this.sound           = sound;

            mainSprite = new SpriteObject(device)
            {
                Position = new Vector2(40, 80)
            };
            this.AddChild(scrollBar = new RectangleComponent(device, resourceManager, PPDColors.White)
            {
                Position        = new Vector2(755, 80),
                RectangleHeight = 330,
                RectangleWidth  = 5
            });
            this.AddChild(mainSprite);
            this.AddChild(back = new PictureObject(device, resourceManager, Utility.Path.Combine("dialog_back.png")));
            this.AddChild(new RectangleComponent(device, resourceManager, PPDColors.Black)
            {
                RectangleHeight = 450,
                RectangleWidth  = 800,
                Alpha           = 0.65f
            });
            back.AddChild(new TextureString(device, Utility.Language["UpdateScore"], 30, PPDColors.White)
            {
                Position = new Vector2(35, 30)
            });
            GotFocused += UpdateScoreControl_GotFocused;
            Inputed    += UpdateScoreControl_Inputed;
        }
示例#7
0
            private static void add_sprite_object(ILuaState lua, GameObject obj)
            {
                SpriteObject sobj = obj.GetComponent <SpriteObject>();

                push_new <SpriteObject>(lua, klassName, sobj, obj);
                lua.SetField(-2, "sprite_object");
            }
示例#8
0
 // Default constructer
 public BoxCollider(SceneObject sceneObject, SpriteObject spriteObject)
 {
     this.sceneObject  = sceneObject;
     this.spriteObject = spriteObject;
     this.min2D        = new Vector2(sceneObject.position.x - spriteObject.width / 2, sceneObject.position.y - spriteObject.height / 2);
     this.min2D        = new Vector2(sceneObject.position.x + spriteObject.width / 2, sceneObject.position.y + spriteObject.height / 2);
 }
示例#9
0
    public override void OnOtherObjectStayMovement(float deltaPos, SpriteObject target)
    {
        base.OnOtherObjectStayMovement(deltaPos, target);
        if (target.ItemType == Items.BRUSH)
        {
            Brush tBrush = target as Brush;
            if (tBrush.InkValue <= 0)
            {
                //GetComponent<SpriteRenderer>().materials[0].;
                //GetComponent<SpriteRenderer>().materials[0].SetFloat("_y", offsetY);
                return;
            }

            tBrush.BrushHead.GetComponent <Collider2D>();


            float offsetX = Mathf.Clamp((targetBound.x + tBrush.BrushHead.transform.position.x - transform.position.x) / targetBound.x, 0.0f, 2.0f) / 2.0f;
            float offsetY = Mathf.Clamp((targetBound.y + tBrush.BrushHead.transform.position.y - transform.position.y) / targetBound.y, 0.0f, 2.0f) / 2.0f;

            GetComponent <SpriteRenderer>().materials[0].SetFloat("_x", offsetX);
            GetComponent <SpriteRenderer>().materials[0].SetFloat("_y", offsetY);
            Debug.LogWarning(offsetX + "," + offsetY);

            Debug.DrawLine(tBrush.BrushHead.transform.position, transform.position, Color.red);
        }
    }
        private async Task SetGraphic(SpriteObject spriteObject, bool isOpen)
        {
            if ((isOpen && spriteObject.SpriteRenderer.sprite == GameManager.GraphicsDictionary.WireDoorSprites.WireDoor_Open) ||
                (!isOpen && spriteObject.SpriteRenderer.sprite == GameManager.GraphicsDictionary.WireDoorSprites.WireDoor_Closed))
            {
                return;
            }

            if (isOpen)
            {
                for (int i = 0; i < GameManager.GraphicsDictionary.WireDoorSprites.WireDoor_Transition.Length; i++)
                {
                    spriteObject.SetGraphic(GameManager.GraphicsDictionary.WireDoorSprites.WireDoor_Transition[i]);
                    await Task.Delay(25);
                }
            }
            else
            {
                for (int i = GameManager.GraphicsDictionary.WireDoorSprites.WireDoor_Transition.Length - 1; i >= 0; i--)
                {
                    spriteObject.SetGraphic(GameManager.GraphicsDictionary.WireDoorSprites.WireDoor_Transition[i]);
                    await Task.Delay(25);
                }
            }
            spriteObject.SetGraphic(isOpen ? GameManager.GraphicsDictionary.WireDoorSprites.WireDoor_Open : GameManager.GraphicsDictionary.WireDoorSprites.WireDoor_Closed);
        }
示例#11
0
        public override void Load()
        {
            OnLoadProgressed(0);
            gameList             = new GameList();
            HandleOverFocusInput = true;

            listSprite = new SpriteObject(device);
            this.AddChild((select = new LineRectangleComponent(device, resourceManager, PPDColors.Selection)
            {
                RectangleWidth = 800, RectangleHeight = 90
            }));
            OnLoadProgressed(20);
            this.AddChild(listSprite);
            OnLoadProgressed(30);

            int iter = 0;

            foreach (GameLoader gl in gameList.List)
            {
                Add(gl);
                iter++;
                OnLoadProgressed(30 + 60 * iter / gameList.List.Length);
            }

            Inputed += GameListPanel_Inputed;
            OnLoadProgressed(100);
        }
示例#12
0
 public Sound(GameScreen screen, SpriteObject obj, SoundEffect snd, string name = "null")
 {
     Screen    = screen;
     Parrent   = obj;
     Name      = name;
     SndEffect = snd.CreateInstance();
 }
示例#13
0
        internal Creature AddCreature(SpriteObject sprite, Coordinates pos)
        {
            Creature newCreature    = new Creature();
            Creature returnCreature = new Creature();

            if (pos == null)
            {
                pos = new Coordinates(0, 0, 0);
            }

            newCreature = new Creature(sprite.SpriteName, sprite, pos);
            if (!ContainsCreature(pos))
            {
                Creatures.Add(newCreature);
                returnCreature = newCreature;
            }
            else
            {
                Creature c = ReplaceCreature(pos, newCreature);
                c.WasReplaced  = true;
                returnCreature = c;
            }

            return(returnCreature);
        }
示例#14
0
        internal Item AddItem(SpriteObject sprite, Coordinates pos, int zorder = 0)
        {
            Item newItem    = new Item();
            Item returnItem = new Item();

            if (pos == null)
            {
                pos = new Coordinates(0, 0, 0);
            }

            newItem = new Item(sprite, sprite.SpriteName, pos, zorder);
            if (!ContainsItem(pos, zorder))
            {
                Items.Add(newItem);
                returnItem = newItem;
            }
            else
            {
                Item i = ReplaceItem(pos, newItem);
                i.WasReplaced = true;
                returnItem    = i;
            }

            return(returnItem);
        }
示例#15
0
 public Button(int id, string name, SpriteObject sprite, int width, int height, Vector2 position, string text = "", bool visible = false, SpriteObject pressedSprite = null, int stroke = 0, bool allowRightClick = false)
 {
     Id                 = id;
     Name               = name;
     NotPressedSprite   = sprite;
     SpriteObj          = sprite;
     Width              = width;
     Height             = height;
     OffsetPosition     = position;
     Text               = text;
     _buttonArea.Width  = width;
     _buttonArea.Height = height;
     _buttonArea.X      = (int)position.X;
     _buttonArea.Y      = (int)position.Y;
     Visible            = visible;
     AllowRightClick    = allowRightClick;
     Stroke             = stroke;
     CountClick         = ClickState.Try;
     DrawColor          = Color.White;
     if (pressedSprite == null)
     {
         PressedSprite = sprite;
     }
     else
     {
         PressedSprite = pressedSprite;
     }
 }
示例#16
0
        internal Tile AddTile(SpriteObject sprite, Coordinates pos, int zorder = 0)
        {
            var  newTile = new Tile();
            Tile returnTile;

            if (pos == null)
            {
                pos = new Coordinates(0, 0, 0);
            }
            if (sprite == null)
            {
                return(newTile);
            }

            newTile = new Tile(sprite.SpriteName, sprite, pos, Tiles.Count, true, sprite.Walkthrough, zorder);
            if (!ContainsTile(GetTilesFromPos(pos), newTile))
            {
                Tiles.Add(newTile);
                returnTile = newTile;
            }
            else
            {
                var t = ReplaceTile(GetTilesFromPos(pos), newTile, zorder);
                t.WasReplaced = true;
                returnTile    = t;
            }

            return(returnTile);
        }
示例#17
0
 public AirPlane(Texture2D texture, GraphicsDeviceManager graphics)
     : base(texture)
 {
     viewport = new Viewport(graphics.GraphicsDevice.Viewport.Bounds);
     SpriteObject.Position = new Vector2(
         viewport.Width / 2, viewport.Height - SpriteObject.GetBoundingRectangle().Height / 2);
 }
示例#18
0
 public ImageListItem(int id, string text, SpriteObject sprite, SpriteCollection spriteCollection = null)
 {
     Id               = id;
     Text             = text;
     Sprite           = sprite;
     SpriteCollection = spriteCollection;
 }
示例#19
0
        public override bool Load()
        {
            this.AddChild((allSlideSprite = new SpriteObject(device)));

            LoadLastCreatedRoom();

            firstSprite = new SlideSprite(device, ResourceManager, Sound)
            {
                FirstSlide = true
            };

            firstSprite.AddSelection(Utility.Language["CreateRoom"]);
            firstSprite.AddSelection(Utility.Language["EnterRoom"]);
            firstSprite.AddSelection(Utility.Language["WaitPlayerAsHost"]);
            firstSprite.AddSelection(Utility.Language["ConnectToHost"]);

            allSlideSprite.AddChild(firstSprite);

            focusManager = new FocusManager();
            focusManager.Focus(firstSprite);

            this.AddChild(new PictureObject(device, ResourceManager, Utility.Path.Combine("background.png")));

            firstSprite.Selected += slideSprite_Selected;

            return(true);
        }
示例#20
0
        public override void InitializeEntity(SpriteObject spriteObject, Entity entity)
        {
            base.InitializeEntity(spriteObject, entity);
            var dynamicSpriteObject = (DynamicSpriteObject)spriteObject;

            dynamicSpriteObject.ResetAnimator("HasWon", "HasFatality");
        }
示例#21
0
 public Creature(string name, SpriteObject sprite, Coordinates coordinates, int spriteid = 0, int magicstr = 0, int strength = 1, int health = 1, int id = 0, int defense = 0, int experience = 1, List <Attack> attacks = null, int realId = -1, bool wasReplaced = false)
 {
     Sprite        = sprite;
     Name          = name;
     Position      = coordinates;
     MaxHealth     = health;
     Health        = health;
     Id            = id;
     Visible       = true;
     Type          = EntityType.CreatureEntity;
     Strength      = strength;
     Defense       = defense;
     Experience    = experience;
     MagicStrength = magicstr;
     WalkState     = "Standing";
     WalkDirection = "S";
     if (attacks != null)
     {
         AttackList.AddRange(attacks);
     }
     if (sprite != null)
     {
         SpriteId = sprite.Id;
     }
     else
     {
         SpriteId = -1;
     }
     RealId      = realId;
     WasReplaced = wasReplaced;
 }
示例#22
0
        public override bool Load()
        {
            myGame = GameHost as MyGame;

            this.AddChild((allSlideSprite = new SpriteObject(device)));

            firstSprite = new SlideSprite(device, ResourceManager, Sound)
            {
                FirstSlide = true
            };

            firstSprite.AddSelection(Utility.Language["Exit"]);
            firstSprite.AddSelection(Utility.Language["Back"]);
            firstSprite.AddSelection(Utility.Language["KeyAndButtonSetting"]);
            firstSprite.AddSelection(Utility.Language["VolumeSetting"]);
            firstSprite.AddSelection(Utility.Language["GoHome"]);

            allSlideSprite.AddChild(firstSprite);

            focusManager = new FocusManager();
            focusManager.Focus(firstSprite);

            firstSprite.Selected += slideSprite_Selected;
            this.MouseRightClick += CloseOverlay_MouseRightClick;

            this.AddChild(new RectangleComponent(device, ResourceManager, PPDColors.Black)
            {
                Alpha           = 0.65f,
                RectangleHeight = 450,
                RectangleWidth  = 800
            });
            return(true);
        }
示例#23
0
        public ChangeVolumeSprite(PPDDevice device, PPDFramework.Resource.ResourceManager resourceManager, MyGame myGame, ISound sound) : base(device)
        {
            this.resourceManager = resourceManager;
            this.myGame          = myGame;
            this.sound           = sound;

            texts   = new TextureString[3];
            rects   = new RectangleComponent[3];
            spheres = new PictureObject[3];
            var sprite = new SpriteObject(device,
                                          texts[0] = new TextureString(device, Utility.Language["Master"], 18, PPDColors.White),
                                          texts[1] = new TextureString(device, Utility.Language["Movie"], 18, PPDColors.White)
            {
                Position = new SharpDX.Vector2(0, 25)
            },
                                          texts[2] = new TextureString(device, Utility.Language["SE"], 18, PPDColors.White)
            {
                Position = new SharpDX.Vector2(0, 50)
            },
                                          rects[0] = new RectangleComponent(device, resourceManager, PPDColors.White)
            {
                Position = new SharpDX.Vector2(RectStartX, 10), RectangleHeight = 2, RectangleWidth = RectWidth
            },
                                          rects[1] = new RectangleComponent(device, resourceManager, PPDColors.White)
            {
                Position = new SharpDX.Vector2(RectStartX, 35), RectangleHeight = 2, RectangleWidth = RectWidth
            },
                                          rects[2] = new RectangleComponent(device, resourceManager, PPDColors.White)
            {
                Position = new SharpDX.Vector2(RectStartX, 60), RectangleHeight = 2, RectangleWidth = RectWidth
            },
                                          spheres[0] = new PictureObject(device, resourceManager, Utility.Path.Combine("sphere.png"), true)
            {
                Position = new SharpDX.Vector2(RectStartX, 10)
            },
                                          spheres[1] = new PictureObject(device, resourceManager, Utility.Path.Combine("sphere.png"), true)
            {
                Position = new SharpDX.Vector2(RectStartX, 35)
            },
                                          spheres[2] = new PictureObject(device, resourceManager, Utility.Path.Combine("sphere.png"), true)
            {
                Position = new SharpDX.Vector2(RectStartX, 60)
            },
                                          select = new PictureObject(device, resourceManager, Utility.Path.Combine("right.png"), true)
            {
                Position = new SharpDX.Vector2(30, 0),
                Scale    = new SharpDX.Vector2(0.5f, 0.5f)
            }
                                          )
            {
                Position = new SharpDX.Vector2(160, 225 - 75 / 2f)
            };

            modified = true;

            this.AddChild(sprite);
            AdjustPosition();
            Inputed     += ChangeVolumeSprite_Inputed;
            LostFocused += ChangeVolumeSprite_LostFocused;
        }
示例#24
0
        /// <summary>
        /// Allows the game to run logic such as updating the world,
        /// checking for collisions, gathering input, and playing audio.
        /// </summary>
        /// <param name="gameTime">Provides a snapshot of timing values.</param>
        protected override void Update(GameTime gameTime)
        {
            KeyboardState currentKeyState;

            UpdateAll(gameTime);

            // Read the current keyboard state
            currentKeyState = Keyboard.GetState();

            // Get a strongly-typed reference to our sprite
            SpriteObject sprite = (SpriteObject)GameObjects[0];

            // Move the sprite?
            if (currentKeyState.IsKeyDown(Keys.Up))
            {
                sprite.PositionY -= 5;
            }
            if (currentKeyState.IsKeyDown(Keys.Down))
            {
                sprite.PositionY += 5;
            }
            if (currentKeyState.IsKeyDown(Keys.Left))
            {
                sprite.PositionX -= 5;
            }
            if (currentKeyState.IsKeyDown(Keys.Right))
            {
                sprite.PositionX += 5;
            }

            // Check for pressed/released keys.
            // Loop for each possible pressed key (those that are pressed this update)
            Keys[] keys = currentKeyState.GetPressedKeys();
            for (int i = 0; i < keys.Length; i++)
            {
                // Was this key up during the last update?
                if (_lastKeyState.IsKeyUp(keys[i]))
                {
                    // Yes, so this key has been pressed
                    System.Diagnostics.Debug.WriteLine("Pressed: " + keys[i].ToString());
                }
            }
            // Loop for each possible released key (those that were pressed last update)
            keys = _lastKeyState.GetPressedKeys();
            for (int i = 0; i < keys.Length; i++)
            {
                // Is this key now up?
                if (currentKeyState.IsKeyUp(keys[i]))
                {
                    // Yes, so this key has been released
                    System.Diagnostics.Debug.WriteLine("Released: " + keys[i].ToString());
                }
            }

            // Store the state for the next loop
            _lastKeyState = currentKeyState;

            base.Update(gameTime);
        }
示例#25
0
            private static int L_set_preferred_fps(ILuaState lua)
            {
                check_identifier(lua, 1, klassName);
                SpriteObject so = get_component <SpriteObject>(lua, 1);

                so.player.lwf.SetPreferredFrameRate(lua.ToInteger(2), lua.ToInteger(3));
                return(0);
            }
示例#26
0
    IEnumerator coro()
    {
        yield return(null);

        SpriteObject sobj = GetComponent <SpriteObject>();

        sobj.player.rootMovie.SetEventHandler("finish", () => { Debug.Log("FINISH"); });
    }
示例#27
0
            private static int L_set_play_speed(ILuaState lua)
            {
                check_identifier(lua, 1, klassName);
                SpriteObject so = get_component <SpriteObject>(lua, 1);

                so.player.SetPlaySpeed((float)lua.ToNumber(2));
                return(0);
            }
示例#28
0
 public StageManager(PPDDevice device) : base(device)
 {
     sprites = new SpriteObject[Enum.GetValues(typeof(LayerType)).Length];
     for (int i = 0; i < sprites.Length; i++)
     {
         this.AddChild(sprites[i] = new SpriteObject(device));
     }
 }
示例#29
0
            // @desc 色いじりをクリアする
            // @decl clear_color_adjustment(self)
            // @param color カラー
            private static int L_clear_color_adjustment(ILuaState lua)
            {
                check_identifier(lua, 1, klassName);
                SpriteObject so = get_component <SpriteObject>(lua, 1);

                so.player.ClearColorAdjustment();
                return(0);
            }
示例#30
0
            private static int L_set_frame_skip(ILuaState lua)
            {
                check_identifier(lua, 1, klassName);
                SpriteObject so = get_component <SpriteObject>(lua, 1);

                so.player.lwf.SetFrameSkip(lua.ToBoolean(2));
                return(0);
            }