public void OnHandWritingStickeySave() { DrawableCanvas drawableCanvas = HandWritingStickeyCanvas.GetComponent <DrawableCanvas>(); m_OnHandWritingStickeyComplete.OnNext(drawableCanvas.GetTexture2D()); drawableCanvas.ResetCanvas(); }
private void Awake() { _boardCanvas = new DrawableCanvas(_resolutionX, _resolutionY); var sprite = Sprite.Create(_boardCanvas.Texture, new Rect(0, 0, _resolutionX, _resolutionY), Vector2.zero); _boardImage.sprite = sprite; }
private DrawableCanvas getPreviewCanvas(NetworkInstanceId player) { DrawableCanvas canvas; if (!_previewCanvases.TryGetValue(player.Value, out canvas)) { canvas = new DrawableCanvas(_resolutionX, _resolutionY); _previewCanvases[player.Value] = canvas; var sprite = Sprite.Create(canvas.Texture, new Rect(0, 0, _resolutionX, _resolutionY), Vector2.zero); getPreviewImage(player).sprite = sprite; } return(canvas); }
void Update() { //ペン先の色を変える Cone.GetComponent <Renderer>().material.color = PenColor; // シングルプレイヤーの場合!photonView.IsMineがTrue判定なので雑にはじく if (!photonView.IsMine && !PhotonNetwork.OfflineMode) { RayCastEnabled = receivedRayCastEnabled; PenColor.r = receivedPenColorR; PenColor.g = receivedPenColorG; PenColor.b = receivedPenColorB; PenColor.a = receivedPenColorA; PenWidth = receivedPenWidth; Erase = receivedErase; targetCanvasId = receivedTargetCanvasId; currentTexCoord = receivedCurrentTexCoord; previousTexCoord = receivedPreviousTexCoord; if (RayCastEnabled) { var target = PhotonView.Find(targetCanvasId); if (target != null) { var drawObject = target.transform.GetComponent <DrawableCanvas>(); if (drawObject != null) { if (!previousTexCoord.Equals(defaultTexCoord)) { if (Erase) { drawObject.Erase(currentTexCoord, previousTexCoord, PenWidth); } else { drawObject.Draw(currentTexCoord, previousTexCoord, PenWidth, PenColor); } } } } } } else { // シングルプレイヤーなら無条件で書く if (RayCastEnabled || PhotonNetwork.OfflineMode) { Vector3 dir = GetCurrentDirection(); var ray = new Ray(this.transform.position + dir * rayOffset, dir); RaycastHit hitInfo; if (Physics.Raycast(ray, out hitInfo, rayDistance)) { if (hitInfo.collider != null && hitInfo.collider is MeshCollider) { if (!LocalSyncDraw) { TargetDrawableCanvas = hitInfo.transform.GetComponent <DrawableCanvas>(); } if (TargetDrawableCanvas != null) { var target = TargetDrawableCanvas.transform.GetComponent <PhotonView>(); targetCanvasId = (target != null) ? target.ViewID : -1; previousTexCoord = currentTexCoord; currentTexCoord = hitInfo.textureCoord; //Debug.Log("currentTexCoordは" + currentTexCoord); if (!previousTexCoord.Equals(defaultTexCoord)) { if (Erase) { TargetDrawableCanvas.Erase(currentTexCoord, previousTexCoord, PenWidth); } else { TargetDrawableCanvas.Draw(currentTexCoord, previousTexCoord, PenWidth, PenColor); } if (!isDrawing) { m_OnDrawStart.OnNext(Unit.Default); } isDrawing = true; } } } else { Debug.LogWarning("If you want to draw using a RaycastHit, need set MeshCollider for object."); } } else { if (isDrawing) { m_OnDrawEnd.OnNext(Unit.Default); isDrawing = false; } targetCanvasId = -1; currentTexCoord = defaultTexCoord; } } else { targetCanvasId = -1; currentTexCoord = defaultTexCoord; } } }
private DrawableCanvasScoreRenderer CreateRenderer(DrawableCanvas canvas) { return(new DrawableCanvasScoreRenderer(this)); }
public void OnHandWritingStickeyReset() { DrawableCanvas drawableCanvas = HandWritingStickeyCanvas.GetComponent <DrawableCanvas>(); drawableCanvas.ResetCanvas(); }
private void Start() { drawableCanvas = gameObject.GetComponent <DrawableCanvas>(); textureSharingComponent = gameObject.GetComponent <TextureSharingComponent>(); textureSharingComponent.OnReceivedRawTexture.Subscribe(tex2d => SetTexture(tex2d)); }
public void SetDrawableCanvas(DrawableCanvas drawableCanvas) { m_DrawableCanvas = drawableCanvas; }