// 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; } } }
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()); } }
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); }; }
public Response(CancellationToken clientToken, Action startSending) { _clientToken = clientToken; _responseStream = new FollowStream(startSending); }