Example #1
0
    void Start()
    {
        m_param = GetComponent <PlayerParam>();
        // m_param.Target.transform.position = new Vector3(1.0f, 0.5f, 1.0f);

        m_idel       = m_IdelObj.GetComponent <PlayerIdel>();
        m_move       = m_MoveObj.GetComponent <PlayerMove>();
        m_end        = m_EndObj.GetComponent <PlayerEnd>();
        m_controller = GetComponentInChildren <MouseController>();
    }
Example #2
0
        /// <summary>
        /// Loads the level from the content manager
        /// </summary>
        /// <param name="content">Content Manager to load from</param>
        public void Load(ContentManager content)
        {
            mObjects.Clear();
            Reset();

            Importer importer = new Importer(content);
            importer.ImportLevel(this);

            mPlayer = new Player(content, ref mPhysicsEnvironment,
                mControls, .8f, EntityInfo.CreatePlayerInfo(GridSpace.GetGridCoord(StartingPoint)));

            mObjects.Add(mPlayer);
            mObjects.AddRange(importer.GetObjects(ref mPhysicsEnvironment));

            mPlayerEnd = importer.GetPlayerEnd();
            if (mPlayerEnd != null)
                mObjects.Add(mPlayerEnd);

            mObjects.AddRange(importer.GetWalls(this).Cast<GameObject>());

            mRails = importer.GetRails();

            mTrigger.AddRange(importer.GetTriggers());

            PrepareCollisionMatrix();

            mNumCollected = 0;
            mNumCollectable = 0;

            //Clear the collection lists
            mCollected.Clear();
            mRemoveCollected.Clear();

            foreach (GameObject gObject in mObjects)
            {
                if (gObject.CollisionType == XmlKeys.COLLECTABLE)
                    mNumCollectable++;
            }
        }
