Exemplo n.º 1
0
        public void AddEvent(GameObjectEvents gameObjectEvent)
        {
            var dt = CheckEventDataTable();

            DataRow dr = dt.NewRow();

            dr["Event"] = gameObjectEvent;

            string description;
            string eventName = gameObjectEvent.EventType.ToString("G").ToLower();

            if (eventName.Contains("mouse") || eventName.Contains("key"))
            {
                if (gameObjectEvent.EventType == BaseObjects.BaseGameObjectEventType.Mouse)
                {
                    description = (gameObjectEvent.EventArguments as MouseArgument).MouseCode.ToString("G").Replace("_", " ");
                }
                else
                {
                    description = gameObjectEvent.EventType.ToString("G") + " - " + (gameObjectEvent.EventArguments as KeyboardArgument).KeyCode.ToString("G");
                }
            }
            else
            {
                description = gameObjectEvent.EventType.ToString("G");
            }

            dr["Description"] = description;

            dt.Rows.Add(dr);

            dt.AcceptChanges();
        }
Exemplo n.º 2
0
 private void frmEventChange_Load(object sender, EventArgs e)
 {
     simpleButton1.Left = (this.ClientSize.Width / 2) - (simpleButton1.Width / 2);
     if (gameObjectEvent == null)
     {
         gameObjectEvent = new GameObjectEvents();
     }
 }
Exemplo n.º 3
0
    private void RepositionIcons(PartData data, float xPos)
    {
        for (int i = 0; i < this.PartTierCount - 1; i++)
        {
            for (int j = 0; j < data.RowWidth(); j++)
            {
                int index = j;
                BasePart.PartTier tier          = (BasePart.PartTier)i;
                Vector3           localPosition = new Vector3(xPos + (float)index * this.horizontalPadding, (float)(this.PartTierCount / 2) - (float)i * this.verticalPadding + this.verticalPadding);
                localPosition.y += ((i != 0) ? 0f : this.firstRowPadding);
                if (!this.columns.Contains(localPosition.x))
                {
                    this.columns.Add(localPosition.x);
                }
                if (tier == BasePart.PartTier.Epic && index >= data.PartCount(tier))
                {
                    index -= data.PartCount(tier);
                    tier   = BasePart.PartTier.Legendary;
                }
                if (data.partInstances.ContainsKey(tier) && index < data.partInstances[tier].Count)
                {
                    data.partInstances[tier][index].transform.localPosition = localPosition;
                    if (CustomizationManager.IsPartNew(data.parts[tier][index]))
                    {
                        PartData   data_ = data;
                        GameObject gameObject;
                        if (this.AddNewContentTag(data.partInstances[tier][index], out gameObject))
                        {
                            GameObjectEvents gameObjectEvents  = gameObject.AddComponent <GameObjectEvents>();
                            GameObjectEvents gameObjectEvents2 = gameObjectEvents;
                            gameObjectEvents2.OnVisible = (Action <bool>) Delegate.Combine(gameObjectEvents2.OnVisible, new Action <bool>(delegate(bool visible)
                            {
                                if (visible)
                                {
                                    CustomizationManager.SetPartNew(data_.parts[tier][index], false);
                                }
                            }));
                            this.newButtons.Add(gameObject);
                        }
                    }
                }
            }
        }
        int lastUsedPartIndex = CustomizationManager.GetLastUsedPartIndex(data.PartType);

        data.UpdateSelectionIcon(this.gameData.GetCustomPart(data.PartType, lastUsedPartIndex).name);
    }
Exemplo n.º 4
0
    void SpawnRandomPrefab()
    {
        Vector3 position;
        int     tryCountLeft  = 25;
        float   emptyDistance = 0.3f;
        bool    isValidPosition;

        do
        {
            isValidPosition = true;
            position.x      = Random.Range(m_topLeftSpawnLimitTransform.position.x, m_bottomRightSpawnLimitTransform.position.x);
            position.y      = Random.Range(m_topLeftSpawnLimitTransform.position.y, m_bottomRightSpawnLimitTransform.position.y);
            position.z      = -1;

            isValidPosition = isValidPosition && !Physics2D.Raycast(position, Vector2.up, emptyDistance);
            isValidPosition = isValidPosition && !Physics2D.Raycast(position, Vector2.right, emptyDistance);
            isValidPosition = isValidPosition && !Physics2D.Raycast(position, Vector2.down, emptyDistance);
            isValidPosition = isValidPosition && !Physics2D.Raycast(position, Vector2.left, emptyDistance);
            isValidPosition = isValidPosition && !Physics2D.Raycast(position, Vector2.up + Vector2.right, emptyDistance);
            isValidPosition = isValidPosition && !Physics2D.Raycast(position, Vector2.right + Vector2.down, emptyDistance);
            isValidPosition = isValidPosition && !Physics2D.Raycast(position, Vector2.down + Vector2.left, emptyDistance);
            isValidPosition = isValidPosition && !Physics2D.Raycast(position, Vector2.left + Vector2.up, emptyDistance);
        } while(!isValidPosition && tryCountLeft-- > 0);

        if (isValidPosition)
        {
            GameObject newGO = Instantiate(GetRandomPrefab(), position, Quaternion.identity, transform);
            if (m_averageLifeTime > 0)
            {
                Destroy(newGO, Random.Range(m_averageLifeTime * m_randomRange, m_averageLifeTime * (1 + m_randomRange)));
            }
            GameObjectEvents events = newGO.AddComponent <GameObjectEvents>();
            events.OnDestroyEvent.AddListener(GameObjectDestroyed);
            NetworkServer.Spawn(newGO);
            m_spawnCount--;
            m_nextSpawnDelay = m_spawnIntervalTime;
        }
        else
        {
            m_nextSpawnDelay = Mathf.Min(0.1f, m_spawnIntervalTime);
            Debug.Log("Invalid position !");
        }
    }
