public MultiplayerBase(string address, int port, PGGI.PGGIProvider provider)
        {
            ISpriteBatchService spriteService = Atom.Shared.Globals.Engine.GetService<ISpriteBatchService>();
            IInputService inputService = Atom.Shared.Globals.Engine.GetService<IInputService>();

            contract = inputService.CreateContract();
            contract.Enabled = true;
            contract.SubscribedTouchEvents = TouchStates.OnDoubleTap | TouchStates.OnDrag | TouchStates.OnTap;
            contract.TouchEventHandler += contract_TouchEventHandler;

            spriteBatch = spriteService.SpriteBatch;

            SelectionState = SelectionState.Selection;
            GameState = MultiplayerGameState.Connecting;
            GameCounter = 0;
            client = new Client();
            client.OnConnection += new EventHandler<ConnectionArgs>(ClientOnConnection);
            client.OnPacketRecieved += new EventHandler<PacketRecievedArgs>(ClientOnPacket);
            Packet ConnectionPacket = new Packet();
            ConnectionPacket.Write(provider.PGGI);
            ConnectionPacket.Write(provider.Token);
            client.Connect(new System.Net.DnsEndPoint(address, port), ConnectionPacket);
            Syncing = false;
            FramesToSpin = int.MaxValue;
            Manager = new MultiplayerGameManager();
            Content = new ContentManager(Atom.Shared.Globals.Engine, "Content");

            Fleet = Content.Load<Texture2D>("Graphics/Fleets/1");
        }
Exemple #2
0
 private StarSelectorState GetSelectorState(SelectionState state)
 {
     if (state == SelectionState.Disabled) return disabled;
     else if (state == SelectionState.Highlighted) return highlighted;
     else if (state == SelectionState.Pressed) return pressed;
     return normal;
 }
Exemple #3
0
        protected virtual void DoStateTransition(SelectionState state, bool instant)
        {
            Color normalColor;
            Sprite highlightedSprite;
            string normalTrigger;
            switch (state)
            {
                case SelectionState.Normal:
                    normalColor = this.m_Colors.normalColor;
                    highlightedSprite = null;
                    normalTrigger = this.m_AnimationTriggers.normalTrigger;
                    break;

                case SelectionState.Highlighted:
                    normalColor = this.m_Colors.highlightedColor;
                    highlightedSprite = this.m_SpriteState.highlightedSprite;
                    normalTrigger = this.m_AnimationTriggers.highlightedTrigger;
                    break;

                case SelectionState.Pressed:
                    normalColor = this.m_Colors.pressedColor;
                    highlightedSprite = this.m_SpriteState.pressedSprite;
                    normalTrigger = this.m_AnimationTriggers.pressedTrigger;
                    break;

                case SelectionState.Disabled:
                    normalColor = this.m_Colors.disabledColor;
                    highlightedSprite = this.m_SpriteState.disabledSprite;
                    normalTrigger = this.m_AnimationTriggers.disabledTrigger;
                    break;

                default:
                    normalColor = Color.black;
                    highlightedSprite = null;
                    normalTrigger = string.Empty;
                    break;
            }
            if (base.gameObject.activeInHierarchy)
            {
                switch (this.m_Transition)
                {
                    case Transition.ColorTint:
                        this.StartColorTween((Color) (normalColor * this.m_Colors.colorMultiplier), instant);
                        break;

                    case Transition.SpriteSwap:
                        this.DoSpriteSwap(highlightedSprite);
                        break;

                    case Transition.Animation:
                        this.TriggerAnimation(normalTrigger);
                        break;
                }
            }
        }
Exemple #4
0
 protected override void DoStateTransition(SelectionState state, bool instant)
 {
     base.DoStateTransition(state, instant);
     StarSelectorState sState = GetSelectorState(state);
     if(this.state != sState)
     {
         previousState = this.state;
         this.state = sState;
         stateTimer = 0;
     }
 }
Exemple #5
0
        //the following two overridden methods are what are known to perform sprite swaps in selectable
        protected override void DoStateTransition(SelectionState state, bool instant)
        {
            base.DoStateTransition(state, instant);

            if (transition == Transition.ColorTint)
            {
                if (state == SelectionState.Normal && _isOnTab)
                    SetSelected(_isOnTab);
                if (state == SelectionState.Highlighted && _isOnTab)
                    SetSelected(_isOnTab);
            }
            else
                SetSelected(_isOnTab);
        }
        protected override void DoStateTransition(SelectionState state, bool instant)
        {
            base.DoStateTransition(state, instant);

            // Check if the script is enabled
            if (!this.enabled || !this.gameObject.activeInHierarchy)
                return;

            switch (state)
            {
                case SelectionState.Normal:
                    if (this.m_NameTextComponent != null) this.m_NameTextComponent.canvasRenderer.SetColor(this.m_NameNormalColor);
                    if (this.m_ClassTextComponent != null) this.m_ClassTextComponent.canvasRenderer.SetColor(this.m_ClassNormalColor);
                    if (this.m_LevelTextComponent != null) this.m_LevelTextComponent.canvasRenderer.SetColor(this.m_LevelNormalColor);
                    break;
                case SelectionState.Highlighted:
                    if (this.m_NameTextComponent != null) this.m_NameTextComponent.canvasRenderer.SetColor(this.m_NameHighlightColor);
                    if (this.m_ClassTextComponent != null) this.m_ClassTextComponent.canvasRenderer.SetColor(this.m_ClassHighlightColor);
                    if (this.m_LevelTextComponent != null) this.m_LevelTextComponent.canvasRenderer.SetColor(this.m_LevelHighlightColor);
                    break;
            }
        }
Exemple #7
0
        void Update()
        {
            Selected.RemoveAll(view => view == null || view.gameObject == null);

            if (mSelectionState == SelectionState.Boxing && Input.GetMouseButtonUp((int)MouseButton.LeftMouse))
            {
                SelectionManager.FinishBoxSelection(Input.GetKey(KeyCode.LeftShift), Input.mousePosition);
                mSelectionState = SelectionState.Idle;
            }

            SelectionManager.Update(Input.mousePosition);
            if (EventSystem.current.IsPointerOverGameObject())
            {
                return;
            }

            if (mCurrentAction != null && !EventSystem.current.IsPointerOverGameObject())
            {
                var mapHit = mRaycaster.Raycast <MapView>(Input.mousePosition);
                if (mapHit.IsEmpty())
                {
                    return;
                }

                var mapPoint = GameUtils.GetFlatPosition(mapHit.HitPoint);
                mCurrentAction.Move(mapPoint);

                if (Input.GetMouseButtonDown((int)MouseButton.LeftMouse))
                {
                    try
                    {
                        mCurrentAction.Resolve(mapPoint);
                    }
                    finally
                    {
                        mCurrentAction = null;
                    }
                    return;
                }

                if (Input.GetMouseButtonDown((int)MouseButton.RightMouse))
                {
                    try
                    {
                        mCurrentAction.Cancel();
                    }
                    finally
                    {
                        mCurrentAction = null;
                    }
                    return;
                }

                return;
            }

            if (mSelectionState == SelectionState.Idle && Input.GetMouseButtonDown((int)MouseButton.LeftMouse))
            {
                mSelectionState = SelectionState.Choose;
            }

            if (mSelectionState == SelectionState.Choose)
            {
                if (Vector2.Distance(Input.mousePosition, mLastMousePosition) > 1)
                {
                    SelectionManager.StartBoxSelection(Input.mousePosition);
                    mSelectionState = SelectionState.Boxing;
                }
                else if (Input.GetMouseButtonUp((int)MouseButton.LeftMouse))
                {
                    SelectionManager.SelectSingle(Input.GetKey(KeyCode.LeftShift), Input.mousePosition);
                    mSelectionState = SelectionState.Idle;
                }
            }

            if (Input.GetMouseButtonDown((int)MouseButton.RightMouse))
            {
                var viewHit = mRaycaster.Raycast <SelectableView>(Input.mousePosition);
                if (!viewHit.IsEmpty())
                {
                    foreach (var view in Selected)
                    {
                        if (!view.IsControlable)
                        {
                            continue;
                        }

                        if (viewHit.Object.IsControlable)
                        {
                            view.OnRightClick(viewHit.Object);
                        }
                        else
                        {
                            view.OnEnemyRightClick(viewHit.Object);
                        }
                    }

                    return;
                }

                var mapHit = mRaycaster.Raycast <MapView>(Input.mousePosition);
                if (!mapHit.IsEmpty())
                {
                    var mapPoint = GameUtils.GetFlatPosition(mapHit.HitPoint);
                    ForwardRightClick(mapPoint);

                    return;
                }
            }

            mLastMousePosition = Input.mousePosition;
        }
