public bool Matches(CombatActionDefinition actionDefinition) { bool result = false; if (actionDefinition != null && buffer.Length >= actionDefinition.Count) { result = true; int helpIndex = buffer.Length - 1; for (int a = actionDefinition.Count - 1; a >= 0; a--) { List <BurinkeruInputManager.InputCommand> commands = actionDefinition.Get(a); for (int c = 0; c < commands.Count; c++) { if (!buffer [helpIndex] [(int)commands [c]]) { result = false; break; } } if (!result) { break; } helpIndex--; } } return(result); }
protected override void initActionsDefinitions() { CombatActionDefinition shoot = new CombatActionDefinition(); shoot.Add(BurinkeruInputManager.InputCommand.ATTACK); actionDefinitions.Add(new KeyValuePair <int, CombatActionDefinition>((int)WeaponActionType.SHOOT, shoot)); CombatActionDefinition reload = new CombatActionDefinition(); reload.Add(BurinkeruInputManager.InputCommand.RELOAD); actionDefinitions.Add(new KeyValuePair <int, CombatActionDefinition>((int)WeaponActionType.RELOAD, reload)); }
protected override void initActionsDefinitions() { CombatActionDefinition stab = new CombatActionDefinition(); stab.Add(BurinkeruInputManager.InputCommand.RUN); stab.Add(BurinkeruInputManager.InputCommand.ATTACK); actionDefinitions.Add(new KeyValuePair <int, CombatActionDefinition> ((int)WeaponActionType.STAB, stab)); CombatActionDefinition downwardSmash = new CombatActionDefinition(); downwardSmash.Add(BurinkeruInputManager.InputCommand.CROUCH); downwardSmash.Add(BurinkeruInputManager.InputCommand.ATTACK); actionDefinitions.Add(new KeyValuePair <int, CombatActionDefinition> ((int)WeaponActionType.DOWNWARD_SMASH, downwardSmash)); CombatActionDefinition uppercut = new CombatActionDefinition(); uppercut.Add(BurinkeruInputManager.InputCommand.BACKWARD); uppercut.Add(BurinkeruInputManager.InputCommand.ATTACK); actionDefinitions.Add(new KeyValuePair <int, CombatActionDefinition> ((int)WeaponActionType.UPPERCUT, uppercut)); CombatActionDefinition uppercut2 = new CombatActionDefinition(); uppercut2.Add(BurinkeruInputManager.InputCommand.BACKWARD, BurinkeruInputManager.InputCommand.ATTACK); actionDefinitions.Add(new KeyValuePair <int, CombatActionDefinition> ((int)WeaponActionType.UPPERCUT, uppercut2)); CombatActionDefinition uppercut3 = new CombatActionDefinition(); uppercut3.Add(BurinkeruInputManager.InputCommand.BACKWARD); uppercut3.Add(BurinkeruInputManager.InputCommand.JUMP); uppercut3.Add(BurinkeruInputManager.InputCommand.ATTACK); actionDefinitions.Add(new KeyValuePair <int, CombatActionDefinition> ((int)WeaponActionType.UPPERCUT, uppercut3)); CombatActionDefinition simpleAttact = new CombatActionDefinition(); simpleAttact.Add(BurinkeruInputManager.InputCommand.ATTACK); actionDefinitions.Add(new KeyValuePair <int, CombatActionDefinition> ((int)WeaponActionType.SLASH, simpleAttact)); }