// Update is called once per frame
    private void Update()
    {
        if (!PauseManager.IsPaused && FollowStreamModeEnabled)
        {
            /** Old
             * CurrentSpeed = DataBase.GetSpeedAtPoint(transform.position);
             * if (CurrentSpeed == Vector3.zero) {
             *  FollowStreamModeEnabled = false;
             *  return;
             * }
             *
             * transform.position += CurrentSpeed * 0.1f;
             */

            Vector3 currentPosition = transform.position;

            FollowStream.MoveToNextPoint(transform, Trajectory, ref _currentTrajectoryIndex, () => FollowStreamModeEnabled = false);
            if (!FollowStreamModeEnabled)
            {
                return;
            }

            CurrentSpeed = transform.position - currentPosition;

            //Make camera look forward just once mode is activated
            if (doCenterCamera)
            {
                var controller = GetComponent <FlyController>();
                controller.TargetRotation    = Quaternion.LookRotation(CurrentSpeed);
                controller.ForceFollowStream = true;
                doCenterCamera = false;
            }
        }
    }
Esempio n. 2
0
 public override async void Initialize(TwitterAccount account, SettingData setting, Action <TimelineAction> timelineActionCallback, Action <RowAction> rowActionCallback)
 {
     base.Initialize(account, setting, timelineActionCallback, rowActionCallback);
     followStream              = new FollowStream(Account.TwitterClient.ConsumerData, Account.TwitterClient.AccessToken, await Account.TwitterClient.GetUserAsync(UserScreenName));
     followStream.GetStreamMe += async(tweet) =>
     {
         await InsertStreamInTimeLineAsync(new TimelineRow(tweet, Account.UserInfomation.screen_name, Setting, rowActionCallback));
     };
     followStream.GetStreamRetweet += async(tweet) =>
     {
         await InsertStreamInTimeLineAsync(new TimelineRow(tweet, Account.UserInfomation.screen_name, Setting, rowActionCallback));
     };
     if (TimeLine.Count > 0)
     {
         var t = TimeLine.First() as TimelineRow;
         await InsertRestInTimeLineAsync((await Account.TwitterClient.GetUserTimeLineAsync(UserScreenName, t.Tweet.id_str)).Select(q => new TimelineRow(q, Account.UserInfomation.screen_name, Setting, rowActionCallback)).Cast <RowBase>().ToList());
     }
     else
     {
         await InsertRestInTimeLineAsync((await Account.TwitterClient.GetUserTimeLineAsync(UserScreenName)).Select(q => new TimelineRow(q, Account.UserInfomation.screen_name, Setting, rowActionCallback)).Cast <RowBase>().ToList());
     }
 }
Esempio n. 3
0
        public async Task InitializeAsync()
        {
            TwitterClient.Initialize();
            this.UserInfomation = await TwitterClient.GetAccountInformationAsync(ScreenName);

            userStreamClient   = new UserStream(TwitterClient.ConsumerData, TwitterClient.AccessToken, UserInfomation);
            followStreamClient = new FollowStream(TwitterClient.ConsumerData, TwitterClient.AccessToken, UserInfomation);

            userStreamClient.Initialize();

            followStreamClient.Initialize();
            receivingTimelineCounter = 0;

            OnHttpGetError          += (e) => { };
            OnHttpPostError         += (e) => { };
            OnTweetBegin            += (e) => { };
            OnTweetFailed           += (e) => { };
            OnTweetCompleted        += (e) => { };
            ChangeUserStreamEvent   += (e) => { };
            ChangeFollowStreamEvent += (e) => { };
            OnUserStreamHttpError   += (e) => { };
            OnFollowStreamHttpError += (e) => { };


            twitterClient.OnHttpGetError += (e) =>
            {
                OnHttpGetError(e);
            };
            twitterClient.OnHttpPostError += (e) =>
            {
                OnHttpPostError(e);
            };
            twitterClient.OnTweetBegin += (e) =>
            {
                OnTweetBegin(e);
            };
            twitterClient.OnTweetFailed += (e) =>
            {
                OnTweetFailed(e);
            };
            twitterClient.OnTweetCompleted += (e) =>
            {
                OnTweetCompleted(e);
            };
            userStreamClient.ChangeStreamEvent += (e) =>
            {
                ChangeUserStreamEvent(e);
            };
            followStreamClient.ChangeStreamEvent += (e) =>
            {
                ChangeFollowStreamEvent(e);
            };

            userStreamClient.OnStreamError += (e) =>
            {
                OnUserStreamHttpError(e);
            };
            followStreamClient.OnStreamError += (e) =>
            {
                OnFollowStreamHttpError(e);
            };
        }
Esempio n. 4
0
 public Response(CancellationToken clientToken, Action startSending)
 {
     _clientToken = clientToken;
     _responseStream = new FollowStream(startSending);
 }
Esempio n. 5
0
 public Response(CancellationToken clientToken, Action startSending)
 {
     _clientToken    = clientToken;
     _responseStream = new FollowStream(startSending);
 }