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(); }
private void frmEventChange_Load(object sender, EventArgs e) { simpleButton1.Left = (this.ClientSize.Width / 2) - (simpleButton1.Width / 2); if (gameObjectEvent == null) { gameObjectEvent = new GameObjectEvents(); } }
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); }
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 !"); } }
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); } } } }