Beispiel #1
0
        public Apple AttachTo(DisplayObjectContainer canvas)
        {
            MoveToLocation();
            Control.AttachTo(canvas);

            return(this);
        }
Beispiel #2
0
        /// <summary>
        /// Finds focusable parent or parent's parent
        /// </summary>
        /// <param name="component"></param>
        /// <returns></returns>
        internal static InteractiveComponent FindFocusableAncestor(InteractiveComponent component)
        {
            //Debug.Log("FindFocusableAncestor: " + component);

            InteractiveComponent ancestor = null;

            DisplayObjectContainer child = component;

            do
            {
                var ic = child as InteractiveComponent;
                if (null != ic)
                {
                    if (ic.Enabled && ic.FocusEnabled || null != ic.FocusRouting)
                    {
                        ancestor = ic;
                        break;
                    }
                }
                //child = (InteractiveComponent) child.Parent;
                child = child.Parent;
            }while (null != child);

#if DEBUG
            if (DebugMode)
            {
                Debug.Log(null != ancestor
                              ? string.Format("Focusable ancestor found: {0}", ancestor)
                              : "Focusable ancestor NOT found");
            }
#endif

            //Debug.Log("ancestor: " + ancestor);
            return(ancestor);
        }
Beispiel #3
0
        /// <summary>
        /// Creates the popup via factory/reflection
        /// </summary>
        /// <param name="parent">Parent component (for position calculations)</param>
        /// <param name="popupType">The popup class for instantiation</param>
        /// <param name="modal">Is this a modal popup</param>
        /// <param name="centered">Should popup be centered</param>
        /// <param name="keepCenter">Should popup stay centered after the screen resize</param>
        /// <returns></returns>
        public DisplayObject CreatePopup(Type popupType, DisplayObjectContainer parent, bool modal, bool centered, bool keepCenter)
        {
            Component popup = (Component)Activator.CreateInstance(popupType);

            AddPopup(popup, parent, modal, centered, keepCenter);
            return(popup);
        }
Beispiel #4
0
    public override void OnAwake()
    {
        base.OnAwake();

        var cardContainer = Library.New <DisplayObjectContainer>("CardContainer");

        AddEventListener <MouseEvent>(MouseEvent.MOUSE_MOVE, onMouseMove);
        cardContainer.Y = ViewportHeight * .4f;
        cardContainer.X = ViewportWidth * -.4f;
        AddChild(cardContainer);

        var offsetX = ViewportWidth / 30f;
        var offsetY = -ViewportHeight / 30f;
        DisplayObjectContainer lastParent = cardContainer;

        for (var suit = 0; suit < 4; suit++)
        {
            for (var number = 0; number < 5; number++)
            {
                var card = Library.New(_cardSuits[suit] + (number + 1).ToString(), "Card" + _cardSuits[suit] + (number + 1).ToString());
                lastParent.AddChild(card);
                lastParent = card;
                card.X     = offsetX;
                card.Y     = offsetY;
                card.AddEventListener <MouseEvent>(MouseEvent.MOUSE_DOWN, onCardPress);
                card.AddEventListener <MouseEvent>(MouseEvent.MOUSE_MOVE, onCardMouseMove);
                card.AddEventListener <MouseEvent>(MouseEvent.RELEASE_OUTSIDE, onCardReleaseOutside);
            }
        }

        this.Name = "Mouse Events Stage";
    }
Beispiel #5
0
 public static void RemoveAllChildren(DisplayObjectContainer container)
 {
     while (container.numChildren > 0)
     {
         container.removeChildAt(0);
     }
 }
Beispiel #6
0
        /// <summary>
        /// Adds a popup to popup stage
        /// </summary>
        /// <param name="popup">A popup to add</param>
        /// <param name="parent">Parent component (for position calculations)</param>
        /// <param name="modal">Is this a modal popup</param>
        /// <param name="centered">Should popup be centered</param>
        /// <param name="keepCenter">Should popup stay centered after the screen resize</param>
        public void AddPopup(DisplayListMember popup, DisplayObjectContainer parent, bool modal, bool centered, bool keepCenter)
        {
#if TRIAL
            /* HACK CHECK */
            Acme acme = (Acme)Framework.GetComponent <Acme>(true);
            if (null == acme || !acme.gameObject.activeInHierarchy /*active*/ || !acme.enabled)
            {
                return;
            }
#endif

            if (_popups.Contains(popup))
            {
                return;
            }
#if DEBUG
            if (DebugMode)
            {
                Debug.Log("AddPopup");
            }
#endif
            List <PopupOption> options = new List <PopupOption>
            {
                new PopupOption(PopupOptionType.Parent, parent),
                new PopupOption(PopupOptionType.Modal, modal),
                new PopupOption(PopupOptionType.Centered, centered),
                new PopupOption(PopupOptionType.KeepCenter, keepCenter)
            };

            AddPopup(popup, options.ToArray());
        }
    public override void OnAwake()
    {
        base.OnAwake();

        var outerContainer = Library.New<DisplayObjectContainer>("OuterContainer");
        AddChild (outerContainer);
        outerContainer.X = outerContainer.Y = 1f;
        _container = Library.New<DisplayObjectContainer>("Container");
        outerContainer.AddChild(_container);
        _container.Rotation = 30f;

        var offsetX = ViewportWidth/50f;
        var offsetY = ViewportHeight/50f;
        for (var suit = 0; suit < 4; suit++)
        {
            for (var number = 0; number < 5; number++)
            {
                var card = Library.New (_cardSuits[suit] + (number+1).ToString());
                Assert (!_container.Contains(card), "_container should not contain " + card.Name);
                _container.AddChild(card);
                Assert (_container.Contains(card), "_container should contain " + card.Name);
                card.X = offsetX * (suit * 5 + number);
                card.Y = offsetY * (suit * 5 + number);
                card.MouseEnabled = true;
                card.AddEventListener<MouseEvent>(MouseEvent.MOUSE_DOWN, onCardPress);
                card.AddEventListener<MouseEvent>(MouseEvent.MOUSE_UP, onCardRelease);
            }
        }
    }
