示例#1
0
 public void Init(PowerUpData powerUpData, PlayerController playerC, Transform hudT)
 {
     this.powerUpData      = powerUpData;
     this.playerController = playerC;
     this.hudTransform     = hudT;
     hudText = hudT.GetComponentInChildren <Text>();
 }
        protected override IEnumerable <string> MergeDependencies(IJsonOrganization json, bool overwrite)
        {
            var properties = OrganizationPreferencesContext.Merge(json.Prefs, overwrite)
                             .Select(p => $"{nameof(Organization.Preferences)}.{p}")
                             .ToList();

            if (json.Actions != null)
            {
                Actions.Update(json.Actions.Select(a => a.GetFromCache <Action, IJsonAction>(Auth, overwrite)));
                properties.Add(nameof(Organization.Actions));
            }
            if (json.Boards != null)
            {
                Boards.Update(json.Boards.Select(a => a.GetFromCache <Board, IJsonBoard>(Auth, overwrite)));
                properties.Add(nameof(Organization.Boards));
            }
            if (json.Members != null)
            {
                Members.Update(json.Members.Select(a => a.GetFromCache <Member, IJsonMember>(Auth, overwrite)));
                properties.Add(nameof(Organization.Members));
            }
            if (json.Memberships != null)
            {
                Memberships.Update(json.Memberships.Select(a => a.TryGetFromCache <OrganizationMembership, IJsonOrganizationMembership>(overwrite) ??
                                                           new OrganizationMembership(a, Data.Id, Auth)));
                properties.Add(nameof(Organization.Memberships));
            }
            if (json.PowerUpData != null)
            {
                PowerUpData.Update(json.PowerUpData.Select(a => a.GetFromCache <PowerUpData, IJsonPowerUpData>(Auth, overwrite)));
                properties.Add(nameof(Organization.PowerUpData));
            }

            return(properties);
        }
示例#3
0
        protected override IEnumerable <string> MergeDependencies(IJsonCard json, bool overwrite)
        {
            var properties = BadgesContext.Merge(json.Badges, overwrite)
                             .Select(p => $"{nameof(Card.Badges)}.{p}")
                             .ToList();

            if (json.Actions != null)
            {
                Actions.Update(json.Actions.Select(a => a.GetFromCache <Action, IJsonAction>(Auth, overwrite)));
                properties.Add(nameof(Card.Actions));
            }
            if (json.Attachments != null)
            {
                Attachments.Update(json.Attachments.Select(a => a.TryGetFromCache <Attachment, IJsonAttachment>(overwrite) ?? new Attachment(a, Data.Id, Auth)));
                properties.Add(nameof(Card.Attachments));
            }
            if (json.CheckLists != null)
            {
                CheckLists.Update(json.CheckLists.Select(a => a.GetFromCache <CheckList, IJsonCheckList>(Auth, overwrite)));
                properties.Add(nameof(Card.CheckLists));
            }
            if (json.Comments != null)
            {
                Comments.Update(json.Comments.Select(a => a.GetFromCache <Action, IJsonAction>(Auth, overwrite)));
                properties.Add(nameof(Card.Comments));
            }
            if (json.CustomFields != null)
            {
                CustomFields.Update(json.CustomFields.Select(a => a.GetFromCache <CustomField, IJsonCustomField>(Auth, overwrite, Data.Id)));
                properties.Add(nameof(Card.CustomFields));
            }
            if (json.Labels != null)
            {
                Labels.Update(json.Labels.Select(a => a.GetFromCache <Label, IJsonLabel>(Auth, overwrite)));
                properties.Add(nameof(Card.Labels));
            }
            if (json.Members != null)
            {
                Members.Update(json.Members.Select(a => a.GetFromCache <Member, IJsonMember>(Auth, overwrite)));
                properties.Add(nameof(Card.Members));
            }
            if (json.PowerUpData != null)
            {
                PowerUpData.Update(json.PowerUpData.Select(a => a.GetFromCache <PowerUpData, IJsonPowerUpData>(Auth, overwrite)));
                properties.Add(nameof(Card.PowerUpData));
            }
            if (json.Stickers != null)
            {
                Stickers.Update(json.Stickers.Select(a => a.TryGetFromCache <Sticker, IJsonSticker>(overwrite) ?? new Sticker(a, Data.Id, Auth)));
                properties.Add(nameof(Card.Stickers));
            }
            if (json.MembersVoted != null)
            {
                VotingMembers.Update(json.MembersVoted.Select(a => a.GetFromCache <Member, IJsonMember>(Auth, overwrite)));
                properties.Add(nameof(Card.VotingMembers));
            }

            return(properties);
        }
