示例#1
0
        public bool OnMouseReleased(ALayer2D parentLayer, ControlEventType eventType)
        {
            if (parentLayer.FocusedGraphicEntity2D == this)
            {
                Layer2D.BoardPlayerLayer2D.BoardPlayerLayer2D boardPlayerLayer2D = parentLayer as Layer2D.BoardPlayerLayer2D.BoardPlayerLayer2D;
                if (boardPlayerLayer2D != null && boardPlayerLayer2D.LevelTurnPhase == Model.Node.TestWorld.TurnPhase.MAIN)
                {
                    Vector2i mousePosition = parentLayer.MousePosition;

                    mousePosition.Y -= (int)(this.Bounds.Height / 2);
                    if (eventType == ControlEventType.MOUSE_LEFT_CLICK)
                    {
                        parentLayer.SendEventToWorld(Model.Event.EventType.PICK_CARD, parentLayer.GetEntityFromEntity2D(this), mousePosition.X + ":" + mousePosition.Y);
                    }
                }

                Layer2D.BoardNotifLayer2D.BoardNotifLayer2D boardNotifLayer2D = parentLayer as Layer2D.BoardNotifLayer2D.BoardNotifLayer2D;
                if (boardNotifLayer2D != null && boardNotifLayer2D.LevelTurnPhase == Model.Node.TestWorld.TurnPhase.MAIN)
                {
                    Vector2i mousePosition = parentLayer.MousePosition;

                    mousePosition.Y -= (int)(this.Bounds.Height / 2);
                    if (eventType == ControlEventType.MOUSE_LEFT_CLICK)
                    {
                        parentLayer.SendEventToWorld(Model.Event.EventType.PICK_CARD, parentLayer.GetEntityFromEntity2D(this), mousePosition.X + ":" + mousePosition.Y);
                    }
                }
            }
            return(true);
        }
示例#2
0
        public bool OnMouseClicked(ALayer2D parentLayer, ControlEventType eventType)
        {
            if (parentLayer is BoardGameLayer2D)
            {
                if (parentLayer.FocusedGraphicEntity2D == this)
                {
                    if (eventType == ControlEventType.MOUSE_LEFT_CLICK)
                    {
                        BoardGameLayer2D boardGameLayer2D = (parentLayer as BoardGameLayer2D);

                        if (boardGameLayer2D.CardPicked != null)
                        {
                            StarEntity starEntity = parentLayer.GetEntityFromEntity2D(this) as StarEntity;
                            CardEntity cardEntity = parentLayer.GetEntityFromEntity2D(boardGameLayer2D.CardPicked) as CardEntity;

                            if (starEntity.CanSocketCard(cardEntity))
                            {
                                boardGameLayer2D.SendEventToWorld(Model.Event.EventType.SOCKET_CARD, starEntity, null);
                            }
                        }
                        else if (boardGameLayer2D.SourceCardEntities2D != null && boardGameLayer2D.SourceCardEntities2D.Count > 0)
                        {
                            StarEntity starEntity = parentLayer.GetEntityFromEntity2D(this) as StarEntity;

                            boardGameLayer2D.SendEventToWorld(Model.Event.EventType.PICK_CARD, starEntity.CardSocketed, null);
                        }
                    }
                }
            }
            return(true);
        }