Beispiel #8
0
    /// <summary>
    /// Initializes a new instance of the <see cref="Tween"/> class.
    /// </summary>
    /// <param name='targetObj'>
    /// The objet to perform the Tween on.
    /// </param>
    /// <param name='propertyName'>
    /// Property name, eg. "X", "Y", "ScaleX", "Alpha", etc.
    /// </param>
    /// <param name='endVal'>
    /// The value to tween to.  The tween will run from the property's value at start time to the end value.
    /// </param>
    /// <param name='duration'>
    /// Duration in seconds of the tween.
    /// </param>
    /// <param name='easingType'>
    /// Easing type.  Any function matching the see cref="EaseValue"/> delegate.  
    /// </param>
    /// <param name='delay'>
    /// Delay, in seconds.
    /// </param>
    /// <param name='startCallback'>
    /// Called when tween starts (after any delay).  
    /// </param>
    /// <param name='endCallback'>
    /// Called when tween ends
    /// </param>
    /// <exception cref='Exception'>
    /// Thrown when a Tween is created before Stage
    /// </exception>
    /// <exception cref='ArgumentException'>
    /// Thrown when targetObj param is null or targetObj does not have property referenced by propertyName arg.
    /// </exception>
    public Tween(DisplayObjectContainer targetObj, string propertyName, float endVal, float duration, EaseValue easingType, float delay = 0f, TweenCallback startCallback = null, TweenCallback endCallback = null)
    {
        if (TweenRunner.Instance == null)
            throw new Exception("TweenRunner must be added to Stage before creating Tweens");

        if (targetObj == null)
            throw new ArgumentException("targetObj is null");

        Id = Guid.NewGuid();
        TargetObj = targetObj;
        if (!String.IsNullOrEmpty(propertyName))
        {
            Property = targetObj.GetType().GetProperty(propertyName);
            if (Property == null)
                throw new ArgumentException("targetObj does not have property named " + propertyName);
        }
        //StartVal gets set when tween actually starts running, since the value may change during a delay
        EndVal = endVal;
        StartTime = TweenRunner.Instance.__GetCurrentTime();
        Duration = duration;
        EasingType = easingType;
        Delay = delay;
        StartCallback = startCallback;
        EndCallback = endCallback;

        if (!String.IsNullOrEmpty(propertyName))
            TweenRunner.Instance.__AddTween(this);
    }
Beispiel #9
0
        public static IEnumerable <DisplayObject> EnumKinds(DisplayObjectContainer container)
        {
            int n = container.numChildren;

            for (int i = 0; i < n; i++)
            {
                yield return(container.getChildAt(i));
            }
        }
 public void SetProject(ProjectValueObject project, DisplayObjectContainer renderTarget)
 {
     _project = project;
     foreach (var emitterValueObject in project.Emitters)
     {
         StarlingHandler handler = (StarlingHandler)emitterValueObject.Emitter.ParticleHandler;
         handler.Container = renderTarget;
     }
 }
Beispiel #11
0
        public static T[] AttachTo <T>(this T[] e, DisplayObjectContainer c) where T : DisplayObject
        {
            foreach (var i in e)
            {
                i.AttachTo(c);
            }

            return(e);
        }
Beispiel #12
0
        /// <summary>
        /// This utility sorts the drawing list by request<br/>
        /// Takes the component as input and reads its child list internally<br/>
        /// Then it sorts it and saves into the drawing list<br/>
        /// Note: the original child list is never being modified (we want to stay robust here)
        /// </summary>
        /// <param name="doc"></param>
        public static void UpdateDrawingList(DisplayObjectContainer doc)
        {
#if DEBUG
            if (DebugMode)
            {
                Debug.Log(string.Format("         DepthUtil -> UpdateDrawingList: {0} -> [orderList: {1}, depthList: {2}]", doc, doc.QNumberOfChildren, doc.QDrawingList.Count));
            }
#endif
            UpdateDrawingList(doc.QChildren, doc.QDrawingList);
        }
Beispiel #13
0
        public ChildMover(DisplayObjectContainer from, DisplayObjectContainer to, int numberOfChildren)
        {
            _docFrom = from;
            _docTo   = to;

            //_ctFrom = _docFrom as Container;
            //_ctTo = _docTo as Container;

            _numberOfChildrenToMove = numberOfChildren;
        }
