public VocabulTestViewModel(List <Vocabulary> vocables, SelectedMode selectionMode) { _lessionBusinessFactory = LessionBusinessClass.CreateLessionBusinessFactory(); _selectionMode = selectionMode; if (vocables != null) { OriginalList = new List <Vocabulary>(vocables); switch (_selectionMode) { case SelectedMode.Left: TestVocables = new ObservableCollection <Vocabulary>(_lessionBusinessFactory.LeftOnlyMode(OriginalList, selectionMode)); break; case SelectedMode.Random: TestVocables = new ObservableCollection <Vocabulary>(_lessionBusinessFactory.RandomMode(OriginalList, selectionMode)); break; case SelectedMode.Right: TestVocables = new ObservableCollection <Vocabulary>(_lessionBusinessFactory.RightOnlyMode(OriginalList, selectionMode)); break; default: break; } } }
public ColorEditorViewModel() { _modes = CreateModes().ToArray(); _selectedMode = Modes.First(); _color.PropertyChanged += Color_PropertyChanged; SelectedMode.UpdateCoordinates(); }
void OnSelectionChange() { _selectedMode = SelectedMode.Ragdoll; if (!GetTarget()) { Repaint(); return; } _ragdollController = new RagdollController(_go, () => GetPlayerDirection()); Tools.hidden = false; _selectedMode = SelectedMode.Ragdoll; if (_humanoidSelected) { SymmetricBones = FindSymmetricBones(_animator); _leftKnee = _animator.GetBoneTransform(HumanBodyBones.LeftLowerLeg); _rightKnee = _animator.GetBoneTransform(HumanBodyBones.RightLowerLeg); _pelvis = _animator.GetBoneTransform(HumanBodyBones.Hips); } else { SymmetricBones = null; _leftKnee = null; _rightKnee = null; _pelvis = null; } Repaint(); }
public List <Vocabulary> RightOnlyMode(List <Vocabulary> vocables, SelectedMode selectedMode) { List <Vocabulary> vocablesForTest = new List <Vocabulary>(); switch (selectedMode) { case SelectedMode.Right: try { foreach (var vocable in vocables) { Vocabulary newVocable = new Vocabulary(); newVocable.English = vocable.English; newVocable.German = ""; vocablesForTest.Add(newVocable); } } catch (Exception) { throw new Exception("lession is null"); } break; default: throw new Exception("SelectedMode is not SelectedMode.left"); } return(vocablesForTest); }
/// <summary> /// Draw application form panel /// </summary> void DrawPanel() { // set the form more transparent if "NoAction" is selected // set size of form for each selected mode // draw panel Handles.BeginGUI(); // draw list of modes to select GUIStyle style; style = new GUIStyle(GUI.skin.label); style.normal.textColor = Color.blue; style.alignment = TextAnchor.UpperCenter; GUILayout.Label(_humanoidSelected ? "Humanoid selected" : "Simple object selected", style); int selectedMode = (int)_selectedMode; selectedMode = GUILayout.SelectionGrid(selectedMode, _dropDownListOptions, 1, EditorStyles.radioButton); _selectedMode = (SelectedMode)selectedMode; // for Ragdoll mode draw additional controlls if (_selectedMode == SelectedMode.Ragdoll) { _ragdollController.DrawRagdollPanel(_humanoidSelected); } Handles.EndGUI(); }
//Switch between Rectangle Snapping and Painting private void SwitchMode() { Grid.IsEnabled = !Grid.IsEnabled; PaintSurface.IsEnabled = !PaintSurface.IsEnabled; _currentPath = null; //"Hide" Selection Rectangle SelectionRectangle.Margin = new Thickness(99999); //Stop animations by setting AnimationTimeline to null SelectedMode.BeginAnimation(OpacityProperty, null); //Set correct Selected Mode Indicator if (Grid.IsEnabled) { //Prevent Painting in Capture Rectangle mode Grid.CaptureMouse(); Cursor = Cursors.Cross; CropIcon.Background = Brushes.Gray; DrawIcon.Background = Brushes.Transparent; } else { //Prevent Capturing Rectangle in Paint Mode PaintSurface.CaptureMouse(); Cursor = Cursors.Pen; DrawIcon.Background = Brushes.Gray; CropIcon.Background = Brushes.Transparent; } //Fade Selected Mode View in FadeSelectedModeIn(); }
// Use this for initialization void Start () { //camTran = GetComponent<Transform>(); //cam = GetComponent<Camera>(); Move(0, 0, 0); mode = SelectedMode.None; }
/// <summary> 鼠标是否覆盖 /// </summary> /// <param name="muslocation">鼠标点坐标</param> /// <returns>覆盖返回true,否则返回false</returns> public override bool MouseOver(Point muslocation) { _old_muslocation = null; Point point1 = new Point(DrawPoint.X - ltOffsetPoint.X, DrawPoint.Y - ltOffsetPoint.Y); Point point2 = new Point(DrawPoint.X - rtOffsetPoint.X, DrawPoint.Y - rtOffsetPoint.Y); Point point3 = new Point(DrawPoint.X - rbOffsetPoint.X, DrawPoint.Y - rbOffsetPoint.Y); Point point4 = new Point(DrawPoint.X - lbOffsetPoint.X, DrawPoint.Y - lbOffsetPoint.Y); if (Selected && _canrotate) { if ((point3.X - 2 <= muslocation.X && muslocation.X <= point3.X + 2) && (point3.Y - 2 <= muslocation.Y && muslocation.Y <= point3.Y + 2)) { _hoverarea = HoverMode.Rotate; _selectedmodel = SelectedMode.Point; return(true); } } if (Multiply(muslocation, point1, point2) * Multiply(muslocation, point4, point3) <= 0 && Multiply(muslocation, point4, point1) * Multiply(muslocation, point3, point2) <= 0) { _hoverarea = HoverMode.Face; _selectedmodel = SelectedMode.Face; return(true); } _hoverarea = HoverMode.None; _selectedmodel = SelectedMode.None; return(false); }
/// <summary> 鼠标是否覆盖 /// </summary> /// <param name="muslocation">鼠标点坐标</param> /// <returns>覆盖返回true,否则返回false</returns> public override Boolean MouseOver(Point muslocation) { _old_muslocation = null; if (PointOver(StartPoint, muslocation)) { _hoverarea = HoverMode.Point; _selectedmodel = SelectedMode.StartPoint; return(true); } if (PointOver(EndPoint, muslocation)) { _hoverarea = HoverMode.Point; _selectedmodel = SelectedMode.EndPoint; return(true); } if (LineOver(StartPoint, EndPoint, muslocation)) { _hoverarea = HoverMode.Line; _selectedmodel = SelectedMode.Line; return(true); } _hoverarea = HoverMode.None; _selectedmodel = SelectedMode.None; return(false); }
/// <summary> 鼠标移动元素 /// </summary> /// <param name="muslocation">鼠标点坐标</param> public override Boolean MouseMove(Point muslocation, Boolean multiple) { if (multiple) { _selectedmodel = SelectedMode.Face; } switch (_selectedmodel) { default: { break; } case SelectedMode.Point: { Point point3 = new Point(DrawPoint.X - rbOffsetPoint.X, DrawPoint.Y - rbOffsetPoint.Y); Double a_pow = Math.Pow(muslocation.X - point3.X, 2) + Math.Pow(muslocation.Y - point3.Y, 2); Double b_pow = Math.Pow(muslocation.X - DrawPoint.X, 2) + Math.Pow(muslocation.Y - DrawPoint.Y, 2); Double c_pow = Math.Pow(Radius, 2); Double cos_a = (c_pow + b_pow - a_pow) / (2 * Math.Sqrt(b_pow) * Math.Sqrt(c_pow)); if (1.0000000000000000 < cos_a) { cos_a = 1; } if (0 < (point3.X - DrawPoint.X) * (muslocation.Y - DrawPoint.Y) - (point3.Y - DrawPoint.Y) * (muslocation.X - DrawPoint.X)) { RotateAngle += Convert.ToInt32(Math.Acos(cos_a) * 180 / Math.PI); } else { RotateAngle -= Convert.ToInt32(Math.Acos(cos_a) * 180 / Math.PI); } break; } case SelectedMode.Face: { if (null == _old_muslocation) { _old_muslocation = muslocation; } else { if (multiple) { Int32 move_x = muslocation.X - _old_muslocation.Value.X; Int32 move_y = muslocation.Y - _old_muslocation.Value.Y; DrawPoint = new Point(DrawPoint.X + move_x, DrawPoint.Y + move_y); } else { DrawPoint = muslocation; } _old_muslocation = muslocation; } break; } } return(true); }
//Fade the Selected Mode (Drawing/Rectangle) in private void FadeSelectedModeIn() { DoubleAnimation anim = new DoubleAnimation(0, TimeSpan.FromSeconds(0.25)); anim.Completed += FadeSelectedModeOut; anim.From = SelectedMode.Opacity; anim.To = 0.9; SelectedMode.BeginAnimation(OpacityProperty, anim); }
//Fade the Selected Mode (Drawing/Rectangle) out private void FadeSelectedModeOut(object sender, EventArgs e) { DoubleAnimation anim = new DoubleAnimation(0, TimeSpan.FromSeconds(0.25)) { BeginTime = TimeSpan.FromMilliseconds(1000), From = SelectedMode.Opacity, To = 0 }; SelectedMode.BeginAnimation(OpacityProperty, anim); }
public Color tint = Color.white; // Tint of Cthulhu #endregion Fields #region Methods void Start() { if (selected_mode == null) { Debug.Log("Starting persistent settings"); selected_mode = this; DontDestroyOnLoad(this.gameObject); } else Destroy(this.gameObject); }
//通过属性查询语句查询(SelectedMode是枚举类),并按照SelectedMode更新选中的要素SelectedItems public void QuerySQL(string sql, SelectedMode mode) { //获得满足条件的feature try { DataRow[] selectedRows = Table.Select(sql); //获得满足条件feature的id List <int> selectedID = new List <int>(); for (int i = 0; i < selectedRows.Length; i++) { selectedID.Add((int)selectedRows[i]["ID"]); } //按照selectmode,更新选择表 //选取新的对象 if (mode == SelectedMode.New) { SelectedItems.Clear(); SelectedItems = new List <int>(selectedID); } //在原基础上添加新选择的对象 else if (mode == SelectedMode.Add) { HashSet <int> hash1 = new HashSet <int>(SelectedItems); HashSet <int> hash2 = new HashSet <int>(selectedID); hash1.Union(hash2); SelectedItems = new List <int>(hash1); } //在原基础上删除新选择的对象 else if (mode == SelectedMode.Delete) { HashSet <int> hash1 = new HashSet <int>(SelectedItems); HashSet <int> hash2 = new HashSet <int>(selectedID); hash1.ExceptWith(hash2); SelectedItems = new List <int>(hash1); } //在原基础上选择对象和新对象的交集 else if (mode == SelectedMode.Intersect) { HashSet <int> hash1 = new HashSet <int>(SelectedItems); HashSet <int> hash2 = new HashSet <int>(selectedID); hash1.IntersectWith(hash2); SelectedItems = new List <int>(hash1); } } catch { MessageBox.Show("未能检索,请检查您的查询语句后重试。"); } }
public TestViewModel() { TestModel = new TestPageModel(); _database = new DatabaseService(); _selectionChanged = new SelectionChanged(); Vocables = GetVocables(SelectViewModel.SelectedModulIDs); TestModel.Modul_Names = new ObservableCollection <string>(); Title = "Click play to start a test!"; SelectedIDs = SelectViewModel.SelectedModulIDs; SelectedMode = new SelectedMode(); SelectionChanged.SelecedIDsChanged += RefreshSelection; }
public void SelectRise() { if (teams[activePlayer].units[activeUnit].energyLeft >= riseCost) { actionMode = SelectedMode.Rise; } else { ShowToast("Not enough energy!"); } OnModeUpdated(); }
public void SelectAttack() { if (teams[activePlayer].units[activeUnit].energyLeft >= attackCost) { actionMode = SelectedMode.Attack; } else { ShowToast("Not enough energy!"); } OnModeUpdated(); }
private void NextTurn() { aimLine.enabled = false; OnClearTilesSelection(); if (activePlayer == -1) { activePlayer = 0; } else if (activePlayer == 0) { activePlayer = 1; } else if (activePlayer == 1) { activePlayer = 0; } for (int i = 0; i < teams[activePlayer].units.Count; i++) { teams[activePlayer].units[i].SetEnergy(energyBudget); } if (teams[activePlayer].logicType == Team.Logic.Human) { unitControllerCanvas.alpha = 1; unitControllerCanvas.interactable = true; unitControllerCanvas.blocksRaycasts = true; } else { unitControllerCanvas.alpha = 0; unitControllerCanvas.interactable = false; unitControllerCanvas.blocksRaycasts = false; } StartExpirationTimer(); activeUnit = 0; OnUnitChange(true); actionMode = SelectedMode.None; OnModeUpdated(); if (teams[activePlayer].logicType == Team.Logic.AI) { AIPlayer.Instance.PosessControl(teams[activePlayer].units[0]); } }
/// <summary> /// Method intended to be invoked before Drawing GUI /// </summary> void CheckSelectedMode() { _selectedMode = GetCurrentMode(); // if selected item was changed, research colliders if (_selectedMode != _lastSelectedMode | _lastPivotMode != Tools.pivotMode | _lastPivotRotation != Tools.pivotRotation) { _lastSelectedMode = _selectedMode; _lastPivotMode = Tools.pivotMode; _lastPivotRotation = Tools.pivotRotation; } }
public void Copy(Legend legend) { m_Show = legend.show; m_SelectedMode = legend.selectedMode; m_Orient = legend.orient; m_Location.Copy(legend.location); m_ItemWidth = legend.itemWidth; m_ItemHeight = legend.itemHeight; m_ItemGap = legend.itemGap; itemAutoColor = legend.itemAutoColor; m_TextStyle.Copy(legend.textStyle); ChartHelper.CopyList <string>(m_Data, legend.data); ChartHelper.CopyList <Sprite>(m_Icons, legend.icons); }
private const float AttractRadius = 5; // 吸引区半径 #endregion public MapControl() { InitializeComponent(); Graphics g = Graphics.FromHwnd(Handle); map = new Map(g); g.Dispose(); cache = new Bitmap(Width, Height); selectedmode = SelectedMode.New; mapOperation = OperationType.None; trackingPoints = new List <PointD>(); editGeometries = new Geometry[3]; MouseWheel += MapControl_MouseWheel; }
public void Copy(Legend legend) { m_Show = legend.show; m_SelectedMode = legend.selectedMode; m_Orient = legend.orient; m_Location.Copy(legend.location); m_ItemWidth = legend.itemWidth; m_ItemHeight = legend.itemHeight; m_ItemGap = legend.itemGap; m_ItemFontSize = legend.itemFontSize; m_Data.Clear(); foreach (var d in legend.data) { m_Data.Add(d); } }
void OnGUI() { var modes = System.Enum.GetNames(typeof(SelectedMode)); selectedMode = (SelectedMode)GUILayout.Toolbar((int)selectedMode, modes); switch (selectedMode) { case SelectedMode.About: DrawAboutGUI(); break; case SelectedMode.Analysis: DrawAnalysisGUI(); break; } }
public List <Vocabulary> RandomMode(List <Vocabulary> vocables, SelectedMode selectedMode) { Random r = new Random(); List <Vocabulary> vocablesForTest = new List <Vocabulary>(); Vocabulary newVocable; switch (selectedMode) { case SelectedMode.Random: try { foreach (var vocable in vocables) { int randomNumber = r.Next(0, 2); switch (randomNumber) { case 0: newVocable = new Vocabulary(); newVocable.English = vocable.English; newVocable.German = ""; vocablesForTest.Add(newVocable); continue; case 1: newVocable = new Vocabulary(); newVocable.German = vocable.German; newVocable.English = ""; vocablesForTest.Add(newVocable); continue; } } } catch (Exception) { throw new Exception("lession is null"); } break; default: throw new Exception("SelectedMode is not SelectedMode.left"); } return(vocablesForTest); }
internal void MinionClicked(Minion minion) { // throw new NotImplementedException(); //check if shift is down if (Input.GetButton("Fire3") && selectedMode == SelectedMode.Minion) { Debug.Log("adding to selection"); } else { ClearSelectedMode(); } selectedMode = SelectedMode.Minion; selectedMinions.Add(minion); minion.Select(); }
void OnGUI() { var modes = System.Enum.GetNames(typeof(SelectedMode)) .Select((x) => ObjectNames.NicifyVariableName(x)) .ToArray(); selectedMode = (SelectedMode)GUILayout.Toolbar((int)selectedMode, modes); switch (selectedMode) { case SelectedMode.About: DrawAboutGUI(); break; case SelectedMode.UpgradeScripts: DrawUpgradeGUI(); break; } }
/// <summary> /// Method intended to be invoked before Drawing GUI /// </summary> void CheckSelectedMode() { bool selectionChanged = _lastSelectedMode != _selectedMode | _lastPivotMode != Tools.pivotMode | _lastPivotRotation != Tools.pivotRotation; // if selected item was changed, research colliders if (selectionChanged) { Tools.hidden = _selectedMode != SelectedMode.Ragdoll; _lastSelectedMode = _selectedMode; _lastPivotMode = Tools.pivotMode; _lastPivotRotation = Tools.pivotRotation; FindColliders(); SceneView.RepaintAll(); } }
/// <summary> 鼠标是否覆盖 /// </summary> /// <param name="muslocation">鼠标点坐标</param> /// <returns>覆盖返回true,否则返回false</returns> public override bool MouseOver(Point muslocation) { _pro.MouseOver(muslocation); _con.MouseOver(muslocation); if (PointOver(Root, muslocation)) { _hoverarea = HoverMode.Point; _selectedmodel = SelectedMode.Root; return(true); } if (PointOver(Fork1, muslocation)) { _hoverarea = HoverMode.Point; _selectedmodel = SelectedMode.Fork1; return(true); } if (PointOver(Fork2, muslocation)) { _hoverarea = HoverMode.Point; _selectedmodel = SelectedMode.Fork2; return(true); } if (LineOver(Root, Fork1, muslocation)) { _hoverarea = HoverMode.Line; _selectedmodel = SelectedMode.Line; return(true); } if (LineOver(Root, Fork2, muslocation)) { _hoverarea = HoverMode.Line; _selectedmodel = SelectedMode.Line; return(true); } _hoverarea = HoverMode.None; _selectedmodel = SelectedMode.None; return(false); }
/// <summary> 鼠标移动元素 /// </summary> /// <param name="muslocation">鼠标点坐标</param> public override Boolean MouseMove(Point muslocation, Boolean multiple) { if (multiple) { _selectedmodel = SelectedMode.Line; } switch (_selectedmodel) { default: { break; } case SelectedMode.StartPoint: { StartPoint = muslocation; break; } case SelectedMode.EndPoint: { EndPoint = muslocation; break; } case SelectedMode.Line: { if (null == _old_muslocation) { _old_muslocation = muslocation; } else { Int32 move_x = muslocation.X - _old_muslocation.Value.X; Int32 move_y = muslocation.Y - _old_muslocation.Value.Y; StartPoint = new Point(StartPoint.X + move_x, StartPoint.Y + move_y); EndPoint = new Point(EndPoint.X + move_x, EndPoint.Y + move_y); _old_muslocation = muslocation; } break; } } return(true); }
public void NextUnit() { actionMode = SelectedMode.None; OnModeUpdated(); OnClearTilesSelection(); if (activeUnit < teams[activePlayer].units.Count - 1) { activeUnit++; } else { activeUnit = 0; } OnUnitChange(false); if (teams[activePlayer].logicType == Team.Logic.AI) { AIPlayer.Instance.PosessControl(teams[activePlayer].units[activeUnit]); } }
SelectedMode GetCurrentMode() { Tools.hidden = true; switch (Tools.current) { case Tool.None: case Tool.Move: _selectedMode = SelectedMode.ColliderMove; break; case Tool.Rotate: _selectedMode = SelectedMode.ColliderRotate; break; case Tool.Scale: case Tool.Rect: _selectedMode = SelectedMode.ColliderScale; break; } return(_selectedMode); }
/// <summary> 鼠标移动元素 /// </summary> /// <param name="muslocation">鼠标点坐标</param> public override Boolean MouseMove(Point muslocation, Boolean multiple) { if (multiple) { _selectedmodel = SelectedMode.Line; } switch (_selectedmodel) { default: { break; } case SelectedMode.Root: { Root = muslocation; break; } case SelectedMode.Fork1: { Fork1 = muslocation; break; } case SelectedMode.Fork2: { Fork2 = muslocation; break; } case SelectedMode.Line: { _pro.MouseMove(muslocation, true); _con.MouseMove(muslocation, true); break; } } return(true); }
private void NextTurn() { aimLine.enabled = false; OnClearTilesSelection(); if(activePlayer == -1) { activePlayer = 0; } else if(activePlayer == 0) activePlayer = 1; else if(activePlayer == 1) activePlayer = 0; for(int i = 0; i < teams[activePlayer].units.Count; i++) { teams[activePlayer].units[i].SetEnergy(energyBudget); } if(teams[activePlayer].logicType == Team.Logic.Human) { unitControllerCanvas.alpha = 1; unitControllerCanvas.interactable = true; unitControllerCanvas.blocksRaycasts = true; } else { unitControllerCanvas.alpha = 0; unitControllerCanvas.interactable = false; unitControllerCanvas.blocksRaycasts = false; } StartExpirationTimer(); activeUnit = 0; OnUnitChange(true); actionMode = SelectedMode.None; OnModeUpdated(); if(teams[activePlayer].logicType == Team.Logic.AI) AIPlayer.Instance.PosessControl(teams[activePlayer].units[0]); }
// Update is called once per frame void FixedUpdate () { if (Input.GetMouseButtonDown(0)) { if (eSystem.currentSelectedGameObject != null) { return; } else { Ray r = cam.ScreenPointToRay(Input.mousePosition); RaycastHit2D hit = Physics2D.Raycast(r.origin, r.direction); if (hit.collider != null && hit.collider.tag == "Tile") { Tile t = hit.collider.GetComponent<Tile>(); if (mode == SelectedMode.None) { game.UI_SelectTile(t); } else if (mode == SelectedMode.Move) { game.UI_SelectMove(t); } else if (mode == SelectedMode.AcceptMove) { if (t.uiState == Tile.TileUIState.Accept) { game.UI_AcceptMove(t); } else if (t.uiState == Tile.TileUIState.Cancel) { game.UI_CancelMove(t); } else if (t.Selected()) { game.UI_ReselectMove(t); } } else if (mode == SelectedMode.Fire) { game.UI_SelectFire(t); } else if (mode == SelectedMode.AcceptFire) { if (t.uiState == Tile.TileUIState.Accept) { game.UI_AcceptFire(t); } else if (t.uiState == Tile.TileUIState.Cancel) { game.UI_CancelFire(t); } else if (t.Target()) { game.UI_ReselectFire(t); } } } } } if (Input.GetMouseButtonDown(1)) { board.DeselectTiles(true, false); selectedTile = -1; mode = SelectedMode.None; } if (Input.GetMouseButton(0) && !Input.GetMouseButton(1)) { Move(-Input.GetAxis("Mouse X"), -Input.GetAxis("Mouse Y"), 0); } if (Input.GetMouseButton(1) && !Input.GetMouseButton(0)) { Zoom(-Input.GetAxis("Mouse Y")); } if (Control) { if (eSystem.currentSelectedGameObject != null) { //Debug.Log("Touching UI"); } else { if (Input.touchCount > 0) { if (Input.touchCount == 1) { if (Input.GetTouch(0).phase == TouchPhase.Moved) { Touch t = Input.GetTouch(0); Vector3 p = Input.GetTouch(0).deltaPosition * 0.5f; Move(-p.x, -p.y, 0); } if (Input.GetTouch(0).phase == TouchPhase.Began) { Ray r = cam.ScreenPointToRay(Input.GetTouch(0).position); RaycastHit2D hit = Physics2D.Raycast(r.origin, r.direction); if (hit.collider.tag == "Tile") { Tile t = hit.collider.GetComponent<Tile>(); if (mode == SelectedMode.None) { game.UI_SelectTile(t); } else if (mode == SelectedMode.Move) { game.UI_SelectMove(t); } else if (mode == SelectedMode.AcceptMove) { if (t.uiState == Tile.TileUIState.Accept) { game.UI_AcceptMove(t); } else if (t.uiState == Tile.TileUIState.Cancel) { game.UI_CancelMove(t); } else if (t.Selected()) { game.UI_ReselectMove(t); } } else if (mode == SelectedMode.Fire) { game.UI_SelectFire(t); } else if (mode == SelectedMode.AcceptFire) { if (t.uiState == Tile.TileUIState.Accept) { game.UI_AcceptFire(t); } else if (t.uiState == Tile.TileUIState.Cancel) { game.UI_CancelFire(t); } else if (t.Target()) { game.UI_ReselectFire(t); } } } } } else if (Input.touchCount == 2) { Vector2 t1 = Input.GetTouch(0).position - Input.GetTouch(0).deltaPosition; Vector2 t2 = Input.GetTouch(1).position - Input.GetTouch(1).deltaPosition; float prevTouch = (t1 - t2).magnitude; float touch = (Input.GetTouch(0).position - Input.GetTouch(1).position).magnitude; float deltaDiff = prevTouch - touch; Zoom(deltaDiff * 0.3f); } } } } }
public void SelectAttack() { if(teams[activePlayer].units[activeUnit].energyLeft >= attackCost) actionMode = SelectedMode.Attack; else ShowToast("Not enough energy!"); OnModeUpdated(); }
public void SelectMove() { actionMode = SelectedMode.Move; OnModeUpdated(); }
public void SelectNone() { actionMode = SelectedMode.None; OnModeUpdated(); }
public void SelectRise() { if(teams[activePlayer].units[activeUnit].energyLeft >= riseCost) actionMode = SelectedMode.Rise; else ShowToast("Not enough energy!"); OnModeUpdated(); }
public void ProcessClick(Transform target) { if(gameStarted) { int currentUnitIndex = TerrainGenerator.Instance.FindTileIndex(teams[activePlayer].units[activeUnit].tileOwned); int targetIndex = 0; if(target.gameObject.name.Contains("Hex")) targetIndex = TerrainGenerator.Instance.FindTileIndex(target); else if(target.gameObject.name.Contains("Unit")) { Debug.Log("Clicked unit, finding owned tile instead."); targetIndex = TerrainGenerator.Instance.FindTileIndex(target.GetComponent<Unit>().tileOwned); } if(!EventSystem.current.IsPointerOverGameObject()) { if(teams[activePlayer].logicType == Team.Logic.Human) { switch(actionMode) { case(SelectedMode.Move): aimLine.enabled = false; if(target.gameObject.name.Contains("Hex") && target.GetComponent<HexUnit>().isAvailableForMovement) { teams[activePlayer].units[activeUnit].GetComponent<Unit>().MoveToTile(target); OnClearTilesSelection(); actionMode = SelectedMode.None; OnModeUpdated(); } else { ShowToast("Not Enough energy!"); } break; case(SelectedMode.Attack): OnClearTilesSelection(); if(teams[activePlayer].units[activeUnit].energyLeft >= attackCost) { Unit targetUnit = TerrainGenerator.Instance.hexes[targetIndex].GetComponent<HexUnit>().Owner; if(targetUnit != null) { Attack(targetUnit); } } else { ShowToast("Not Enough energy!"); } break; case(SelectedMode.Bomb): Debug.Log("Bomb!"); OnClearTilesSelection(); aimLine.enabled = false; if(teams[activePlayer].units[activeUnit].energyLeft >= bombCost) { if(TerrainGenerator.Instance.CalculatePathDistance(currentUnitIndex, targetIndex, 0) <= bombReach) { Transform epicenter = TerrainGenerator.Instance.hexes[targetIndex]; epicenter.GetComponent<HexUnit>().Rise(-0.05f); if(epicenter.GetComponent<HexUnit>().Owner != null) epicenter.GetComponent<HexUnit>().Owner.ReceiveDamage(15); foreach(Transform t in TerrainGenerator.Instance.GetHexNeighbours(epicenter)) { HexUnit hex = t.GetComponent<HexUnit>(); hex.Rise(UnityEngine.Random.Range(-0.03f, -0.02f)); if(hex.Owner != null) hex.Owner.ReceiveDamage(15); } Instantiate(explosionPrefab, new Vector3(0, 2, 0) + TerrainGenerator.Instance.hexes[targetIndex].position, Quaternion.identity); teams[activePlayer].units[activeUnit].energyLeft -= bombCost; } else { ShowToast("Too far!"); } } else { ShowToast("Not Enough energy!"); } break; case(SelectedMode.Rise): Debug.Log("Rise!"); OnClearTilesSelection(); aimLine.enabled = false; if(teams[activePlayer].units[activeUnit].energyLeft >= bombCost) { if(TerrainGenerator.Instance.CalculatePathDistance(currentUnitIndex, targetIndex, 0) <= riseReach) { Transform epicenter = TerrainGenerator.Instance.hexes[targetIndex]; epicenter.GetComponent<HexUnit>().Rise(0.05f); foreach(Transform t in TerrainGenerator.Instance.GetHexNeighbours(epicenter)) { t.GetComponent<HexUnit>().Rise(UnityEngine.Random.Range(0.03f, 0.02f)); } teams[activePlayer].units[activeUnit].energyLeft -= bombCost; } else { ShowToast("Too far!"); } } else { ShowToast("Not Enough energy!"); } break; default: break; } } //This player is controller by AI! else { } } OnUnitChange(false); } }
private void HighlightIcon(SelectedMode mode) { attackIcon.color = normalColor; bombIcon.color = normalColor; moveIcon.color = normalColor; riseIcon.color = normalColor; if(mode == SelectedMode.Attack) attackIcon.color = activeColor; else if(mode == SelectedMode.Move) moveIcon.color = activeColor; else if(mode == SelectedMode.Bomb) bombIcon.color = activeColor; else if(mode == SelectedMode.Rise) riseIcon.color = activeColor; }
public void NextUnit() { actionMode = SelectedMode.None; OnModeUpdated(); OnClearTilesSelection(); if(activeUnit < teams[activePlayer].units.Count - 1) { activeUnit++; } else { activeUnit = 0; } OnUnitChange(false); if(teams[activePlayer].logicType == Team.Logic.AI) AIPlayer.Instance.PosessControl(teams[activePlayer].units[activeUnit]); }