Пример #1
0
 void StrafeTank(TankComponentMovementMsg msg)
 {
     //dir tid, fno
     if (msg.TankID == TankID)
     {
         if (msg.Direction)
         {//strafeleft
             if (Stamina > 0.0f)
             {
                 transform.position -= transform.right * Time.deltaTime * StrafeSpeed;
                 Stamina            -= (2.0f + Math.Abs(Stamina / 100f) + .01f);
                 UpdateHealthOrStamina(Stamina, 0.0f, 100.0f, 1);
             }
         }
         else
         {//straferight
             if (Stamina > 0.0f)
             {
                 transform.position += transform.right * Time.deltaTime * StrafeSpeed;
                 Stamina            -= (2.0f + Math.Abs(Stamina / 100f) + .01f);
                 UpdateHealthOrStamina(Stamina, 0.0f, 100.0f, 1);
             }
         }
     }
 }
Пример #2
0
 static string DeconstructTankComponentMovementMsg(int id, TankComponentMovementMsg msg)
 {
     return
         (id
          + "," + msg.Direction
          + "," + msg.FrameNo
          + "," + msg.TankID);
 }
Пример #3
0
 void StrafeTank(TankComponentMovementMsg msg)
 {
     if (msg.External)
     {
         return;
     }
     WebsockAdaptorSend(DeconstructTankComponentMovementMsg(StrafeTankID, msg));
 }
Пример #4
0
 void MoveGunHorizontal(TankComponentMovementMsg msg)
 {
     if (msg.External)
     {
         return;
     }
     WebsockAdaptorSend(DeconstructTankComponentMovementMsg(MoveGunHorizontalID, msg));
 }
Пример #5
0
    static TankComponentMovementMsg ReconstructTankComponentMovementMsg(string message)
    {
        string[] parts = message.Split(new char[] { ',' });
        TankComponentMovementMsg msg = new TankComponentMovementMsg();

        msg.Direction = bool.Parse(parts [0]);
        msg.FrameNo   = int.Parse(parts [1]);
        msg.TankID    = byte.Parse(parts [2]);
        return(msg);
    }
Пример #6
0
 void CheckStrafeTank()
 {
     if (Input.GetKey(StrafeLeft))
     {
         TankComponentMovementMsg msg = new TankComponentMovementMsg(TankID, CurrentFrame, true);
         OwningGame.BroadcastMessage("StrafeTank", msg, GameUtilities.DONT_CARE_RECIEVER);
     }
     if (Input.GetKey(StrafeRight))
     {
         TankComponentMovementMsg msg = new TankComponentMovementMsg(TankID, CurrentFrame, false);
         OwningGame.BroadcastMessage("StrafeTank", msg, GameUtilities.DONT_CARE_RECIEVER);
     }
 }
Пример #7
0
 void CheckMoveTank()
 {
     if (Input.GetKey(Forward))
     {   //forward
         TankComponentMovementMsg msg = new TankComponentMovementMsg(TankID, CurrentFrame, true);
         OwningGame.BroadcastMessage("MoveTank", msg, GameUtilities.DONT_CARE_RECIEVER);
     }
     if (Input.GetKey(Backward))
     {   //backward
         TankComponentMovementMsg msg = new TankComponentMovementMsg(TankID, CurrentFrame, false);
         OwningGame.BroadcastMessage("MoveTank", msg, GameUtilities.DONT_CARE_RECIEVER);
     }
 }
Пример #8
0
 void CheckMoveTank()
 {
     if (Input.GetKey(Forward))
     {   //forward
         TankComponentMovementMsg msg = new TankComponentMovementMsg(TankID, CurrentFrame, true);
         GameUtilities.Broadcast("MoveTank", msg);
     }
     if (Input.GetKey(Backward))
     {   //backward
         TankComponentMovementMsg msg = new TankComponentMovementMsg(TankID, CurrentFrame, false);
         GameUtilities.Broadcast("MoveTank", msg);
     }
 }
Пример #9
0
 void CheckStrafeTank()
 {
     if (Input.GetKey(StrafeLeft))
     {
         TankComponentMovementMsg msg = new TankComponentMovementMsg(TankID, CurrentFrame, true);
         GameUtilities.Broadcast("StrafeTank", msg);
     }
     if (Input.GetKey(StrafeRight))
     {
         TankComponentMovementMsg msg = new TankComponentMovementMsg(TankID, CurrentFrame, false);
         GameUtilities.Broadcast("StrafeTank", msg);
     }
 }
Пример #10
0
 void TurnTank(TankComponentMovementMsg msg) //rotate Left or Right
 {
     if (msg.TankID == TankID)
     {
         if (msg.Direction)
         {
             transform.Rotate(0.0f, Input.GetAxis("Horizontal") * RotateSpeed, 0.0f);
         }
         else
         {
             transform.Rotate(0.0f, Input.GetAxis("Horizontal") * RotateSpeed, 0.0f);
         }
     }
 }
Пример #11
0
 void MoveTank(TankComponentMovementMsg msg)
 {
     if (msg.TankID == TankID)
     {
         if (msg.Direction)
         {   //forward
             transform.position += transform.forward * Time.deltaTime * PlayerSpeed;
         }
         else
         {   //backward
             transform.position -= transform.forward * Time.deltaTime * PlayerSpeed;
         }
     }
 }