示例#4
0
    public void ReceivePowerUp(PowerUpData powerUpData)
    {
        if (onPlayerReceivedPowerUp != null)
        {
            onPlayerReceivedPowerUp(powerUpData);
        }

        powerUpsManager.PowerUpWasPickedUp(powerUpData);
    }
 public void SetPowerUp(PowerUpData powerUp)
 {
     if (currentPowerUp != null)
     {
         currentPowerUp.OnFinish();
     }
     this.currentPowerUp = powerUp;
     powerUp.OnStart();
 }
示例#6
0
    private IEnumerator Player1PowerUpCo(PowerUpData powerUpData)
    {
        HasAnyPowerUp = true;
        powerUpType   = powerUpData.powerUpType;

        yield return(new WaitForSeconds(powerUpData.powerUpDuration));

        HasAnyPowerUp = false;
    }
        protected override IEnumerable <string> MergeDependencies(IJsonBoard json, bool overwrite)
        {
            var properties = BoardPreferencesContext.Merge(json.Prefs, overwrite)
                             .Select(p => $"{nameof(Board.Preferences)}.{p}")
                             .ToList();

            if (json.Actions != null)
            {
                Actions.Update(json.Actions.Select(a => a.GetFromCache <Action, IJsonAction>(Auth, overwrite)));
                properties.Add(nameof(Board.Actions));
            }
            if (json.Cards != null)
            {
                Cards.Update(json.Cards.Select(a => a.GetFromCache <Card, IJsonCard>(Auth, overwrite)));
                properties.Add(nameof(Board.Cards));
            }
            if (json.CustomFields != null)
            {
                CustomFields.Update(json.CustomFields.Select(a => a.GetFromCache <CustomFieldDefinition>(Auth)));
                properties.Add(nameof(Board.CustomFields));
            }
            if (json.Labels != null)
            {
                Labels.Update(json.Labels.Select(a => a.GetFromCache <Label, IJsonLabel>(Auth, overwrite)));
                properties.Add(nameof(Board.Labels));
            }
            if (json.Lists != null)
            {
                Lists.Update(json.Lists.Select(a => a.GetFromCache <List, IJsonList>(Auth, overwrite)));
                properties.Add(nameof(Board.Lists));
            }
            if (json.Members != null)
            {
                Members.Update(json.Members.Select(a => a.GetFromCache <Member, IJsonMember>(Auth, overwrite)));
                properties.Add(nameof(Board.Members));
            }
            if (json.Memberships != null)
            {
                Memberships.Update(json.Memberships.Select(a => a.TryGetFromCache <BoardMembership, IJsonBoardMembership>(overwrite) ??
                                                           new BoardMembership(a, Data.Id, Auth)));
                properties.Add(nameof(Board.Memberships));
            }
            if (json.PowerUps != null)
            {
                PowerUps.Update(json.PowerUps.Select(a => a.GetFromCache <IPowerUp>(Auth)));
                properties.Add(nameof(Board.PowerUps));
            }
            if (json.PowerUpData != null)
            {
                PowerUpData.Update(json.PowerUpData.Select(a => a.GetFromCache <PowerUpData, IJsonPowerUpData>(Auth, overwrite)));
                properties.Add(nameof(Board.PowerUpData));
            }

            return(properties);
        }
 public void Update()
 {
     if (currentPowerUp.type != 2)           // If not powerup null
     {
         this.totalDeltaTime += Time.deltaTime;
         if (this.totalDeltaTime > this.currentPowerUp.Duration)
         {
             this.currentPowerUp.OnFinish();
             this.currentPowerUp = PowerUpFactory.GetPowerUpNull();
             this.totalDeltaTime = 0;
         }
     }
 }
