/// <summary> /// @brief 継承先で個別に実装する初期化 /// </summary> protected virtual void MarkerInitialize() { markerList = new List <GameObject>(); lineMarkerList = new List <GameObject>(); hitMarkerList = new List <GameObject>(); // 親オブジェクトを取得し markerObjName = GameObject.Find("MarkerObj"); // 取得した親オブジェクトの子も取得する(Marker) markerList = GameObjectExtension.GetGameObject(markerObjName, "Marker"); //取得した親オブジェクトの子も取得する(AINormal) (PlayerのLineように使います) lineMarkerList = GameObjectExtension.GetGameObject(markerObjName, "AINormal"); // 取得した親オブジェクトの子も取得する(GameObject) hitMarkerList = GameObjectExtension.GetGameObject(markerObjName); // 取得したブイの当り判定の棒を透明にする GameObjectExtension.HideGameObject(markerObjName); isGoal = false; }
private eAISequence AISequence; // @brief 現在のジグザグのシーケンス #endregion #region 初期化 /// <summary> /// @brief MarkerBaseの実装 /// </summary> protected override void MarkerInitialize() { base.MarkerInitialize(); // リストの初期化 markerPos = new List <Vector2>(); AIMarkerList = new List <GameObject>(); AIMarkerList = GameObjectExtension.GetGameObject(markerObjName, DecideAIStrength()); // コンポーネントの取得 me = this.gameObject; mySail = me.transform.Find("Sail").gameObject; myHuman = me.transform.Find("Human").gameObject; getWindParam = GameObjectExtension.Find("UIWind").GetComponent <GetWindParam>(); // 変数の初期化 myRadius = transform.localEulerAngles.y; currentMarker = 0; currentHitMarker = 1; AIStatus = eAIStatus.NULL; AISequence = eAISequence.NULL; GetMarkerVec2(); currentDistance = Distance(myPos, markerPos[currentHitMarker]); NextPointDeg(); SailRotate(getWindParam.ValueWind, me.transform.localEulerAngles.y); }
/// <summary> /// @brief 継承先で個別に実装する初期化 /// </summary> protected virtual void MarkerInitialize() { markerList = new List <GameObject>(); hitMarkerList = new List <GameObject>(); // 親オブジェクトを取得し markerObjName = GameObject.Find("MarkerObj"); // 取得した親オブジェクトの子も取得する(Marker) markerList = GameObjectExtension.GetGameObject(markerObjName, "Marker"); // 取得した親オブジェクトの子も取得する(GameObject) hitMarkerList = GameObjectExtension.GetGameObject(markerObjName); isGoal = false; }
/// <summary> /// @brief インスペクター上に存在する船のオブジェクトを全てリストに格納する /// </summary> private void GetShipObject() { // 親オブジェクトを取得し parentAllShipName = GameObject.Find("AllShip"); // 取得した親オブジェクトの子も取得する(Player) allPlayerShipObject = GameObjectExtension.GetGameObject(parentAllShipName, "Player"); // 取得した親オブジェクトの子も取得する(Enemy) allEnemyShipObject = GameObjectExtension.GetGameObject(parentAllShipName, "Enemy"); // Playerが一番最初にリストに格納されるように先に処理する for (int i = 0; i < allPlayerShipObject.Count; i++) { allShip.Add(new ShipObject(allPlayerShipObject[i], 0.0f, 1, allPlayerShipObject[i].GetComponent <MarkerColliderTrigger>())); } // その後ろに敵の処理 for (int i = 0; i < allEnemyShipObject.Count; i++) { allShip.Add(new ShipObject(allEnemyShipObject[i], 0.0f, 1, allEnemyShipObject[i].GetComponent <AIControler>())); } }
private eAISequence AISequence; // @brief 現在のジグザグのシーケンス #endregion #region 初期化 /// <summary> /// @brief MarkerBaseの実装 /// </summary> protected override void MarkerInitialize() { base.MarkerInitialize(); // リストの初期化 markerPos = new List <Vector2>(); AIMarkerList = new List <GameObject>(); AIMarkerList = GameObjectExtension.GetGameObject(markerObjName, DecideAIStrength()); // コンポーネントの取得 me = this.gameObject; mySail = me.transform.Find("Sail").gameObject; getWindParam = GameObjectExtension.Find("UIWind").GetComponent <GetWindParam>(); // 変数の初期化 myRadius = transform.localEulerAngles.y; currentMarker = 0; currentHitMarker = 1; // ステートの初期化 AIStatus = eAIStatus.NULL; AISequence = eAISequence.NULL; AIMoveStatus = eAIMoveStatus.NULL; // 角度の取得 GetMarkerVec2(); // 取得した角度の初期化 NextPointDeg(); // セールの角度の初期化 SailRotate(getWindParam.ValueWind, me.transform.localEulerAngles.y); // 旋回速度の初期化 ChangeShipTurnSpeed(); }