Example #1
0
 private function makeWeaponsListWeaponsAndTypes()
 {
     $ret = [];
     $types = WeaponType::find()->orderBy('[[id]] ASC')->all();
     foreach ($types as $type) {
         $typeName = Yii::t('app-weapon', $type->name);
         $tmp = [];
         $weapons = Weapon::find()->andWhere(['type_id' => $type->id])->all();
         foreach ($weapons as $weapon) {
             $tmp[$weapon->key] = Yii::t('app-weapon', $weapon->name);
         }
         asort($tmp);
         if (count($tmp) > 1) {
             $ret[$typeName] = array_merge(['@' . $type->key => Yii::t('app-weapon', 'All of {0}', $typeName)], $tmp);
         } else {
             $ret[$typeName] = $tmp;
         }
     }
     return array_merge(['' => Yii::t('app-weapon', 'Any Weapon')], $ret);
 }
 private function makeWeaponsListWeaponsAndTypes(User $user)
 {
     $userUsedWeapons = $this->getUsedWeaponIdList($user);
     $ret = [];
     $types = WeaponType::find()->orderBy('[[id]] ASC')->all();
     foreach ($types as $type) {
         $typeName = Yii::t('app-weapon', $type->name);
         $tmp = [];
         $weapons = Weapon::find()->andWhere(['{{weapon}}.[[type_id]]' => $type->id])->andWhere(['in', '{{weapon}}.[[id]]', $userUsedWeapons])->all();
         foreach ($weapons as $weapon) {
             $tmp[$weapon->key] = Yii::t('app-weapon', $weapon->name);
         }
         asort($tmp);
         if (count($tmp) > 1) {
             $ret[$typeName] = array_merge(['@' . $type->key => Yii::t('app-weapon', 'All of {0}', $typeName)], $tmp);
         } elseif (count($tmp) === 1) {
             $ret[$typeName] = $tmp;
         }
     }
     return array_merge(['' => Yii::t('app-weapon', 'Any Weapon')], $ret);
 }
Example #3
0
 public function getWeapons()
 {
     $ret = ['' => Yii::t('app-weapon', 'Any Weapon')];
     foreach (WeaponType::find()->orderBy('id ASC')->all() as $type) {
         $ret['@' . $type->key] = Yii::t('app-weapon', $type->name);
     }
     return $ret;
 }
Example #4
0
 private function makeWeapons()
 {
     $ret = [];
     $types = WeaponType::find()->orderBy('[[id]] ASC')->all();
     foreach ($types as $type) {
         $typeName = Yii::t('app-weapon', $type->name);
         $tmp = [];
         $weapons = Weapon::find()->andWhere(['type_id' => $type->id])->all();
         foreach ($weapons as $weapon) {
             $tmp[$weapon->id] = Yii::t('app-weapon', $weapon->name);
         }
         asort($tmp);
         $ret[$typeName] = $tmp;
     }
     return static::arrayMerge(['' => Yii::t('app', 'Unknown')], $ret);
 }