private int invalidInstanceId = -1; // lockedOnEnemyIds[] が未使用であることを表す値. void Start() { // ロックオン敵機. lockedOnEnemys = new GameObject[MAX_LOCKON_COUNT]; lockedOnEnemyIds = new int[MAX_LOCKON_COUNT]; lockonLaserIds = new int[MAX_LOCKON_COUNT]; lockedOnSights = new GameObject[MAX_LOCKON_COUNT]; // ロックオンサイトのインスタンスを取得. lockonSights = new GameObject[MAX_LOCKON_COUNT]; lockonSights[0] = lockonSight1; lockonSights[1] = lockonSight2; lockonSights[2] = lockonSight3; lockonSights[3] = lockonSight4; lockonSights[4] = lockonSight5; lockonSights[5] = lockonSight6; // playerのインスタンスを取得. player = GameObject.FindGameObjectWithTag("Player"); // 索敵レーザーのコリジョン補間を取得. scoutingLaserMesh = GameObject.FindGameObjectWithTag("ScoutingLaserMesh"); // 索敵レーザーの前方への線のインスタンスを取得. scoutingLaserLine = GameObject.FindGameObjectWithTag("ScoutingLaserLine").GetComponent <MeshRenderer>(); // ロックオンサイトの初期化. this.GetComponent <TrailRenderer>().enabled = isScanOn; scoutingLaserLine.enabled = isScanOn; // LockBonusのインスタンスを取得. lockBonus = Navi.get().GetLockBonus(); // LockSlotのインスタンスを取得. lockSlot = Navi.get().GetLockSlot(); // PrintMessage のインスタンスを取得. printMessage = Navi.get().GetPrintMessage(); // lockedOnEnemyIds[] が未使用であることを表す値. // 自分自身はロックオンされることはないので. invalidInstanceId = this.gameObject.GetInstanceID(); for (int i = 0; i < lockedOnEnemyIds.Length; i++) { lockedOnEnemyIds[i] = invalidInstanceId; lockonLaserIds[i] = invalidInstanceId; } }
private int invalidInstanceId = -1; // 表示lockedOnEnemyIds[] 未被使用的值 void Start() { // 锁定敌机 lockedOnEnemys = new GameObject[MAX_LOCKON_COUNT]; lockedOnEnemyIds = new int[MAX_LOCKON_COUNT]; lockonLaserIds = new int[MAX_LOCKON_COUNT]; lockedOnSights = new GameObject[MAX_LOCKON_COUNT]; // 获取锁定瞄准器的实例 lockonSights = new GameObject[MAX_LOCKON_COUNT]; lockonSights[0] = lockonSight1; lockonSights[1] = lockonSight2; lockonSights[2] = lockonSight3; lockonSights[3] = lockonSight4; lockonSights[4] = lockonSight5; lockonSights[5] = lockonSight6; // 获取player的实例 player = GameObject.FindGameObjectWithTag("Player"); // 获取索敌激光的碰撞补间 scoutingLaserMesh = GameObject.FindGameObjectWithTag("ScoutingLaserMesh"); // 获取索敌激光前方线的实例 scoutingLaserLine = GameObject.FindGameObjectWithTag("ScoutingLaserLine").GetComponent <MeshRenderer>(); // 锁定瞄准器的初始化 this.GetComponent <TrailRenderer>().enabled = isScanOn; scoutingLaserLine.enabled = isScanOn; // 获取LockBonus的实例 lockBonus = Navi.get().GetLockBonus(); // 获取LockSlot的实例 lockSlot = Navi.get().GetLockSlot(); // 获取PrintMessage 的实例 printMessage = Navi.get().GetPrintMessage(); // 表示lockedOnEnemyIds[] 未被使用时的值 // 自身不会被锁定 invalidInstanceId = this.gameObject.GetInstanceID(); for (int i = 0; i < lockedOnEnemyIds.Length; i++) { lockedOnEnemyIds[i] = invalidInstanceId; lockonLaserIds[i] = invalidInstanceId; } }
protected PrintMessage print_message; // 消息窗口 // ================================================================ // // 继承于MonoBehaviour void Awake() { this.lock_slot = this.GetComponent <LockSlot>(); this.lock_bonus = this.GetComponent <LockBonus>(); this.print_message = this.GetComponent <PrintMessage>(); }