Example #3
0
    // Use this for initialization
    void Start()
    {
        int playerCount = Input.GetJoystickNames().Length;

        //playerCount = 4;

        colors = new List <Color32>();
        colors.Add(P1_Color);
        colors.Add(P2_Color);
        colors.Add(P3_Color);
        colors.Add(P4_Color);


        for (var i = 0; i < 0; i++)
        {
            PlayerPrefs.SetInt("p" + (i + 1) + "score", i * 4);
            PlayerPrefs.SetInt("Player" + (i + 1) + "CharSelect", (int)CharCodes.Shifter);
        }

        List <PlayerEnd> players = new List <PlayerEnd>();

        for (var i = 0; i < playerCount; i++)
        {
            int       score    = PlayerPrefs.GetInt("p" + (i + 1) + "score");
            CharCodes charCode = (CharCodes)PlayerPrefs.GetInt("Player" + (i + 1) + "CharSelect");

            players.Add(new PlayerEnd((i + 1), charCode, score));
        }

        List <PlayerEnd> sortedPlayers = players.OrderBy(p => p.score).ToList();

        List <Place> places = new List <Place>();

        for (var i = 0; i < playerCount; i++)
        {
            GameObject place = transform.Find("Rank " + (i + 1)).gameObject;
            Animator   anim  = place.GetComponent <Animator>();
            Text       text  = place.transform.Find("Text").GetComponent <Text>();
            Image      img   = place.transform.Find("background").GetComponent <Image>();

            places.Add(new Place(anim, text, img));
        }

        for (var i = 0; i < playerCount; i++)
        {
            PlayerEnd player = sortedPlayers[i];
            Place     place  = places[playerCount - 1 - i];

            string placeText = "";
            switch (playerCount - 1 - i)
            {
            case 0: placeText = "1st"; break;

            case 1: placeText = "2nd"; break;

            case 2: placeText = "3rd"; break;

            case 3: placeText = "4th"; break;
            }

            switch (player.charCode)
            {
            case CharCodes.MissQ:
                place.anim.runtimeAnimatorController = missq_anim;
                break;

            case CharCodes.Shifter:
                place.anim.runtimeAnimatorController = shifter_anim;
                place.anim.SetFloat("animSpeed", 15 / 8f);
                break;

            case CharCodes.Vegano:
                place.anim.runtimeAnimatorController = vegano_anim;
                break;

            case CharCodes.Rich:
                place.anim.runtimeAnimatorController = rich_anim;
                place.anim.SetFloat("animSpeed", 6 / 8f);
                break;
            }

            switch (player.id)
            {
            case 1: place.background.color = P1_Color; break;

            case 2: place.background.color = P2_Color; break;

            case 3: place.background.color = P3_Color; break;

            case 4: place.background.color = P4_Color; break;
            }

            if (playerCount - 1 - i == 0)
            {
                place.background.transform.parent.Find("super background").gameObject.GetComponent <Image>().color = place.background.color;
            }

            string textOutput = placeText + " Place : Score " + player.score;

            place.text.text = textOutput;
        }

        for (int i = 0; i < 4; i++)
        {
            if (i > playerCount - 1)
            {
                transform.Find("Rank " + (i + 1)).gameObject.SetActive(false);
            }
        }

        // update leaderboards
        Stats bestStats = new Stats();

        for (int i = 1; i < playerCount + 1; i++)
        {
            string           pid   = i.ToString();
            PlayerStatStruct stats = PlayerStats.getStats(pid);

            if (bestStats.kills == null || bestStats.kills.value <= stats.kills)
            {
                bestStats.kills = new Stat(stats.kills, pid);
            }
            if (bestStats.deaths == null || bestStats.deaths.value <= stats.deaths)
            {
                bestStats.deaths = new Stat(stats.deaths, pid);
            }
            if (bestStats.coinsLost == null || bestStats.coinsLost.value <= stats.coinsLost)
            {
                bestStats.coinsLost = new Stat(stats.coinsLost, pid);
            }
            if (bestStats.coinsGained == null || bestStats.coinsGained.value <= stats.coinsGained)
            {
                bestStats.coinsGained = new Stat(stats.coinsGained, pid);
            }
            if (bestStats.attacksDone == null || bestStats.attacksDone.value <= stats.attacksDone)
            {
                bestStats.attacksDone = new Stat(stats.attacksDone, pid);
            }
            if (bestStats.itemsUsed == null || bestStats.itemsUsed.value <= stats.itemsUsed)
            {
                bestStats.itemsUsed = new Stat(stats.itemsUsed, pid);
            }
            if (bestStats.damageDone == null || bestStats.damageDone.value <= stats.damageDone)
            {
                bestStats.damageDone = new Stat(stats.damageDone, pid);
            }
            if (bestStats.damageReceived == null || bestStats.damageReceived.value <= stats.damageReceived)
            {
                bestStats.damageReceived = new Stat(stats.damageReceived, pid);
            }

            PlayerStats.clearStats(pid);
        }

        GameObject statsObject = transform.Find("Stats").gameObject;

        for (int i = 1; i < 6; i++)
        {
            GameObject statObject = statsObject.transform.Find(i.ToString()).gameObject;

            Text  descText  = statObject.transform.Find("Text").gameObject.GetComponent <Text>();
            Image icon      = statObject.transform.Find("playerIcon").gameObject.GetComponent <Image>();
            Text  valueText = statObject.transform.Find("playerIcon").Find("Text").gameObject.GetComponent <Text>();

            Stat stat = null;
            switch (i)
            {
            case 1:
                stat          = bestStats.kills;
                descText.text = "Kills";
                break;

            case 2:
                stat          = bestStats.deaths;
                descText.text = "Deaths";
                break;

            case 3:
                stat          = bestStats.coinsLost;
                descText.text = "Coins Lost";
                break;

            case 4:
                stat          = bestStats.attacksDone;
                descText.text = "Attacks Done";
                break;

            case 5:
                stat          = bestStats.itemsUsed;
                descText.text = "Items Used";
                break;
            }


            if (int.Parse(stat.pid) > 0 && int.Parse(stat.pid) < 5)
            {
                icon.color = colors[int.Parse(stat.pid) - 1];
            }
            valueText.text = stat.value.ToString();
        }
        players_ready = new List <bool> ();
        for (int ii = 0; ii < playerCount; ii++)
        {
            players_ready.Add(false);
        }
    }