Ejemplo n.º 1
0
        public Snaker GetSnake(int UID)
        {
            Snaker snake = null;

            _dictSnaker.TryGetValue(UID, out snake);
            return(snake);
        }
Ejemplo n.º 2
0
        public Snaker CreateSnake(int uid)
        {
            Snaker snake = new Snaker();

            snake.Init(uid, Snaker.SEGMENT_LENGTH * moveSpeed, Snaker.SEGMENT_LENGTH * rotSpeed);
            return(snake);
        }
Ejemplo n.º 3
0
 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();
         });
     }
 }
Ejemplo n.º 4
0
        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);
                }
            }
        }
Ejemplo n.º 5
0
        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);
        }