private void BuildWeapon(Entity tank, ThunderNode weaponNode) { Entity entity = weaponNode.Entity; entity.AddComponent <CooldownTimerComponent>(); entity.AddComponent <DiscreteWeaponControllerComponent>(); entity.AddComponent <WeaponShotComponent>(); entity.AddComponent <VerticalSectorsTargetingComponent>(); entity.AddComponent <DirectionEvaluatorComponent>(); entity.AddComponent <DistanceAndAngleTargetEvaluatorComponent>(); entity.AddComponent(new TargetCollectorComponent(new TargetCollector(tank), new TargetValidator(tank))); }
public void BuildBot(NodeAddedEvent evt, AutopilotTankNode botTank, [Context, JoinByUser] ThunderNode weaponNode, [Context, JoinByUser] SingleNode <UserComponent> userNode) { this.BuildWeapon(botTank.Entity, weaponNode); }
public void BuildSelf(NodeAddedEvent evt, SelfTankNode selfTank, [Context, JoinByUser] ThunderNode weaponNode, [JoinByUser] SingleNode <UserComponent> userNode) { this.BuildWeapon(selfTank.Entity, weaponNode); }
public void AddTeamEvaluator(NodeAddedEvent evt, ThunderNode weaponNode, [JoinByBattle] SingleNode <TeamBattleComponent> battle) { weaponNode.Entity.AddComponent <TeamTargetEvaluatorComponent>(); }