示例#1
0
 void DamageTank(DamageTankMsg dmsg)
 {
     if (dmsg.TankID == TankID)
     {
         health -= dmsg.Amount;
         UpdateHealthOrStamina(health, 0.0f, 100.0f, 0);
     }
 }
示例#2
0
    static DamageTankMsg ReconstructDamageTankMsg(string message)
    {
        string[]      parts = message.Split(new char[] { ',' });
        DamageTankMsg msg   = new DamageTankMsg();

        msg.External = true;
        msg.Amount   = float.Parse(parts[0]);
        msg.FrameNo  = int.Parse(parts [1]);
        msg.TankID   = byte.Parse(parts [2]);

        return(msg);
    }
示例#3
0
 void DamageTank(DamageTankMsg msg)
 {
     if (!msg.External)
     {
         string DeconMsg =
             DamageTankID
             + "," + msg.Amount
             + "," + msg.FrameNo
             + "," + msg.TankID;
         WebsockAdaptorSend(DeconMsg);
     }
 }
示例#4
0
    void Update()
    {
        if (Input.GetKeyDown(KeyCode.Semicolon))
        {
            DamageTankMsg msg = new DamageTankMsg(0, CurrentFrame, 20.0f);
            GameUtilities.Broadcast("DamageTank", msg);
        }

        if (health <= 0.0f)
        {
            FailLevel();
        }
    }
示例#5
0
    void Update()
    {
        if (Input.GetKeyDown(KeyCode.Semicolon))
        {
            DamageTankMsg msg = new DamageTankMsg(0, CurrentFrame, 20.0f);
            OwningGame.BroadcastMessage("DamageTank", msg, GameUtilities.DONT_CARE_RECIEVER);
        }

        if (health <= 0.0f)
        {
            FailLevel();
        }
    }
示例#6
0
    void OnCollisionEnter(Collision collision)
    {
        if ((NoCollisions > MaxNoCollisions && !PlayerFriendly) || ((NoCollisions > MaxNoCollisions - PlayerCollisionPenalty) && PlayerFriendly))
        {
            Destroy(gameObject);
        }
        NoCollisions++;
        if (collision.transform.CompareTag("Player"))
        {
            print("Player Hit");
            if (!PlayerFriendly)
            {
                DamageTankMsg msg = new DamageTankMsg();
                msg.Amount  = Damage;
                msg.FrameNo = Time.frameCount;
                msg.TankID  = collision.transform.gameObject.GetComponent <TankBody>().GetTankID();

                OwningGame.BroadcastMessage("DamageTank", msg, GameUtilities.DONT_CARE_RECIEVER);
                Destroy(gameObject);
            }
        }
        else if (collision.transform.CompareTag("Enemies"))
        {
            print("Enemy Hit");
            if (PlayerFriendly)
            {
                DamageEnemyMsg msg = new DamageEnemyMsg();
                msg.Amount  = Damage;
                msg.TankID  = CreatingPLayer;
                msg.EType   = collision.transform.parent.gameObject.GetComponent <Guardian>().GetEnemyType();
                msg.EnemyID = collision.transform.parent.gameObject.GetComponent <Guardian>().EnemyID;

                OwningGame.BroadcastMessage("DamageEnemy", msg, GameUtilities.DONT_CARE_RECIEVER);
                Destroy(gameObject);
            }
        }

        if (!PlayerFriendly)
        {
            Damage -= 2;            //MAGIC NUMBER guardians are stupid so they have reduced penalty \
            gameObject.GetComponent <MeshRenderer>().material.color /= 8;
        }
        else
        {
            Damage /= 2;            //MAGIC NUMBER so players can exploit bouncing shots too badly
            gameObject.GetComponent <MeshRenderer>().material.color /= 8;
        }
    }