//显示士兵信息 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; } }
// 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); } }