public void SelectCube(Cube cube, Cube.EState state) { var obj = cube.gameObject; if (cube.State == Cube.EState.Selected || cube.State == Cube.EState.Enable) { if (cube.State != state) { if (state == Cube.EState.Selected) { SelectedObj.Add(obj); if (SelectedObj.Count == 1) { MenuManager.Get.Hud.EnableSelectionBtn(true); } cube.SetState(Cube.EState.Selected); mPrevObjSelected = obj; } else { SelectedObj.Remove(obj); if (SelectedObj.Count == 0) { MenuManager.Get.Hud.EnableSelectionBtn(false); } cube.SetState(); mPrevObjSelected = obj; } } } }
private void RunIfMoveAction(RaycastHit hit) { RingSelectedEnemy.SetDeactiveRing(); Tile t = hit.collider.GetComponent <Tile>(); if (t.selectable) { if (currentSelectedObj == SelectedObj.tile && t.GetComponent <Renderer>().material.color == Color.blue) { t.GetComponent <Renderer>().material.color = Color.green; currentSelectedObj = SelectedObj.none; MoveToTile(t); } currentSelectedObj = SelectedObj.tile; if (t.GetComponent <Renderer>().material.color != Color.blue && t.GetComponent <Renderer>().material.color != Color.green) { foreach (Tile tile in selectableTiles) { if (tile.GetComponent <Renderer>().material.color == Color.blue) { tile.GetComponent <Renderer>().material.color = Color.red; } } t.GetComponent <Renderer>().material.color = Color.blue; } } }
private void RunIfAttackAction(RaycastHit hit) { if (hit.collider.GetComponent <BaseStats>().HP > 0) { removeSelectedTileByMouse(); RingSelectedEnemy.SetActiveRing(); heading = hit.collider.transform.position - transform.position; heading.Normalize(); transform.forward = heading; if (currentSelectedObj == SelectedObj.enemy && RingInTheSamePosition(hit)) { currentSelectedObj = SelectedObj.none; RingSelectedEnemy.SetDeactiveRing(); AttackEnemy(hit); } currentSelectedObj = SelectedObj.enemy; if (hit.collider.gameObject.transform.position != RingSelectedEnemy.GetRingPosition()) { RingSelectedEnemy.GetEnemyPosition(hit.collider.GetComponent <UnitMovement>()); } } }
private void DrawNode(Node nodedata, Node parent, TreeDirection direction) { var selected = SelectedObj == nodedata; var color = selected ? Color.DodgerBlue : Color.FromArgb(120, 128, 128, 128); if (parent != null) { var parentUnlocked = parent.Unlocked(DataTree); if (!parentUnlocked && !selected) { color = Color.FromArgb(150, 120, 120, 120); } if (parentUnlocked && parent == SelectedObj && !SelectedObj.Unlocked(DataTree)) { color = Color.FromArgb(150, 255, 150, 0); } } new UIRectangle(nodedata.Position, new Size(NTree.NodeSize, NTree.NodeSize), Color.Black).Draw(); new UIRectangle(nodedata.Position + new Size(2, 2), new Size(NTree.NodeSize - 4, NTree.NodeSize - 4), color).Draw(); new UIRectangle(nodedata.Position + new Size(4, 4), new Size(NTree.NodeSize - 8, NTree.NodeSize - 8), Color.FromArgb(255, 24, 24, 24)).Draw(); nodedata.Sprite.Draw(nodedata.Position + new Size(4, 4), NTree.NodeSize - 8, NTree.NodeSize - 8, Color.White); new UIText(nodedata.GetName(), nodedata.Position + new Size(NTree.NodeSize / 2, NTree.NodeSize), 0.35f, Color.White, 0, true).Draw(); new UIText(nodedata.GetFooter(DataTree), nodedata.Position + new Size(NTree.NodeSize / 2, NTree.NodeSize + 17), 0.21f, Color.White, 0, true).Draw(); if (parent == null) { return; } var pPos = parent.Position; var dir = nodedata.Direction; var linkColor = parent == SelectedObj && !nodedata.Unlocked(DataTree) ? Color.FromArgb(150, 255, 150, 0) : Color.White; switch (dir) { case TreeDirection.Right: new UIRectangle(pPos + NTree.NodeCenter + new Size(NTree.NodeSize / 2 + 29, -NTree.LinkThickness / 2), new Size(NTree.LinkLength - 19, NTree.LinkThickness), linkColor).Draw(); break; case TreeDirection.Down: new UIRectangle(pPos + NTree.NodeCenter + new Size(-NTree.LinkThickness / 2, NTree.NodeSize / 2 + 29), new Size(NTree.LinkThickness, NTree.LinkLength - 19), linkColor).Draw(); break; case TreeDirection.Left: new UIRectangle(pPos + NTree.NodeCenter + new Size(-(NTree.NodeSize / 2 + 29) - 50, -NTree.LinkThickness / 2), new Size(NTree.LinkLength - 19, NTree.LinkThickness), linkColor).Draw(); break; case TreeDirection.Up: new UIRectangle(pPos + NTree.NodeCenter + new Size(-NTree.LinkThickness / 2, -(NTree.NodeSize / 2 + 29) - 31), new Size(NTree.LinkThickness, NTree.LinkLength - 19), linkColor).Draw(); break; } }
public void ResetSelectedObj() { foreach (var obj in SelectedObj) { var cube = obj.GetComponent <Cube>(); if (cube) { cube.SetState(Cube.EState.Enable); } } SelectedObj.Clear(); MenuManager.Get.Hud.EnableSelectionBtn(false); }
public override void Draw() { string title; string subText; string activateText; GetTitle(DataTree, out title, out subText, out activateText); new UIRectangle(new Point(3, 3), new Size(UI.WIDTH - 6, UI.HEIGHT - 6), Color.FromArgb(240, 25, 25, 25)).Draw(); new UIRectangle(new Point(UI.WIDTH - 342, UI.HEIGHT - 23), new Size(332, 14), Color.FromArgb(120, 8, 8, 8)).Draw(); new UIText("[backspace] back [5] " + activateText + " [num4] left [num6] right [num8] up [num2] down", new Point(UI.WIDTH - 340, UI.HEIGHT - 23), 0.18f, Color.White, 0, false).Draw(); new UIText(title, new Point(50, 20), 1.2f, Color.White, 0, false).Draw(); new UIText(subText, new Point(50, 70), 0.5f, Color.White, 0, false).Draw(); new UIText(RPG.PlayerData.Name.ToLower() + " level " + RPG.PlayerData.Level + " criminal", new Point(UI.WIDTH - 250, 40), 0.4f, Color.White, 0, false).Draw(); new UIRectangle(new Point(UI.WIDTH / 2 - 150, UI.HEIGHT - 110), new Size(300, 100), Color.FromArgb(120, 8, 8, 8)).Draw(); SelectedObj.DrawDetails(DataTree); DataTree.Draw(DataTree, null, DrawNode); }
void HandleHotKey(System.Windows.Input.KeyEventArgs e) { if (RenderIsDragging) { return; } if (e.Key == Key.B && EditingList) { PreviousList(); } if (SelectionCount == 0) { return; } if (e.Key == Key.Space) { render.LookAt(SelectedObj.ModelView_Pos); } else if (e.Key == Key.OemPlus && Btn_AddObj.Enabled) { Btn_AddObj_Click(null, null); } else if (e.Key == Key.D && SelectionCount == 1) { DuplicateObj(SelectedObj, CurList); } else if (e.Key == Key.Delete) { btn_delObj_Click(null, null); } else if (e.Key == Key.F) { findToolStripMenuItem.ShowDropDown(); } else if (e.Key == Key.H) { lnk_hideSelectedObjs_LinkClicked(null, null); } else if (e.Key == Key.Z && UndoList.Count > 0) { UndoList.Pop().Undo(); } else if (e.Key == Key.C && SelectionCount == 1) { if (SelectedObj[LevelObj.N_Links] != null) { var BakLinks = ((LinksNode)SelectedObj[LevelObj.N_Links]).Clone(); AddToUndo((dynamic arg) => { ((LevelObj)arg[0])[LevelObj.N_Links] = arg[1]; }, $"Edited links of {SelectedObj.ToString()}", new dynamic[] { SelectedObj, BakLinks }); new EditorFroms.LinksEditor(SelectedObj[LevelObj.N_Links]).ShowDialog(); } } #if DEBUG else if (e.Key == Key.P) { foreach (ObjList l in LoadedLevel.objs.Values) { foreach (LevelObj o in l) { UpdateModelPosition(o); } } } #endif else { return; } }