public void SetColor( EColorCaseType type )
 {
     switch( type )
     {
     case EColorCaseType.DEFAULT:
         _type = EColorCaseType.DEFAULT;
         _meshRenderer.material = _defaultMat;
         break;
     case EColorCaseType.BLUE:
         _type = EColorCaseType.BLUE;
         _meshRenderer.material = Utils.Instance.blue;
         break;
     case EColorCaseType.GREEN:
         _type = EColorCaseType.GREEN;
         _meshRenderer.material = Utils.Instance.green;
         break;
     case EColorCaseType.RED:
         _type = EColorCaseType.RED;
         _meshRenderer.material = Utils.Instance.red;
         break;
     case EColorCaseType.YELLOW:
         _type = EColorCaseType.YELLOW;
         _meshRenderer.material = Utils.Instance.yellow;
         break;
     }
 }
 private void ConvertColor( EPlayer player )
 {
     switch( player )
     {
     case EPlayer.BLUE:
         _type = EColorCaseType.BLUE;
         _meshRenderer.material = Utils.Instance.blue;
         break;
     case EPlayer.GREEN:
         _type = EColorCaseType.GREEN;
         _meshRenderer.material = Utils.Instance.green;
         break;
     case EPlayer.RED:
         _type = EColorCaseType.RED;
         _meshRenderer.material = Utils.Instance.red;
         break;
     case EPlayer.YELLOW:
         _type = EColorCaseType.YELLOW;
         _meshRenderer.material = Utils.Instance.yellow;
         break;
     }
 }
 private void Reset( EColorCaseType type )
 {
     EmptyCases(type);
     _audioSource.PlayOneShot(_kaching);
 }
 private void GetPoints( EColorCaseType type )
 {
     var pts = 0;
     foreach( var c in _colorCases )
     {
         if( c.GetColor() == type )
             pts++;
     }
     switch( type )
     {
     case EColorCaseType.BLUE:
         _bluePoints += pts;
         break;
     case EColorCaseType.GREEN:
         _greenPoints += pts;
         break;
     case EColorCaseType.RED:
         _redPoints += pts;
         break;
     case EColorCaseType.YELLOW:
         _yellowPoints += pts;
         break;
     }
 }
 private void FillTmpLogicalCases( EColorCaseType color )
 {
     InitTmpLogicalCase();
     for( var y = 0 ; y < 10 ; y++ )
     {
         for( var x = 0 ; x < 10 ; x++ )
         {
             if( GetCaseByPos(_logicalCases[x][y]).GetColor() == color )
             {
                 _tmpLogicalCases[x][y] = 1;
             }
         }
     }
 }
 private void FillCurrentSquare( Vector2 coord, EColorCaseType color )
 {
     List<Vector2> tmp = new List<Vector2>();
     tmp.Add(coord);
     foreach( var n in GetNeighboors(coord) )
     {
         tmp.Add(n);
     }
     foreach( var t in tmp )
     {
         var n = GetLogicalCoord(t);
         if( _tmpLogicalCases[n[0]][n[1]] == 2 )
         {
             var c = GetLogicalCoord(t);
             GetCaseByPos(t).SetColor(color);
         }
     }
 }
 private void EmptyCases( EColorCaseType type )
 {
     foreach( var c in _colorCases )
     {
         if( c.GetColor() == type )
             c.SetColor(EColorCaseType.DEFAULT);
     }
 }