示例#9
0
    public void AddPowerUp(PowerUpData powerUp)
    {
        var pwUp = powerUps.Find(i => i.Id == powerUp.id);

        if (pwUp != null)
        {
            pwUp.StartOrAddCooldownTime();
        }
        else
        {
            Debug.LogError("No Power Up with id: " + powerUp.id);
        }
    }
    private void OnPlayerReceivedPowerUp(PowerUpData powerUpData)
    {
        if (powerUpData.playerID != playerID)
        {
            return;
        }

        powerUpTimer = powerUpData.powerUpDuration;

        powerUpIcon.sprite = powerUpData.powerUpIcon;

        powerUpIcon.gameObject.SetActive(true);

        playerHasPowerUp = true;
    }
    public void populatePowerUpUIElements()
    {
        int index = 0;

        foreach (PowerUp powerUp in powerUpChoices)
        {
            PowerUpData pud       = powerUpContainer.GetComponent <PowerUpContainer>().getPowerUpDataFromEnum(powerUp);
            GameObject  uiElement = powerUpUIElements[index];
            Text[]      children  = uiElement.GetComponentsInChildren <Text>();
            children[0].text = pud.title;
            children[1].text = pud.description;
            children[2].text = pud.unitType.ToString();
            index++;
        }
    }
        private void CollectPowerUp(GameObject powerUp)
        {
            if (!isServer)
            {
                return;
            }

            PowerUpsController powerUpAction = powerUp?.GetComponent <PowerUpsController>();
            PowerUpData        powerUpData   = powerUpAction?.powerUp;

            _collectedPowerUp = powerUpData;

            RpcUpdateLocalClientPowerUpDisplay(!powerUpData ? null : powerUpData.powerUpName);
            NetworkServer.Destroy(powerUp);
        }
示例#13
0
    public GameObject InstantiatePowerUp(PowerUpData powerUpData, Vector3 position, Quaternion rotation)
    {
        if (powerUpData.type == 2)           // power up null
        {
            return(null);
        }

        PowerUp powerUp = this.powerUps[powerUpData.type];

        GameObject powerUpObj = Instantiate(powerUp.gameObject, position, rotation) as GameObject;

        powerUpObj.transform.parent = GameObject.FindGameObjectWithTag("Room").transform;
        powerUpObj.GetComponent <PowerUp>().PowerUpData = powerUpData;

        return(powerUpObj);
    }
示例#14
0
    void Update()
    {
        if (!m_IsPlaying)
        {
            return;
        }

        for (int i = 0; i < m_Players.Count; ++i)
        {
            if (m_Players[i].isEliminated == false)
            {
                m_Players[i].CalculatePercentage();
            }
        }

        m_OrderedPlayers.RemoveAll((x) => x.isEliminated);
        m_OrderedPlayers.Sort((x, y) => (int)((y.percent * 100000f) - (x.percent * 100000f)));

        for (int i = 0; i < m_OrderedPlayers.Count; ++i)
        {
            m_OrderedPlayers[i].m_Rank = i;
        }

        if (onScoresCalculated != null)
        {
            onScoresCalculated.Invoke();
        }

        m_ProgressionView.UpdateView();

        if (Time.time - m_LastPowerUpTime > m_PowerUpRate)
        {
            m_PowerUpRate     = Random.Range(c_MinPowerUpRate, c_MaxPowerUpRate);
            m_LastPowerUpTime = Time.time;

            PowerUpData powerUpData = m_PowerUps[Random.Range(0, m_PowerUps.Count)];
            PopObjectRandomly(powerUpData.m_Prefab);
        }

        if (Time.time - m_LastBrushTime > c_BrushRate)
        {
            m_LastBrushTime = Time.time;
            PopObjectRandomly(m_BrushPowerUpPrefab.gameObject);
        }

        m_HumanSpotlight.position = m_HumanPlayerTr.position + m_SpotlightOffset;
    }
