Пример #1
0
    // adds and gets the player
    public PlayerObject AddAndGetPlayer(int number, GameBuilder.playables newPlayer, bool controllable)
    {
        // playerList.Add(newPlayer);

        // adds the player
        BuilderPlayer bp = new BuilderPlayer();

        bp.number        = number;
        bp.character     = newPlayer;
        bp.controllable  = controllable;
        bp.destorySaved  = true;
        bp.useMainCam    = (playerList.Count == 0) ? true : false;
        bp.targetDisplay = playerList.Count;


        // gets the created player
        // if (manager != null)
        //     return manager.CreatePlayer(number, newPlayer, true, false);
        // else
        //     return null;

        // adds to list.
        playerList.Add(bp);

        // gets the created player
        if (manager != null)
        {
            return(manager.CreatePlayer(number, newPlayer, bp.controllable, bp.destorySaved, bp.useMainCam, bp.targetDisplay));
        }
        else
        {
            return(null);
        }
    }
Пример #2
0
    // adds a player to the game builder.
    public PlayerObject AddAndGetPlayer(int number, GameBuilder.playables newPlayer, bool controllable,
                                        bool destroySaved, bool useMainCam, int targetDisplay)
    {
        // sets values
        BuilderPlayer bp = new BuilderPlayer();

        bp.number        = number;
        bp.character     = newPlayer;
        bp.controllable  = controllable;
        bp.destorySaved  = destroySaved;
        bp.useMainCam    = useMainCam;
        bp.targetDisplay = targetDisplay;

        // adds to list.
        playerList.Add(bp);

        // create player and return it.
        if (manager != null)
        {
            return(manager.CreatePlayer(bp.number, bp.character, bp.controllable, bp.destorySaved, bp.useMainCam, bp.targetDisplay));
        }
        else
        {
            return(null);
        }
    }
Пример #3
0
    // adds a player to the game builder.
    public void AddPlayer(int number, GameBuilder.playables newPlayer, bool controllable)
    {
        // playerList.Add(newPlayer);
        //
        //
        // // TODO: change point where players are created to be when the scene starts.
        // if (manager != null)
        //     manager.CreatePlayer(number, newPlayer, true, false);


        // sets values
        BuilderPlayer bp = new BuilderPlayer();

        bp.number        = number;
        bp.character     = newPlayer;
        bp.controllable  = controllable;
        bp.destorySaved  = true;
        bp.useMainCam    = (playerList.Count == 0) ? true : false;
        bp.targetDisplay = playerList.Count;

        // adds to list.
        playerList.Add(bp);

        // create player
        if (manager != null)
        {
            manager.CreatePlayer(bp.number, bp.character, bp.controllable, bp.destorySaved, bp.useMainCam, bp.targetDisplay);
        }
    }
Пример #4
0
    // creates the players (match builder variant) - will replace other variant
    public PlayerObject CreatePlayer(int number, MatchBuilder.playables type, bool controllable,
                                     bool destroySaved, bool useMainCamera, int targetDisplay = 0)
    {
        GameBuilder.playables gbp = GameBuilder.playables.none;

        // goes through each type
        switch (type)
        {
        case MatchBuilder.playables.none:     // none
            gbp = GameBuilder.playables.none;
            break;

        case MatchBuilder.playables.dog:     // dog
            gbp = GameBuilder.playables.dog;
            break;

        case MatchBuilder.playables.cat:     // cat
            gbp = GameBuilder.playables.cat;
            break;

        case MatchBuilder.playables.bunny:     // bunny
            gbp = GameBuilder.playables.bunny;
            break;

        case MatchBuilder.playables.turtle:     // turtle
            gbp = GameBuilder.playables.turtle;
            break;
        }

        return(CreatePlayer(number, gbp, controllable, destroySaved, useMainCamera, targetDisplay));
    }
Пример #5
0
    // adds a player to the game builder.
    public void AddPlayer(int number, GameBuilder.playables newPlayer, bool controllable, bool destroySaved, bool useMainCam, int targetDisplay)
    {
        // sets values
        BuilderPlayer bp = new BuilderPlayer();

        bp.number        = number;
        bp.character     = newPlayer;
        bp.controllable  = controllable;
        bp.destorySaved  = destroySaved;
        bp.useMainCam    = useMainCam;
        bp.targetDisplay = targetDisplay;

        // adds to list.
        playerList.Add(bp);

        // create player
        if (manager != null)
        {
            manager.CreatePlayer(bp.number, bp.character, bp.controllable, bp.destorySaved, bp.useMainCam, bp.targetDisplay);
        }
    }
