private void StartFullSync(object direction) { if (Monitor.TryEnter(ContactSync.SynchRoot)) { try { Config.Direction dir = (Config.Direction)direction; ContactSync cs = new ContactSync(Config.Username, Config.Password, Convert.ToInt32(Config.Interval * 60000)); cs.GoogleSynched += GoogleSynched; cs.OutlookSynched += OutlookSynched; cs.StartSynching += StartSynching; cs.EndSynching += EndSynching; cs.Error += SynchError; cs.FullSync(dir); } finally { Monitor.Exit(ContactSync.SynchRoot); } } else { MessageBox.Show("Sync in progress... cannot run full sync"); } }
void onBottom() { isBottom = 1; _jumpCount = 0; //correct some attribute if no one else set it . if (lastTriggerType == Config.ReactionType.Null || lastTriggerType == Config.ReactionType.Normal) { lastTriggerType = Config.ReactionType.Normal; _moveSpeed = GlobalController.instance.setting.moveSpeed; additionSpeed = 0; _playerDirection = _arrowStatus; _lockPosture = false; } else { lastTriggerType = Config.ReactionType.Null; } if (!_lockPosture) { if (_arrowStatus == Config.Direction.None) { ani.play(Config.CharcterAction.Idle); } else { ani.play(Config.CharcterAction.Walk); } } cam.correct(tf); rb.velocity = new Vector2(rb.velocity.x, 0); }
private void SyncContact(Contact gContact, ContactItem item, Config.Direction dir) { if (dir == Config.Direction.dirToGoogle) { googleAdapter.UpdateContactFromOutlook(item, gContact); } else { outlookAdapter.UpdateContactFromGoogle(gContact, item); } }
//character like > < will rebound player; public void Rebound(Config.Direction dir) { isBottom = 0; _playerDirection = dir; rb.velocity = GlobalController.instance.setting.angleBlanketReboundParam; _moveSpeed = GlobalController.instance.setting.angleBlanketReboundParam.x; ani.play(Config.CharcterAction.Jump); _restrictDirection++; releaseAfterReboundRoutine = StartCoroutine(releaseAfterRebound()); }
private void shoot() { Bullet bullet = GlobalController.instance.getCurPool().Spawn(GlobalController.instance.prefabSetting.bullet).GetComponent <Bullet>(); Config.Direction dir = (tf.transform.lossyScale.x > 0)?Config.Direction.Right:Config.Direction.Left; Vector3 pos; if (dir == Config.Direction.Left) { pos = new Vector3(tf.position.x - GlobalController.instance.setting.gridSize, tf.position.y + col.offset.y, 0); } else { pos = new Vector3(tf.position.x + GlobalController.instance.setting.gridSize, tf.position.y + col.offset.y, 0); } bullet.init(pos, dir, bulletData); }
//lock players move direction and let them move faster public override void onIce() { _restrictDirection++; if (_playerDirection == Config.Direction.None) { _playerDirection = Config.Direction.Right; } _moveSpeed = GlobalController.instance.setting.moveSpeed * 2; ani.play(Config.CharcterAction.Crash); _lockPosture = true; if (lastTriggerType == Config.ReactionType.Null) { lastTriggerType = Config.ReactionType.Ice; } else { lastTriggerType = Config.ReactionType.Null; } }
public void init(Vector3 position, Config.Direction dir, BulletData d) { tf = transform; _data = d; spr = tf.GetComponent <SpriteRenderer>(); ColorUtil.toAlpha(spr, 1); tf.position = position; switch (dir) { case Config.Direction.Left: //tf.position = new Vector2(position.x - GlobalController.instance.setting.gridSize, position.y + GlobalController.instance.setting.gridSize*0.5f); _curTween = tf.DOMoveX(position.x - GlobalController.instance.setting.screenWidth, GlobalController.instance.setting.screenWidth / d.speed); break; case Config.Direction.Right: //tf.position = new Vector2(position.x + GlobalController.instance.setting.gridSize, position.y + GlobalController.instance.setting.gridSize*0.5f); _curTween = tf.DOMoveX(position.x + GlobalController.instance.setting.screenWidth, GlobalController.instance.setting.screenWidth / d.speed); break; } _curTween.OnComplete(() => { GlobalController.instance.getCurPool().Despawn(tf); }); }
public void FullSync(Config.Direction dir) { MutexManager.StartingFullSync(); try { try { if (dir == Config.Direction.dirToOutlook) { SetLastGoogleFetch(DateTime.Now); } if (StartSynching != null) { StartSynching(this); } List <ContactItem> OutlookContacts; List <Contact> GoogleContacts; logger.Info("Obtaining Outlook contacts..."); OutlookContacts = outlookAdapter.Contacts; logger.Info("Obtaining Google Contacts..."); GoogleContacts = googleAdapter.Contacts; EmailComparer comparer = new EmailComparer(); int i = 0; int total = OutlookContacts.Count() + GoogleContacts.Count(); foreach (ContactItem item in OutlookContacts) { try { try { if (Thread.CurrentThread.ThreadState == ThreadState.AbortRequested) { break; } i++; var qryFindGoogleContact = GoogleContacts.Where(c => c.Title == item.FullName || c.Emails.Contains(new EMail(item.Email1Address), comparer) || c.Emails.Contains(new EMail(item.Email2Address), comparer) || c.Emails.Contains(new EMail(item.Email3Address), comparer)); if (qryFindGoogleContact.Count() > 0) { if (dir == Config.Direction.dirToOutlook) { logger.Info(String.Format("{0}/{1} Updating Outlook contact: " + OutlookAdapter.ContactItemDisplay(item), i, total)); Contact gContact = qryFindGoogleContact.First(); logger.Info("Updating outlook contact"); SyncContact(gContact, item, dir); } else { logger.Info(String.Format("{0}/{1} Processing...", i, total)); } } else { logger.Info(String.Format("{0}/{1} Creating Google contact for " + OutlookAdapter.ContactItemDisplay(item), i, total)); // MutexManager.AddToBlockedContacts(item); CreateGoogleContact(item); } } finally { if (OutlookSynched != null) { OutlookSynched(this, item, i, OutlookContacts.Count()); } } } catch (System.Exception ex) { if (ex is ThreadAbortException) { break; } } } foreach (Contact item in GoogleContacts) { try { try { if (Thread.CurrentThread.ThreadState == ThreadState.AbortRequested) { break; } i++; var qryFindOutlookContact = OutlookContacts.Where(c => c.FullName == item.Title || item.Emails.Contains(new EMail(c.Email1Address), comparer) || item.Emails.Contains(new EMail(c.Email2Address), comparer) || item.Emails.Contains(new EMail(c.Email3Address), comparer)); if (qryFindOutlookContact.Count() > 0) { if (dir == Config.Direction.dirToGoogle) { logger.Info(String.Format("{0}/{1} Updating Google contact: " + GoogleAdapter.ContactDisplay(item), i, total)); ContactItem oContact = qryFindOutlookContact.First(); SyncContact(item, oContact, dir); } else { logger.Info(String.Format("{0}/{1} Processing...", i, total)); } } else { logger.Info(String.Format("{0}/{1} Creating Outlook contact for " + GoogleAdapter.ContactDisplay(item), i, total)); CreateOutlookContact(item); } } finally { if (GoogleSynched != null) { GoogleSynched(this, item, i, GoogleContacts.Count()); } } } catch (System.Exception ex) { if (ex is ThreadAbortException) { break; } } } if (EndSynching != null) { EndSynching(this); } } catch (System.Exception ex) { if ((EndSynching != null)) { EndSynching(this); } else if (!(ex is ThreadAbortException) & (Error != null)) { Error(this, ex); } } } finally { if (dir == Config.Direction.dirToGoogle) { SetLastGoogleFetch(DateTime.Now); } MutexManager.EndingFullSync(); } }
public void onUpdate() { if (isDead) { return; } // if(rb.velocity.y > 0.1f || rb.velocity.y < -0.1f) // isBottom = 0; if (tf.position.x - maxX > 10 || tf.position.y - maxY > 10 || tf.position.y - minY < -10) { DistanceTriggerManager.instance.notice(tf.position); } bool arrowChange = false; if (Input.GetKeyDown(KeyCode.RightArrow)) { _arrowStatus = Config.Direction.Right; arrowChange = true; } else if (Input.GetKeyDown(KeyCode.LeftArrow)) { _arrowStatus = Config.Direction.Left; arrowChange = true; } if (Input.GetKeyUp(KeyCode.RightArrow) && _arrowStatus == Config.Direction.Right) { _arrowStatus = Config.Direction.None; arrowChange = true; } if (Input.GetKeyUp(KeyCode.LeftArrow) && _arrowStatus == Config.Direction.Left) { _arrowStatus = Config.Direction.None; arrowChange = true; } if (Input.GetKeyDown(KeyCode.DownArrow)) { _isShooting = true; } if (Input.GetKeyUp(KeyCode.DownArrow)) { _isShooting = false; } if (_isShooting) { if (_bulletCD <= 0) { shooting(); } } _bulletCD -= Time.unscaledDeltaTime; jumpHandler(); Config.Direction lastPlayerDirection = _playerDirection; if (_restrictDirection == 0) { _playerDirection = _arrowStatus; } switch (_playerDirection) { case Config.Direction.None: rb.velocity = new Vector2(additionSpeed, rb.velocity.y); if (isBottom > 0) { if (lastPlayerDirection != _playerDirection && !_lockPosture) { ani.play(Config.CharcterAction.Idle); } _idleTime += Time.deltaTime; if (lastPlayerDirection != _playerDirection) { cam.correct(tf); } } else { _idleTime = 0; cam.notice(tf.position - _lastPostion, tf, tf.localScale.x); } break; case Config.Direction.Left: rb.velocity = new Vector2(-_moveSpeed + additionSpeed, rb.velocity.y); if (!_lockPosture && lastPlayerDirection != _playerDirection) { ani.play(Config.CharcterAction.Walk); } if (tf.lossyScale.x > 0) { tf.localScale = new Vector3(-tf.localScale.x, tf.localScale.y, tf.localScale.z); } _idleTime = 0; cam.notice(tf.position - _lastPostion, tf, tf.localScale.x); break; case Config.Direction.Right: rb.velocity = new Vector2(_moveSpeed + additionSpeed, rb.velocity.y); if (!_lockPosture && lastPlayerDirection != _playerDirection) { ani.play(Config.CharcterAction.Walk); } if (tf.lossyScale.x < 0) { tf.localScale = new Vector3(-tf.localScale.x, tf.localScale.y, tf.localScale.z); } _idleTime = 0; cam.notice(tf.position - _lastPostion, tf, tf.localScale.x); break; } if (_idleTime > 3) { ani.doRandomIdle(); _idleTime = -2; } _lastPostion = tf.position; }
public Direction(Config.Direction config) { _config = config; }
void Update() { if (!isDown) { if (Input.GetKeyDown(KeyCode.LeftArrow)) { curArrow = Config.Direction.Left; curSpeed = -moveSpeed; } if (Input.GetKeyUp(KeyCode.LeftArrow)) { if (curArrow == Config.Direction.Left) { curArrow = Config.Direction.None; curSpeed = 0; } } if (Input.GetKeyDown(KeyCode.RightArrow)) { curArrow = Config.Direction.Right; curSpeed = moveSpeed; } if (Input.GetKeyUp(KeyCode.RightArrow)) { if (curArrow == Config.Direction.Right) { curArrow = Config.Direction.None; curSpeed = 0; } } if ((curSpeed > 0 && tf.position.x < maxX) || (curSpeed < 0 && tf.position.x > minX)) { tf.position += new Vector3(curSpeed, 0, 0); } if (Input.GetKeyDown(KeyCode.UpArrow)) { curArrow = Config.Direction.Right; } if (Input.GetKeyDown(KeyCode.DownArrow)) { isDown = true; _curTween = tf.DOMoveY(tf.position.y - downDis, 1).OnComplete(catchDoll); } } if (Input.GetKeyDown(KeyCode.UpArrow)) { ani.Play("init"); tf.position = initPos; curSpeed = 0; curArrow = Config.Direction.None; isDown = false; if (_curTween != null) { _curTween.Kill(); } Collider2D[] cols = tf.GetComponentsInChildren <Collider2D>(); for (int i = 0; i < cols.Length; i++) { cols[i].enabled = false; } } }