Example #1
0
    private void onBlockSelected(object o, CharacterBlockEventArgs ea)
    {
        if (CharacterBlock.selected_block_stack.Count > 0 && ea.index == CharacterBlock.selected_block_stack.Peek().index)
        {
            current_word.Add(ea.character_block);
        }
        else
        {
            current_word.Remove(ea.character_block);
        }

        update_word();
    }
Example #2
0
    public void OnBlockInteracted(object o, CharacterBlockEventArgs cbea)
    {
        // this is the block on which event has occured
        if (cbea.index == this.index)
        {
            // block was selected
            if (selected_block_stack.Count > 0 && selected_block_stack.Peek().index == this.index)
            {
                is_selected = true;
                //text_mesh_pro.fontSharedMaterial = on_hover_font_material;
                //transform.localScale = initial_scale * on_hover_scale_multiplier;
                block_sprite.sprite = on_latest_selection_sprite;
                is_reachable        = false;
                block_animator.SetTrigger("bounce");
                shadow.gameObject.SetActive(true);
            }
            else
            {
                // block was deselected
                is_selected = false;
                //text_mesh_pro.fontSharedMaterial = on_leave_font_material;
                //transform.localScale = initial_scale;
                is_reachable = true;
                block_animator.SetTrigger("bounce");
                shadow.gameObject.SetActive(false);
                if (selected_block_stack.Count > 0)
                {
                    block_sprite.sprite = on_reachable_sprite;
                }
                else
                {
                    block_sprite.sprite = on_normal_sprite;
                }
            }
        }

        if (CharacterBlock.selected_block_stack.Count > 0)
        {
            if (is_selected)
            {
                is_reachable        = false;
                block_sprite.sprite = on_selected_sprite;
                if (CharacterBlock.selected_block_stack.Peek().index == this.index)
                {
                    block_sprite.sprite = on_latest_selection_sprite;
                }
            }
            else
            {
                string index_to_compare = CharacterBlock.selected_block_stack.Peek().index;

                int row = int.Parse(index_to_compare[0].ToString());
                int col = int.Parse(index_to_compare[1].ToString());

                int row_this = int.Parse(this.index[0].ToString());
                int col_this = int.Parse(this.index[1].ToString());

                int row_dif    = Mathf.Abs(row - row_this);
                int col_dif    = Mathf.Abs(col - col_this);
                int sum_of_dif = row_dif + col_dif;
                //if(sum_of_dif > 0)
                //{
                if (row_dif <= 1 && col_dif <= 1)
                {
                    is_reachable        = true;
                    block_sprite.sprite = on_reachable_sprite;
                }
                else
                {
                    is_reachable        = false;
                    block_sprite.sprite = on_normal_sprite;
                }
            }
        }
        else
        {
            is_reachable        = true;
            block_sprite.sprite = on_normal_sprite;
        }
    }