Пример #6
0
    // public int;

    // creates the players.
    // if 'useMainCamera' is set to true, then the player uses the main camera (default view). Otherwise a new camera is made.
    // the target display is used to determine which camera to use.
    public PlayerObject CreatePlayer(int number, GameBuilder.playables type, bool controllable, bool destroySaved, bool useMainCamera, int targetDisplay = 0)
    {
        // new player
        GameObject newPlayer;

        // type
        switch (type)
        {
        case GameBuilder.playables.dog:
            newPlayer = Instantiate((GameObject)Resources.Load("Prefabs/Characters/Dog Player"));
            break;

        case GameBuilder.playables.cat:
            newPlayer = Instantiate((GameObject)Resources.Load("Prefabs/Characters/Cat Player"));
            break;

        case GameBuilder.playables.bunny:
            newPlayer = Instantiate((GameObject)Resources.Load("Prefabs/Characters/Bunny Player"));
            break;

        case GameBuilder.playables.turtle:
            newPlayer = Instantiate((GameObject)Resources.Load("Prefabs/Characters/Turtle Player"));
            break;

        case GameBuilder.playables.none:
        default:
            newPlayer = Instantiate((GameObject)Resources.Load("Prefabs/Characters/Player"));
            break;
        }


        // player object values
        PlayerObject px = newPlayer.GetComponent <PlayerObject>();

        number = Mathf.Clamp(number, 0, 4);

        px.SetPlayerNumber(number);
        px.ParentIconToPlayerSpace();

        // px.playerNumber = number;

        // the player is controllable
        px.controllablePlayer = controllable;

        // Player Camera
        {
            // used to check and see if the main camera is available.
            bool mainCamUsed = false;

            // camera objects
            GameObject     camObject = null; // game object
            Camera         camComp   = null; // camera component
            FollowerCamera fwr       = null; // folloer componetn

            // use main camera
            if (useMainCamera)
            {
                camObject = GameObject.Find("Main Camera");

                // finds the cam object.
                if (camObject != null)
                {
                    // gets camera object.
                    camComp = camObject.GetComponent <Camera>();

                    // the camera is not equal to null, which mean the main cam exists.
                    if (camComp != null)
                    {
                        // gets follower camera
                        fwr = camObject.GetComponent <FollowerCamera>();

                        // follower component exists
                        if (fwr != null)
                        {
                            px.SetFollowerCamera(fwr); // sets follower component

                            mainCamUsed = true;        // camera found and used
                        }
                        else
                        {
                            Debug.LogError("Main camera did not have follower component. Generating new camera.");
                        }
                    }
                    else
                    {
                        Debug.LogError("Camera component on Main Camera object not found. Generating new camera.");
                    }
                }
                else
                {
                    Debug.LogError("Main camera object not found. Generating new camera.");
                }
            }

            if (!useMainCamera || !mainCamUsed) // creates another camera specifically for this player
            {
                // gets instance of camera
                camObject = Instantiate((GameObject)Resources.Load("Prefabs/Player Camera"));

                // gets camera component
                camComp = camObject.GetComponent <Camera>();

                // gets follower camera
                fwr = camObject.GetComponent <FollowerCamera>();
                px.SetFollowerCamera(fwr);
            }

            // sets the target display
            // target display defaults to 0.
            if (camComp != null)
            {
                camComp.targetDisplay = targetDisplay;
            }
        }

        // original camera setup
        // // if the number is greater than 0, set the target display to it.
        // if (number > 0 && !useMainCamera)
        // {
        //     // TODO: playerCamera has not been set for some reason.
        //     // camera object.
        //     // it's done this way just in case the follower camera isn't set yet.
        //     Camera cam = px.GetFollowerCamera().GetCamera();
        //
        //     // change target display
        //     if(cam != null)
        //         cam.targetDisplay = number;
        // }
        // else // use main camera
        // {
        //     GameObject camObject = GameObject.Find("Main Camera");
        //     Camera camComp = camObject.GetComponent<Camera>();
        //     FollowerCamera fwr = px.SetFollowerCamera(camComp);
        // }

        // saves the player object
        // also increases player count if no player object was assigned yet.
        switch (number)
        {
        case 1:
        default:
            if (p1 == null)
            {
                playerCount++;
            }

            if (destroySaved)
            {
                Destroy(p1);
            }

            p1 = px;
            break;

        case 2:
            if (p2 == null)
            {
                playerCount++;
            }

            if (destroySaved)
            {
                Destroy(p2);
            }

            p2 = px;
            break;

        case 3:
            if (p3 == null)
            {
                playerCount++;
            }

            if (destroySaved)
            {
                Destroy(p3);
            }

            p3 = px;
            break;

        case 4:
            if (p4 == null)
            {
                playerCount++;
            }

            if (destroySaved)
            {
                Destroy(p4);
            }

            p4 = px;
            break;
        }

        // returns the player object script
        return(px);
    }
Пример #7
0
    // updates player icons
    public void UpdateIcons()
    {
        // player list
        List <PlayerObject> players = new List <PlayerObject>();

        // adds the four players
        players.Add(p1);
        players.Add(p2);
        players.Add(p3);
        players.Add(p4);

        // goes through all players
        for (int i = 0; i < players.Count; i++)
        {
            // no player available
            if (players[i] == null)
            {
                continue;
            }

            // the texture image
            Texture2D img = null;


            // the players
            GameBuilder.playables type = players[i].GetPlayerType();

            // TODO: check and see which one is less intensive.
            // ver 1. - check type
            switch (type)
            {
            case GameBuilder.playables.none:     // none (use default)
                break;

            case GameBuilder.playables.dog:
                img = dogIcon;
                break;

            case GameBuilder.playables.cat:
                img = catIcon;
                break;

            case GameBuilder.playables.bunny:
                img = bunnyIcon;
                break;

            case GameBuilder.playables.turtle:
                img = turtleIcon;
                break;
            }

            // ver 2. - downcast check
            // if (players[i] is DogPlayer) // dog
            // {
            //     img = dogIcon;
            // }
            // else if (players[i] is CatPlayer) // cat
            // {
            //     img = catIcon;
            // }
            // else if (players[i] is BunnyPlayer) // bunny
            // {
            //     img = bunnyIcon;
            // }
            // else if (players[i] is TurtlePlayer) // turtle
            // {
            //     img = turtleIcon;
            // }

            // image was found
            if (img != null)
            {
                switch (i)
                {
                case 0:     // p1
                    if (p1Image != null)
                    {
                        p1Image.texture = img;
                    }
                    break;

                case 1:     // p2
                    if (p2Image != null)
                    {
                        p2Image.texture = img;
                    }
                    break;

                case 2:     // p3
                    if (p3Image != null)
                    {
                        p3Image.texture = img;
                    }
                    break;

                case 3:     // p4
                    if (p4Image != null)
                    {
                        p4Image.texture = img;
                    }
                    break;
                }
            }
        }
    }