//========================================
    //      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);
        }
    }
Exemplo n.º 2
0
    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);
    }
Exemplo n.º 3
0
    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;
        }
    }
Exemplo n.º 4
0
    /// <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);
            }
        }
    }
Exemplo n.º 5
0
    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);
    }