Exemplo n.º 1
0
        public void Show()
        {
            _isClosed = false;

            var player = _game.State.Player;

            _playerAsFeature = new PlayerAsFeature(player);

            var factory = _game.Factory;

            _label             = factory.UI.GetLabel("TexturesPanelLabel", "", 100f, 30f, 0f, _parent.Height - 30f, _parent);
            _label.RenderLayer = _parent.RenderLayer;

            _playerAsFeature.PlaceInFeatureWindow(_parent);
            var animation = player.Outfit[AGSOutfit.Walk].Down;

            player.StartAnimation(animation);
            player.Position = (150f, 50f);
            player.Scale    = (2f, 2f);

            foreach (var frame in animation.Frames)
            {
                frame.Sprite.BaseSize = (200f, 200f);
            }
            var textureOffset = player.AddComponent <ITextureOffsetComponent>();

            animate(textureOffset);
        }
        public void Show()
        {
            _shouldAnimate = true;
            var player = _game.State.Player;

            _playerAsFeature = new PlayerAsFeature(player);

            var factory = _game.Factory;

            _label = factory.UI.GetLabel("MoveAreaLabel", "Try Walking!", 100f, 30f, 10f, _parent.Height - 30f, _parent);

            _checkbox                  = factory.UI.GetCheckBox("MoveAreaCheckbox", (ButtonAnimation)null, null, null, null, 10f, _parent.Height - 60f, _parent, "Bind Area & Character", width: 20f, height: 20f);
            _checkbox.Checked          = true;
            _shouldBindAreaToCharacter = true;
            _checkbox.OnCheckChanged.Subscribe(onBindChanged);

            var parent = factory.Object.GetObject("Elevator Parent");

            parent.TreeNode.SetParent(_parent.TreeNode);
            parent.RenderLayer = _parent.RenderLayer;
            parent.Image       = new EmptyImage(1f, 1f);
            parent.Opacity     = 0;
            parent.X           = 200f;
            parent.Y           = 100f;

            var areaParent = factory.Object.GetObject("Elevator Area Parent");

            areaParent.TreeNode.SetParent(parent.TreeNode);
            areaParent.RenderLayer = _parent.RenderLayer;

            _playerAsFeature.PlaceInFeatureWindow(parent);

            bool[,] maskArr = new bool[200, 200];
            var mask = factory.Masks.Load(maskArr, "Elevator Mask", true, Colors.GreenYellow.WithAlpha(150));
            var area = factory.Room.GetArea("Elevator Area", mask, true);

            area.Mask.DebugDraw.TreeNode.SetParent(areaParent.TreeNode);
            area.Mask.DebugDraw.RenderLayer = _parent.RenderLayer;
            var areaTranslate = area.AddComponent <ITranslateComponent>();
            var areaRotate    = area.AddComponent <IRotateComponent>();

            player.Room.Areas.Add(area);
            player.PlaceOnWalkableArea();
            player.Z            = area.Mask.DebugDraw.Z - 1;
            _scheme.CurrentMode = RotatingCursorScheme.WALK_MODE;

            animate(parent, areaTranslate, areaRotate);
        }