Beispiel #14
0
 public PlayerSpaceView(Player model, DisplayObjectContainer parent)
     : base(model, parent)
 {
     this.player = model;
     player.ship.addEventListener(Event.CHANGE, handler);
     player.ship.addEventListener(Ships.ShipEvent.PART_CHANGE, handler);
     this.addChild(hull_view);
     hull_view.addEventListener(MouseEvent.CLICK, onClick);
     reloadHull();
 }
Beispiel #15
0
    static void AddLabel(DisplayObjectContainer container, string label)
    {
        if (string.IsNullOrEmpty(label))
        {
            return;
        }
        var c = new Label();

        c.text = label;
        container.addChild(c);
    }
Beispiel #16
0
        public static T AttachTo <T>(this T e, DisplayObjectContainer x) where T : DisplayObject
        {
            if (e == null)
            {
                return(e);
            }

            x.addChild(e);

            return(e);
        }
    protected override void OnRenderFrame(FrameEventArgs e)
    {
        base.OnRenderFrame(e);

        UpdateScreen();

        //parent.Position = new Vector2(pos+=0.5f, 0);
        DisplayObjectContainer.Update();

        this.SwapBuffers();
    }
Beispiel #18
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="stage"></param>
        /// <param name="renderQueue"></param>
        /// <returns></returns>
        public bool renderStage(DisplayObjectContainer stage, int renderQueue)
        {
            materialList.Clear();
            currentMaterial   = null;
            subMeshId         = -1;
            quadCount         = 0;
            zDrawOffset       = 0f;
            phaseId           = 0;
            sameUpdateCounter = true;
            numVerts          = 0;
            numIndex          = 0;

            renderDisplayObjectContainer(stage, white, false, renderQueue);
            if (sameUpdateCounter)
            {
                return(false);
            }

            AppSubMesh();

            bool newTriangles = numVerts > vertices.Length;

            if (newTriangles)
            {
                // Not enough vertices, increase size.
                vertices = vertices = new Vector3[numVerts];
                colors   = new Color32[numVerts];
                UVs      = new Vector2[numVerts];
                mesh.Clear();
            }
            else
            {
                // Too many vertices, zero the extra.
                Vector3 zero = Vector3.zero;
                for (int i = numVerts; i < vertices.Length; i++)
                {
                    vertices[i] = zero;
                }
            }

            currentMaterial = null;
            subMeshId       = -1;
            quadCount       = 0;
            zDrawOffset     = 0f;
            phaseId         = 1;
            VertId          = 0;
            UVId            = 0;
            ColourId        = 0;
            triId           = 0;
            renderDisplayObjectContainer(stage, white, false, renderQueue);
            updateCounter = Time.frameCount;
            return(true);
        }
Beispiel #19
0
    public void Awake()
    {
        if (_instance != null)
            throw new Exception("You can only have one instance of MouseInput");

        _instance = this;

        _mouseEnabledObjects = new List<DisplayObjectContainer>();
        _mouseEnabledObjectIds = new Dictionary<Guid, DisplayObjectContainer>();
        _lastMousePos = new Vector2(-999999, -999999);
        _mouseOverObject = Stage.Instance;
    }
Beispiel #20
0
    static void AddCheckBox(DisplayObjectContainer container, string label, bool defval, Action <bool> action)
    {
        var cb = new CheckBox();

        cb.selected = defval;
        cb.label    = label;
        cb.change  += e =>
        {
            action(cb.selected);
        };
        container.addChild(cb);
    }
        public static T AttachToContainer <T>(this T e, DisplayObjectContainer c) where T : global::System.Windows.Controls.Panel
        {
            __Panel p = e;

            if (p.InternalSprite.parent != null)
            {
                p.InternalSprite.parent.removeChild(p.InternalSprite);
            }

            c.addChild(p.InternalSprite);

            return(e);
        }
Beispiel #22
0
    static void AddInput(DisplayObjectContainer container, double defval, Action <double> action)
    {
        var input = new TextInput();

        input.text     = defval.ToString();
        input.width    = 50;
        input.keyDown += e =>
        {
            if (e.keyCode == Keyboard.ENTER)
            {
                var v = double.Parse(input.text);
                action(v);
            }
        };
        container.addChild(input);
    }
Beispiel #23
0
    public override void OnAwake()
    {
        base.OnAwake();

        VerifySizingForEmptyObject();
        VerifySizingForEmptyParent();

        if (ViewportWidth > ViewportHeight)
        {
            ViewportWidth = 10f;
        }
        else
        {
            ViewportHeight = 10f;
        }

        _sizeChart      = CinchSprite.NewFromImage("SizeChart", 100f, RegistrationPoint.BottomLeft);
        _sizeChart.Name = "SizeChart";
        _sizeChart.X    = ViewportWidth / -2;
        _sizeChart.Y    = ViewportHeight / -2;
        AddChild(_sizeChart);

        //give it a weird pixels-per-meter to make sure it's not an even width in meters
        _earthContainer = Library.New <DisplayObjectContainer>("EarthContainer");
        _earthContainer.SetPosition(3, 7);
        AddChild(_earthContainer);
        var innerContainer = Library.New <DisplayObjectContainer>("InnerContainer");

        _earthContainer.AddChild(innerContainer);
        var yetAnotherContainer = Library.New <DisplayObjectContainer>("YetAnotherContainer");

        innerContainer.AddChild(yetAnotherContainer);
        var earth = CinchSprite.NewFromImage("Earth", 158f, RegistrationPoint.Center);

        earth.MouseEnabled = true;
        earth.Name         = "Earth";
        earth.AddEventListener <MouseEvent>(MouseEvent.MOUSE_DOWN, onEarthPress);
        yetAnotherContainer.AddChild(earth);

        //give it a weird pixels-per-meter to make sure it's not an even width in meters
        _mars = CinchSprite.NewFromImage("Mars", 212f, RegistrationPoint.BottomLeft);
        _mars.MouseEnabled = true;
        _mars.Name         = "Mars";
        _mars.SetPosition(.5f, .5f);
        _mars.AddEventListener <MouseEvent>(MouseEvent.MOUSE_DOWN, onMarsPress);
        AddChild(_mars);
    }
