public void IterateOverBlocksInContainer(IEnumerable<Vector3> container, BlockModifier modifier, object[] parameters) { foreach (Vector3 coordinate in container) { if (!mBlocks.ContainsKey(coordinate)) { continue; } modifier(mBlocks[coordinate], new Vector3(), 0, parameters); } }
public bool loadSkills() { if (SaveLoad.Load()) { SkillTree tree = GameSave.current.skilltree; Skill[] skills = tree.skills; if (skills[0] != null) { attackModifier = new AttackModifier(skills[0].skillType); } else { attackModifier = new AttackModifier(3); } if (skills[1] != null) { chargedAttackModifier = new ChargedAttackModifier(skills[1].skillType); } else { chargedAttackModifier = new ChargedAttackModifier(103); } if (skills[2] != null) { dodgeModifier = new DodgeModifier(skills[2].skillType); } else { dodgeModifier = new DodgeModifier(150); } if (skills[3] != null) { blockModifier = new BlockModifier(skills[3].skillType); } else { blockModifier = new BlockModifier(200); } activeSkills = new ArrayList(); if (skills[4] != null) { activeSkills.Add(new ActiveModifier(skills[4].skillType)); } if (skills[6] != null) { activeSkills.Add(new ActiveModifier(skills[6].skillType)); } return(true); } return(false); }
public MainCharacter() : base() { actionCds[2] = 3f; actionCds[3] = 1.5f; actionCds[4] = 5f; actionCds[5] = 5f; status.regularMoveSpeed = 40f; if(!loadSkills()) { attackModifier = new AttackModifier(3); dodgeModifier = new DodgeModifier(150); chargedAttackModifier = new ChargedAttackModifier(103); blockModifier = new BlockModifier(200); activeSkills = new ArrayList(); //activeSkills.Add(new ActiveModifier(251)); //activeSkills.Add(new ActiveModifier(258)); } div = MainCharacterDiv.Division; }
public bool loadSkills() { if(SaveLoad.Load()) { SkillTree tree = GameSave.current.skilltree; Skill[] skills = tree.skills; if(skills[0]!=null)attackModifier = new AttackModifier(skills[0].skillType); else attackModifier = new AttackModifier(3); if(skills[1]!=null)chargedAttackModifier = new ChargedAttackModifier(skills[1].skillType); else chargedAttackModifier = new ChargedAttackModifier(103); if(skills[2]!=null)dodgeModifier = new DodgeModifier(skills[2].skillType); else dodgeModifier = new DodgeModifier(150); if(skills[3]!=null)blockModifier = new BlockModifier(skills[3].skillType); else blockModifier = new BlockModifier(200); activeSkills = new ArrayList(); if(skills[4]!=null)activeSkills.Add(new ActiveModifier(skills[4].skillType)); if(skills[6]!=null)activeSkills.Add(new ActiveModifier(skills[6].skillType)); return true; } return false; }
public MainCharacter() : base() { actionCds[2] = 3f; actionCds[3] = 1.5f; actionCds[4] = 5f; actionCds[5] = 5f; status.regularMoveSpeed = 40f; if (!loadSkills()) { attackModifier = new AttackModifier(3); dodgeModifier = new DodgeModifier(150); chargedAttackModifier = new ChargedAttackModifier(103); blockModifier = new BlockModifier(200); activeSkills = new ArrayList(); //activeSkills.Add(new ActiveModifier(251)); //activeSkills.Add(new ActiveModifier(258)); } div = MainCharacterDiv.Division; }
private string FormatLine(BlockModifier m, string input) { input = m.ModifyLine(input); return(m.Conclude(input)); }
public static ContainerFile Create(string fileName, long maximumSizeInBytes, uint maximumFiles) { if (maximumSizeInBytes <= 0) { throw new InvalidDiskSizeException("maximum size must be larger than 0"); } if (maximumFiles <= 0) { throw new InvalidFileCountException("maximum amount of files must be larger than 0"); } uint totalBlocks = Block.BlocksNeeded(maximumSizeInBytes); uint indexNodesBlocks = maximumFiles / IndexNode.INDEX_NODES_PER_BLOCK + 1; if (indexNodesBlocks >= totalBlocks) { throw new InvalidFileCountException(string.Format("cannot manage up to {0} files with a maximum disk space of {1} bytes", maximumFiles, maximumSizeInBytes)); } if (File.Exists(fileName)) { File.Delete(fileName); } var freeBlocksStack = new Stack<uint>(); freeBlocksStack.Push(0); var superBlock = new SuperBlock { BlockIndex = SuperBlock.SUPER_BLOCK_LOCATION, TotalBlocks = totalBlocks, FreeBlocks = totalBlocks - 1 - indexNodesBlocks, HighestDataBlock = 1 + indexNodesBlocks, TotalInodes = indexNodesBlocks * (Block.SIZE / IndexNode.SIZE), FreeIndexNodes = indexNodesBlocks * (Block.SIZE / IndexNode.SIZE), IndexNodesBlocks = indexNodesBlocks, FreeIndexNodesQueueMaxSize = ((Block.SIZE - SuperBlock.STATIC_SIZE) / 4) / 4, FreeIndexNodesQueue = new Queue<uint>(), FreeBlockStackMaxSize = ((Block.SIZE - SuperBlock.STATIC_SIZE) / 4) / 4 * 3, FreeBlockStack = freeBlocksStack }; var blockModifier = new BlockModifier(fileName); blockModifier.WriteBlock(superBlock); return new ContainerFile(fileName); }
public void IterateOverBlocksInContainerInRadius(IEnumerable<Vector3> container, Vector3 position, float radius, BlockModifier modifier, object[] parameters) { Vector3 offset = new Vector3(radius, 0, radius); Vector3 minCoordinate = CoordinateFromPosition(position - offset); Vector3 maxCoordinate = CoordinateFromPosition(position + offset); for (int z = (int)minCoordinate.Z; z <= (int)maxCoordinate.Z; z++) { for (int x = (int)minCoordinate.X; x <= (int)maxCoordinate.X; x++) { Vector3 coordinate = new Vector3(x, minCoordinate.Y, z); if (container == null || container.Contains(coordinate)) { LevelBlock block; if (mBlocks.TryGetValue(coordinate, out block)) { modifier(block, (position - coordinate * BLOCK_SIZE) / BLOCK_SIZE, radius / BLOCK_SIZE, parameters); } } } } }
public void ModifySingleBlock(Vector3 coordinate, BlockModifier modifier, object[] parameters) { LevelBlock block; if (mBlocks.TryGetValue(coordinate, out block)) { modifier(block, new Vector3(), 0, parameters); } }
public void IterateOverEveryBlock(BlockModifier modifier, object[] parameters) { foreach (LevelBlock block in mBlocks.Values) { modifier(block, new Vector3(), 0, parameters); } }
public void IterateOverBlocksInRadius(Vector3 position, float radius, BlockModifier modifier, object[] parameters) { IterateOverBlocksInContainerInRadius(null, position, radius, modifier, parameters); }