// 共同的定义 private void InitCharManager() { // runningData需要深拷贝 this.runningData = Math.DeepCopyByBinary <CharcterData>(this.originalData); // 获取攻击范围组件 range = gameObject.GetComponentInChildren <RangeRunning>(); // 绑定范围敌人数组 enemies = range.enemies; // 血条组件已经初始化,可以直接调用 SetHpSilder(runningData.attributes.nowHp / originalData.attributes.maxHp, true); foreach (Transform child in perfab.GetComponentsInChildren <Transform>(true)) { if (child.gameObject.name == "FirePosition") { firePosition = child.gameObject.transform; } else if (child.gameObject.name == "Head") { head = child.gameObject.transform; } else if (child.gameObject.name == "Bullet1") { child.gameObject.SetActive(false); } else if (child.gameObject.name == "Bullet2") { bulletPrefab = child.gameObject; bulletPrefab.SetActive(false); } else if (child.gameObject.name == "Laser") { laserPerfab = child.gameObject; laserPerfab.SetActive(false); }/* * else if (child.gameObject.name == "Collider") * { * if(originalData.isEnemy) * child.gameObject.GetComponent<Rigidbody>().constraints = * RigidbodyConstraints.FreezePositionX | RigidbodyConstraints.FreezePositionY | RigidbodyConstraints.FreezePositionZ; * else * child.gameObject.GetComponent<Rigidbody>().constraints = * RigidbodyConstraints.FreezePositionZ; * }*/ } }
void InitLaser(Object[] obj) { firePosition = (Transform)obj[0]; target = (GameObject)obj[1]; range = (RangeRunning)obj[2]; }