Beispiel #24
0
        private void StartHandler(Event e)
        {
#if DEBUG
            if (DebugMode)
            {
                Debug.Log("StartHandler " + _component.Width + ", " + _component.Height);
            }
#endif
            if (null != _maskGraphics)
            {
                return; // already masking this component
            }
            _parent = _component.Parent ?? (_component is Stage ? _component : null);

            if (null == _parent)
            {
                return; // we are not on the display list, so we have nothing to mask indeed
            }
            _maskGraphics = new LoadingMaskAnimator {
                IncludeInLayout = false,
                X      = _component.X,
                Y      = _component.Y,
                Width  = _component.Width,
                Height = _component.Height,
                //Bounds = (Rectangle) _component.Bounds.Clone() // BEWARE! This was the reference bug (without Clone())!!!!!!!!!
            };

            _parent.AddChild(_maskGraphics);

            LoadingEvent le = e as LoadingEvent;
            if (null != le)
            {
                _maskGraphics.Message = le.Message;
            }

            // critical!
            //_maskGraphics.Transform.Apply();
            _maskGraphics.InvalidateTransform();

            // subscribe to MOVE and RESIZE events of the component
            // we shall be levitating just over the component
            _component.AddEventListener(MoveEvent.MOVE, MoveHandler, EventPhase.Target);
            _component.AddEventListener(ResizeEvent.RESIZE, ResizeHandler, EventPhase.Target);

            _maskGraphics.Play();
        }
Beispiel #25
0
 private void rec(DisplayObjectContainer parent, SpaceObject so)
 {
     for (int i = 0; i < so.links.Count; i++)
     {
         SpaceObject child = (SpaceObject)RegistrySystem.Registry.getInstance().getElement(so.links[i]);
         if (child.spaceobject_type != SpaceObject.SpaceSystem)
         {
             PlanetView b = new PlanetView(child);
             b.load(child.src);
             b.setScaleXY(child.size);
             b.setRSPointToCenter();
             parent.addChild(b);
         }
         else
         {
             SpaceSystemView d = new SpaceSystemView(child);
             parent.addChild(d);
             rec(d, child);
         }
     }
 }
Beispiel #26
0
    public override void OnAwake()
    {
        base.OnAwake();

        VerifySizingForEmptyObject();
        VerifySizingForEmptyParent();

        if (ViewportWidth > ViewportHeight)
            ViewportWidth = 10f;
        else
            ViewportHeight = 10f;

        _sizeChart = CinchSprite.NewFromImage("SizeChart", 100f, RegistrationPoint.BottomLeft);
        _sizeChart.Name = "SizeChart";
        _sizeChart.X = ViewportWidth/-2;
        _sizeChart.Y = ViewportHeight/-2;
        AddChild(_sizeChart);

        //give it a weird pixels-per-meter to make sure it's not an even width in meters
        _earthContainer = Library.New<DisplayObjectContainer>("EarthContainer");
        _earthContainer.SetPosition(3, 7);
        AddChild(_earthContainer);
        var innerContainer = Library.New<DisplayObjectContainer>("InnerContainer");
        _earthContainer.AddChild(innerContainer);
        var yetAnotherContainer = Library.New<DisplayObjectContainer>("YetAnotherContainer");
        innerContainer.AddChild(yetAnotherContainer);
        var earth = CinchSprite.NewFromImage("Earth", 158f, RegistrationPoint.Center);
        earth.MouseEnabled = true;
        earth.Name = "Earth";
        earth.AddEventListener<MouseEvent>(MouseEvent.MOUSE_DOWN, onEarthPress);
        yetAnotherContainer.AddChild(earth);

        //give it a weird pixels-per-meter to make sure it's not an even width in meters
        _mars = CinchSprite.NewFromImage("Mars", 212f, RegistrationPoint.BottomLeft);
        _mars.MouseEnabled = true;
        _mars.Name = "Mars";
        _mars.SetPosition(.5f, .5f);
        _mars.AddEventListener<MouseEvent>(MouseEvent.MOUSE_DOWN, onMarsPress);
        AddChild(_mars);
    }
Beispiel #27
0
    static void AddComboBox(DisplayObjectContainer container, string label, int defval, Action <int> action, params string[] values)
    {
        AddLabel(container, label);

        var col = new ArrayCollection();

        for (int i = 0; i < values.Length; ++i)
        {
            var item = avm.NewObject("label", values[i], "data", i);
            col.addItem(item);
        }

        var cb = new ComboBox();

        cb.dataProvider  = col;
        cb.selectedIndex = defval;
        cb.OnClose      += e =>
        {
            action(cb.selectedIndex);
        };
        container.addChild(cb);
    }
