Beispiel #1
0
    //----------------------------------------------------------------------
    // マテリアルの変更
    //----------------------------------------------------------------------
    // @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;
        }
    }
Beispiel #2
0
    //----------------------------------------------------------------------
    // サッカーボールのリスタート
    //----------------------------------------------------------------------
    // @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;
    }
Beispiel #3
0
    //----------------------------------------------------------------------
    // コンストラクタ
    //----------------------------------------------------------------------
    // @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);
    }