private static void FixBlockUnlockTable() { //For now, all custom blocks are level 1 BlockUnlockTable.CorpBlockData[] blockList = ManLicenses.inst.GetBlockUnlockTable().m_CorpBlockList; foreach (CustomBlock block in CustomBlocks.Values) { BlockUnlockTable.CorpBlockData corpData = blockList[(int)block.Faction]; BlockUnlockTable.UnlockData[] unlocked = corpData.m_GradeList[0].m_BlockList; //TODO: Only resize once Array.Resize(ref unlocked, unlocked.Length + 1); unlocked[unlocked.Length - 1] = new BlockUnlockTable.UnlockData { m_BlockType = (BlockTypes)block.BlockID, m_BasicBlock = true, m_DontRewardOnLevelUp = true, }; corpData.m_GradeList[0].m_BlockList = unlocked; } }
internal static void FixBlockUnlockTable(CustomBlock block) { BlockUnlockTable blockList = ManLicenses.inst.GetBlockUnlockTable(); BlockUnlockTable.CorpBlockData corpData = blockList.GetCorpBlockData((int)block.Faction); BlockUnlockTable.UnlockData[] unlocked = corpData.m_GradeList[block.Grade].m_BlockList; Array.Resize(ref unlocked, unlocked.Length + 1); unlocked[unlocked.Length - 1] = new BlockUnlockTable.UnlockData { m_BlockType = (BlockTypes)block.RuntimeID, m_BasicBlock = true, m_DontRewardOnLevelUp = true, //m_HideOnLevelUpScreen = true // Could parameterize }; corpData.m_GradeList[block.Grade].m_BlockList = unlocked; (BlockLoader.m_CorpBlockLevelLookup.GetValue(blockList) as Dictionary <int, Dictionary <BlockTypes, int> >)[(int)block.Faction].Add((BlockTypes)block.RuntimeID, block.Grade); ManLicenses.inst.DiscoverBlock((BlockTypes)block.RuntimeID); }