Beispiel #28
0
    /// <summary>
    ///
    /// </summary>
    void Awake()
    {
        stage      = new DisplayObjectContainer();
        meshFilter = gameObject.GetComponent <MeshFilter>();
        if (meshFilter == null)
        {
            meshFilter = (MeshFilter)gameObject.AddComponent(typeof(MeshFilter));
        }
        meshRenderer = gameObject.GetComponent <MeshRenderer>();
        if (meshRenderer == null)
        {
            meshRenderer = (MeshRenderer)gameObject.AddComponent(typeof(MeshRenderer));
        }

        meshRenderer.castShadows    = false;
        meshRenderer.receiveShadows = false;

        gfxGenerator = instanceGfxGenerator();
        if (drawScale == Vector2.zero)
        {
            drawScale = defaultDrawScale;
        }
    }
Beispiel #29
0
        static void MoveChildren(DisplayObjectContainer container, double dx, double dy)
        {
            if (dx == 0 && dy == 0)
            {
                return;
            }
            bool h = dx != 0;
            bool v = dy != 0;
            int  n = container.numChildren;

            for (int i = 0; i < n; ++i)
            {
                var child = container.getChildAt(i);
                if (h)
                {
                    child.x += dx;
                }
                if (v)
                {
                    child.y += dy;
                }
            }
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="parent"></param>
        /// <param name="pcolor"></param>
        /// <param name="movieClip"></param>
        private void renderDisplayObjectContainer(DisplayObjectContainer parent, Color pcolor, bool movieClip)
        {
            if (phaseId == 0)
            {
                if (parent.updateCounter != updateCounter)
                {
                    sameUpdateCounter = false;
                }
            }
            else if (phaseId == 1)
            {
                parent.updateCounter = Time.frameCount;
            }

            for (int i = 0; i < parent.numChildren; i++)
            {
                if (movieClip)
                {
                    MovieClip obj2 = parent.getChildAt(i) as MovieClip;

                    if (obj2.visible)
                    {
                        BitmapAssetInfo info = obj2.bmpInfo;
                        renderGraphics(info, obj2, obj2.colorTransform);
                        renderDisplayObjectContainer(obj2, obj2.colorTransform, false);
                    }
                }
                else
                {
                    DisplayObjectContainer obj2 = parent.getChildAt(i) as DisplayObjectContainer;

                    BitmapAssetInfo info = obj2.bmpInfo;
                    renderGraphics(info, obj2, pcolor);
                    renderDisplayObjectContainer(obj2, pcolor, false);
                }
            }
        }
Beispiel #31
0
    public override void OnAwake()
    {
        base.OnAwake();

        CinchOptions.UseTopLeftSpriteSheetCoordinates = true;
        CinchOptions.DefaultPixelsPerMeter            = 100f;

        this.Name = "ParentingStage";
        AddSymbolDefinitions();

        AddEventListener <MouseEvent>(MouseEvent.MOUSE_DOWN, onStagePress);

        _everythingContainer              = Library.New <DisplayObjectContainer>();
        _everythingContainer.Name         = "Everything container";
        _everythingContainer.MouseEnabled = false;
        AddChild(_everythingContainer);

        _table = Library.New("Table");
        _table.MouseEnabled = true;
        ValidateNumberMouseObjects(0);
        _everythingContainer.AddChild(_table);
        ValidateNumberMouseObjects(1);
        _table.Name   = "Table";
        _table.Width  = ViewportWidth * .8f;
        _table.ScaleY = _table.ScaleX;

        var checkerBoard = Library.New("CheckerBoard");

        _table.AddChild(checkerBoard);
        checkerBoard.MouseEnabled = true;
        ValidateNumberMouseObjects(2);
        checkerBoard.Rotation = 30;
        checkerBoard.Name     = "Checkerboard";
        checkerBoard.Y        = checkerBoard.Height * .75f;

        var w = checkerBoard.Width;
        var h = checkerBoard.Height;

        var totalCheckers = 0;
        var isRed         = false;

        for (var __x = -3.5f; __x <= 3f; __x += 1f)
        {
            isRed = !isRed;
            for (var __y = -3.5f; __y <= 3.5f; __y += 1f)
            {
                isRed = !isRed;
                var checker = Library.New(isRed ? "RedChecker" : "BlackChecker");
                checker.Width = checker.Height = w / 8;
                checker.Name  = "Checker" + totalCheckers++;
                checkerBoard.AddChild(checker);
                checker.MouseEnabled = true;
                checker.X            = w * __x / 8f;
                checker.Y            = h * __y / 8f;

                checker.AddEventListener <MouseEvent>(MouseEvent.MOUSE_OVER, onAnythingOver);
                checker.AddEventListener <MouseEvent>(MouseEvent.MOUSE_OUT, onAnythingOut);
            }
        }

        _everythingContainer.AddEventListener <MouseEvent>(MouseEvent.MOUSE_DOWN, onAnythingPress);
        _everythingContainer.AddEventListener <MouseEvent>(MouseEvent.RELEASE_OUTSIDE, onAnythingUpOutside);
        AddEventListener <MouseEvent>(MouseEvent.MOUSE_DOWN, onStagePress);
    }
Beispiel #32
0
 private void StagePressComplete(DisplayObjectContainer d)
 {
 }
Beispiel #33
0
 public void Disable()
 {
     _mouseDownObject = null;
 }
 public static T Attach <T>(this DisplayObjectContainer c, T e) where T : DisplayObject
 {
     return(e.AttachTo(c));
 }
	void init(CEvent e ) {

		// Get first sprite
		SwfSprite c0 = getChildAt<SwfSprite> (0);

		// Re-create sprite 0
		container = new DisplayObjectContainer ();
		container.x = c0.x;
		container.y = c0.y;

		addChildAt (container, 0 );
		removeChild (c0);

		GraphicsDrawOP op0 = c0.graphics.drawOPs [0];
		offsetScale9Grid = new Rect (scale9Grid.x - c0.x, scale9Grid.y - c0.y, scale9Grid.width, scale9Grid.height);
		drawSize.x = op0.drawWidth;
		drawSize.y = op0.drawHeight;
		
		// Top left
		topLeftSprite = createRectTile (op0, new Rect (
			0,
			0,
			offsetScale9Grid.x,
			offsetScale9Grid.y
			));
		
		// Top Middle
		topMiddleSprite = createRectTile (op0, new Rect (
			offsetScale9Grid.x,
			0,
			offsetScale9Grid.xMax - offsetScale9Grid.x,
			offsetScale9Grid.y
			));
		
		// Top Right
		topRightSprite = createRectTile( op0, new Rect (
			offsetScale9Grid.xMax,
			0,
			op0.drawWidth-offsetScale9Grid.xMax,
			offsetScale9Grid.y
			));
		
		// Middle left
		middleLeftSprite = createRectTile ( op0, new Rect (
			0,
			offsetScale9Grid.y,
			offsetScale9Grid.x,
			offsetScale9Grid.yMax-offsetScale9Grid.y
			));
		
		// Middle middle
		middleMiddleSprite = createRectTile ( op0, new Rect (
			offsetScale9Grid.x,
			offsetScale9Grid.y,
			offsetScale9Grid.xMax-offsetScale9Grid.x,
			offsetScale9Grid.yMax-offsetScale9Grid.y
			));
		
		// Middle right
		middleRightSprite = createRectTile ( op0, new Rect (
			offsetScale9Grid.xMax,
			offsetScale9Grid.y,
			op0.drawWidth-offsetScale9Grid.xMax,
			offsetScale9Grid.yMax-offsetScale9Grid.y
			));
		
		// Bottom left
		bottomLeftSprite = createRectTile (op0, new Rect (
			0,
			offsetScale9Grid.yMax,
			offsetScale9Grid.x,
			offsetScale9Grid.y
			));
		
		// Bottom Middle
		bottomMiddleSprite = createRectTile (op0, new Rect (
			offsetScale9Grid.x,
			offsetScale9Grid.yMax,
			offsetScale9Grid.xMax - offsetScale9Grid.x,
			offsetScale9Grid.y
			));
		
		// Bottom Right
		bottomRightSprite = createRectTile( op0, new Rect (
			offsetScale9Grid.xMax,
			offsetScale9Grid.yMax,
			op0.drawWidth-offsetScale9Grid.xMax,
			offsetScale9Grid.y
			));

		// Init scale
		layoutScale9 ();
	}
Beispiel #36
0
 public void Enable()
 {
     _mouseDown = Input.GetMouseButton(0);
     _lastMousePos = Stage.Instance.TheCamera.ScreenToWorldPoint(new Vector3(Input.mousePosition.x, Input.mousePosition.y, 0));
     _mouseOverObject = GetObjectUnderMouse();
 }
Beispiel #37
0
    private void TestEventListeners()
    {
        _country = Library.New<CinchSprite>("Country");
        _state = Library.New<CinchSprite>("Stage");
        _city = Library.New<CinchSprite>("City");
        _house = Library.New<CinchSprite>("House");
        _country.Name = "Country";
        _state.Name = "State";
        _city.Name = "City";
        _house.Name = "House";
        _country.MouseEnabled = _state.MouseEnabled = _city.MouseEnabled = _house.MouseEnabled;
        _country.AddChild(_state);
        _state.AddChild(_city);
        _city.AddChild(_house);

        AssertEverybodyWillTrigger(MouseEvent.MOUSE_DOWN, false);
        AssertOnlyCityHasEventListener(MouseEvent.MOUSE_DOWN, false);

        _city.AddEventListener<MouseEvent>(MouseEvent.MOUSE_DOWN, GenericEventHandler);
        _city.AddEventListener<MouseEvent>(MouseEvent.MOUSE_DOWN, GenericEventHandler);
        _city.AddEventListener<MouseEvent>(MouseEvent.MOUSE_DOWN, GenericEventHandler);
        AssertEverybodyWillTrigger(MouseEvent.MOUSE_DOWN, true);
        AssertOnlyCityHasEventListener(MouseEvent.MOUSE_DOWN, true);

        _city.RemoveEventListener<MouseEvent>(MouseEvent.MOUSE_DOWN, GenericEventHandler);
        AssertEverybodyWillTrigger(MouseEvent.MOUSE_DOWN, false);
        AssertOnlyCityHasEventListener(MouseEvent.MOUSE_DOWN, false);

        _eventRecord = new List<String>();
        AssertEventRecordIs("");
        _country.AddEventListener<MouseEvent>(MouseEvent.MOUSE_DOWN, StackRecordingEventHandler, true);
        _state.AddEventListener<MouseEvent>(MouseEvent.MOUSE_DOWN, StackRecordingEventHandler, false);
        _city.AddEventListener<MouseEvent>(MouseEvent.MOUSE_DOWN, StackRecordingEventHandler, true);
        _city.DispatchEvent(new MouseEvent(MouseEvent.MOUSE_DOWN, _city, new Vector2(0, 0), new Vector2(0, 0)));
        AssertEventRecordIs("CAP:Country,AT:City,BUB:State");

        //removed the wrong handler, so should still do all the dispatching
        _country.RemoveEventListener<MouseEvent>(MouseEvent.MOUSE_DOWN, GenericEventHandler);
        //removed the right handler with wrong capture setting, so should still do all the dispatching
        _country.RemoveEventListener<MouseEvent>(MouseEvent.MOUSE_DOWN, StackRecordingEventHandler, false);
        _city.DispatchEvent(new MouseEvent(MouseEvent.MOUSE_DOWN, _city, new Vector2(0, 0), new Vector2(0, 0)));
        AssertEventRecordIs("CAP:Country,AT:City,BUB:State");
        _state.DispatchEvent(new MouseEvent(MouseEvent.MOUSE_DOWN, _city, new Vector2(0, 0), new Vector2(0, 0)));
        AssertEventRecordIs("CAP:Country,AT:State");

        //removed the right handler, so should do no the dispatching
        _country.RemoveEventListener<MouseEvent>(MouseEvent.MOUSE_DOWN, StackRecordingEventHandler, true);
        _city.DispatchEvent(new MouseEvent(MouseEvent.MOUSE_DOWN, _city, new Vector2(0, 0), new Vector2(0, 0)));
        AssertEventRecordIs("AT:City,BUB:State");
        _state.DispatchEvent(new MouseEvent(MouseEvent.MOUSE_DOWN, _city, new Vector2(0, 0), new Vector2(0, 0)));
        AssertEventRecordIs("AT:State");

        //removed the right handler with wrong capture setting, so should still do all the dispatching
        _state.RemoveEventListener<MouseEvent>(MouseEvent.MOUSE_DOWN, StackRecordingEventHandler, true);
        _city.DispatchEvent(new MouseEvent(MouseEvent.MOUSE_DOWN, _city, new Vector2(0, 0), new Vector2(0, 0)));
        AssertEventRecordIs("AT:City,BUB:State");
        _state.DispatchEvent(new MouseEvent(MouseEvent.MOUSE_DOWN, _city, new Vector2(0, 0), new Vector2(0, 0)));
        AssertEventRecordIs("AT:State");

        _state.RemoveEventListener<MouseEvent>(MouseEvent.MOUSE_DOWN, StackRecordingEventHandler);
        _city.DispatchEvent(new MouseEvent(MouseEvent.MOUSE_DOWN, _city, new Vector2(0, 0), new Vector2(0, 0)));
        AssertEventRecordIs("AT:City");
        _state.DispatchEvent(new MouseEvent(MouseEvent.MOUSE_DOWN, _city, new Vector2(0, 0), new Vector2(0, 0)));
        AssertEventRecordIs("");

        Debug.Log("WIN: TestEventListeners");
    }
    public override void OnAwake()
    {
        base.OnAwake();

        CinchOptions.UseTopLeftSpriteSheetCoordinates = true;
        CinchOptions.DefaultPixelsPerMeter = 100f;

        this.Name = "ParentingStage";
        AddSymbolDefinitions();

        AddEventListener<MouseEvent>(MouseEvent.MOUSE_DOWN, onStagePress);

        _everythingContainer = Library.New<DisplayObjectContainer>();
        _everythingContainer.Name = "Everything container";
        _everythingContainer.MouseEnabled = false;
        AddChild(_everythingContainer);

        _table = Library.New ("Table");
        _table.MouseEnabled = true;
        ValidateNumberMouseObjects(0);
        _everythingContainer.AddChild(_table);
        ValidateNumberMouseObjects(1);
        _table.Name = "Table";
        _table.Width = ViewportWidth * .8f;
        _table.ScaleY = _table.ScaleX;

        var checkerBoard = Library.New ("CheckerBoard");
        _table.AddChild(checkerBoard);
        checkerBoard.MouseEnabled = true;
        ValidateNumberMouseObjects(2);
        checkerBoard.Rotation = 30;
        checkerBoard.Name = "Checkerboard";
        checkerBoard.Y = checkerBoard.Height * .75f;

        var w = checkerBoard.Width;
        var h = checkerBoard.Height;

        var totalCheckers = 0;
        var isRed = false;
        for (var __x = -3.5f; __x <= 3f; __x += 1f)
        {
            isRed = !isRed;
            for (var __y = -3.5f; __y <= 3.5f; __y += 1f)
            {
                isRed = !isRed;
                var checker = Library.New (isRed ? "RedChecker" : "BlackChecker");
                checker.Width = checker.Height = w/8;
                checker.Name = "Checker" + totalCheckers++;
                checkerBoard.AddChild(checker);
                checker.MouseEnabled = true;
                checker.X = w * __x/8f;
                checker.Y = h * __y/8f;

                checker.AddEventListener<MouseEvent>(MouseEvent.MOUSE_OVER, onAnythingOver);
                checker.AddEventListener<MouseEvent>(MouseEvent.MOUSE_OUT, onAnythingOut);
            }
        }

        _everythingContainer.AddEventListener<MouseEvent>(MouseEvent.MOUSE_DOWN, onAnythingPress);
        _everythingContainer.AddEventListener<MouseEvent>(MouseEvent.RELEASE_OUTSIDE, onAnythingUpOutside);
        AddEventListener<MouseEvent>(MouseEvent.MOUSE_DOWN, onStagePress);
    }
 private void StagePressComplete(DisplayObjectContainer d)
 {
 }
Beispiel #40
0
 public static void MakeObjectInvisible(DisplayObjectContainer targetObj)
 {
     targetObj.Visible = false;
 }
Beispiel #41
0
    public void __RemoveMouseEnabledObject(DisplayObjectContainer obj)
    {
        if (!_mouseEnabledObjectIds.ContainsKey(obj.Id))
            return;

        _mouseEnabledObjects.Remove(obj);
        _mouseEnabledObjectIds.Remove(obj.Id);
    }
Beispiel #42
0
        public static T AttachTo <T>(this T e, DisplayObjectContainer c) where T : DisplayObject
        {
            c.addChild(e);

            return(e);
        }
Beispiel #43
0
    public void Update()
    {
        //just started
        if (_mouseOverObject == null)
            _mouseOverObject = GetObjectUnderMouse();

        var mouseDown = Input.GetMouseButton(0);
        var mousePos = Stage.Instance.TheCamera.ScreenToWorldPoint(new Vector3(Input.mousePosition.x, Input.mousePosition.y, 0));
        var stagePos = new Vector2(mousePos.x, mousePos.y) - Stage.Instance.__GetOffset();
        var localPos = stagePos;
        if (_lastMousePos.x == -999999 && _lastMousePos.y == -999999)
            _lastMousePos = mousePos;

        var mouseMoved = (Vector2)_lastMousePos != (Vector2)mousePos;
        var mouseButtonChanged = _mouseDown != mouseDown;

        DisplayObjectContainer newMouseOverObject = (mouseMoved || mouseButtonChanged) ?
                                                            (GetObjectUnderMouse() ?? Stage.Instance) :
                                                            _mouseOverObject;

        if (mouseMoved)
        {
            localPos = newMouseOverObject.GlobalToLocal(stagePos);

            if (newMouseOverObject != _mouseOverObject)
            {
                if (_mouseOverObject != null)
                {
                    var me = new MouseEvent(MouseEvent.MOUSE_OUT, _mouseOverObject, new Vector2(_mouseOverObject.MouseX, _mouseOverObject.MouseY), stagePos);
                    me.Bubbles = false;
                    _mouseOverObject.DispatchEvent(me);
                }

                if (newMouseOverObject != null)
                {
                    var me = new MouseEvent(MouseEvent.MOUSE_OVER, newMouseOverObject, localPos, stagePos);
                    me.Bubbles = false;
                    newMouseOverObject.DispatchEvent(me);
                }
            }

            //don't dispatch a move if we just entered or left
            if (newMouseOverObject == _mouseOverObject)
            {
                var me = new MouseEvent(MouseEvent.MOUSE_MOVE, newMouseOverObject, localPos, stagePos);
                me.Bubbles = false;
                newMouseOverObject.DispatchEvent(me);
            }
        }

        if (mouseDown != _mouseDown)
        {
            if (mouseDown)
            {
                newMouseOverObject.DispatchEvent(new MouseEvent(MouseEvent.MOUSE_DOWN, newMouseOverObject, localPos, stagePos));
                _mouseDownObject = newMouseOverObject;
            }
            else
            {
                newMouseOverObject.DispatchEvent(new MouseEvent(MouseEvent.MOUSE_UP, newMouseOverObject, localPos, stagePos));

                if (newMouseOverObject != _mouseDownObject && _mouseDownObject != null)
                    _mouseDownObject.DispatchEvent(new MouseEvent(MouseEvent.RELEASE_OUTSIDE, _mouseDownObject, localPos, stagePos));

                _mouseDownObject = null;
            }

        }

        _mouseDown = mouseDown;
        _lastMousePos = mousePos;
        _mouseOverObject = newMouseOverObject;
    }
Beispiel #44
0
    public void __AddMouseEnabledObject(DisplayObjectContainer obj)
    {
        if (_mouseEnabledObjectIds.ContainsKey(obj.Id))
            return;

        _mouseEnabledObjects.Add(obj);
        _mouseEnabledObjectIds.Add (obj.Id, obj);
        __SortMouseEnabledObjects();
    }
Beispiel #45
0
 public static void MakeObjectVisible(DisplayObjectContainer targetObj)
 {
     targetObj.Visible = true;
 }