//设置周边墙体形状 private void setAroundWallIamge() { mUpTile = TilesManager.GetTileItem(BindTileItems[0].IndexX, BindTileItems[0].IndexY - 1); mDownTile = TilesManager.GetTileItem(BindTileItems[0].IndexX, BindTileItems[0].IndexY + 1); mLeftTile = TilesManager.GetTileItem(BindTileItems[0].IndexX - 1, BindTileItems[0].IndexY); mRightTile = TilesManager.GetTileItem(BindTileItems[0].IndexX + 1, BindTileItems[0].IndexY); //重新设置周边墙体形状 if (mUpTile != null && mUpTile.HaveWall) { mTop = true; mUpTile.WallItem.SetWallImage(false); } if (mDownTile != null && mDownTile.HaveWall) { mBottom = true; mDownTile.WallItem.SetWallImage(false); } if (mLeftTile != null && mLeftTile.HaveWall) { mLeft = true; mLeftTile.WallItem.SetWallImage(false); } if (mRightTile != null && mRightTile.HaveWall) { mRight = true; mRightTile.WallItem.SetWallImage(false); } }
//设置房间的位置及大小(以当前所有格子中左上角一个为准) private void setRoomPositionAndSize() { var miniX = int.MaxValue; var miniY = int.MaxValue; var maxX = -1; var maxY = -1; for (int i = 0; i < BindTileItems.Count; i++) { if (BindTileItems[i].IndexX < miniX) { miniX = BindTileItems[i].IndexX; } if (BindTileItems[i].IndexY < miniY) { miniY = BindTileItems[i].IndexY; } if (BindTileItems[i].IndexX > maxX) { maxX = BindTileItems[i].IndexX; } if (BindTileItems[i].IndexY > maxY) { maxY = BindTileItems[i].IndexY; } } MyLogger.Debug("miniX:" + miniX + " miniY:" + miniY); MyLogger.Debug("maxX:" + maxX + " maxY:" + maxY); transform.localPosition = TilesManager.GetTileItem(miniX, miniY).Position; Image.rectTransform.SetPivot(new Vector2(0, 1)); Image.rectTransform.sizeDelta = new Vector2(64 * (maxX - miniX + 1), 64 * (maxY - miniY + 1)); //todo:根据房间大小及方向设置房间名称大小及方向 }
private byte[] RenderFirstPageInBytes(Stream xpsStream, int page, double scale) { using (var tileManager = new TilesManager(xpsStream)) { return(LoadPage(tileManager, page, scale)); } }
public static void IncreaseDifficulty() { difficultyBumpThreshold += GameConsts.THRESHOLD_FOR_DIFFICULTY_BUMP; // FIRST COLOR DIFFICULTY BUMP - ADDING NEW COLORS if (ColorsCount < GameConsts.FIRST_COLOR_DIFFICULTY_CHANGE) { ColorsCount++; TilesManager.AddNewColor(); return; } // FIRST ORDER DIFFICULTY BUMP - ADDING ADDITIONAL ORDER TO PROCEED if (OrdersCount < GameConsts.FIRST_ORDER_DIFFICULTY_CHANGE) { OrdersCount++; return; } // SECOND COLOR DIFFICULTY BUMP - ADDING NEW COLORS if (ColorsCount < GameConsts.SECOND_COLOR_DIFFICULTY_CHANGE) { ColorsCount++; TilesManager.AddNewColor(); return; } // SECOND ORDER DIFFICULTY BUMP - ADDING ADDITIONAL ORDER TO PROCEED if (OrdersCount < GameConsts.SECOND_ORDER_DIFFICULTY_CHANGE) { OrdersCount++; return; } }
private void ActionChange(TileChangeEntry changeEntry) { if (!TilesManager.ValidateTileKey(changeEntry.layerToChange, changeEntry.tileKey)) { Logger.LogError("No key found for Tile Change", Category.TileMaps); return; } //Set the correct z Level for the tile changeEntry.cellPosition.z = GetLayerZLevel(changeEntry.layerToChange); var tileMap = GetTilemap(changeEntry.layerToChange); if (tileMap == null) { return; } TileBase newTile = TilesManager.GetTile(changeEntry.layerToChange, changeEntry.tileKey); tileMap.SetTile(Vector3Int.RoundToInt(changeEntry.cellPosition), newTile); if (isServer) { RpcActionChange(changeEntry.cellPosition, changeEntry.tileKey, changeEntry.layerToChange); } //Store the change data and later we will store it in a database (so when a server crashes it is safe or to replay station change events) ChangeRegister.allEntries.Add(changeEntry); }
private void PerformRenameLocal() { _database.Details.Name = txtName.Text; _database.SaveDetails(); TilesManager.Renamed(_database); NavigationService.GoBack(); }
void Awake() { // Initialize TilesContainer tiles tileManager = GameObject.Find("Tiles Manager").GetComponent <TilesManager>(); tileManager.InitializeTiles(widthInTiles, heightInTiles); DrawTiledBackground(); }
public Room(int plug, int width, int height, Composite parent, TilesManager manager, Room rm, int offset) : base(parent, manager) { nbPlug = plug; this.width = width; this.height = height; this.offset = offset; plugRoom = rm; }
public void AddRandomColor() { colorTileID = TilesManager.RandomPickColorID(); rend = GetComponent <Renderer>(); rend.enabled = true; rend.sharedMaterial = TilesManager.ColorID[colorTileID]; //Debug.Log(colorTileID); }
void Update() { #if UNITY_EDITOR if (Instance == null) { Instance = this; } #endif }
void Awake() { if (Instance == null) { Instance = this; } numTileInfos = tileInfos.Length; }
//todo:判断房间条件是否满足 private void checkCondition() { //基础条件 四周是封闭的(墙+门) TileItem leftUpper; TileItem rightUpper; TileItem leftBottom; TileItem rightBottom; var upperItems = new List <TileItem>(); var bottomItems = new List <TileItem>(); var rightItems = new List <TileItem>(); var leftItems = new List <TileItem>(); for (int i = 0; i < BindTileItems.Count; i++) { //四周的格子 var arroundItems = TilesManager.GetArroundTilesWithNull(BindTileItems[i].IndexX, BindTileItems[i].IndexY); //上 if (arroundItems[0] == null) { upperItems.Add(arroundItems[0]); } else if (arroundItems[0].BelongRoom == false) { upperItems.Add(arroundItems[0]); } //下 if (arroundItems[1] == null) { bottomItems.Add(arroundItems[1]); } else if (arroundItems[1].BelongRoom == false) { bottomItems.Add(arroundItems[1]); } //左 if (arroundItems[2] == null) { leftItems.Add(arroundItems[2]); } else if (arroundItems[2].BelongRoom == false) { leftItems.Add(arroundItems[2]); } //右 if (arroundItems[3] == null) { rightItems.Add(arroundItems[3]); } else if (arroundItems[3].BelongRoom == false) { rightItems.Add(arroundItems[3]); } } //去重,防止房间内有墙壁,获取上下左右四个角的格子 }
private void Awake() { if (_instance != null && _instance != this) { Destroy(this.gameObject); } else { _instance = this; } }
void Awake() { if (Instance == null) { Instance = this; } else { Destroy(gameObject); } }
public Chunk(Vector2Int btnLeft, Vector2Int tpRight, DatabaseSprite database, TilesManager tilesMan, bool bL = true, bool bR = true, bool bU = true, bool bD = true) { bottomLeft = btnLeft; topRight = tpRight; db = database; tileMan = tilesMan; buildLeft = bL; buildRight = bR; buildUp = bU; buildDown = bD; }
private List <TileItem> getPointDownTileItem() { mPreSelectTileItems.Clear(); var tileIndexX = (int)((mPointDownPosition.x + mMapWidth / 2) / mTileSize); var tileIndexY = (int)((mMapHeight / 2 - mPointDownPosition.y) / mTileSize); TileItem tileItem = TilesManager.GetTileItem(tileIndexX, tileIndexY);; if (tileItem != null) { mPreSelectTileItems.Add(tileItem); } return(mPreSelectTileItems); }
/// <summary> /// 工人到位后开始拆除 /// </summary> /// <param name="commandType"></param> /// <param name="finish"></param> /// <returns></returns> public IEnumerator Remove(BuildCommandType commandType, Action finish) { switch (commandType) { case BuildCommandType.RemoveGroundwork: if (HaveGroundwork) { yield return(StartCoroutine(mGroundworkItem.Remove())); mGroundworkItem = null; } break; case BuildCommandType.RemoveBuildingMaterials: if (HaveWall) { yield return(StartCoroutine(WallItem.Remove())); WallItem = null; foreach (var item in TilesManager.GetArroundTiles(IndexX, IndexY)) { if (item.HaveWall) { item.WallItem.SetWallImage(false); } } } else if (HaveDoor) { yield return(StartCoroutine(DoorItem.Remove())); DoorItem = null; foreach (var item in TilesManager.GetArroundTiles(IndexX, IndexY)) { if (item.HaveWall) { item.WallItem.SetWallImage(false); } } } break; case BuildCommandType.RemoveRoom: break; case BuildCommandType.RemoveDecorate: break; } finish(); }
public Leaf(Composite parent, TilesManager manager) { this.parent = parent; this.manager = manager; if (this.parent != null) { depth = parent.Depth + 1; parent.Childs.Add(this); } else { depth = 0; } }
void Start() { tilesArray = GetComponentInParent <TilesManager>().tilesArray; myRigidbody = GetComponent <Rigidbody>(); myRenderer = GetComponent <Renderer>(); tileDefaultMaterial = Resources.Load("TileDefault", typeof(Material)) as Material; tileSelectedMaterial = Resources.Load("TileSelected", typeof(Material)) as Material; tileSameGroupMaterial = Resources.Load("TileSameGroup", typeof(Material)) as Material; //Get Tiles Manager GameObject tileManagerObj = GameObject.Find("Tiles"); tileManager = tileManagerObj.GetComponent <TilesManager>(); }
private void mnuPin_Click(object sender, RoutedEventArgs e) { var item = (MenuItem)sender; var database = (DatabaseInfo)item.Tag; if (TilesManager.Pin(database)) { return; } MessageBox.Show( Properties.Resources.AlreadyPinned, Properties.Resources.PinDatabase, MessageBoxButton.OK); }
private void cmdDelete_Click(object sender, EventArgs e) { var msg = string.Format( Properties.Resources.ConfirmDeleteDb, _database.Details.Name); var confirm = MessageBox.Show(msg, Properties.Resources.DeleteDbTitle, MessageBoxButton.OKCancel) == MessageBoxResult.OK; if (!confirm) { return; } _database.Delete(); TilesManager.Deleted(_database); this.NavigateTo <MainPage>(); }
void Start() { GridParameters.MaxGemTypes = Mathf.Clamp(GridParameters.MaxGemTypes, 3, ViewParameters.GemPrefabs.Length); TilesManager = new TilesManager( this, GridParameters.Columns, GridParameters.Rows ); GridManager = new GridManager( this, GridParameters.Columns, GridParameters.Rows, SequenceParameters.GemFallTime ); SetupCamera(); }
/// <summary> /// 地图初始化 /// </summary> /// <returns></returns> public IEnumerator Init() { //初始化地图 //yield return new WaitForEndOfFrame(); var tileRowNum = mMapHeight / mTileSize; var tileColumnNum = mMapWidth / mTileSize; var time = new Stopwatch(); time.Start(); for (var i = 0; i < tileColumnNum; i++) { for (var j = 0; j < tileRowNum; j++) { //var tile = Utils.CreateGameObject(mTileItem, mEditorLayer, new Vector3(mTileSize * i, -mTileSize * j, 0)).GetComponent<TileItem>(); var go = Instantiate(mTileItem); go.transform.SetParent(LandformLayer); go.transform.localScale = Vector3.one; go.SetLayer(LandformLayer.gameObject.layer, true); go.GetComponent <RectTransform>().anchoredPosition3D = new Vector3(mTileSize * i, -mTileSize * j, 0); var tileItem = go.AddComponent <TileItem>(); StartCoroutine(tileItem.SetData(i, j)); TilesManager.TileItemDicts.Add(new Vector2(i, j), tileItem); } } Debug.Log("time:" + (time.ElapsedMilliseconds)); //初始化工人 TileItem item = TilesManager.GetTileItem(75, 50); //mTileItemDicts.TryGetValue(new Vector2(75, 50), out item); WorkerManager.CreateWorker(RoleLayer, item); item = TilesManager.GetTileItem(76, 51); //mTileItemDicts.TryGetValue(new Vector2(76, 51), out item); WorkerManager.CreateWorker(RoleLayer, item); yield break; }
//获取鼠标移动过程中经过的格子 private List <TileItem> getMoveSelectTile(Vector2 position) { var tileIndexX = (int)((position.x + mMapWidth / 2) / mTileSize); var tileIndexY = (int)((mMapHeight / 2 - position.y) / mTileSize); if (mPreMoveIndexX == tileIndexX && mPreMoveIndexY == tileIndexY) { return(null); } mPreMoveIndexX = tileIndexX; mPreMoveIndexY = tileIndexY; PreSelectLayer.DestroyChildren(); var items = new List <TileItem>(); TileItem tileItem = TilesManager.GetTileItem(tileIndexX, tileIndexY);; if (tileItem != null) { items.Add(tileItem); } return(items); }
private void mnuDelete_Click(object sender, RoutedEventArgs e) { var item = (MenuItem)sender; var database = (DatabaseInfo)item.Tag; var msg = string.Format( Properties.Resources.ConfirmDeleteDb, database.Details.Name); var confirm = MessageBox.Show(msg, Properties.Resources.DeleteDbTitle, MessageBoxButton.OKCancel) == MessageBoxResult.OK; if (!confirm) { return; } database.Delete(); TilesManager.Deleted(database); RefreshDbList(false, null); }
private IEnumerable <byte[]> LoadPages(Stream xpsStream) { var result = new List <byte[]>(); using (var tileManager = new TilesManager(xpsStream)) { for (var i = 0; i < tileManager.PageCount; i++) { int pageWidth = 0, pageHeight = 0; tileManager.LoadPage(i, ref pageWidth, ref pageHeight, false); var tile = new Tile { PageNum = i, Height = pageHeight, Width = pageWidth, Scale = 1.0 }; var page = tileManager.GetPageInBytes(tile, false); result.Add(page); } } return(result); }
private static byte[] LoadPage(TilesManager tileManager, int page, double scale) { var internalPage = page; if (page > 0) { internalPage = page - 1; } int pageWidth = 0, pageHeight = 0; tileManager.LoadPage(internalPage, ref pageWidth, ref pageHeight, false); var tile = new Tile { PageNum = internalPage, Height = (int)(pageHeight * scale), Width = (int)(pageWidth * scale), Scale = scale }; var result = tileManager.GetPageInBytes(tile, false); return(result); }
// Use this for initialization void Start() { _timerText.font.material.color = Color.black; _scoreText.font.material.color = Color.black; _resualText.font.material.color = Color.black; _resualText.active = false; _tileNumRuns = 0; _tilesManager = GameObject.Find("TilesManager").GetComponent<TilesManager>(); _tileGenarator = GameObject.Find("TileGenerator").GetComponent<TileGenarator>(); _power = 99; _boostTime = 0.0f; AudioSource _boostAufdio = GameObject.Find("BoostBGM").GetComponent<AudioSource>(); // read leader board; string leadboardFile = Application.dataPath + "/" + "leadboards.txt"; string[] filecontent = File.ReadAllLines(leadboardFile); _topScore = int.Parse(filecontent[0]); _newRecord = false; }
private void Awake() { tilesManager = GetComponentInParent <TilesManager>(); }
public Branch(Composite parent, TilesManager manager, Room rm) : base(parent, manager) { plugRoom = rm; }
public BaseTree(TilesManager manager) : base(null, manager) { }