public void Initialize( PlayerIngame pPlayer) { mPlayer = pPlayer; mGuardTrans = player.ballGuard.transform; mWordCam = Camera.mainCamera; base.Start(); mY = mGuardTrans.position.y; mGuardRigid = mGuardTrans.rigidbody; mTableLayer = 1 << (LayerMask.NameToLayer("Table") ); if( GameplayScene.bottomPlayer == mPlayer) mIsBottomPlayer = true; else mIsBottomPlayer = false; //init camera location and alignment mWordCam.transform.position = mGuardTrans.position + (mGuardTrans.forward * -4 ) + new Vector3(0, 5,0); mWordCam.transform.LookAt( GameplayScene.table.ball.transform); }
//callback when this was initialize protected override void Awake() { mCurrent = this; base.Awake (); if( mCurrentPlayer == null) mCurrentPlayer = mOwnerPlayer; if( mOwnerInfo == null ) { mOwnerInfo = GameHelpers.GetLocalPlayerInfo(); mOpponentInfo = mOwnerInfo; } mGameinfo = new GameInfo( mOwnerInfo, mOpponentInfo, 0, 0); ownerPlayer.info = mOwnerInfo; opponentPlayer.info = mOpponentInfo; mPlayerController = (PlayerController)FindObjectOfType( typeof(PlayerController)); }
//callback when a player goal //@param: the player who goaled public virtual void OnPlayerGoalStart( PlayerIngame pGoalee) { //update current game score if( pGoalee == mOwnerPlayer ) mGameinfo.ownerScore ++; else mGameinfo.opponentScore++; Debug.Log( "Player GOAL: " + pGoalee.name); mOwnerPlayer.OnPlayerGoalStart( pGoalee); mOpponentPlayer.OnPlayerGoalStart( pGoalee); mTable.OnPlayerGoalStart( pGoalee); //end short after few seconds Invoke( "OnPlayerGoalEnd", 2); }
//callback when game ended //@param: the player who winned public virtual void OnGameEnd( PlayerIngame pWinner) { mPlayerController.enabled = false; mOwnerPlayer.OnGameEnd( pWinner); mOpponentPlayer.OnGameEnd( pWinner); mTable.OnGameEnd( pWinner); pause = true; Debug.Log( "GameOver"); }