Esempio n. 1
0
    // Update is called once per frame
    void Update()
    {
        if (Input.GetButton("TEST_ADD_PLAYER"))
        {
            AttemptSpell("Accipiter Chalybs", CHAOS_CONTROL, 0, 0);
            //  AddPlayer(nameList[Random.Range(0, 5)]);
            //  if (Random.RandomRange(0, 10) == 0) SetColor(nameList[Random.Range(0, 5)], new Color(0, 0.5f, 1));
        }

        timer -= Time.deltaTime;
        if (timer < 0)
        {
            print("Timer magic");
            foreach (string name in playerNames)
            {
                DiscordPlayerData data = getPlayer(name); if (data == null)
                {
                    return;
                }
                data.mana += 100;
                UpdateName(name);
            }
            timer = manaInfusionTime;
        }

        if (chaos_control_active > 0)
        {
            chaos_control_active -= Time.deltaTime;
        }

        if (rapid_fire_active > 0)
        {
            rapid_fire_active -= Time.deltaTime;
        }
    }
Esempio n. 2
0
    public void AddPlayer(string name)
    {
        string attemptName = name;
        int    tryCount    = 0;

        while (getPlayer(attemptName) != null)
        {
            attemptName = name + "(" + tryCount++ + ")";
        }
        name = attemptName;


        DiscordPlayerData playerData = new DiscordPlayerData();

        playerData.name   = name;
        playerData.color  = new Color(1, 1, 0);
        playerData.mana   = 0;
        playerData.avatar = Instantiate(discordPlayerPrefab, this.transform.position + spawnOffset, Quaternion.identity);


        Text namebadge = Instantiate(namePrefab);

        namebadge.rectTransform.SetParent(uiContainer);
        namebadge.rectTransform.anchoredPosition = new Vector2(-325 + nameWidth * (nameCount / namePerPage), 261 - 25 * (nameCount++ % namePerPage));
        playerData.namebadge = namebadge;

        playerNames.Add(name);
        discordPlayers[name] = playerData;

        UpdateName(name);
    }
Esempio n. 3
0
    public void AttemptSpell(string name, int spell, int arg1, int arg2)
    {
        DiscordPlayerData data = getPlayer(name); if (data == null)

        {
            return;
        }

        print(spell);
        switch (spell)
        {
        case CHAOS_CONTROL:
            if (data.mana < spellCost[CHAOS_CONTROL])
            {
                return;
            }

            data.mana -= spellCost[CHAOS_CONTROL];

            chaos_control_active += chaosControlDuration;

            UpdateName(name);
            break;

        case METEOR:
            if (data.mana < spellCost[METEOR])
            {
                return;
            }
            data.mana -= spellCost[METEOR];

            Instantiate(MeteorPrefab, new Vector3(arg1 * 10 - 50, 50, arg2 * 10 - 50), Quaternion.Euler(90, 0, 0));
            UpdateName(name);
            break;

        case FLING:
            if (data.mana < spellCost[FLING])
            {
                return;
            }
            data.mana -= spellCost[FLING];

            this.GetComponent <Rigidbody>().AddForce(new Vector3(0, 25, 0), ForceMode.Impulse);
            UpdateName(name);
            break;

        case RAPID_FIRE:

            if (data.mana < spellCost[RAPID_FIRE])
            {
                return;
            }
            data.mana -= spellCost[RAPID_FIRE];

            rapid_fire_active += rapidFireDuration;
            UpdateName(name);
            break;
        }
    }
Esempio n. 4
0
    public void UpdateName(string name)
    {
        DiscordPlayerData data = getPlayer(name); if (data == null)

        {
            return;
        }

        data.namebadge.text  = name + " | " + data.mana;
        data.namebadge.color = data.color;
    }
Esempio n. 5
0
    public void SetColor(string name, Color c)
    {
        DiscordPlayerData data = getPlayer(name); if (data == null)

        {
            return;
        }

        data.color = c;
        data.avatar.GetComponent <Recolour>().GenerateMaterial(c);
        UpdateName(name);
    }