You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
PlumberUltimateAds/Assets/Scripts/Dev/SharingManager.cs

60 lines
1.9 KiB
C#

using System;
using System.Collections;
using System.Collections.Generic;
using System.IO;
using UnityEngine;
public class SharingManager : MonoBehaviour
{
public static SharingManager Instance { get; private set; }
private void Awake()
{
if (Instance != null && Instance != this)
{
Destroy(this);
}
else
{
Instance = this;
DontDestroyOnLoad(gameObject);
}
}
public void InviteFriends(string InviteURL)
{
new NativeShare()
.SetSubject("Join me in PiPuzzle!")
.SetText("I'm playing PiPuzzle and it's super fun! Come join me and see how far you can go.")
.SetUrl(InviteURL)
.SetCallback((result, shareTarget) =>
Debug.Log("Invite result: " + result + ", selected app: " + shareTarget))
.Share();
}
public void SnapAndShare()
{
StartCoroutine(TakeScreenshotAndShare());
}
private IEnumerator TakeScreenshotAndShare()
{
yield return new WaitForEndOfFrame();
Texture2D ss = new Texture2D(Screen.width, Screen.height, TextureFormat.RGB24, false);
ss.ReadPixels(new Rect(0, 0, Screen.width, Screen.height), 0, 0);
ss.Apply();
string filePath = Path.Combine(Application.temporaryCachePath, "shared img.png");
File.WriteAllBytes(filePath, ss.EncodeToPNG());
// To avoid memory leaks
Destroy(ss);
new NativeShare().AddFile(filePath)
.SetSubject("PiPuzzle!").SetText("Come play PiPuzzle!").SetUrl(GameConstants.AndroidURL)
.SetCallback((result, shareTarget) => Debug.Log("Share result: " + result + ", selected app: " + shareTarget))
.Share();
// Share on WhatsApp only, if installed (Android only)
//if( NativeShare.TargetExists( "com.whatsapp" ) )
// new NativeShare().AddFile( filePath ).AddTarget( "com.whatsapp" ).Share();
}
}