Example #1
0
    public void Init(TrapAOE effectAOE, TrapAOE blockAOE)
    {
        foreach (var pos in Helper.PositionsFromAOE(effectAOE, Vector2Int.zero))
        {
            var highlightPrefab = Instantiate(m_effectHighlightPrefab);
            highlightPrefab.transform.SetParent(m_effectHighlightContainer);
            highlightPrefab.transform.localPosition = Helper.ToVector3Int(pos);
        }

        foreach (var pos in Helper.PositionsFromAOE(blockAOE, Vector2Int.zero))
        {
            var highlightPrefab = Instantiate(m_blockHighlightPrefab);
            highlightPrefab.transform.SetParent(m_blockHighlightContainer);
            highlightPrefab.transform.localPosition = Helper.ToVector3Int(pos);
        }
    }
Example #2
0
    public static List <Vector2Int> PositionsFromAOE(TrapAOE aoe, Vector2Int pos)
    {
        var list = new List <Vector2Int>();

        list.Add(pos);

        switch (aoe)
        {
        case TrapAOE.Point:
            break;

        case TrapAOE.LittleLineHorizontal:
            list.Add(pos + Vector2Int.right);
            break;

        case TrapAOE.LineHorizontal:
            list.Add(pos + Vector2Int.left);
            list.Add(pos + Vector2Int.right);
            break;

        case TrapAOE.LineVertical:
            list.Add(pos + Vector2Int.up);
            list.Add(pos + Vector2Int.down);
            break;

        case TrapAOE.Down:
            list.Add(pos + Vector2Int.down);
            break;

        case TrapAOE.Cross:
            list.Add(pos + Vector2Int.left);
            list.Add(pos + Vector2Int.right);
            list.Add(pos + Vector2Int.up);
            list.Add(pos + Vector2Int.down);
            break;
        }

        return(list);
    }