示例#3
0
        public virtual bool OnControlActivated(ControlEventType eventType, string details, bool mustForwardEvent)
        {
            if (mustForwardEvent == false)
            {
                return(mustForwardEvent);
            }

            if (eventType == ControlEventType.MOUSE_LEFT_CLICK ||
                eventType == ControlEventType.MOUSE_RIGHT_CLICK)
            {
                //Vector2i windowPosition = new Vector2i((int) this.Position.X, (int) this.Position.Y);

                //Vector2i mousePosition = this.MousePosition;

                //foreach (AEntity2D entity in this.objectToObject2Ds.Values)
                //{
                //    if (entity is IHitRect)
                //    {
                //        IHitRect hitRectEntity = entity as IHitRect;

                //        if (hitRectEntity.HitZone.Contains(mousePosition.X, mousePosition.Y))
                //        {
                //            if (details == "pressed")
                //            {
                //                hitRectEntity.OnMousePressed(this, eventType);
                //            }
                //            else if (details == "released")
                //            {
                //                hitRectEntity.OnMouseReleased(this, eventType);
                //            }
                //        }
                //    }
                //}
                if (this.FocusedGraphicEntity2D != null)
                {
                    if (details == "pressed")
                    {
                        mustForwardEvent &= this.SetSelectedGraphicEntity2D(this.FocusedGraphicEntity2D, eventType, details);
                    }
                }

                if (this.SelectedGraphicEntity2D != null)
                {
                    if (details == "click")
                    {
                        mustForwardEvent &= this.selectedGraphicEntity2D.OnMouseClicked(this, eventType);
                    }
                }

                if (this.SelectedGraphicEntity2D != null)
                {
                    if (details == "released")
                    {
                        mustForwardEvent &= this.SetSelectedGraphicEntity2D(null, eventType, details);
                    }
                }
            }
            return(mustForwardEvent);
        }
示例#4
0
        public override void OnMouseFocused(ALayer2D parentLayer, ControlEventType eventType)
        {
            base.OnMouseFocused(parentLayer, eventType);

            this.Zoom = 1;

            this.PlayAnimation(1);
        }
示例#5
0
        public void OnMouseFocused(ALayer2D parentLayer, ControlEventType eventType)
        {
            StarEntity starEntity = parentLayer.GetEntityFromEntity2D(this) as StarEntity;

            if (starEntity.CardSocketed != null)
            {
                parentLayer.SendEventToWorld(Model.Event.EventType.FOCUS_CARD_BOARD, starEntity.CardSocketed, null);
            }
        }
        public override bool OnMouseReleased(ALayer2D parentLayer, ControlEventType eventType)
        {
            if (parentLayer.FocusedGraphicEntity2D == this)
            {
            }
            this.Zoom = 1f;

            return(false);
        }
示例#7
0
        public void OnMouseFocused(ALayer2D parentLayer, ControlEventType eventType)
        {
            CJStarDomain domainEntity = parentLayer.GetEntityFromEntity2D(this) as CJStarDomain;

            if (domainEntity != null)
            {
                parentLayer.SendEventToWorld(Model.Event.EventType.FOCUS_DOMAIN_BOARD, domainEntity, null);
            }
        }
示例#8
0
        public override void OnMouseUnFocused(ALayer2D parentLayer, ControlEventType eventType)
        {
            if (this.isActive)
            {
                AObject2D.animationManager.StopAnimation(this);

                this.SpriteColor = new Color(0, 0, 0, 255);
            }
        }
示例#9
0
        public void OnMouseUnFocused(ALayer2D parentLayer, ControlEventType eventType)
        {
            parentLayer.SendEventToWorld(Model.Event.EventType.FOCUS_CARD_HAND, null, null);

            Layer2D.BoardPlayerLayer2D.BoardPlayerLayer2D boardPlayerLayer2D = parentLayer as Layer2D.BoardPlayerLayer2D.BoardPlayerLayer2D;
            if (boardPlayerLayer2D == null || boardPlayerLayer2D.SourceCardEntities2D == null || boardPlayerLayer2D.SourceCardEntities2D.Count == 0)
            {
                this.IsFocused = false;
            }
        }
示例#10
0
        public void OnControlActivated(ControlEventType eventType, string details)
        {
            int  nbLayer2D = this.LayersList.Count;
            bool continueToForwardEvent = true;

            while (nbLayer2D > 0)
            {
                continueToForwardEvent &= this.LayersList[nbLayer2D - 1].OnControlActivated(eventType, details, continueToForwardEvent);

                nbLayer2D--;
            }
        }
示例#11
0
        public override bool OnMouseReleased(ALayer2D parentLayer, ControlEventType eventType)
        {
            if (parentLayer.FocusedGraphicEntity2D == this)
            {
                base.OnMouseReleased(parentLayer, eventType);

                (parentLayer as BoardBannerLayer2D).ChangeLevel("StartPageLevel");
            }

            this.Zoom = 1f;

            return(false);
        }