Exemplo n.º 5
0
 private void CreatePartIcons(PartData data, float xPos, Transform parent, List <GameObject> newButtons)
 {
     for (int i = 0; i < this.PartTierCount - 1; i++)
     {
         for (int j = 0; j < data.RowWidth(); j++)
         {
             int     index         = j;
             Vector3 localPosition = new Vector3(xPos + (float)index * this.horizontalPadding, (float)(this.PartTierCount / 2) - (float)i * this.verticalPadding + this.verticalPadding);
             localPosition.y += ((i != 0) ? 0f : this.firstRowPadding);
             BasePart.PartTier tier = (BasePart.PartTier)i;
             bool flag;
             if (tier == BasePart.PartTier.Epic)
             {
                 flag = (index < data.PartCount(tier) || data.PartCount(BasePart.PartTier.Legendary) > 0);
                 if (index >= data.PartCount(tier))
                 {
                     index -= data.PartCount(tier);
                     tier   = BasePart.PartTier.Legendary;
                 }
             }
             else
             {
                 flag = (index < data.PartCount(tier));
             }
             if (!this.columns.Contains(localPosition.x))
             {
                 this.columns.Add(localPosition.x);
             }
             if (flag)
             {
                 GameObject bg = UnityEngine.Object.Instantiate <GameObject>(this.GetIconBackground(tier));
                 bg.transform.parent        = parent;
                 bg.transform.localPosition = localPosition;
                 Sprite     icon2 = data.GetIcon(tier, index);
                 GameObject icon  = null;
                 if (icon2 != null)
                 {
                     icon = UnityEngine.Object.Instantiate <GameObject>(icon2.gameObject);
                     icon.transform.parent        = bg.transform;
                     icon.transform.localPosition = new Vector3(0f, 0f, -0.1f);
                     icon.transform.localScale    = Vector3.one * this.iconScale;
                 }
                 if (tier != BasePart.PartTier.Regular)
                 {
                     this.ToGray(bg, !CustomizationManager.IsPartUnlocked(data.parts[tier][index]));
                 }
                 if (this.IsKingsFavorite(data.parts[tier][index]))
                 {
                     GameObject gameObject;
                     this.AddKingsFavoriteTag(bg, out gameObject);
                 }
                 GameObject item;
                 if (CustomizationManager.IsPartNew(data.parts[tier][index]) && this.AddNewContentTag(bg, out item))
                 {
                     newButtons.Add(item);
                 }
                 data.AddPartRoot(tier, bg);
                 Button           button            = bg.GetComponentInChildren <Button>();
                 GameObjectEvents gameObjectEvents  = bg.AddComponent <GameObjectEvents>();
                 GameObjectEvents gameObjectEvents2 = gameObjectEvents;
                 gameObjectEvents2.OnEnabled = (Action <bool>) Delegate.Combine(gameObjectEvents2.OnEnabled, new Action <bool>(delegate(bool enabled)
                 {
                     if (enabled)
                     {
                         if (this.IsKingsFavorite(data.parts[tier][index]))
                         {
                             GameObject gameObject2;
                             this.AddKingsFavoriteTag(bg, out gameObject2);
                         }
                         else
                         {
                             this.ClearKingsFavoriteTag(bg);
                         }
                         if (tier != BasePart.PartTier.Regular)
                         {
                             bool flag2 = CustomizationManager.IsPartUnlocked(data.parts[tier][index]);
                             this.ToGray(bg, !flag2);
                             Collider component = bg.GetComponent <Collider>();
                             component.enabled  = flag2;
                             button.enabled     = flag2;
                             if (tier == BasePart.PartTier.Legendary)
                             {
                                 if (icon)
                                 {
                                     icon.SetActive(flag2);
                                 }
                                 bg.transform.Find("QuestionMark").gameObject.SetActive(!flag2);
                             }
                             int lastUsedPartIndex = CustomizationManager.GetLastUsedPartIndex(data.PartType);
                             data.UpdateSelectionIcon(this.gameData.GetCustomPart(data.PartType, lastUsedPartIndex).name);
                             if (CustomizationManager.IsPartNew(data.parts[tier][index]))
                             {
                                 GameObject item2;
                                 if (this.AddNewContentTag(bg, out item2))
                                 {
                                     newButtons.Add(item2);
                                 }
                             }
                             else
                             {
                                 this.ClearNewTags(bg);
                             }
                         }
                     }
                 }));
                 GameObjectEvents gameObjectEvents3 = gameObjectEvents;
                 gameObjectEvents3.OnVisible = (Action <bool>) Delegate.Combine(gameObjectEvents3.OnVisible, new Action <bool>(delegate(bool visible)
                 {
                     button.enabled = visible;
                 }));
                 this.SetSortingLayer(bg, this.sortingLayer);
             }
         }
     }
 }