public virtual bool Draw(TileDef def) { Debug.Log(gameObject.name + " draw -> " + def.ToString()); _drawTile = MahjongTile.Create(def); _drawTile.transform.parent = null; _drawTile.Direction = MahjongTile.Face.STAND_POSITIVE; _angle = Vector3.Angle(Vector3.right, _direction); //Debug.Log (angle + " " + Vector3.right + "," + _direction); // unity3d bug from vector3.right to vector3.forward == 90 ? if (_direction == Vector3.forward) { _angle = 270f; } _drawTile.transform.Rotate(Vector3.forward, _angle, Space.Self); _drawTile.transform.parent = PocketLocator; Vector3 newPos = (PocketLocator.childCount - 1 + 0.2f) * _direction * MahjongTile.Width; _drawTile.Draw(newPos); _sortPocketList.Add(_drawTile); _proxy.Draw(def); return(true); }