示例#15
0
    public PowerUpData GetRandomPowerUp()
    {
        int         num         = Random.Range(0, 100);
        PowerUpData powerUpData = GetPowerUpNull();

        if (num <= 10)
        {
            powerUpData = GetPowerUpAttack();
        }
        else if (num <= 20)
        {
            powerUpData = GetPowerUpSpeed();
        }
        else if (num <= 25)
        {
            powerUpData = GetPowerUpLife();
        }

        return(powerUpData);
    }
    void SpawnPowerUp()
    {
        float rnd = UnityEngine.Random.value;

        switch (invaderType)
        {
        case InvaderType.Basic:
            GameManager.Instance.AddScore(10);

            PowerUpData pwData = GameManager.Instance.powerUpDatas[0];
            if (rnd <= pwData.spawnChance)
            {
                GameObject pwUp = Instantiate(InvaderManager.Instance.powerUpPrefab, transform.position, Quaternion.identity);
                pwUp.GetComponent <PowerUpBehaviour>().Init(pwData);
            }
            break;

        case InvaderType.Strong:
            GameManager.Instance.AddScore(20);

            pwData = GameManager.Instance.powerUpDatas[1];
            if (rnd <= pwData.spawnChance)
            {
                GameObject pwUp = Instantiate(InvaderManager.Instance.powerUpPrefab, transform.position, Quaternion.identity);
                pwUp.GetComponent <PowerUpBehaviour>().Init(pwData);
            }
            break;

        case InvaderType.Alpha:
            GameManager.Instance.AddScore(50);

            pwData = GameManager.Instance.powerUpDatas[2];
            if (rnd <= pwData.spawnChance)
            {
                GameObject pwUp = Instantiate(InvaderManager.Instance.powerUpPrefab, transform.position, Quaternion.identity);
                pwUp.GetComponent <PowerUpBehaviour>().Init(pwData);
            }
            break;
        }
    }
示例#17
0
    public BulletType Use()
    {
        if (Powerups.Count > 0 && ActivePowerup == null)
        {
            ActivePowerup = Powerups.Dequeue();
        }

        if (ActivePowerup == null)
        {
            return(BulletType.Normal);
        }

        var powerup = ActivePowerup;

        powerup.NumberOfShoots--;
        if (powerup.NumberOfShoots == 0)
        {
            ActivePowerup = null;
        }
        GameManager.Instance.AmmoCount(this);
        return(powerup.Type);
    }
示例#18
0
    private void OnTriggerStay2D(Collider2D col)
    {
        var player = col.GetComponent <Player>();

        if (player == null)
        {
            return;
        }

        if (player.PowerUpsManager.HasAnyPowerUp)
        {
            return;
        }

        var powerUpData = new PowerUpData(player.PlayerID, powerUpType, powerUpIcon, powerUpDuration);

        player.ReceivePowerUp(powerUpData);

        PopUpManager.Instance.PowerUpPickedUp(player, playerCanvasIconPrefab);

        GameManager.Instance.PowerUpWasPickedUp();

        Destroy(gameObject);
    }
 internal void Init(PowerUpData powerUpData)
 {
     this.powerUpData = powerUpData;
     GetComponent <SpriteRenderer>().sprite = powerUpData.sprite;
 }
示例#20
0
    public void PowerUpWasPickedUp(PowerUpData powerUpData)
    {
        SoundManager.PlaySound(Sound.PowerUp);

        StartCoroutine(Player1PowerUpCo(powerUpData));
    }
示例#21
0
 protected override void Awake()
 {
     base.Awake();
     data = Instantiate(data);
 }