Пример #12
0
 void TurnTank(TankComponentMovementMsg msg) //rotate Left or Right
 {
     if (msg.TankID == TankID)
     {
         if (msg.Direction)
         {
             transform.Rotate(Vector3.up, RotateSpeed * Time.deltaTime);
         }
         else
         {
             transform.Rotate(Vector3.up, -RotateSpeed * Time.deltaTime);
         }
     }
 }
Пример #13
0
 void CheckVerticalMove()
 {
     if (Input.GetKey(Up))
     {
         TankComponentMovementMsg msg = new TankComponentMovementMsg(OwningTank.GetComponent <TankBody>().TankID,
                                                                     Time.frameCount, true);
         GameUtilities.Broadcast("MoveGunVertical", msg);
     }
     if (Input.GetKey(Down))
     {
         TankComponentMovementMsg msg = new TankComponentMovementMsg(OwningTank.GetComponent <TankBody>().TankID,
                                                                     Time.frameCount, false);
         GameUtilities.Broadcast("MoveGunVertical", msg);
     }
 }
Пример #14
0
 void CheckHorizontalMove()
 {
     if (Input.GetKey(Right))
     {
         TankComponentMovementMsg msg = new TankComponentMovementMsg(OwningTank.GetComponent <TankBody>().TankID,
                                                                     Time.frameCount, true);
         GameUtilities.Broadcast("MoveGunHorizontal", msg);
     }
     if (Input.GetKey(Left))
     {
         TankComponentMovementMsg msg = new TankComponentMovementMsg(OwningTank.GetComponent <TankBody>().TankID,
                                                                     Time.frameCount, false);
         GameUtilities.Broadcast("MoveGunHorizontal", msg);
     }
 }
Пример #15
0
 void CheckVerticalMove()
 {
     if (Input.GetKey(Up))
     {
         TankComponentMovementMsg msg = new TankComponentMovementMsg(OwningTank.GetComponent <TankBody>().TankID,
                                                                     Time.frameCount, true);
         OwningGame.BroadcastMessage("MoveGunVertical", msg, GameUtilities.DONT_CARE_RECIEVER);
     }
     if (Input.GetKey(Down))
     {
         TankComponentMovementMsg msg = new TankComponentMovementMsg(OwningTank.GetComponent <TankBody>().TankID,
                                                                     Time.frameCount, false);
         OwningGame.BroadcastMessage("MoveGunVertical", msg, GameUtilities.DONT_CARE_RECIEVER);
     }
 }
Пример #16
0
 void CheckTurnTank()
 {
     if (Input.GetKey(Left))
     {
         TankComponentMovementMsg msg = new TankComponentMovementMsg(TankID, CurrentFrame, false);
         GameUtilities.Broadcast("TurnTank", msg);
         MarkSyncNeeded();
     }
     if (Input.GetKey(Right))
     {
         TankComponentMovementMsg msg = new TankComponentMovementMsg(TankID, CurrentFrame, true);
         GameUtilities.Broadcast("TurnTank", msg);
         MarkSyncNeeded();
     }
 }
Пример #17
0
 void MoveGunHorizontal(TankComponentMovementMsg msg)
 {
     if (msg.TankID == OwningTank.GetComponent <TankBody>().TankID)
     {
         if (msg.Direction)
         {
             Vector3 EAng = transform.rotation.eulerAngles;
             EAng.y            += DeltaY;
             transform.rotation = Quaternion.Euler(EAng);
         }
         else
         {   //madbrew : workaround. If I use the Rotate function with Vector3.forward, I get a Z axis rotation that rotates the gun
             // in a plane created by the x rotation
             Vector3 EAng = transform.rotation.eulerAngles;
             EAng.y            -= DeltaY;
             transform.rotation = Quaternion.Euler(EAng);
         }
     }
 }
Пример #18
0
 void MoveGunVertical(TankComponentMovementMsg msg)
 {   //
     if (msg.TankID == OwningTank.GetComponent <TankBody>().TankID)
     {
         if (msg.Direction)
         {
             if (DeviationX < UpperDeviationLimit)
             {
                 transform.Rotate(Vector3.right, -5 * GunRotateSpeed * Time.deltaTime);
                 DeviationX++;
             }
         }
         else
         {
             if (DeviationX > LowerDeviationLimit)
             {
                 transform.Rotate(Vector3.right, 5 * GunRotateSpeed * Time.deltaTime);
                 DeviationX--;
             }
         }
     }
 }
Пример #19
0
 void MoveGunHorizontal(TankComponentMovementMsg msg)
 {
     WebsockAdaptorSend(DeconstructTankComponentMovementMsg(MoveGunHorizontalID, msg));
 }
Пример #20
0
 void StrafeTank(TankComponentMovementMsg msg)
 {
     WebsockAdaptorSend(DeconstructTankComponentMovementMsg(StrafeTankID, msg));
 }
Пример #21
0
 void TurnTank(TankComponentMovementMsg msg)
 {
     WebsockAdaptorSend(DeconstructTankComponentMovementMsg(TurnTankID, msg));
 }