Esempio n. 1
0
 /**
  * Swap the position of 2 items.
  * @author digitalseraphim
  * @param string $item1
  * @param string $item2
  * @return int
  */
 public function swapInvItems($item1, $item2)
 {
     $items1 = array_reverse($this->getInvItems($item1));
     $items2 = array_reverse($this->getInvItems($item2));
     if (count($items1) == 0) {
         return -1;
     }
     if (count($items2) == 0) {
         return -2;
     }
     if ($items1[0]->getName() == $items2[0]->getName()) {
         return -3;
     }
     $this->sr4_inventory = GWF_Array::swapAssoc($this->sr4_inventory, $items1[0]->getID(), $items2[0]->getID());
     $temp = $items1[0]->getMicrotime();
     # Look ma, without temp!
     if ($temp == $items2[0]->getMicrotime()) {
         $temp += 0.001;
         // 1ms
     }
     $items1[0]->saveMicrotime($items2[0]->getMicrotime());
     $items2[0]->saveMicrotime($temp);
     // 		$beforeFirst = array();
     // 		$firstKey = -1;
     // 		$firstVal = null;
     // 		$beforeSecond = array();
     // 		$secondKey = -1;
     // 		$toMove = array();
     // 		$newinv = array();
     // 		$currentAdd =& $beforeFirst;
     // 		foreach($this->sr4_inventory as $key=>$value){
     // 			$vName = $value->getName();
     // 			if($vName == $items1[0]->getName() || $vName == $items2[0]->getName()){
     // 				if($firstKey == -1){
     // 					$firstKey = $key;
     // 					$firstVal = $value;
     // 					$currentAdd =& $beforeSecond;
     // 				}elseif($secondKey == -1 && $vName != $firstVal->getName()){
     // 					$secondKey = $key;
     // 					foreach($beforeFirst as $k => $v){
     // 						$newinv[$k] = $v;
     // 					}
     // 					$newinv[$key] = $value;
     // 					foreach($beforeSecond as $k => $v){
     // 						$newinv[$k] = $v;
     // 					}
     // 					$newinv[$firstKey] = $firstVal;
     // 					foreach($beforeSecond as $k => $v){
     // 						$newinv[$k] = $v;
     // 					}
     // 					foreach($toMove as $k => $v){
     // 						$newinv[$k] = $v;
     // 					}
     // 					$currentAdd =& $newinv;
     // 					$toMove =& $newinv;
     // 				}else{
     // 					$toMove[$key] = $value;
     // 				}
     // 			}else{
     // 				$currentAdd[$key] = $value;
     // 			}
     // 		}
     // 		$this->sr4_inventory = $newinv;
     // 		$this->updateInventory();
 }
Esempio n. 2
0
 public function swapMembers(SR_Player $a, SR_Player $b)
 {
     $this->members = GWF_Array::swapAssoc($this->members, $a->getID(), $b->getID());
     $this->recomputeEnums();
     return $this->updateMembers();
 }