Exemple #8
0
        /// <summary>
        /// Not called when the Item handles the Down event.
        /// </summary>
        //   6   //
        private void List_ButtonDownEvent(object sender, MouseButtonEventArgs e)
        {
            if (_currentSelectionState == null) _currentSelectionState = new SelectionState();
            _currentSelectionState.HandledEvent = e;

            if (_currentSelectionState.ListViewItemEvent == null
             && _currentSelectionState.HandledEvent != null
             && _currentSelectionState.PreviewedEvent != null
             && _currentSelectionState.HandledEvent.Timestamp == _currentSelectionState.PreviewedEvent.Timestamp)
            {
                SelectListViewItems(_currentSelectionState.HandledEvent);
            }
        }
        protected override void DoStateTransition(SelectionState state, bool instant) {

            if(isHighlightDisabled) {

                Color tintColor = _disabledHighlightedColor;
                Sprite transitionSprite = _disabledHighlightedSprite;
                string triggerName = _disabledHighlightedTrigger;

                if(gameObject.activeInHierarchy) {
                    switch(this.transition) {
                        case Transition.ColorTint:
                            StartColorTween(tintColor * colors.colorMultiplier, instant);
                            break;
                        case Transition.SpriteSwap:
                            DoSpriteSwap(transitionSprite);
                            break;
                        case Transition.Animation:
                            TriggerAnimation(triggerName);
                            break;
                    }
                }

            } else {
                base.DoStateTransition(state, instant);
            }
        }
 public static void Selection(D2DMapEditor d2d, Map map, MapInfo mapInfo, int layerIndex, SelectionState state)
 {
     switch (state)
     {
         case SelectionState.StartSelection:
             mapInfo.Selection = new SelectionTool();
             mapInfo.Selection.IsDragging = true;
             mapInfo.Selection.StartDrag = new Point(InputHelper.MapPosition.X, InputHelper.MapPosition.Y);
             mapInfo.Selection.StopDrag = new Point(InputHelper.MapPosition.X, InputHelper.MapPosition.Y);
             break;
         case SelectionState.Dragging:
             if (mapInfo.Selection.IsDragging)
             {
                 mapInfo.Selection.StopDrag = new Point(InputHelper.MapPosition.X, InputHelper.MapPosition.Y);
                 d2d.RenderMap();
             }
             break;
         case SelectionState.EndSelection:
             mapInfo.Selection.IsDragging = false;
             mapInfo.Selection.StopDrag = new Point(InputHelper.MapPosition.X, InputHelper.MapPosition.Y);
             d2d.RenderMap();
             break;
         case SelectionState.SelectAll:
             mapInfo.Selection = new SelectionTool();
             mapInfo.Selection.StartDrag = new Point(0, 0);
             mapInfo.Selection.StopDrag = new Point(map.Layers[layerIndex].Width, map.Layers[layerIndex].Height);
             d2d.RenderMap();
             break;
         case SelectionState.ClearSelection:
             mapInfo.Selection = new SelectionTool();
             break;
         default:
             break;
     }
 }
Exemple #11
0
 private void EndSelect(bool success)
 {
     if (success)
     {
         ui.Add(selectableHex);
         OnSelect();
         selectableArea.Clear();
     }
     else
     {
         selectionState = SelectionState.End;
         selectedArea.RemoveAll((hex) => { ui.Remove(hex); return true; });
     }
 }
