public void GenMap(int MapId) { transform.parent.gameObject.SetActive(true); UIBase.OpenUI(UIBase.UI_GamePanel); List <BrickRoot> brickList = new List <BrickRoot>(); //清除已存在的砖块 for (int i = 0; i < transform.childCount; i++) { var obj = transform.GetChild(i); if (obj != BasePos) { Destroy(obj.gameObject); } } //开始生成 GameObject _mBrickBoot; for (int column = 0; column < Columns; column++) { for (int row = 0; row < Rows; row++) { _mBrickBoot = Instantiate(BrickRootObj, transform); _mBrickBoot.transform.localPosition = BasePos.localPosition + new Vector3(row * distanceX, column * distanceY, 0); BrickRoot brickRoot = _mBrickBoot.GetComponent <BrickRoot>(); brickList.Add(brickRoot); } } //生成怪物和装备 Monster.MapGenMonster(brickList, MapId); }
public static void FightWithMonster(MonsterAttr monsterAttr, BrickRoot brickRoot) { int lossBlood_player = Math.Max(monsterAttr.Attack - PlayerAttr.Defense, 1); int lossBlood_monster = Math.Max(PlayerAttr.Attack - monsterAttr.Defense, 1); PlayerAttr.Blood -= lossBlood_player; monsterAttr.Blood -= lossBlood_monster; UIBase.ShowAttrChange(-lossBlood_monster, brickRoot.transform.localPosition); brickRoot.MonsterAni.SetTrigger("BeAttacked"); }
void Click() { Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit hit; bool isHit = Physics.Raycast(ray, out hit, 100f, ~(1 << LayerMask.NameToLayer("UI"))); if (isHit) { BrickRoot brickRoot = hit.collider.GetComponent <BrickRoot>(); if (brickRoot != null) { brickRoot.BeClicked(); } } }
public static void DropItem(BrickRoot brickRoot, int dropId) { }