示例#12
0
        //public override bool OnMouseClicked(ALayer2D parentLayer, ControlEventType eventType)
        //{
        //    return base.OnMouseClicked(;
        //}

        public override bool OnMouseReleased(ALayer2D parentLayer, ControlEventType eventType)
        {
            if (parentLayer.FocusedGraphicEntity2D == this)
            {
                base.OnMouseReleased(parentLayer, eventType);

                parentLayer.SendEventToWorld(Model.Event.EventType.LEVEL_CHANGE, null, "CardBoardLevel");
            }

            this.Zoom = 1f;

            return(false);
        }
示例#13
0
        public override bool OnControlActivated(ControlEventType eventType, string details, bool mustForwardEvent)
        {
            switch (eventType)
            {
            case ControlEventType.MOUSE_WHEEL:
                float delta = float.Parse(details);

                this.ZoomRatio -= delta;

                break;
            }

            return(mustForwardEvent);
        }
示例#14
0
        protected bool SetSelectedGraphicEntity2D(IHitRect selectedEntity, ControlEventType eventType, string details)
        {
            bool mustForwardEvent = true;

            if (this.selectedGraphicEntity2D != selectedEntity)
            {
                if (this.selectedGraphicEntity2D != null)
                {
                    mustForwardEvent &= this.selectedGraphicEntity2D.OnMouseReleased(this, eventType);
                }

                this.selectedGraphicEntity2D = selectedEntity;

                if (this.selectedGraphicEntity2D != null)
                {
                    mustForwardEvent &= this.selectedGraphicEntity2D.OnMousePressed(this, eventType);
                }
            }

            return(mustForwardEvent);
        }
示例#15
0
        //public override bool OnMouseClicked(ALayer2D parentLayer, ControlEventType eventType)
        //{
        //    return false;
        //}

        public override bool OnMouseReleased(ALayer2D parentLayer, ControlEventType eventType)
        {
            if (parentLayer.FocusedGraphicEntity2D == this)
            {
                base.OnMouseReleased(parentLayer, eventType);

                BoardNotifLayer2D boardPlayerLayer2D = (parentLayer as BoardNotifLayer2D);

                if (boardPlayerLayer2D.IsRunningBehavior)
                {
                    boardPlayerLayer2D.SendEventToWorld(Model.Event.EventType.NEXT_BEHAVIOR, null, null);
                }
                else
                {
                    boardPlayerLayer2D.GoOnTurnPhase(Model.Node.TestWorld.TurnPhase.END_TURN);
                }
            }

            this.Zoom = 1;

            return(false);
        }
示例#16
0
 public abstract void OnMouseUnFocused(ALayer2D parentLayer, ControlEventType eventType);
示例#17
0
 public ControlEvent(ControlEventType type)
 {
     _type = type;
 }
示例#18
0
 private void NotifyControlActivated(ControlEventType controlEvent, string details)
 {
     this.ControlActivated?.Invoke(controlEvent, details);
 }
 public override bool OnMouseClicked(ALayer2D parentLayer, ControlEventType eventType)
 {
     return(false);
 }
示例#20
0
 public ControlEvent(ControlEventType type)
 {
     _type = type;
 }
示例#21
0
 public void OnMouseUnFocused(ALayer2D parentLayer, ControlEventType eventType)
 {
     parentLayer.SendEventToWorld(Model.Event.EventType.FOCUS_CARD_BOARD, null, null);
 }
示例#22
0
 public abstract bool OnMousePressed(ALayer2D parentLayer, ControlEventType eventType);
示例#23
0
 public bool OnMouseReleased(ALayer2D parentLayer, ControlEventType eventType)
 {
     return(true);
 }
示例#24
0
 public virtual bool OnMouseClicked(ALayer2D parentLayer, ControlEventType eventType)
 {
     return(false);
 }
示例#25
0
 public override bool OnMousePressed(ALayer2D parentLayer, ControlEventType eventType)
 {
     this.Zoom = 1.1f;
     return(false);
 }
示例#26
0
        public virtual bool OnMouseReleased(ALayer2D parentLayer, ControlEventType eventType)
        {
            this.PlaySound("buttonClicked");

            return(false);
        }
示例#27
0
 public virtual void OnMouseFocused(ALayer2D parentLayer, ControlEventType eventType)
 {
     this.PlaySound("buttonFocused");
 }