Exemple #1
0
 // 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);
    }
Exemple #3
0
    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);
    }
Exemple #4
0
    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);
    }
Exemple #5
0
    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;
                            }
                        }
                    }
                }
            }
        }
    }
Exemple #6
0
        public bool IsOpen(Vector3Int position, GridInformation gridInfo)
        {
            if (!gridInfo)
            {
                return(false);
            }

            return(gridInfo.GetPositionProperty(position, gridInformationKey, 0) == 1);
        }
Exemple #7
0
    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>();
 }
Exemple #9
0
    // Start is called before the first frame update
    void Start()
    {
        gridInfo = GetComponent <GridInformation>();
        grid     = GetComponent <Grid>();

        LoadMap();
        SpawnHeroes();
        DataManager.instance.SetMusicType(MusicType.Battle);
    }
Exemple #10
0
 // 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>();
     }
 }
Exemple #11
0
    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);
    }
Exemple #12
0
    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);
    }
Exemple #13
0
    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);
                }
            }
        }
    }
Exemple #14
0
    GridInformation GetGridInformation(Grid grid)
    {
        GridInformation gridInformation = grid.GetComponent <GridInformation>();

        if (gridInformation == null)
        {
            gridInformation = grid.gameObject.AddComponent <GridInformation>();
        }

        return(gridInformation);
    }
Exemple #15
0
    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);
    }
Exemple #16
0
    //  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;
    }
Exemple #17
0
    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);
    }
Exemple #18
0
    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);
            }
        }
    }
Exemple #19
0
    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();
    }
Exemple #20
0
    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);
            }
        }
    }
Exemple #21
0
    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();
    }
Exemple #23
0
 private bool HasExploded(GridInformation info, Vector3Int position)
 {
     return(info.GetPositionProperty(position, "exploded", 0) > 0);
 }
Exemple #24
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>();
 }
Exemple #26
0
 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);
    }