public Snaker GetSnake(int UID) { Snaker snake = null; _dictSnaker.TryGetValue(UID, out snake); return(snake); }
public Snaker CreateSnake(int uid) { Snaker snake = new Snaker(); snake.Init(uid, Snaker.SEGMENT_LENGTH * moveSpeed, Snaker.SEGMENT_LENGTH * rotSpeed); return(snake); }
void OnSnakerDead(Snaker snaker, object killer) { if (context.Game.EnableRevive()) { MessageBox.Show("Revive or Quit this game?", "Quit", () => { MessageBox.Hide(); context.Game.Terminate(); }, "Revive", () => { MessageBox.Hide(); context.Game.Resume(); context.Game.RebornPlayer(); }); } }
public void UpdateExc() { for (int i = 0; i < controllers.Length; i++) { if (controllers[i] == null) { continue; } Snaker snake = SingleManager <SnakeManager> .Get().GetSnake(controllers[i].UID); if (snake != null) { Inject(snake.RotateControl, controllers[i].Rotate); } } }
public RotateParam CalculateRotate(int uid, Vector3 target) { Snaker snake = SingleManager <SnakeManager> .Get().GetSnake(uid); RotateParam param = new RotateParam(); if (snake != null) { float angle = Vector3.SignedAngle(snake.Direction, target - snake.GetPosition(), Vector3.up); if (angle > 0) { param.rotSpeed = Mathf.Min(angle, snake.RotateSpeed); } else { param.rotSpeed = Mathf.Max(angle, -snake.RotateSpeed); } } return(param); }