Exemple #12
0
        void DrawBlockSelection(IMySlimBlock block, SelectionState state, bool primarySelection = false)
        {
            IMyCubeGrid           grid = block.CubeGrid;
            MyCubeBlockDefinition def  = (MyCubeBlockDefinition)block.BlockDefinition;

            Color color = (state == SelectionState.InvalidButMirrorValid ? Color.Yellow : (state == SelectionState.Valid ? Color.Green : Color.Red));

            MatrixD      worldMatrix;
            BoundingBoxD localBB;

            #region Compute box
            MyCubeBlock fatBlock = block.FatBlock as MyCubeBlock;
            if (fatBlock != null)
            {
                worldMatrix = fatBlock.PositionComp.WorldMatrixRef;

                if (Main.Tick % (Constants.TICKS_PER_SECOND / 4) == 0 || !LocalBBCache.TryGetValue(block, out localBB))
                {
                    BoundingBox localAABB = fatBlock.PositionComp.LocalAABB;
                    localBB = new BoundingBoxD(localAABB.Min, localAABB.Max);

                    #region Subpart localBB inclusion
                    if (fatBlock.Subparts != null)
                    {
                        MatrixD transformToBlockLocal = fatBlock.PositionComp.WorldMatrixInvScaled;

                        foreach (VRage.Game.Entity.MyEntitySubpart s1 in fatBlock.Subparts.Values)
                        {
                            MyOrientedBoundingBoxD obbS1 = new MyOrientedBoundingBoxD(s1.PositionComp.LocalAABB, s1.PositionComp.WorldMatrixRef);
                            obbS1.GetCorners(Corners, 0);

                            for (int i = 0; i < Corners.Length; i++)
                            {
                                Vector3D corner = Corners[i];
                                localBB.Include(Vector3D.Transform(corner, transformToBlockLocal));
                            }

                            if (s1.Subparts != null)
                            {
                                foreach (VRage.Game.Entity.MyEntitySubpart s2 in s1.Subparts.Values)
                                {
                                    MyOrientedBoundingBoxD obbS2 = new MyOrientedBoundingBoxD(s2.PositionComp.LocalAABB, s2.PositionComp.WorldMatrixRef);
                                    obbS2.GetCorners(Corners, 0);

                                    for (int i = 0; i < Corners.Length; i++)
                                    {
                                        Vector3D corner = Corners[i];
                                        localBB.Include(Vector3D.Transform(corner, transformToBlockLocal));
                                    }

                                    if (s2.Subparts != null)
                                    {
                                        foreach (VRage.Game.Entity.MyEntitySubpart s3 in s2.Subparts.Values)
                                        {
                                            MyOrientedBoundingBoxD obbS3 = new MyOrientedBoundingBoxD(s3.PositionComp.LocalAABB, s3.PositionComp.WorldMatrixRef);
                                            obbS3.GetCorners(Corners, 0);

                                            for (int i = 0; i < Corners.Length; i++)
                                            {
                                                Vector3D corner = Corners[i];
                                                localBB.Include(Vector3D.Transform(corner, transformToBlockLocal));
                                            }

                                            if (s3.Subparts != null)
                                            {
                                                foreach (VRage.Game.Entity.MyEntitySubpart s4 in s3.Subparts.Values)
                                                {
                                                    MyOrientedBoundingBoxD obbS4 = new MyOrientedBoundingBoxD(s4.PositionComp.LocalAABB, s4.PositionComp.WorldMatrixRef);
                                                    obbS4.GetCorners(Corners, 0);

                                                    for (int i = 0; i < Corners.Length; i++)
                                                    {
                                                        Vector3D corner = Corners[i];
                                                        localBB.Include(Vector3D.Transform(corner, transformToBlockLocal));
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                    #endregion

                    LocalBBCache[block] = localBB;
                }
            }
            else
            {
                Matrix localMatrix;
                block.Orientation.GetMatrix(out localMatrix);
                localMatrix.Translation = new Vector3(block.Position) * grid.GridSize;
                worldMatrix             = localMatrix * grid.WorldMatrix;

                Vector3 halfSize = def.Size * (grid.GridSize * 0.5f);
                localBB = new BoundingBoxD(-halfSize, halfSize);
            }
            #endregion

            localBB.Inflate((grid.GridSizeEnum == MyCubeSize.Large ? 0.1 : 0.03));
            float lineWidth;

            if (primarySelection)
            {
                lineWidth = (grid.GridSizeEnum == MyCubeSize.Large ? 0.02f : 0.016f);
            }
            else
            {
                lineWidth = (grid.GridSizeEnum == MyCubeSize.Large ? 0.25f : 0.1f); // thicker mirrored selections to see better in distance
            }
            DrawSelectionLines(ref worldMatrix, ref localBB, color, lineWidth);
        }
Exemple #13
0
 protected override void DoStateTransition(SelectionState state, bool instant)
 {
     m_StateTransitions.Add(state);
     base.DoStateTransition(state, instant);
 }
Exemple #14
0
		void UpdateCaretPropertiesCore(bool forceInvalidateVisual) {
			if (layer.TextView.IsClosed)
				return;
			StopTimer();
			var line = textCaret.ContainingTextViewLine;
			oldSelectionState = new SelectionState(layer.TextView.Selection);
			bool oldDrawCaretShape = drawCaretShape;
			drawCaretShape = line.VisibilityState != VisibilityState.Unattached;
			bool drawOverwriteMode = OverwriteMode && textCaret.CurrentPosition.Position < line.End && layer.TextView.Selection.IsEmpty;

			var vpos = textCaret.CurrentPosition;
			if (drawOverwriteMode) {
				var textBounds = line.GetExtendedCharacterBounds(vpos);
				left = textBounds.Left;
				width = textBounds.Width;
			}
			else {
				if (vpos.Position != line.Start && !vpos.IsInVirtualSpace)
					left = line.GetExtendedCharacterBounds(vpos.Position - 1).Trailing;
				else
					left = line.GetExtendedCharacterBounds(vpos).Leading;
				width = SystemParameters.CaretWidth;
			}

			height = line.TextHeight;
			if (drawCaretShape) {
				if (!imeStarted && layer.TextView.VisualElement.IsKeyboardFocused && layer.TextView.VisualElement.IsVisible)
					StartTimer();
				top = line.TextTop;
				Canvas.SetLeft(this, left);
				Canvas.SetTop(this, top);
			}
			else {
				layer.Opacity = 0;
				top = double.NaN;
			}

			var invalidateVisual = caretGeometry.SetProperties(width, height, drawOverwriteMode);
			invalidateVisual |= forceInvalidateVisual || oldDrawCaretShape != drawCaretShape;
			if (invalidateVisual)
				InvalidateVisual();
		}
Exemple #15
0
 public void FixSelection()
 {
     _state = SelectionState.Fixed;
     FireSelectionFixed();
 }
Exemple #16
0
 private bool IsTransitionTo(int index, SelectionState selectionState)
 {
     return(index < m_StateTransitions.Count && m_StateTransitions[index] == selectionState);
 }
Exemple #17
0
 public bool Equals(SelectionState other) => state == other.state;
        /// <summary>
        /// Selects the entities in the list of model components.
        /// </summary>
        /// <param name="?"></param>
        public void SelectEntities(List <ModelComponent> EntityList)
        {
            // Filter out zombie unit from player's selected list
            for (int i = 0; i < EntityList.Count; ++i)
            {
                if (EntityList[i] is UnitComponent)
                {
                    if (((UnitComponent)EntityList[i]).IsZombie)
                    {
                        EntityList.Remove(EntityList[i]);
                    }
                }
            }

            SelectionState selectionState = getGameModel().GetSelectionState();

            selectionState.ClearSelectionState();

            bool hasUnits          = false;
            bool hasPlayerEntities = false;

            PlayerComponent player = (PlayerComponent)getPlayerList().GetChildren()[0];

            foreach (ModelComponent entity in EntityList)
            {
                if (entity is UnitComponent)
                {
                    hasUnits = true;

                    if (player.GetUnitList().GetChildren().Contains(entity))
                    {
                        hasPlayerEntities = true;
                    }
                }
                else if (entity is Building)
                {
                    if (player.BuildingList.GetChildren().Contains(entity))
                    {
                        hasPlayerEntities = true;
                    }
                }
            }

            foreach (ModelComponent entity in EntityList)
            {
                if (hasUnits && hasPlayerEntities)
                {
                    if (entity is UnitComponent && player.GetUnitList().GetChildren().Contains(entity))
                    {
                        selectionState.SelectEntity(entity);
                    }
                }
                else if (hasPlayerEntities)
                {
                    if (entity is Building && player.BuildingList.GetChildren().Contains(entity))
                    {
                        selectionState.SelectEntity(entity);
                    }
                }
                else if (hasUnits)
                {
                    if (entity is UnitComponent)
                    {
                        selectionState.SelectEntity(entity);
                    }
                }
                else
                {
                    selectionState.SelectEntity(entity);
                }
            }
        }
Exemple #19
0
 // Use this for initialization
 void Start()
 {
     currentSelTarget = SelectionState.DESELECTED;
     HSrndr           = gameObject.GetComponent <SpriteRenderer>();
     HSrndr.enabled   = false;
 }
        protected override void OnMouseMove(object sender, MouseEventArgs e)
        {
            if (SelectedElement == null) State = SelectionState.Idle;

            if (State == SelectionState.Dragging)
            {
                var pos = e.GetPosition(Editor);
                var newPos = Editor.PointToPinball(new Vector(pos.X, pos.Y) - delta);

                SelectedElement.Location = newPos;

                posChange = new TranslationChange(SelectedElement, newPos - startVector);

                Editor.Invalidate();
            }
            else if (State == SelectionState.Shaping)
            {
                var pos = e.GetPosition(Editor);
                currentPoint = new Point(pos.X, pos.Y);

                SelectedElement.Scale = ((currentPoint - shapeData.origin).Length / (shapeData.startPoint - shapeData.origin).Length) * shapeData.initialScale;

                var newLoc = Editor.PointToPinball(shapeData.origin) - SelectedElement.GetRotationOrigin();
                SelectedElement.Location = new Vector(newLoc.X, newLoc.Y);
                SelectedElement.BaseRotation = shapeData.initialRotation + Vector.AngleBetween(shapeData.startPoint - shapeData.origin, currentPoint - shapeData.origin);

                Editor.Invalidate();
            }
        }
 public void OnSelectionStateChanged(SelectionState state)
 {
     Tint.ByState(state, gameObject);
 }
        protected override void OnMouseDown(object sender, MouseEventArgs e)
        {
            // Only act if we're idle
            if (State == SelectionState.Idle)
            {
                if (e.LeftButton == MouseButtonState.Pressed)
                {
                    if (SelectedElement != null && Control.ModifierKeys == System.Windows.Forms.Keys.Control)
                    {
                        State = SelectionState.Shaping;

                        var pos = Editor.PointToEditor(SelectedElement.Location + SelectedElement.GetRotationOrigin());
                        shapeData.origin = new Point(pos.X, pos.Y);

                        shapeData.startPoint = e.GetPosition(Editor);
                        double factor = (shapeData.startPoint - shapeData.origin).Length / MIN_LENGTH;
                        if (factor < 1)
                        {
                            shapeData.startPoint += (shapeData.startPoint - shapeData.origin) * (1 / factor);
                        }

                        currentPoint = new Point(shapeData.startPoint.X, shapeData.startPoint.Y);

                        shapeData.initialPoint = SelectedElement.Location;
                        shapeData.initialScale = SelectedElement.Scale;
                        shapeData.initialRotation = SelectedElement.BaseRotation;
                    }
                    else
                    {
                        State = SelectionState.Dragging;

                        var pos = e.GetPosition(Editor);
                        Point loc = Editor.PointToPinball(pos);

                        PinballElement element = FindElement(loc);
                        if (element != null)
                        {
                            // Select
                            SelectedElement = element;
                            this.delta = new Vector(pos.X, pos.Y) - Editor.PointToEditor(SelectedElement.Location);
                            startVector = SelectedElement.Location;
                        }
                        else
                        {
                            SelectedElement = null;
                        }
                    }
                }
            }
        }
Exemple #23
0
 // Use this for initialization
 void Start()
 {
     gameState          = GameState.Default;
     selectionState     = SelectionState.Default;
     objectsDepthOffset = mainPlanet.transform.position.z;
 }
        protected override void OnMouseLeftButtonUp(MouseButtonEventArgs e)
        {
            base.OnMouseLeftButtonUp(e);

            if (selectionStart.Col != selectionEnd.Col || selectionStart.Row != selectionEnd.Row)
                selectionState = SelectionState.Selected;
            else
                selectionState = SelectionState.None;
            ReleaseMouseCapture();
        }
Exemple #25
0
    public void ChangeSelectionState(SelectionState state)
    {
        if (selectionState != state)
        {
            selectionState = state;
            switch (state)
            {
            case SelectionState.Default:
            {
                SpaceshipManager.instance.DeselectSpaceship();
                BuildingInfoPanel.instance.OpenCloseBuildingInfoPanel(false);
                SpaceportInfoPanel.instance.DisplayPanel(false);
                EnemiesManager.instance.DeselectEnemy();
                PlanetaryShieldControlPanel.instance.DisplayPanel(false);
                CollectorControlPanel.instance.DisplayPanel(false);
                DysonSphereControlPanel.instance.DisplayPanel(false);
                InfrastructureManager.instance.DeselectBuilding();
                break;
            }

            case SelectionState.SpaceshipSelected:
            {
                BuildingInfoPanel.instance.OpenCloseBuildingInfoPanel(false);
                SpaceportInfoPanel.instance.DisplayPanel(false);
                EnemiesManager.instance.DeselectEnemy();
                PlanetaryShieldControlPanel.instance.DisplayPanel(false);
                CollectorControlPanel.instance.DisplayPanel(false);
                DysonSphereControlPanel.instance.DisplayPanel(false);
                InfrastructureManager.instance.DeselectBuilding();
                break;
            }

            case SelectionState.BuildingSelected:
            {
                SpaceshipManager.instance.DeselectSpaceship();
                SpaceportInfoPanel.instance.DisplayPanel(false);
                EnemiesManager.instance.DeselectEnemy();
                PlanetaryShieldControlPanel.instance.DisplayPanel(false);
                CollectorControlPanel.instance.DisplayPanel(false);
                DysonSphereControlPanel.instance.DisplayPanel(false);
                break;
            }

            case SelectionState.ShopItemSelected:
            {
                SpaceshipManager.instance.DeselectSpaceship();
                BuildingInfoPanel.instance.OpenCloseBuildingInfoPanel(false);
                SpaceportInfoPanel.instance.DisplayPanel(false);
                EnemiesManager.instance.DeselectEnemy();
                PlanetaryShieldControlPanel.instance.DisplayPanel(false);
                CollectorControlPanel.instance.DisplayPanel(false);
                DysonSphereControlPanel.instance.DisplayPanel(false);
                InfrastructureManager.instance.DeselectBuilding();
                break;
            }

            case SelectionState.EnemySelected:
            {
                SpaceshipManager.instance.DeselectSpaceship();
                BuildingInfoPanel.instance.OpenCloseBuildingInfoPanel(false);
                SpaceportInfoPanel.instance.DisplayPanel(false);
                PlanetaryShieldControlPanel.instance.DisplayPanel(false);
                CollectorControlPanel.instance.DisplayPanel(false);
                DysonSphereControlPanel.instance.DisplayPanel(false);
                InfrastructureManager.instance.DeselectBuilding();
                break;
            }

            case SelectionState.PlanetaryShieldSelected:
            {
                SpaceshipManager.instance.DeselectSpaceship();
                BuildingInfoPanel.instance.OpenCloseBuildingInfoPanel(false);
                SpaceportInfoPanel.instance.DisplayPanel(false);
                EnemiesManager.instance.DeselectEnemy();
                CollectorControlPanel.instance.DisplayPanel(false);
                DysonSphereControlPanel.instance.DisplayPanel(false);
                InfrastructureManager.instance.DeselectBuilding();
                break;
            }

            case SelectionState.CollectorSelected:
            {
                SpaceshipManager.instance.DeselectSpaceship();
                BuildingInfoPanel.instance.OpenCloseBuildingInfoPanel(false);
                SpaceportInfoPanel.instance.DisplayPanel(false);
                EnemiesManager.instance.DeselectEnemy();
                PlanetaryShieldControlPanel.instance.DisplayPanel(false);
                DysonSphereControlPanel.instance.DisplayPanel(false);
                InfrastructureManager.instance.DeselectBuilding();
                break;
            }

            case SelectionState.DysonSphereSelected:
            {
                SpaceshipManager.instance.DeselectSpaceship();
                BuildingInfoPanel.instance.OpenCloseBuildingInfoPanel(false);
                SpaceportInfoPanel.instance.DisplayPanel(false);
                EnemiesManager.instance.DeselectEnemy();
                PlanetaryShieldControlPanel.instance.DisplayPanel(false);
                CollectorControlPanel.instance.DisplayPanel(false);
                InfrastructureManager.instance.DeselectBuilding();
                break;
            }
            }
        }
        else
        {
        }
    }
		/// <summary>
		/// Does the state transition.
		/// </summary>
		/// <param name="state">State.</param>
		/// <param name="instant">If set to <c>true</c> instant.</param>
		protected override void DoStateTransition(SelectionState state, bool instant)
		{
			base.DoStateTransition(state, instant);
			
			// Check the state which we are transitioning to
			if (state == SelectionState.Normal || state == SelectionState.Highlighted)
			{
				// Save the state
				this.m_IsHighlighted = (state == SelectionState.Highlighted);
				
				// Transition the image
				if (this.m_Image != null)
				{
					switch (state)
					{
					case SelectionState.Normal:
						this.m_Image.overrideSprite = (this.isOn ? this.m_ActiveSprite : null);
						break;
					case SelectionState.Highlighted:
						this.m_Image.overrideSprite = (this.isOn ? this.m_ActiveSprite : this.m_HoverSprite);
						break;
					}
				}
				
				// Transition the title text
				if (this.m_TitleText != null)
				{
					Color tColor = (!this.m_IsClosed) ? this.m_TitleNormalColor : this.m_TitleClosedColor;
					
					if (this.m_IsHighlighted)
					{
						tColor = new Color(
							Mathf.Clamp((tColor.r * this.m_HighlighColorMultiplier), 0f, 1f),
							Mathf.Clamp((tColor.g * this.m_HighlighColorMultiplier), 0f, 1f),
							Mathf.Clamp((tColor.b * this.m_HighlighColorMultiplier), 0f, 1f),
							Mathf.Clamp((tColor.a * this.m_HighlighColorMultiplier), 0f, 1f)
						);
					}
					
					this.m_TitleText.canvasRenderer.SetColor(tColor);
				}
				
				// Transition the closed text
				if (this.m_ClosedText != null)
				{
					Color cColor = this.m_ClosedNormalColor;
					
					if (this.m_IsHighlighted)
					{
						cColor = new Color(
							Mathf.Clamp((cColor.r * this.m_HighlighColorMultiplier), 0f, 1f),
							Mathf.Clamp((cColor.g * this.m_HighlighColorMultiplier), 0f, 1f),
							Mathf.Clamp((cColor.b * this.m_HighlighColorMultiplier), 0f, 1f),
							Mathf.Clamp((cColor.a * this.m_HighlighColorMultiplier), 0f, 1f)
						);
					}
					
					this.m_ClosedText.canvasRenderer.SetColor(cColor);
				}
				
				// Transition the rest
				this.ApplyStatusState();
				this.ApplyPopulationState();
				this.ApplyCharactersCountState();
			}
		}
        /// <summary>
        /// Transition the Selectable to the entered state.
        /// </summary>
        /// <param name="state">State to transition to</param>
        /// <param name="instant">Should the transition occur instantly.</param>
        protected virtual void DoStateTransition(SelectionState state, bool instant)
        {
            if (!gameObject.activeInHierarchy)
            {
                return;
            }

            Color  tintColor;
            Sprite transitionSprite;
            string triggerName;

            switch (state)
            {
            case SelectionState.Normal:
                tintColor        = m_Colors.normalColor;
                transitionSprite = null;
                triggerName      = m_AnimationTriggers.normalTrigger;
                break;

            case SelectionState.Highlighted:
                tintColor        = m_Colors.highlightedColor;
                transitionSprite = m_SpriteState.highlightedSprite;
                triggerName      = m_AnimationTriggers.highlightedTrigger;
                break;

            case SelectionState.Pressed:
                tintColor        = m_Colors.pressedColor;
                transitionSprite = m_SpriteState.pressedSprite;
                triggerName      = m_AnimationTriggers.pressedTrigger;
                break;

            case SelectionState.Selected:
                tintColor        = m_Colors.selectedColor;
                transitionSprite = m_SpriteState.selectedSprite;
                triggerName      = m_AnimationTriggers.selectedTrigger;
                break;

            case SelectionState.Disabled:
                tintColor        = m_Colors.disabledColor;
                transitionSprite = m_SpriteState.disabledSprite;
                triggerName      = m_AnimationTriggers.disabledTrigger;
                break;

            default:
                tintColor        = Color.black;
                transitionSprite = null;
                triggerName      = string.Empty;
                break;
            }

            switch (m_Transition)
            {
            case Transition.ColorTint:
                StartColorTween(tintColor * m_Colors.colorMultiplier, instant);
                break;

            case Transition.SpriteSwap:
                DoSpriteSwap(transitionSprite);
                break;

            case Transition.Animation:
                TriggerAnimation(triggerName);
                break;
            }
        }
Exemple #28
0
        // The current visual state of the control.
        protected void UpdateSelectionState(BaseEventData eventData)
        {
            if (IsPressed())
            {
                m_CurrentSelectionState = SelectionState.Pressed;
                return;
            }

            if (IsHighlighted(eventData))
            {
                m_CurrentSelectionState = SelectionState.Highlighted;
                return;
            }

            m_CurrentSelectionState = SelectionState.Normal;
        }
Exemple #29
0
    void FixedUpdate()
    {
        if (mLastSelectionState != SelectionState.Pressed && currentSelectionState == SelectionState.Pressed)
        {
            //Debug.Log(string.Format("按下 {0}, {1}", gameObject.name, Time.frameCount));
            // 按下
            if (onButtonDown != null)
            {
                foreach (ButtonDownEvent d in onButtonDown.GetInvocationList())
                {
                    try
                    {
                        d.Invoke();
                    }
                    catch (Exception e)
                    {
                        Debug.LogException(e);
                    }
                }
            }
        }

        if (mLastSelectionState == SelectionState.Pressed && currentSelectionState != SelectionState.Pressed)
        {
            //Debug.Log(string.Format("弹起 {0}, {1}", gameObject.name, Time.frameCount));
            // 弹起
            if (onButtonUp != null)
            {
                foreach (ButtonUpEvent d in onButtonUp.GetInvocationList())
                {
                    try
                    {
                        d.Invoke();
                    }
                    catch (Exception e)
                    {
                        Debug.LogException(e);
                    }
                }
            }
        }

        if (mLastSelectionState == SelectionState.Pressed && currentSelectionState == SelectionState.Pressed)
        {
            //Debug.Log(string.Format("按住 {0}, {1}", gameObject.name, Time.frameCount));
            // 按住
            if (onButtonPress != null)
            {
                foreach (ButtonPressEvent d in onButtonPress.GetInvocationList())
                {
                    try
                    {
                        d.Invoke();
                    }
                    catch (Exception e)
                    {
                        Debug.LogException(e);
                    }
                }
            }
        }

        mLastSelectionState = currentSelectionState;
    }
Exemple #30
0
		void UpdateCaretPropertiesCore(bool forceInvalidateVisual) {
			if (layer.HexView.IsClosed)
				return;
			StopTimer();
			var line = hexCaret.ContainingHexViewLine;
			oldSelectionState = new SelectionState(layer.HexView.Selection);
			bool oldDrawCaretShape = drawCaretShape;
			drawCaretShape = line.VisibilityState != VSTF.VisibilityState.Unattached;
			bool drawOverwriteMode = OverwriteMode;

			var valuesCaretRect = GetCaretRect(line, drawOverwriteMode, HexColumnType.Values, line.BufferLine.ValueCells.GetCell(hexCaret.CurrentPosition.ValuePosition.BufferPosition), hexCaret.CurrentPosition.ValuePosition.CellPosition);
			var asciiCaretRect = GetCaretRect(line, drawOverwriteMode, HexColumnType.Ascii, line.BufferLine.AsciiCells.GetCell(hexCaret.CurrentPosition.AsciiPosition.BufferPosition), hexCaret.CurrentPosition.AsciiPosition.CellPosition);

			if (drawCaretShape) {
				if (!imeStarted && layer.HexView.VisualElement.IsKeyboardFocused && layer.HexView.VisualElement.IsVisible)
					StartTimer();
			}
			else
				layer.Opacity = 0;

			var invalidateVisual = valuesCaretGeometry.SetProperties(valuesCaretRect, drawCaretShape, drawOverwriteMode);
			invalidateVisual |= asciiCaretGeometry.SetProperties(asciiCaretRect, drawCaretShape, drawOverwriteMode);
			invalidateVisual |= forceInvalidateVisual || oldDrawCaretShape != drawCaretShape;
			if (invalidateVisual)
				InvalidateVisual();
		}
	//called when setting a new target
	public void setTarget (GameObject _target)
	{
		//if the current target has a troct, reset it
		if (target.GetComponent<TruncOct>())
		{
			target.GetComponent<TruncOct>().ReturnToTypeColour();
		}

		_target.GetComponent<TruncOct>().interior.gameObject.SetActive(true);
		_target.GetComponent<TruncOct>().interior.GetComponent<MeshRenderer>().material.color = Color.cyan;

		target = _target;

		//set nearPlane as the distance to the target
		GetComponent<Camera>().nearClipPlane = (float)(Vector3.Distance(transform.position, _target.transform.position) - 2.125);

		//set state to troctSelected
		selectState = SelectionState.TrOctSelected;
	}
Exemple #32
0
 protected override void DoStateTransition(SelectionState state, bool instant)
 {
     _pMethodInfo_DoStateTransition?.Invoke(pButton, new object[] { state, instant });
     // pButton.SendMessage(nameof(DoStateTransition), new object[] {state, instant});
 }
Exemple #33
0
        public object Convert(object value, System.Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
            SelectionState state = (SelectionState)value;

            return(state == SelectionState.Focused ? FocusedBrush : NormalBrush);
        }
	/// <summary>
	/// Determines what happens when the troct is clicked.
	/// </summary>
	/// <param name="_troctHit">_troct hit.</param>
	private void ClickTroct(GameObject _troctHit)
	{
		switch (selectState)
		{
		case SelectionState.Rotate:
			if (_troctHit.GetComponent<TruncOct>().IsNextTo(selectedActor.GetComponent<ActorBase>().currentTrOct))
			{
				selectedActor.GetComponent<ActorBase>().TryRotate(_troctHit.transform);

				selectState = SelectionState.ActorSelected;
			}
			break;
		case SelectionState.PlanRoute:
			//selectedActor.GetComponent<ActorBase>().currentPath = tentPath;
			break;
		default: //if not planning route or rotating, just select the troct as normal

			if (_troctHit.GetComponent<TruncOct> ())
			{
				setTarget (_troctHit);
			}
			break;
		}
	}
        protected override void DoStateTransition(SelectionState state, bool instant)
        {
            // Override base transition method as it doesn't apply, and assign state color manually

            SetHandleColor();
        }
	/// <summary>
	/// Selects the actor inside the current target trOct. Called by a function in GUIManager
	/// </summary>
	public GameObject SelectActor()
	{
		//tell the slection logic that is has selected an actor
		selectState = SelectionState.ActorSelected;

		selectedActor = target.GetComponent<TruncOct> ().containedActor;

		return selectedActor;
	}
Exemple #37
0
 void GoToNextState()
 {
     selectionState = nextState;
     InitializeState(selectionState);
 }
Exemple #38
0
 /// <summary>
 /// make use of event tunneling for selecting items when a click event occurred in a child element
 /// </summary>
 /// <remarks>http://joshsmithonwpf.wordpress.com/2007/06/22/overview-of-routed-events-in-wpf/</remarks>
 //   1   //
 private void List_PreviewButtonDownEvent(object sender, MouseButtonEventArgs e)
 {
     _currentSelectionState = new SelectionState();
     _currentSelectionState.PreviewedEvent = e;
 }
Exemple #39
0
 void GoToPreviousState()
 {
     selectionState = previousState;
     InitializeState(selectionState);
 }
        protected override void OnMouseUp(object sender, MouseEventArgs e)
        {
            if (State == SelectionState.Dragging && posChange != null)
            {
                Editor.History.Add(posChange);
                posChange = null;
            }
            if (State == SelectionState.Shaping && currentPoint != shapeData.startPoint)
            {
                var translation = new TranslationChange(SelectedElement, SelectedElement.Location - shapeData.initialPoint);
                var scale = new PropertyChange(SelectedElement, "Scale", SelectedElement.Scale, shapeData.initialScale);
                var rotation = new PropertyChange(SelectedElement, "BaseRotation", SelectedElement.BaseRotation, shapeData.initialRotation);
                Editor.History.Add(new CompoundChange(new IChange[] { translation, scale, rotation }));
            }

            State = SelectionState.Idle;

            Editor.Invalidate();
        }
Exemple #41
0
        /// <summary>
        /// Does the state transition.
        /// </summary>
        /// <param name="state">State.</param>
        /// <param name="instant">If set to <c>true</c> instant.</param>
        protected override void DoStateTransition(SelectionState state, bool instant)
        {
            if (!this.enabled || !this.enabled || !this.gameObject.activeInHierarchy || this.selectField == null)
            {
                return;
            }

            Color  color       = this.selectField.optionBackgroundTransColors.normalColor;
            Sprite newSprite   = null;
            string triggername = this.selectField.optionBackgroundAnimationTriggers.normalTrigger;

            // Check if this is the disabled state before any others
            if (state == Selectable.SelectionState.Disabled)
            {
                color       = this.selectField.optionBackgroundTransColors.disabledColor;
                newSprite   = this.selectField.optionBackgroundSpriteStates.disabledSprite;
                triggername = this.selectField.optionBackgroundAnimationTriggers.disabledTrigger;
            }
            else
            {
                // Prepare the state values
                switch (state)
                {
                case Selectable.SelectionState.Normal:
                    color       = (this.isOn) ? this.selectField.optionBackgroundTransColors.activeColor : this.selectField.optionBackgroundTransColors.normalColor;
                    newSprite   = (this.isOn) ? this.selectField.optionBackgroundSpriteStates.activeSprite : null;
                    triggername = (this.isOn) ? this.selectField.optionBackgroundAnimationTriggers.activeTrigger : this.selectField.optionBackgroundAnimationTriggers.normalTrigger;
                    break;

                case Selectable.SelectionState.Highlighted:
                    color       = (this.isOn) ? this.selectField.optionBackgroundTransColors.activeHighlightedColor : this.selectField.optionBackgroundTransColors.highlightedColor;
                    newSprite   = (this.isOn) ? this.selectField.optionBackgroundSpriteStates.activeHighlightedSprite : this.selectField.optionBackgroundSpriteStates.highlightedSprite;
                    triggername = (this.isOn) ? this.selectField.optionBackgroundAnimationTriggers.activeHighlightedTrigger : this.selectField.optionBackgroundAnimationTriggers.highlightedTrigger;
                    break;

                case Selectable.SelectionState.Pressed:
                    color       = (this.isOn) ? this.selectField.optionBackgroundTransColors.activePressedColor : this.selectField.optionBackgroundTransColors.pressedColor;
                    newSprite   = (this.isOn) ? this.selectField.optionBackgroundSpriteStates.activePressedSprite : this.selectField.optionBackgroundSpriteStates.pressedSprite;
                    triggername = (this.isOn) ? this.selectField.optionBackgroundAnimationTriggers.activePressedTrigger : this.selectField.optionBackgroundAnimationTriggers.pressedTrigger;
                    break;
                }
            }

            // Do the transition
            switch (this.selectField.optionBackgroundTransitionType)
            {
            case Transition.ColorTint:
                this.StartColorTween(color * this.selectField.optionBackgroundTransColors.colorMultiplier, (instant ? 0f : this.selectField.optionBackgroundTransColors.fadeDuration));
                break;

            case Transition.SpriteSwap:
                this.DoSpriteSwap(newSprite);
                break;

            case Transition.Animation:
                this.TriggerAnimation(triggername);
                break;
            }

            // Do the transition of the text component
            this.DoTextStateTransition(state, instant);
        }
Exemple #42
0
			public bool Equals(SelectionState other) => state == other.state;
Exemple #43
0
 protected override void DoStateTransition(SelectionState state, bool instant)
 {
     base.DoStateTransition(state, instant);
     _stateChangedCallback?.Invoke(GetState());
 }
        protected override void OnMouseLeftButtonDown(MouseButtonEventArgs e)
        {
            base.OnMouseLeftButtonDown(e);

            var position = e.GetPosition(this);
            selectionStart = new Point((int) (position.X / CharWidth + 0.5), (int) (position.Y / CharHeight + VerticalOffset));
            selectionEnd = selectionStart;
            selectionState = SelectionState.Selecting;

            foreach (var visual in visuals)
                visual.Select(0, 0);

            CaptureMouse();
        }
    protected override void DoStateTransition(SelectionState state, bool instant)
    {
        //if (forceNoInteraction)
        //    return;
        if (stateInitialized && currentState == state)
        {
            return;
        }

        stateInitialized = true;
        currentState     = state;

        if (state == SelectionState.Pressed)
        {
            StopAllCoroutines();
            if (gameObject.activeInHierarchy)
            {
                StartCoroutine(TweenColorFromCurrent(this.colors.pressedColor, this.colors.fadeDuration));
            }
            else
            {
                InstantColorFromCurrent(this.colors.pressedColor);
            }
        }
        else if (state == SelectionState.Highlighted)
        {
            //StopAllCoroutines();

            if (gameObject.activeInHierarchy)
            {
                StartCoroutine(TweenColorFromCurrent(this.colors.highlightedColor, this.colors.fadeDuration));
            }
            else
            {
                InstantColorFromCurrent(this.colors.highlightedColor);
            }
        }
        else if (state == SelectionState.Normal)
        {
            _setInteractable(true);
            StopAllCoroutines();

            InstantColorFromCurrent(this.colors.normalColor);

            if (gameObject.activeInHierarchy)
            {
                StartCoroutine(TweenColorFromCurrent(this.colors.normalColor, this.colors.fadeDuration));
            }
            else
            {
                InstantColorFromCurrent(this.colors.normalColor);
            }
        }
        else if (state == SelectionState.Disabled)
        {
            StopAllCoroutines();
            _setInteractable(false);
        }
        else
        {
            if (gameObject.activeInHierarchy)
            {
                StartCoroutine(TweenColorFromCurrent(this.colors.selectedColor, this.colors.fadeDuration));
            }
            else
            {
                InstantColorFromCurrent(this.colors.selectedColor);
            }
        }
    }
Exemple #46
0
 public void OnSelectionChanged(SelectionState state, Point point)
 {
     selectionState = state;
     switch (state)
     {
         case SelectionState.Start:
             selectStart = point;
             ui.Remove(selectableHex);
             break;
         case SelectionState.During:
             DuringSelect(point);
             break;
         case SelectionState.End:
             EndSelect(true);
             break;
     }
 }
	public void OnDrag(Vector2 delta){
		if (selectionState == SelectionState.Cancelled || selectionState == SelectionState.Completed || selectionState == SelectionState.WrongCompleted)
			return;

		if (selectionState == SelectionState.Pressed) {
			selectionState = SelectionState.Dragging;

			if(myLine!=null){
				//followPoints.Clear();
				VectorLine.Destroy(ref myLine);
			}
		}

		Vector3 worldPoint = UICamera.lastWorldPosition;
		worldPoint.z = transform.position.z;
		Vector2 previousPoint = Vector2.zero;

		if (!newWayStarted || (newWayStarted && mState == FestivalUserState.FollowingDirection)) {
			previousPoint = transform.position;
		} 
		else if (newWayStarted && mState == FestivalUserState.FollowingPoints) {
			previousPoint = followPoints [followPoints.Count - 1];
		} 

		if (UserController.instance.detectorEnabled) {
			UserController.instance.SetPosition(worldPoint);
		}
		

		if (Vector2.Distance ((Vector2)worldPoint, previousPoint) > minWaypointDistance) {

			//Check collisions first...

//			RaycastHit2D hit = Physics2D.Raycast (previousPoint,
//			                                      ((Vector2)worldPoint - previousPoint).normalized, 30.0F);
//			
//			Debug.DrawLine(previousPoint,previousPoint + (((Vector2)worldPoint - previousPoint).normalized * 30.0F),Color.red);
//			
//			if(hit.collider != null){
//				if (hit.collider.tag == "no_walkable") {
//					Debug.Log("Way cancelled");
//					selectionState = SelectionState.Cancelled;
//					
//					return;
//				}
//				
//				if (hit.collider.tag == "targetZone") {
//					
//					Debug.Log("target assigned");
//					
//					if(hit.collider.gameObject.GetComponent<TargetZone>().type == _Data.userType){
//						selectionState = SelectionState.Completed;
//					}
//					else{
//						selectionState = SelectionState.WrongCompleted;
//					}
//					
//					return;
//				}
//			}

			if(UserController.instance.detector.collisionType == DetectCollision.CollisionType.Wall){
				selectionState = SelectionState.Cancelled;
				UserController.instance.DisableDetector();

				return;
			}
			else if(UserController.instance.detector.collisionType == DetectCollision.CollisionType.Target){
				if(UserController.instance.detector.lastObject == null){
					Debug.LogWarning("Error: Se ha detectado un target pero no hay objeto vinculado...");
				}
				if(UserController.instance.detector.lastObject.GetComponent<TargetZone>().type == _Data.userType){
					selectionState = SelectionState.Completed;
				}
				else selectionState = SelectionState.WrongCompleted;

				UserController.instance.DisableDetector();
				
				return;
			}

			bool initLine = false;

			if(!newWayStarted){
				UserController.instance.EnableDetector();
				UserController.instance.SetPosition(transform.position);
				followPoints.Clear();
				initLine = true;
				newWayStarted = true;
				currentPoint = 0;
				followPoints.Add(transform.position);

				if(mState == FestivalUserState.FollowingDirection){
					mState = FestivalUserState.FollowingPoints;
				}
			}

			if(newWayStarted && mState == FestivalUserState.FollowingDirection){
				followPoints.Clear();
				mState = FestivalUserState.FollowingPoints;
				followPoints.Add(transform.position);
				currentPoint = 0;
			}

			//Add new point
			Vector3 addPoint = UICamera.lastWorldPosition;
			addPoint.z = transform.position.z;

			followPoints.Add(addPoint);

			if(initLine){
				InitLine();
			}
		}

	}
Exemple #48
0
        public void Update(GameTime gameTime)
        {
            // Selecting a character.
            if (selectState == SelectionState.User)
            {
                if (input.alliedCharacter1)
                {
                    selectedUser = leftParty.characters[0];
                }
                else if (input.alliedCharacter2)
                {
                    selectedUser = leftParty.characters[1];
                }
                else if (input.alliedCharacter3)
                {
                    selectedUser = leftParty.characters[2];
                }
                else if (input.alliedCharacter4)
                {
                    selectedUser = leftParty.characters[3];
                }

                if (selectedUser != null)
                {
                    selectState = SelectionState.Skill;
                }
            }
            // Selecting an action for a character.
            if (selectState == SelectionState.Skill)
            {
                if (input.alliedCharacter1)
                {
                    selectedUser = leftParty.characters[0];
                }
                else if (input.alliedCharacter2)
                {
                    selectedUser = leftParty.characters[1];
                }
                else if (input.alliedCharacter3)
                {
                    selectedUser = leftParty.characters[2];
                }
                else if (input.alliedCharacter4)
                {
                    selectedUser = leftParty.characters[3];
                }

                if (input.skill1)
                {
                    selectedSkill = selectedUser.skills[0];
                }
                else if (input.skill2)
                {
                    selectedSkill = selectedUser.skills[1];
                }
                else if (input.skill3)
                {
                    selectedSkill = selectedUser.skills[2];
                }
                else if (input.skill4)
                {
                    selectedSkill = selectedUser.skills[3];
                }

                if (selectedUser == null)
                {
                    selectState = SelectionState.User;
                }
                else if (selectedSkill != null)
                {
                    selectState = SelectionState.Target;
                }
            }
            // Selecting the target of said action.
            if (selectState == SelectionState.Target)
            {
                if (input.skill1)
                {
                    selectedSkill = selectedUser.skills[0];
                }
                else if (input.skill2)
                {
                    selectedSkill = selectedUser.skills[1];
                }
                else if (input.skill3)
                {
                    selectedSkill = selectedUser.skills[2];
                }
                else if (input.skill4)
                {
                    selectedSkill = selectedUser.skills[3];
                }

                if (input.enemyCharacter1)
                {
                    selectedTarget = rightParty.characters[0];
                }
                else if (input.enemyCharacter2)
                {
                    selectedTarget = rightParty.characters[1];
                }
                else if (input.enemyCharacter3)
                {
                    selectedTarget = rightParty.characters[2];
                }
                else if (input.enemyCharacter4)
                {
                    selectedTarget = rightParty.characters[3];
                }
                else if (input.alliedCharacter1)
                {
                    selectedTarget = leftParty.characters[0];
                }
                else if (input.alliedCharacter2)
                {
                    selectedTarget = leftParty.characters[1];
                }
                else if (input.alliedCharacter3)
                {
                    selectedTarget = leftParty.characters[2];
                }
                else if (input.alliedCharacter4)
                {
                    selectedTarget = leftParty.characters[3];
                }

                if (selectedSkill == null)
                {
                    selectState = SelectionState.Skill;
                }
                else if (selectedTarget != null)
                {
                    selectedSkill.target = selectedTarget;
                    for (int skillNum = 0; skillNum < skills.Length; skillNum++)
                    {
                        if (skills[skillNum] != null)
                        {
                            continue;
                        }
                        skills[skillNum] = selectedSkill;
                        break;
                    }

                    selectedUser   = null;
                    selectedSkill  = null;
                    selectedTarget = null;
                    selectState    = SelectionState.User;
                }
            }

            for (int skillNum = 0; skillNum < skills.Length; skillNum++)
            {
                if (skills[skillNum] == null)
                {
                    break;
                }

                skills[skillNum].Cast();
                skills[skillNum] = null;
            }

            leftParty.Update(gameTime);
            rightParty.Update(gameTime);
        }
Exemple #49
0
        // Select on enable and add to the list.
        protected override void OnEnable()
        {
            base.OnEnable();

            s_List.Add(this);
            var state = SelectionState.Normal;

            // The button will be highlighted even in some cases where it shouldn't.
            // For example: We only want to set the State as Highlighted if the StandaloneInputModule.m_CurrentInputMode == InputMode.Buttons
            // But we dont have access to this, and it might not apply to other InputModules.
            // TODO: figure out how to solve this. Case 617348.
            if (hasSelection)
                state = SelectionState.Highlighted;

            m_CurrentSelectionState = state;
            InternalEvaluateAndTransitionToSelectionState(true);
        }
	public void OnPress(bool pressed){

		Debug.Log("Pressed " + pressed.ToString());

		if (!pressed){
			if(selectionState != SelectionState.Cancelled &&
			   			selectionState != SelectionState.Completed &&
			   					selectionState != SelectionState.WrongCompleted){
				OnRelease ();	
			}
		} 
		else {
			selectionState = SelectionState.Pressed;
			newWayStarted = false;
		}
	}
Exemple #51
0
 public void SetDeselected()
 {
     currentSelTarget = SelectionState.DESELECTED;
     HSrndr.enabled   = false;
     StopAllCoroutines();
 }
	public void OnRelease(){
		selectionState = SelectionState.Released;
		Debug.Log ("On Release");
			
	}
 private List <IPlayerSelectableObject> GetObjects(List <IPlayerSelectableObject> outList, SelectionState state)
 {
     outList.Clear();
     foreach (ISelectableObjectContainer selectableObjectContainer in selectableObjectcontainers)
     {
         selectableObjectContainer.GetPlayerSelectableObjects(outList, state);
     }
     return(outList);
 }