|
@@ -13,10 +13,11 @@ public interface IVideoCallSession
|
|
|
void OnHangup();
|
|
|
void OnDraw();
|
|
|
void OnEndDraw(byte[] image);
|
|
|
-}
|
|
|
+ }
|
|
|
|
|
|
-public class RemoteClickAction : MonoBehaviour
|
|
|
+public class RemoteClickAction : MonoBehaviour, IVideoCallSession
|
|
|
{
|
|
|
+ uint SessionCallerId;
|
|
|
// Use this for initialization
|
|
|
void Start ()
|
|
|
{
|
|
@@ -94,16 +95,28 @@ public class RemoteClickAction : MonoBehaviour
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- public void StartSession(string callerName, IVideoCallSession session)
|
|
|
+ public void StartSession(uint callerID)
|
|
|
{
|
|
|
- session_ = session;
|
|
|
-
|
|
|
- callerName_.text = "call from " + callerName + "...";
|
|
|
+ session_ = this;
|
|
|
+ SessionCallerId = callerID;
|
|
|
callCanvas_.SetActive(true);
|
|
|
+ callerName_.text = "call from " + callerID + "...";
|
|
|
+ }
|
|
|
+ public void OnEndDraw(byte[] image)
|
|
|
+ {
|
|
|
+ //if (image != null)
|
|
|
+ //{
|
|
|
+ // videoCalled_.SendImage(image);
|
|
|
+ //}
|
|
|
+ //else
|
|
|
+ //{
|
|
|
+ // videoCalled_.Resume();
|
|
|
+ //}
|
|
|
}
|
|
|
|
|
|
public void StopSession()
|
|
|
{
|
|
|
+ SessionCallerId = 0;
|
|
|
callCanvas_.SetActive(false);
|
|
|
onConnectCanvas_.SetActive(false);
|
|
|
drawToolsCanvas_.SetActive(false);
|
|
@@ -113,44 +126,46 @@ public class RemoteClickAction : MonoBehaviour
|
|
|
session_ = null;
|
|
|
}
|
|
|
|
|
|
- private void OnAnswer()
|
|
|
+ public void OnAnswer()
|
|
|
{
|
|
|
if (session_ != null)
|
|
|
{
|
|
|
- session_.OnAnswer();
|
|
|
+ Debug.Log("OnAnswer");
|
|
|
+ callCanvas_.SetActive(false);
|
|
|
+ onConnectCanvas_.SetActive(true);
|
|
|
+ Client.instance.RemoteAssistRequestVideoCall(SessionCallerId, RemoteAssistCMD.videoCallRequest);
|
|
|
}
|
|
|
- callCanvas_.SetActive(false);
|
|
|
- onConnectCanvas_.SetActive(true);
|
|
|
- }
|
|
|
- private void OnDecline()
|
|
|
- {
|
|
|
- if (session_ != null)
|
|
|
- {
|
|
|
- session_.OnDecline();
|
|
|
- session_ = null;
|
|
|
- }
|
|
|
- callCanvas_.SetActive(false);
|
|
|
}
|
|
|
- private void OnDraw()
|
|
|
+
|
|
|
+ public void OnDraw()
|
|
|
{
|
|
|
- if (session_ != null)
|
|
|
- {
|
|
|
- session_.OnDraw();
|
|
|
- }
|
|
|
drawControl_.Clear();
|
|
|
onConnectCanvas_.SetActive(false);
|
|
|
drawToolsCanvas_.SetActive(true);
|
|
|
drawCanvas_.SetActive(true);
|
|
|
state_ = STATE.DRAWING;
|
|
|
}
|
|
|
- private void OnHangup()
|
|
|
+ public void OnHangup()
|
|
|
{
|
|
|
+ onConnectCanvas_.SetActive(false);
|
|
|
+ Client.instance.RemoteAssistRequestVideoCall(SessionCallerId, RemoteAssistCMD.callStop);
|
|
|
if (session_ != null)
|
|
|
{
|
|
|
- session_.OnHangup();
|
|
|
- session_ = null;
|
|
|
+ StopSession();
|
|
|
}
|
|
|
- onConnectCanvas_.SetActive(false);
|
|
|
+ Client.instance.RemoteAssistCanvas.SetActive(false);
|
|
|
+ }
|
|
|
+
|
|
|
+ public void OnDecline()
|
|
|
+ {
|
|
|
+ Debug.Log("OnDecline " + SessionCallerId);
|
|
|
+ callCanvas_.SetActive(false);
|
|
|
+ Client.instance.RemoteAssistRequestVideoCall(SessionCallerId, RemoteAssistCMD.callStop);
|
|
|
+ if (session_ != null)
|
|
|
+ {
|
|
|
+ StopSession();
|
|
|
+ }
|
|
|
+ Client.instance.RemoteAssistCanvas.SetActive(false);
|
|
|
}
|
|
|
|
|
|
private void OnSendImage()
|
|
@@ -160,7 +175,7 @@ public class RemoteClickAction : MonoBehaviour
|
|
|
state_ = STATE.CAPTURING_SCREENSHOT;
|
|
|
}
|
|
|
|
|
|
- private void OnCancelDraw()
|
|
|
+ public void OnCancelDraw()
|
|
|
{
|
|
|
drawToolsCanvas_.SetActive(false);
|
|
|
//ScreenCapture.CaptureScreenshot(SCREENSHOT_FILE_NAME, SCREENSHOT_SUPER_SIZE);
|