private void OnLevelizeButtonPressed(int level) { if (this.SourceSelectionSetName.IsEmpty <char>()) { MessageManager.DisplayMessage("ApplyToSelectionSet is empty!"); } else if (this.TargetSelectionSetName.IsEmpty <char>()) { MessageManager.DisplayMessage("NewSelectionSetName is empty!"); } else { int num1 = 0; int num2 = 0; int num3 = 0; int num4 = 0; GameEntity.UpgradeLevelMask levelMask = this.GetLevelMask(level); List <GameEntity> gameEntityList = this.CollectEntitiesWithLevel(); List <GameEntity> gameEntities = new List <GameEntity>(); foreach (GameEntity gameEntity in gameEntityList) { string possiblePrefabName = this.FindPossiblePrefabName(gameEntity); if (possiblePrefabName.IsEmpty <char>()) { ++num1; } else { GameEntity.UpgradeLevelMask upgradeLevelMask = gameEntity.GetUpgradeLevelMask(); if ((upgradeLevelMask & levelMask) != GameEntity.UpgradeLevelMask.None) { ++num2; gameEntities.Add(gameEntity); } else { GameEntity entity = GameEntity.Instantiate(this.Scene, this.ConvertPrefabName(possiblePrefabName, levelMask), gameEntity.GetGlobalFrame()); if ((NativeObject)entity == (NativeObject)null) { ++num3; } else { ++num4; GameEntity.UpgradeLevelMask mask = upgradeLevelMask & ~GameEntity.UpgradeLevelMask.Level1 & ~GameEntity.UpgradeLevelMask.Level2 & ~GameEntity.UpgradeLevelMask.Level3 | levelMask; entity.SetUpgradeLevelMask(mask); this.CopyScriptParameters(entity, gameEntity); gameEntities.Add(entity); } } } } Debug.Print("Created Entities : " + (object)num4 + "\nAlready Visible In Desired Level : " + (object)num2 + "\nWithout Prefab For Level : " + (object)num3 + "\nWithout Prefab Info : " + (object)num1, color: Debug.DebugColor.Magenta); Utilities.CreateSelectionInEditor(gameEntities, this.TargetSelectionSetName); } }
private string GetLevelSubString(GameEntity.UpgradeLevelMask levelMask) { switch (levelMask) { case GameEntity.UpgradeLevelMask.Level1: return("_l1"); case GameEntity.UpgradeLevelMask.Level2: return("_l2"); case GameEntity.UpgradeLevelMask.Level3: return("_l3"); default: return(""); } }
private string ConvertPrefabName(string prefabName, GameEntity.UpgradeLevelMask newLevelMask) { string str = prefabName; string levelSubString = this.GetLevelSubString(newLevelMask); if (newLevelMask != GameEntity.UpgradeLevelMask.Level1) { str = str.Replace(this.GetLevelSubString(GameEntity.UpgradeLevelMask.Level1), levelSubString); } if (newLevelMask != GameEntity.UpgradeLevelMask.Level2) { str = str.Replace(this.GetLevelSubString(GameEntity.UpgradeLevelMask.Level2), levelSubString); } if (newLevelMask != GameEntity.UpgradeLevelMask.Level3) { str = str.Replace(this.GetLevelSubString(GameEntity.UpgradeLevelMask.Level3), levelSubString); } return(str.Equals(prefabName) ? "" : str); }
private void OnDeleteButtonPressed(int level) { if (this.SourceSelectionSetName.IsEmpty <char>()) { MessageManager.DisplayMessage("ApplyToSelectionSet is empty!"); } else { List <GameEntity> gameEntityList = this.CollectEntitiesWithLevel(); GameEntity.UpgradeLevelMask levelMask = this.GetLevelMask(level); List <GameEntity> gameEntities = new List <GameEntity>(); int variable1 = 0; int variable2 = 0; foreach (GameEntity gameEntity in gameEntityList) { GameEntity.UpgradeLevelMask upgradeLevelMask = gameEntity.GetUpgradeLevelMask(); if (upgradeLevelMask == levelMask) { gameEntities.Add(gameEntity); ++variable1; } else if ((upgradeLevelMask & levelMask) != GameEntity.UpgradeLevelMask.None) { gameEntity.SetUpgradeLevelMask(upgradeLevelMask & ~levelMask); ++variable2; } } Utilities.DeleteEntitiesInEditorScene(gameEntities); TextObject textObject1 = new TextObject("{=!}Deleted entity count : {DELETED_ENTRY_COUNT}"); TextObject textObject2 = new TextObject("{=!}Removed level mask count : {REMOVED_LEVEL_MASK}"); textObject1.SetTextVariable("DELETED_ENTRY_COUNT", variable1); textObject2.SetTextVariable("REMOVED_LEVEL_MASK", variable2); MessageManager.DisplayMessage(textObject1.ToString()); MessageManager.DisplayMessage(textObject2.ToString()); } }