// Use this for initialization void Start() { m_Grid = GetComponent <Grid>(); m_Info = GetComponent <GridInformation>(); m_Foreground = GameObject.Find("Foreground").GetComponent <Tilemap>(); m_BackGround = GameObject.Find("Background").GetComponent <Tilemap>(); }
public override void Paint(GridLayout grid, GameObject layer, Vector3Int position) { GridInformation info = BrushUtility.GetRootGridInformation(true); info.ErasePositionProperty(position, k_SwarmDifficultyProperty); info.SetPositionProperty(position, k_SwarmDifficultyProperty, m_Difficulty); }
void CreateMap() { GridInformation info = structureMap.GetComponent <GridInformation>(); Vector3Int pos; for (int x = -2; x <= 2; x++) { for (int y = -2; y <= 2; y++) { pos = new Vector3Int(x, y, 0); if (pos != new Vector3Int(1, 1, 0) && pos != new Vector3Int(-1, -1, 0)) { if (UnityEngine.Random.Range(0f, 1f) <= 0.5f) { structureMap.SetTile(pos, forestTile); info.SetPositionProperty(pos, "tileObj", Instantiate(forest, structureMap.CellToWorld(pos), new Quaternion()) as UnityEngine.Object); } else { structureMap.SetTile(pos, mountainTile); info.SetPositionProperty(pos, "tileObj", Instantiate(mountain, structureMap.CellToWorld(pos), new Quaternion()) as UnityEngine.Object); } } } } pos = new Vector3Int(1, 1, 0); structureMap.SetTile(pos, woodChoperTile); info.SetPositionProperty(pos, "tileObj", Instantiate(woodChoper, structureMap.CellToWorld(pos), new Quaternion()) as UnityEngine.Object); pos = new Vector3Int(-1, -1, 0); structureMap.SetTile(pos, mineTile); info.SetPositionProperty(pos, "tileObj", Instantiate(mine, structureMap.CellToWorld(pos), new Quaternion()) as UnityEngine.Object); }
bool InitializeCachedReferences() { if (floor == null) { floor = LevelBrush.GetFloor(); } if (wall == null) { wall = LevelBrush.GetWall(); } if (gi == null) { gi = GetComponentInParent <GridInformation>(); } if (tintTexture == null) { tintTexture = new Texture2D(256, 256, TextureFormat.ARGB32, false); tintTexture.wrapMode = TextureWrapMode.Clamp; tintTexture.filterMode = FilterMode.Bilinear; } colorArray = new Color32[tintTexture.width * tintTexture.height]; LevelBrush.InitializeLevelCacheIfNecessary(); return(floor && wall & gi & tintTexture); }
public override void GetTileData(Vector3Int position, ITilemap tilemap, ref TileData tileData) { tileData.sprite = m_DefaultSprite; if (m_Undestructible != null) { m_Undestructible.GetTileData(position, tilemap, ref tileData); GridInformation info = tilemap.GetComponent <Transform>().gameObject.GetComponentInParent <GridInformation>(); if (info != null && m_DecalGroups != null) { int mask = GetMask(info, position, tileData.transform); foreach (var decalGroup in m_DecalGroups) { if (decalGroup.m_Sprite == tileData.sprite) { foreach (var decal in decalGroup.m_Decals) { if (decal.m_Mask == (decalGroup.m_MaskFilter & mask)) { tileData.sprite = decal.m_DecalSprite; return; } } } } } } }
public bool IsOpen(Vector3Int position, GridInformation gridInfo) { if (!gridInfo) { return(false); } return(gridInfo.GetPositionProperty(position, gridInformationKey, 0) == 1); }
public override void RegisterUndo(GameObject layer, GridBrushBase.Tool tool) { GridInformation info = BrushUtility.GetRootGridInformation(false); if (info != null) { Undo.RegisterFullObjectHierarchyUndo(info, tool.ToString()); } }
// Start is called before the first frame update void Start() { grid = gameObject.GetComponent <Grid>(); gridInfo = gameObject.GetComponent <GridInformation>(); tilemapFloor = transform.Find("Floor").GetComponent <Tilemap>(); tilemapHardBlock = transform.Find("HardBlock").GetComponent <Tilemap>(); tilemapSoftBlock = transform.Find("SoftBlock").GetComponent <Tilemap>(); bombPosition = new Dictionary <Vector3Int, BombBehaviour>(); }
// Start is called before the first frame update void Start() { gridInfo = GetComponent <GridInformation>(); grid = GetComponent <Grid>(); LoadMap(); SpawnHeroes(); DataManager.instance.SetMusicType(MusicType.Battle); }
// Use this for initialization void Start() { m_Grid = GetComponent <Grid>(); m_GridInfo = GetComponent <GridInformation>(); if (m_Destructible == null) { Debug.Log("Destructibles Tilemap is not assigned."); m_Destructible = GameObject.FindObjectOfType <DestroyTilesOnCollision>().GetComponent <Tilemap>(); } }
public override void Paint(GridLayout grid, GameObject layer, Vector3Int position) { GridInformation info = BrushUtility.GetRootGridInformation(true); Color oldColor = info.GetPositionProperty(position, k_TintColorPropertyName, FindObjectOfType <TintTextureGenerator>().defaultColor); info.ErasePositionProperty(position, k_TintColorPropertyName); Color newColor = oldColor * (1 - m_Blend) + m_Color * m_Blend; info.SetPositionProperty(position, k_TintColorPropertyName, newColor); TintTextureGenerator.RefreshTintmap(position); }
public override void Erase(GridLayout grid, GameObject layer, Vector3Int position) { GridInformation info = BrushUtility.GetRootGridInformation(true); info.ErasePositionProperty(position, k_TintColorPropertyName); if (generator == null) { generator = FindObjectOfType <TintTextureGenerator>(); } TintTextureGenerator.RefreshTintmap(position); }
void LoadMap() { GridInformation info = structureMap.GetComponent <GridInformation>(); //create resources foreach (Vector3Int pos in structureMap.cellBounds.allPositionsWithin) { TileBase tile = structureMap.GetTile(pos); if (tile != null && tile is TownGameTile) { if (tile == forestTile) { info.SetPositionProperty(pos, "tileObj", Instantiate(forest, structureMap.CellToWorld(pos), new Quaternion()) as UnityEngine.Object); } else if (tile == mountainTile) { info.SetPositionProperty(pos, "tileObj", Instantiate(mountain, structureMap.CellToWorld(pos), new Quaternion()) as UnityEngine.Object); } if (tile == FishTile) { info.SetPositionProperty(pos, "tileObj", Instantiate(Fish, structureMap.CellToWorld(pos), new Quaternion()) as UnityEngine.Object); } if (tile == FruitTile) { info.SetPositionProperty(pos, "tileObj", Instantiate(Fruit, structureMap.CellToWorld(pos), new Quaternion()) as UnityEngine.Object); } } } //create structures foreach (Vector3Int pos in structureMap.cellBounds.allPositionsWithin) { TileBase tile = structureMap.GetTile(pos); if (tile != null && tile is TownGameTile) { if (tile == woodChoperTile) { info.SetPositionProperty(pos, "tileObj", Instantiate(woodChoper, structureMap.CellToWorld(pos), new Quaternion()) as UnityEngine.Object); } else if (tile == mineTile) { info.SetPositionProperty(pos, "tileObj", Instantiate(mine, structureMap.CellToWorld(pos), new Quaternion()) as UnityEngine.Object); } if (tile == FisherHomeTile) { info.SetPositionProperty(pos, "tileObj", Instantiate(FisherHome, structureMap.CellToWorld(pos), new Quaternion()) as UnityEngine.Object); } } } }
GridInformation GetGridInformation(Grid grid) { GridInformation gridInformation = grid.GetComponent <GridInformation>(); if (gridInformation == null) { gridInformation = grid.gameObject.AddComponent <GridInformation>(); } return(gridInformation); }
public static GridInformation GetRootGridInformation(bool autoCreate) { Grid grid = GetRootGrid(autoCreate); GridInformation info = grid.GetComponent <GridInformation>(); if (info == null) { info = grid.gameObject.AddComponent <GridInformation>(); } return(info); }
// Animator animator; // Use this for initialization void Start() { // animator = GetComponentInChildren<Animator>(); // ei ehkä tarvita m_Grid = GameObject.Find("Grid1").GetComponent <Grid>(); m_Info = m_Grid.GetComponent <GridInformation>(); m_Kivet = GameObject.Find("Kivet").GetComponent <Tilemap>(); //m_Cannonballs = GameObject.Find("Cannonballs"); //CannonballsTransform = m_Cannonballs.transform; CannonballsTransform = this.transform; //playerTransform = GameObject.FindGameObjectWithTag(targetPlayer.ToString()).transform; }
private int GetMask(GridInformation info, Vector3Int position, Matrix4x4 transform) { int mask = HasExploded(info, position + GetTransformedPos(new Vector3Int(0, 1, 0), transform)) ? 1 : 0; mask += HasExploded(info, position + GetTransformedPos(new Vector3Int(1, 1, 0), transform)) ? 2 : 0; mask += HasExploded(info, position + GetTransformedPos(new Vector3Int(1, 0, 0), transform)) ? 4 : 0; mask += HasExploded(info, position + GetTransformedPos(new Vector3Int(1, -1, 0), transform)) ? 8 : 0; mask += HasExploded(info, position + GetTransformedPos(new Vector3Int(0, -1, 0), transform)) ? 16 : 0; mask += HasExploded(info, position + GetTransformedPos(new Vector3Int(-1, -1, 0), transform)) ? 32 : 0; mask += HasExploded(info, position + GetTransformedPos(new Vector3Int(-1, 0, 0), transform)) ? 64 : 0; mask += HasExploded(info, position + GetTransformedPos(new Vector3Int(-1, 1, 0), transform)) ? 128 : 0; return(mask); }
public void OnSceneGUI() { Grid grid = BrushUtility.GetRootGrid(true); GridInformation info = BrushUtility.GetRootGridInformation(false); if (info != null) { foreach (var pos in info.GetAllPositions(SwarmBrush.k_SwarmDifficultyProperty)) { float difficulty = info.GetPositionProperty(pos, SwarmBrush.k_SwarmDifficultyProperty, 0f); Color col = Color.Lerp(new Color(0f, 1f, 0f, 0.3f), new Color(1f, 0f, 0f, 0.3f), difficulty); BrushEditorUtility.DrawQuad(grid, pos, col); } } }
public void Start() { ui = GetComponent <UIGameController>(); structureInfo = structureMap.GetComponent <GridInformation>(); landInfo = landMap.GetComponent <GridInformation>(); inputController = FindObjectOfType <OnTileHoverScript>(); buildModeController = FindObjectOfType <BuildModeController>(); buildModeController.enterMode += OnBuildModdeEnter; buildModeController.leaveMode += OnBuildModdeLeave; //CreateMap(); allStrucutures = new List <Structure>(); foodLast = food; LoadMap(); }
public List <GameObject> swarmPrefabs; //in order of size public void Restart() { GridInformation gi = FindObjectOfType <GridInformation>(); Grid g = BrushUtility.GetRootGrid(false); if (g == null || gi == null) { return; } foreach (var pos in gi.GetAllPositions(SwarmBrush.k_SwarmDifficultyProperty)) { float difficulty = gi.GetPositionProperty(pos, SwarmBrush.k_SwarmDifficultyProperty, 0f); if (Random.Range(0f, 1f) < difficulty) { GameObject prefab = swarmPrefabs[Random.Range(0, swarmPrefabs.Count)]; Vector3 gCenter = g.GetCellCenterWorld(pos); gCenter.z = 0f; Instantiate(prefab, gCenter, Quaternion.identity); } } }
public override void Pick(GridLayout grid, GameObject layer, BoundsInt position, Vector3Int pivot) { GridInformation info = BrushUtility.GetRootGridInformation(true); m_Color = info.GetPositionProperty(position.min, k_TintColorPropertyName, FindObjectOfType <TintTextureGenerator>().defaultColor); }
void UpdateImputGame() { GridInformation info = structures.GetComponent <GridInformation>(); Vector3 mouseToWorld = cam.ScreenToWorldPoint(Input.mousePosition); mouseToWorld.z = 0; Vector3Int tilePos = structures.WorldToCell(mouseToWorld); if (Input.GetMouseButtonDown(0)) { if (structures.HasTile(tilePos)) { TownGameTile tileStruct = structures.GetTile <TownGameTile>(tilePos); if (tileStruct != null) { UnityEngine.Object obj = info.GetPositionProperty <UnityEngine.Object>(tilePos, "tileObj", null); BaseTownTile res = (obj as GameObject).GetComponent <BaseTownTile>(); if (res != null) { if (selectedTile != res) { selectedTile = res; selectedObjChanged?.Invoke(this, null); } } } } else { ClearSelectedObj(); } } if (Input.GetKeyDown(KeyCode.Escape)) { ClearSelectedObj(); } if (structures.HasTile(tilePos) || land.HasTile(tilePos)) { if (!crown.activeSelf) { crown.SetActive(true); } crown.transform.position = land.CellToWorld(tilePos); } else { if (crown.activeSelf) { crown.SetActive(false); } } if (infoText.text != "") { infoText.text = ""; } if (structures.HasTile(tilePos)) { TownGameTile tileStruct = structures.GetTile <TownGameTile>(tilePos); if (tileStruct != null) { UnityEngine.Object obj = info.GetPositionProperty <UnityEngine.Object>(tilePos, "tileObj", null); if (obj != null) { infoText.text += (obj as GameObject).GetComponent <BaseTownTile>().GetInfo(); } } } if (land.HasTile(tilePos)) { TownGameTile tileLand = land.GetTile <TownGameTile>(tilePos); if (tileLand != null && tileLand.gameObject != null) { BaseTownTile tile = tileLand.gameObject.GetComponent <BaseTownTile>(); if (tile != null) { infoText.text += tile.GetInfo(); } } } UpdateInfoWindow(); }
private bool HasExploded(GridInformation info, Vector3Int position) { return(info.GetPositionProperty(position, "exploded", 0) > 0); }
public override bool StartUp(Vector3Int location, ITilemap tilemap, GameObject go) { _gridInformation = BrushUtility.GetRootGridInformation(); return(base.StartUp(location, tilemap, go)); }
// ReSharper disable once UnusedMember.Local // ReSharper disable once ArrangeTypeMemberModifiers void Awake() { TurnFSM = this.GetComponent <Animator>(); dungeonInfo = Dungeon.gameObject.GetComponent <GridInformation>(); AllUnits = new List <UnitController>(); }
public void SetOpen(Vector3Int position, GridInformation gridInfo, bool open) { gridInfo.SetPositionProperty(position, gridInformationKey, open ? 1 : 0); gridInfo.GetComponent <Tilemap>().RefreshTile(position); }
public override void Pick(GridLayout grid, GameObject layer, BoundsInt position, Vector3Int pivot) { GridInformation info = BrushUtility.GetRootGridInformation(true); m_Difficulty = info.GetPositionProperty(position.min, k_SwarmDifficultyProperty, 0f); }