//---------------------------------------------------------------------- // マテリアルの変更 //---------------------------------------------------------------------- // @Param TeamData.TEAM_NATIONALITY 選択されたチーム // @Return none // @Date 2014/12/3 @Update 2014/12/3 @Author T.Kawashita //---------------------------------------------------------------------- public void ChangeMaterial(TeamData.TEAM_NATIONALITY _world) { // モデルのマテリアルを変更 switch (_world) { // 日本 case TeamData.TEAM_NATIONALITY.JAPAN: this.renderer.material = (Material)Instantiate(Resources.Load("Model/Player/Materials/lambert_japan2")); break; // ブラジル case TeamData.TEAM_NATIONALITY.BRASIL: this.renderer.material = (Material)Instantiate(Resources.Load("Model/Player/Materials/lambert_brasil2")); break; // イングランド case TeamData.TEAM_NATIONALITY.ENGLAND: this.renderer.material = (Material)Instantiate(Resources.Load("Model/Player/Materials/lambert_england2")); break; // スペイン case TeamData.TEAM_NATIONALITY.ESPANA: this.renderer.material = (Material)Instantiate(Resources.Load("Model/Player/Materials/lambert_spain2")); break; } }
//---------------------------------------------------------------------- // サッカーボールのリスタート //---------------------------------------------------------------------- // @Param none // @Return none // @Date 2014/12/9 @Update 2014/12/9 @Author T.Kawashita //---------------------------------------------------------------------- public static void Restart() { m_soccerBall.GetComponent <CSoccerBall> ().Restart(new Vector3(0.0f, 0.0f, 0.0f)); m_isOverRimitShoot = false; m_team = TeamData.TEAM_NATIONALITY.NONE; }
//---------------------------------------------------------------------- // コンストラクタ //---------------------------------------------------------------------- // @Param none // @Return none // @Date 2014/11/11 @Update 2014/11/11 @Author T.Kawashita //---------------------------------------------------------------------- void Start() { // ゲームがスタートしているかどうか m_isStartGame = false; // サッカーボールの情報を初期化 m_shootPlayerNo = eNONE; m_shootTeamNo = eTEAM_NONE; // オーバーリミット用変数初期化 m_isOverRimitShoot = false; m_team = TeamData.TEAM_NATIONALITY.NONE; // サッカーボールをセット m_soccerBall = this.gameObject.transform.FindChild("SoccerBall").gameObject; }
//---------------------------------------------------------------------- // プレイヤーの国を取得 //---------------------------------------------------------------------- // @Param eWORLD 取得したい国名 // @Return CHuman 取得された国のインスタンス // @Date 2014/10/24 @Update 2014/10/24 @Author T.Kawashita //---------------------------------------------------------------------- public static CHuman GetWorldInstance(TeamData.TEAM_NATIONALITY _world) { switch (_world) { // 日本 case TeamData.TEAM_NATIONALITY.JAPAN: return(m_japanHuman); // スペイン case TeamData.TEAM_NATIONALITY.ESPANA: return(m_spainHuman); // イングランド case TeamData.TEAM_NATIONALITY.ENGLAND: return(m_englandHuman); // ブラジル case TeamData.TEAM_NATIONALITY.BRASIL: return(m_brasilHuman); } return(null); }
//---------------------------------------------------------------------- // オーバーリミット状態のシュート //---------------------------------------------------------------------- // @Param _player プレイヤーのゲームオブジェクト // @Param _forward プレイヤーの前方向ベクトル // @Param _isBall プレイヤーがボールを持っているかどうか // @Param _team チーム // @Return bool シュートが終わったかどうか // @Date 2015/1/6 @Update 2015/1/6 @Author T.Kawashita //---------------------------------------------------------------------- public bool OverRimitShoot(GameObject _player, Vector3 _forward, ref bool _isBall, TeamData.TEAM_NATIONALITY _team) { // フレーム数取得 m_shootFrame += Time.deltaTime; // シュート状態に切り替わった場合はスクリプトの中身を変更 if (m_shootFrame >= (float)m_shootTakeOfFrame / 60 && _isBall == true) { Vector3 shootSpeed = _forward * m_shootInitSpeed; // チームによって処理変更 switch (_team) { // ブラジルのシュート case TeamData.TEAM_NATIONALITY.BRASIL: CSoccerBallManager.m_team = TeamData.TEAM_NATIONALITY.BRASIL; shootSpeed *= CGaugeManager.m_brazilShootRate; break; case TeamData.TEAM_NATIONALITY.JAPAN: CSoccerBallManager.m_team = TeamData.TEAM_NATIONALITY.JAPAN; break; case TeamData.TEAM_NATIONALITY.ENGLAND: CSoccerBallManager.m_team = TeamData.TEAM_NATIONALITY.ENGLAND; CSoccerBallManager.m_isOverRimitShoot = true; break; case TeamData.TEAM_NATIONALITY.ESPANA: CSoccerBallManager.m_team = TeamData.TEAM_NATIONALITY.ESPANA; CSoccerBallManager.m_isOverRimitShoot = true; break; } _player.transform.FindChild("SoccerBall").GetComponent <CSoccerBall>().rigidbody.velocity = shootSpeed; _player.transform.FindChild("SoccerBall").GetComponent <CSoccerBall>().rigidbody.angularVelocity = _forward * 30.0f; _player.transform.FindChild("SoccerBall").GetComponent <SphereCollider>().isTrigger = false; _player.transform.FindChild("SoccerBall").GetComponent <CSoccerBall>().m_isPlayer = false; _isBall = false; // プレイヤーのボールではない状態にする _player.transform.FindChild("SoccerBall").parent = GameObject.Find("BallGameObject").transform; } // シュートモーション終わりの時間になった場合はコンポーネントを切り替えて終了 if (m_shootFrame >= (float)m_shootMotionLength / 60) { return(true); } // シュートモーション終了していない return(false); }
//---------------------------------------------------------------------- // オーバーリミット状態のパス //---------------------------------------------------------------------- // @Param _player プレイヤーのゲームオブジェクト // @Param _forwrd プレイヤーの前方向ベクトル // @Param _isBall プレイヤーがボールを持っているかどうか // @Return bool パスが終わったかどうか // @Date 2015/1/6 @Update 2015/1/6 @Author T.Kawashita //---------------------------------------------------------------------- public bool OverRimitPass(GameObject _player, Vector3 _forward, ref bool _isBall, TeamData.TEAM_NATIONALITY _team) { // フレーム数取得 m_passFrame += Time.deltaTime; // パス状態に切り替わった場合はスクリプトの中身を変更 if (m_passFrame >= (float)m_passTakeOfFrame / 60 && _isBall == true) { Vector3 passSpeed = _forward * m_passInitSpeed; // チームによって処理変更 switch (_team) { // ブラジルのシュート case TeamData.TEAM_NATIONALITY.BRASIL: passSpeed *= CGaugeManager.m_brazilPassRate; break; case TeamData.TEAM_NATIONALITY.JAPAN: break; case TeamData.TEAM_NATIONALITY.ENGLAND: break; case TeamData.TEAM_NATIONALITY.ESPANA: break; } _player.transform.FindChild("SoccerBall").GetComponent <CSoccerBall>().rigidbody.velocity = passSpeed; _player.transform.FindChild("SoccerBall").GetComponent <CSoccerBall>().rigidbody.angularVelocity = _forward * 15.0f; _player.transform.FindChild("SoccerBall").GetComponent <SphereCollider>().isTrigger = false; _player.transform.FindChild("SoccerBall").GetComponent <CSoccerBall>().m_isPlayer = false; _isBall = false; _player.transform.FindChild("SoccerBall").parent = GameObject.Find("BallGameObject").transform; } // パスモーション終わりの時間になった場合はコンポーネントを切り替えて終了 if (m_passFrame >= (float)m_passMotionLength / 60) { return(true); } return(false); }