Exemplo n.º 1
0
    private Dictionary <string, object> GetNextItemDown(PillPart currentItem, bool bypassFinalizeMoviment)
    {
        int      positionsDown = 1;
        GridItem nextItem      = null;

        if (!bypassFinalizeMoviment)
        {
            while ((currentItem.PositionRow - positionsDown >= 0) && (_grid.GetItem(currentItem.PositionRow - positionsDown, currentItem.PositionColumn) != null) &&
                   (!_grid.GetItem(currentItem.PositionRow - positionsDown, currentItem.PositionColumn).FinalizedMoviment() &&
                    _grid.GetItem(currentItem.PositionRow - positionsDown, currentItem.PositionColumn).OnlyDownMoviment()))
            {
                positionsDown += 1;
            }
        }

        if (currentItem.PositionRow - positionsDown >= 0)
        {
            nextItem = _grid.GetItem(currentItem.PositionRow - positionsDown, currentItem.PositionColumn);
        }
        Dictionary <string, object> results = new Dictionary <string, object>();

        results.Add("nextItem", nextItem);
        results.Add("positionsDown", positionsDown);
        return(results);
    }
Exemplo n.º 2
0
    public Pill(int id, Transform parent, Transform self, Grid grid)
    {
        Id        = id;
        PillParts = new Dictionary <string, PillPart> {
            { "first", null }, { "second", null }
        };
        PillParts["first"] = new PillPart(id, true, grid);
        PillParts["first"].PositionColumn = Constants.InitPositionColumnPillPart0;
        PillParts["second"] = new PillPart(id, false, grid);
        PillParts["second"].PositionColumn = Constants.InitPositionColumnPillPart1;
        PillParts["first"].PositionRow     = PillParts["second"].PositionRow = Constants.Rows - 1;
        self.name = "pill" + Id;
        SpriteRenderer[]  allChildren = self.GetComponentsInChildren <SpriteRenderer>();
        List <GameObject> pillParts   = new List <GameObject>();

        foreach (SpriteRenderer child in allChildren)
        {
            pillParts.Add(child.gameObject);
        }
        PillParts["first"].Behaviour             = pillParts[0].GetComponent <PillPartBehaviour>();
        PillParts["second"].Behaviour            = pillParts[1].GetComponent <PillPartBehaviour>();
        PillParts["first"].Behaviour.PillPartObj = PillParts["first"];

        PillParts["second"].Behaviour.PillPartObj = PillParts["second"];
        State = PillState.HORIZONTAL;
    }
Exemplo n.º 3
0
 private bool IsValidPosition(int positionsDown, PillPart current)
 {
     if (current.GetPositionRow() - positionsDown >= 0)
     {
         return(true);
     }
     else
     {
         return(false);
     }
 }