Example #1
0
 // Pushes a blob to a specified container with a specified content name
 public void PushBlob(string containerName, string cardNum, string rawData)
 {
     BlobHelper.PutBlob(containerName, cardNum, rawData);
 }
    /// <summary> Builds a Replay string </summary>
    public void CreateReplay()
    {
        m_CurrentContainer = GetContainerToUse();

        Replay replay = new Replay();

        replay.Replay_ID = LevelManager.Instance.currentArt.ToString()
                           + "L"
                           + GameManager.Instance.timeMode.ToString()
                           + "T"
                           + TerrainGeneration.Instance.seed
                           + "S"
                           + RemoveSymbols(HUDManager.Instance.TimeAtDeath.ToString("F3"))
                           + "G"
                           + RemoveSymbols(HUDManager.Instance.PositionAtDeath.ToString("F"))
                           + "P"
                           + RemoveSymbols(HUDManager.Instance.VelocityAtDeath.ToString("F"))
                           + "V"
                           + ((PowerUpManager.Instance.PermPowerUps.Count > 0) ? (1) : (0))
                           + ((TerrainGeneration.Instance.friendSaved) ? (1) : (0))
                           + ((int)TerrainGeneration.Instance.powerUpChunkDrawn).ToString()
                           + ((int)TerrainGeneration.Instance.obsChunkDrawn).ToString();
        Debug.Log(replay.Replay_ID); //DEBUG
        replay.Level             = LevelManager.Instance.currentArt.ToString();
        replay.TimeOfDay         = GameManager.Instance.timeMode.ToString();
        replay.Seed              = TerrainGeneration.Instance.seed;
        replay.PlatformIndex     = TerrainGeneration.Instance.GeorgePlatform;
        replay.FriendSaved       = TerrainGeneration.Instance.friendSaved;
        replay.PowerUpChunkDrawn = TerrainGeneration.Instance.powerUpChunkDrawn;
        replay.ObsChunkDrawn     = TerrainGeneration.Instance.obsChunkDrawn;
        replay.PlayerInput       = GameManager.Instance._playerState.GetComponent <PlayerData>().playerInput;
        replay.Time              = GameManager.Instance._playerState.GetComponent <PlayerData>().animator.GetComponent <Player_FSM_Handler>().lastGlobalTime - TerrainGeneration.Instance.lastGameResetTime;
        replay.InputTime         = GameManager.Instance._playerState.GetComponent <PlayerData>().timeTillplayerInput;
        replay.PermPowerUps      = PowerUpManager.Instance.PermPowerUps;
        replay.XList.Add(GameManager.Instance._playerState.GetComponent <PlayerData>().replayStartPos.x);
        replay.YList.Add(GameManager.Instance._playerState.GetComponent <PlayerData>().replayStartPos.y);
        replay.XList.Add(GameManager.Instance._playerState.GetComponent <PlayerData>().replayStartVel.x);
        replay.YList.Add(GameManager.Instance._playerState.GetComponent <PlayerData>().replayStartVel.y);
        replay.XList.Add(GameManager.Instance._playerState.GetComponent <PlayerData>().playerFlickForce.x);
        replay.YList.Add(GameManager.Instance._playerState.GetComponent <PlayerData>().playerFlickForce.y);
        replay._georgeReplayData = GameManager.Instance._playerState.GetComponent <PlayerData>().replay1;
        replay._inputReplayData  = GameManager.Instance._playerState.GetComponent <PlayerData>().inputReplay;
        replay.deathTime         = GameManager.Instance._playerState.GetComponent <PlayerData>().timeOfDeath;
        replay.CreationDateTime  = DateTime.UtcNow;
        Debug.Log("UTCTTime " + replay.CreationDateTime.ToLongDateString());
        replay.Likes  = 0;
        replay.Height = (uint)GameManager.Instance.BestHieghtAttained;

        m_RecentReplays.Add(replay);
        CurrentReplay = replay;
        BinaryFormatter bf = new BinaryFormatter();
        FileStream      fs = File.Create(Application.persistentDataPath + "/TempData.dat");

        bf.Serialize(fs, replay);
        fs.Close();

        FileStream   fs2 = File.Open(Application.persistentDataPath + "/TempData.dat", FileMode.Open);
        BinaryReader br  = new BinaryReader(fs2);

        byte[] bin     = br.ReadBytes(Convert.ToInt32(fs2.Length));
        string rawData = Convert.ToBase64String(bin);

        fs2.Close();
        File.Delete(Application.persistentDataPath + "/TempData.dat");
        blobHelper.PutBlob(m_CurrentContainer, replay.Replay_ID, rawData);

        m_Link = LinkMaker(replay.Replay_ID);
        Debug.Log("Share Link: " + m_Link);

        Share();
    }