/// <summary> /// 设置属性 /// </summary> /// <param name="name"></param> /// <param name="health"></param> /// <param name="attack"></param> /// <param name="attackDistance"></param> /// <param name="moveSpeed"></param> /// <param name="attackInterval"></param> /// <param name="cost"></param> public void Set(string name, int health, int attack, float attackDistance, float moveSpeed, float attackInterval, int cost, int star) { Name = name; Health = health; Attack = attack; AttackDistance = attackDistance; MoveSpeed = moveSpeed; AttackInterval = attackInterval; Cost = cost; Star = star; var prefab = DataManager.Instance.PiecePrefabs[star] .Find(e => e.GetComponent <PieceController>().pieceName == name); Debug.Log(prefab); if (model != null) { Destroy(model); } var instance = GameObject.Instantiate(prefab); var controller = instance.GetComponent <PieceController>(); controller.OriginPos = ModelOffset; controller.transform.localScale = new Vector3(0.8f, 0.8f, 1f); controller.Clickable = false; controller.Reset(); model = instance; LayerTool.ChangeLayer(instance.transform, 5); }
IEnumerator GetCards(WaitForSeconds seconds) { yield return(seconds); foreach (var card in Cards) { var cardItem = GetRandomCard(1); var item = Instantiate(cardItem); item.transform.localScale = new Vector3(.3f, .3f, 1); item.transform.parent = card.gameObject.transform; item.transform.position = card.transform.position; LayerTool.ChangeLayer(item.transform, 3); var controller = item.GetComponent <PieceController>(); controller.Placeable = true; controller.OriginPos = item.transform.position; controller.Reset(); card.cardItem = item; var ui = card.GetComponent <CardBaseController>().ui; if (ui != null) { var UIEvent = ui.GetComponent <CardUIEvent>(); UIEvent.name = controller.pieceName; UIEvent.cost = controller.cost; } } _cardResetLock = false; yield break; }
public void LoadMap(GameMap map) { var maxPieceList = new List <int> { 5, 6, 6, 7, 7 }; maxPieces = maxPieceList[int.Parse(map.Name) - 1]; if (height == map.Height && width == map.Width) { InitTileMap(); // Çå³ýËùÓжÓÎéΪ1µÄÆå×Ó ClearPiece(1); for (var row = 0; row < map.Height; ++row) { for (var col = 0; col < map.Width; ++col) { var cell = map.Map[row, col]; if (cell != null && !string.IsNullOrWhiteSpace(cell)) { var piece = cell.Split('|'); var piecePrefab = DataManager.Instance.PiecePrefabs[int.Parse(piece[1])] .FirstOrDefault(e => (e != null ? e.GetComponent <PieceController>().pieceName : null) == piece[0]); if (piecePrefab != null) { var pieceInstance = Instantiate(piecePrefab, PieceArea.transform); var pieceController = pieceInstance.GetComponent <PieceController>(); pieceController.OriginPos = new Vector3(col + mapRect.xMin, row + mapRect.yMin, 0) + pieceController.offset; pieceController.ChangeTeam(1); pieceController.initHealthUI(); pieceController.Reset(); LayerTool.ChangeLayer(pieceController.transform, 3); PutPiece(Vector3Int.RoundToInt(new Vector3(col + mapRect.xMin, row + mapRect.yMin, 0)), pieceController); } } } } } else { Debug.LogError("µØͼ³¤¿í´íÎó"); } }
public PieceController UpgradePiece(PieceController piece) { List <PieceController> pieces = new List <PieceController> { }; foreach (var p in _piecesList) { if (p.pieceName == piece.pieceName && piece.star == p.star && piece.Team == p.Team) { pieces.Add(p); } } if (pieces.Count >= 2) { if (dataManager.PiecePrefabs.ContainsKey(piece.star + 1)) { var list = dataManager.PiecePrefabs[piece.star + 1]; var upgradePiece = list.Find(e => e.GetComponent <PieceController>().pieceName == piece.pieceName); if (upgradePiece != null) { var pieceInstance = Instantiate(upgradePiece); pieceInstance.transform.position = piece.transform.position; var controller = pieceInstance.GetComponent <PieceController>(); LayerTool.ChangeLayer(pieceInstance.transform, 3); foreach (var p in pieces) { map.PutPiece(Vector3Int.RoundToInt(p.CurrentPosition - p.offset), null); _piecesList.Remove(p); Destroy(p.gameObject); } Destroy(piece.gameObject); return(controller); } } } return(piece); }
public void LoadCardData() { foreach (var card in Cards) { var cardItem = GetRandomCard(1); var item = Instantiate(cardItem); item.transform.localScale = new Vector3(.3f, .3f, 1); item.transform.parent = card.gameObject.transform; item.transform.position = card.transform.position; LayerTool.ChangeLayer(item.transform, 3); var controller = item.GetComponent <PieceController>(); controller.Placeable = true; controller.OriginPos = item.transform.position; controller.Reset(); card.cardItem = item; var ui = card.GetComponent <CardBaseController>().ui; if (ui != null) { var UIEvent = ui.GetComponent <CardUIEvent>(); UIEvent.name = controller.pieceName; UIEvent.cost = controller.cost; } } }
static void ImportLayer() { LayerTool.ImportLayers(Actions.ChargeItem.layer, Actions.ChargeResource.layer); }
static void ImportLayer() { LayerTool.ImportLayers(DragItem.layerName); }
static void ImportLayer() { LayerTool.ImportLayers(RotateItem.layer); }
private PlateModel analyticalPaper(string url) { //DateTime beforDT = System.DateTime.Now; PlateModel plate = new PlateModel(); string[] urlStr = url.Split('\\'); string[] nameAndNum = urlStr[urlStr.Length - 1].Split('-'); plate.PlateName = nameAndNum[0]; plate.PlateCode = nameAndNum[0]; plate.PlateCount = int.Parse(nameAndNum[1].Substring(0, nameAndNum[1].Length - 4)); #region 加载dxf文件,获取文件每行的内容 List <string> listDxfInfo = new List <string>(); StreamReader sr = new StreamReader(url, Encoding.Default); String input; while ((input = sr.ReadLine()) != "EOF") { listDxfInfo.Add(input); } listDxfInfo.Add("EOF"); sr.Close(); #endregion #region 提取需要的信息内容,这里按图形和文字进行分类提取 List <string> listLine = new List <string>(); //直线类型 List <string> listCircle = new List <string>(); //圆类型 List <string> listArc = new List <string>(); //圆弧类型 List <string> listEllipse = new List <string>(); //椭圆类型 List <string> listText = new List <string>(); //单行文字类型 List <string> listMtext = new List <string>(); //多行文字类型 List <string> listLayer = new List <string>(); //图层信息 Dictionary <string, string> layerNandC = new Dictionary <string, string>(); //图层颜色和信息 for (int i = 0; i < listDxfInfo.Count; i++) { string s1 = listDxfInfo[i].Trim(); string s2 = listDxfInfo[i = i + 1].Trim(); if ("LAYER".Equals(s2) && "0".Equals(s1)) { List <string> getList = createListByClass(i - 1, listDxfInfo); listLayer.AddRange(getList); i = i + getList.Count - 2; getList.Clear(); } else if ("LINE".Equals(s2) && "0".Equals(s1)) { List <string> getList = createListByClass(i - 1, listDxfInfo); listLine.AddRange(getList); i = i + getList.Count - 2; getList.Clear(); } else if ("CIRCLE".Equals(s2) && "0".Equals(s1)) { List <string> getList = createListByClass(i - 1, listDxfInfo); listCircle.AddRange(getList); i = i + getList.Count - 2; getList.Clear(); } else if ("ARC".Equals(s2) && "0".Equals(s1)) { List <string> getList = createListByClass(i - 1, listDxfInfo); listArc.AddRange(getList); i = i + getList.Count - 2; getList.Clear(); } else if ("ELLIPSE".Equals(s2) && "0".Equals(s1)) { List <string> getList = createListByClass(i - 1, listDxfInfo); listEllipse.AddRange(getList); i = i + getList.Count - 2; getList.Clear(); } else if ("TEXT".Equals(s2) && "0".Equals(s1)) { List <string> getList = createListByClass(i - 1, listDxfInfo); listText.AddRange(getList); i = i + getList.Count - 2; getList.Clear(); } else if ("MTEXT".Equals(s2) && "0".Equals(s1)) { List <string> getList = createListByClass(i - 1, listDxfInfo); listMtext.AddRange(getList); i = i + getList.Count - 2; getList.Clear(); } } listDxfInfo.Clear(); #endregion #region 利用GDI+在自己的cad面板中画出提取出的内容 if (listLayer.Count > 0) { layerNandC = new LayerTool().getLayer(listLayer); } if (listLine.Count > 0) { plate.OutModel.ListShape.AddRange(new LineTool().getLineByColor(listLine, layerNandC)); } if (listCircle.Count > 0) { plate.OutModel.ListShape.AddRange(new CircleTool().getLineByColor(listCircle, layerNandC)); } if (listArc.Count > 0) { plate.OutModel.ListShape.AddRange(new ArcTool().getLineByColor(listArc, layerNandC)); } //if (listText.Count > 0) { new TextTool().createText(listText); } if (listEllipse.Count > 0) { plate.OutModel.ListShape.AddRange(new EllipseTool().getLineByColor(listEllipse, layerNandC)); } #endregion listEllipse.Clear(); listText.Clear(); listArc.Clear(); listCircle.Clear(); listLine.Clear(); listLayer.Clear(); layerNandC.Clear(); ModelOper modelOper = new ModelOper(); plate = modelOper.baseShapeSort(plate); for (int k = 0; k < plate.InnerModel.Count; k++) { plate.InnerModel[k] = modelOper.reSetPointShunXu(plate.InnerModel[k], false); } //for (int i = 0; i < plate.InnerModel[0].ListShape.Count; i++) //{ // Console.WriteLine("{0},{1},{2}", // plate.InnerModel[0].ListShape[i].ShapeClass, plate.InnerModel[0].ListShape[i].StartPoint, plate.InnerModel[0].ListShape[i].EndPoint); //} //CADInterface.currentPlates.Add(plate.OutModel); //这里不存在外围面域,下面的判断之后才选定外围面域 CADInterface.currentPlates.AddRange(plate.InnerModel); CADInterface.DrawShap(); plate = modelOper.reSetOutInner(plate); plate = modelOper.juedeIsArc(plate); plate = new CalculateArea().getPlateArea(plate); plate = new CalculateArea().getPlateBound(plate); plate = new CreateCenterPoint().getRotateCenter(plate); plate = new CreateCenterPoint().getPowCenter(plate); //DateTime afterDT = System.DateTime.Now; //TimeSpan ts = afterDT.Subtract(beforDT); //Console.WriteLine("件号:{0},时间:{1}", // plate.PlateName, ts.TotalSeconds); return(plate); //DateTime afterDT = System.DateTime.Now; //TimeSpan ts = afterDT.Subtract(beforDT); //MessageBox.Show("DateTime总共花费:" + ts.TotalMilliseconds); }
static void ImportLayer() { LayerTool.ImportLayers(ClickItem.layer); }
static void ImportLayer() { LayerTool.ImportLayers(PlaceItem.placePosLayer); }
static void ImportLayer() { LayerTool.ImportLayers(ConnectItem.layer); }
static void ImportLayer() { LayerTool.ImportLayers(DetachItem.layer); }
static void ImportLayer() { LayerTool.ImportLayers(LinkPort.layer); }
static void ImportLayer() { LayerTool.ImportLayers(PickUpAbleItem.layer); }
static void ImportLayer() { LayerTool.ImportLayers(RopeElement.ropeItemLayer); }