//======================================== // Self-Define //------------------------------ //---------------------- // Public Functions //---------------------- // Protected Functions //---------------------- // Private Functions /// <summary> /// Spawn the player according to the pointed position. /// </summary> private void SpawnPlayers() { BF_GameSettings bfgs = BF_GameSettings.instance; BF_Player[] bfPlayers = bfgs.CHARACTERS_IN_GAME; for (int index = 0; index < bfgs.CHARACTERS_IN_TEAM; ++index) { if (mSpawnPos[index] == null) { JCS_Debug.LogReminders( "No Spawn position references, plz check the transform in the array..."); break; } if (bfPlayers[index] == null) { JCS_Debug.LogError( "Character you want to spawn does not exist..."); break; } // Spawn the player, and get the // player we just spawned, in order // to set facing. BF_Player bfp = (BF_Player)JCS_Utility.SpawnGameObject( bfPlayers[index], mSpawnPos[index].transform.position); // set the starting faceing bfp.TurnFace(mSpawnPos[index].Facing); // Set player in the order layer (scene layer). JCS_OrderLayerObject jcsolo = bfp.GetComponent <JCS_OrderLayerObject>(); JCS_2DDynamicSceneManager.instance.SetObjectParentToOrderLayerByOrderLayerIndex(ref jcsolo, mOrderLayer); } }
private RC_GameMode FindGameMode(int players) { switch (players) { case 1: return(RC_GameMode.SINGLE_PLAYERS); case 2: return(RC_GameMode.TWO_PLAYERS); case 4: return(RC_GameMode.FOUR_PLAYERS); case 8: return(RC_GameMode.EIGHT_PLAYERS); } // This should not happens... JCS_Debug.LogError("Game mode undefined"); return(RC_GameMode.SINGLE_PLAYERS); }
private void PickCallback(Collider other) { // apply value to gold system. RC_Player p = other.GetComponent <RC_Player>(); if (p == null) { JCS_Debug.LogError( "RC_GoldObjec", "U are using RC game object but the player isn't RC gameobject..."); return; } p.CurrentGold += mCashValue; // if is single player mode, // then we can just save to data directly. if (RC_GameSettings.instance.GAME_MODE == RC_GameMode.SINGLE_PLAYERS) { RC_GameSettings.RC_GAME_DATA.Gold += mCashValue; } }
/// <summary> /// Spawn the player at the beginning of the game. /// </summary> private void SpawnPlayer() { RC_GameSettings gs = RC_GameSettings.instance; for (int index = 0; index < RC_GameSettings.instance.PLAYER_IN_GAME; ++index) { if (gs.PLAYERS[index] == null) { JCS_Debug.LogError("Player List in RC_GameSetting are null"); return; } RC_Player rcp = (RC_Player)JCS_Utility.SpawnGameObject(gs.PLAYERS[index]); // set control index rcp.ControlIndex = index; JCS_OrderLayerObject jcsOlo = rcp.GetComponent <JCS_OrderLayerObject>(); if (jcsOlo != null) { JCS_2DDynamicSceneManager jcs2ddsm = JCS_2DDynamicSceneManager.instance; jcs2ddsm.SetObjectParentToOrderLayerByOrderLayerIndex( ref jcsOlo, ORDER_LAYER_FOR_ALL_PLAYER); } if (gs.LIQUID_MODE) { if (gs.GLOBAL_LIQUIDBAR != null) { // spawn a 3d liquid bar JCS_3DLiquidBar lb = (JCS_3DLiquidBar)JCS_Utility.SpawnGameObject(gs.GLOBAL_LIQUIDBAR); rcp.SetLiquidBar(lb); } else { JCS_Debug.LogError("No liquid bar attach to `RC_GameSetting` and u still want to access it"); } } // only webcam mode need the pointer. if (gs.WEBCAM_MODE) { RC_PlayerPointer rcpp = (RC_PlayerPointer)JCS_Utility.SpawnGameObject(gs.PLAYER_POINTERS[index]); // let rc pp knows the rc player. rcpp.SetRCPlayer(rcp); // let rc player know his rc player pointer rcp.SetRCPlayerPointer(rcpp); // set player to player pointer's transform. // so the player can follow the player rcpp.transform.SetParent(rcp.transform); } // create Revive Pointer { RC_RevivePointer rcrp = (RC_RevivePointer)JCS_Utility.SpawnGameObject(gs.PLAYER_REVIVE_POINTERS[index]); rcrp.SetRCPlayer(rcp); rcp.SetRCRevivePointer(rcrp); rcrp.transform.SetParent(rcp.transform); } } }
public void PluseAppRect() { if (mType == JCS_IncDec.INCREASE) { ++mPanelIndex; } else { --mPanelIndex; } // check length if (mWebcamPanel.Length < mPanelIndex || mPanelIndex < 0) { JCS_Debug.LogError( "RC_WebcamHandler", "Out of range index."); return; } // check object if (mWebcamPanel[mPanelIndex] == null) { JCS_Debug.LogError( "RC_WebcamHandler", "Call the function but does not assign panel at [" + mPanelIndex + "]..."); return; } RectTransform appRectTransform = JCS_Canvas.instance.GetAppRect(); Vector2 appRect = appRectTransform.sizeDelta; Vector3 newPosButton = mRectTransform.localPosition; Vector3 newPosWebcam = mWebcam.GetRectTransform().localPosition; Vector3 newStartGameButtonPos = mStartGameButton.localPosition; newPosButton.x += appRect.x; newPosWebcam.x += appRect.x; newStartGameButtonPos.x += appRect.x; if ((mPanelIndex) == RC_GameSettings.instance.PLAYER_IN_GAME) { RC_GameSettings.instance.READY_TO_START_GAME = true; } else { mRectTransform.localPosition = newPosButton; mWebcam.GetRectTransform().localPosition = newPosWebcam; mWebcam.transform.SetParent(mWebcamPanel[mPanelIndex].transform); this.transform.SetParent(mWebcamPanel[mPanelIndex].transform); } mStartGameButton.localPosition = newStartGameButtonPos; mStartGameButton.SetParent(mWebcamPanel[mPanelIndex].transform); }