Exemple #1
0
    //显示士兵信息
    public void showUnitInformation(bool bShowInformation)
    {
        if (selectedUnit == null)
        {
            return;
        }

        if (bShowInformation == true)
        {
            SoldierType.Soldiers thisUnit = selectedUnit.m_pSoldier;
            int maxHP = thisUnit.getMaxHP();
            UIManager.Instance.maxHP.GetComponent <Text>().text = maxHP.ToString();
            int attack = thisUnit.getAttack();
            UIManager.Instance.attackValue.GetComponent <Text>().text = attack.ToString();
            int maxStep = thisUnit.getMaxMoveStep();
            UIManager.Instance.maxMoveStep.GetComponent <Text>().text     = maxStep.ToString();
            UIManager.Instance.soldierTypeName.GetComponent <Text>().text = thisUnit.returnTypeName();
            int currentHP = thisUnit.getCurrentHP();
            UIManager.Instance.currentHP.GetComponent <Text>().text = currentHP.ToString();
            int currentMoveStep = thisUnit.getCurrentMoveStep();
            UIManager.Instance.currentMoveStep.GetComponent <Text>().text = currentMoveStep.ToString();
            UIManager.Instance.soldierTypeImage.sprite = UIManager.Instance.unitSprites[thisUnit.returnSpriteIndex()];
        }
        else
        {
            UIManager.Instance.maxHP.GetComponent <Text>().text           = null;
            UIManager.Instance.attackValue.GetComponent <Text>().text     = null;
            UIManager.Instance.maxMoveStep.GetComponent <Text>().text     = null;
            UIManager.Instance.soldierTypeName.GetComponent <Text>().text = null;
            UIManager.Instance.soldierTypeImage.sprite = UIManager.Instance.noSprite;
            UIManager.Instance.currentMoveStep.GetComponent <Text>().text = null;
            UIManager.Instance.currentHP.GetComponent <Text>().text       = null;
        }
    }
Exemple #2
0
    // Update is called once per frame
    void Update()
    {
        if (transform.position.x == destination.x && transform.position.y == destination.y)
        {
            if (bMoving)
            {
                bMoving = false;
                whenUnitFirstArriveDestination();
            }
        }
        else
        {
            bMoving = true;
        }


        Vector2 dir      = new Vector2(destination.x - transform.position.x, destination.y - transform.position.y);
        Vector2 velocity = dir.normalized * speed * Time.deltaTime;

        velocity = Vector2.ClampMagnitude(velocity, dir.magnitude);

        transform.Translate(velocity);

        gameObject.GetComponent <SpriteRenderer>().sprite = UIManager.Instance.unitSprites[spriteIndex];

        thisUnitHasBeenClicked = false;

        if (m_pSoldier != null && m_pSoldier.getCurrentHP() <= 0)
        {
            int money = m_pSoldier.getMoneyByKillingEnemy();
            int xp    = m_pSoldier.getXPByKillingEnemy();
            if (unitAlign == 0)
            {
                m_player2.setMoney(money + m_player2.getMoney());
                m_player2.setXP(xp + m_player2.getXP());
            }
            else if (unitAlign == 1)
            {
                m_player1.setMoney(money + m_player1.getMoney());
                m_player1.setXP(xp + m_player1.getXP());
            }
            GameManager.Instance.modifyUnitDic(unitAlign, gameObject.name);
            Destroy(gameObject);
        }
    }