コード例 #1
0
    public void UpdatePriority()
    {
        priority.gameObject.SetActive(true);

        int priorityValue = 0;
        NetworkScheduler networkScheduler = GameObject.Find("NetworkScheduler").GetComponent <NetworkScheduler>();

        try {
            priorityValue = Int32.Parse(priorityInput.text);
        } catch (Exception) {
            return;
        }
        networkScheduler.ChangeShipPriority(shipController, priorityValue);

        //shipListController.UpdateAllPriorityInput();
    }
コード例 #2
0
    private int GetEntryYPos()
    {
        NetworkScheduler networkScheduler = GameObject.Find("NetworkScheduler").GetComponent <NetworkScheduler>();

        if (isGreenSignal)
        {
            int priorityValue = shipController.GetShipPriority();
            return(-30 * priorityValue);
        }
        else
        {
            int priorityQueueSize  = networkScheduler.PriorityQueueLength();
            int positionInWaitList = networkScheduler.ShipPositionInWaitList(shipController);
            return(-30 * (priorityQueueSize + positionInWaitList) - 10);
        }
    }
コード例 #3
0
 public void ToggleSignal()
 {
     if (inDecisionMode)
     {
         isGreenSignal = !isGreenSignal;
         NetworkScheduler networkScheduler = GameObject.Find("NetworkScheduler").GetComponent <NetworkScheduler> ();
         if (isGreenSignal)
         {
             networkScheduler.MoveShipToPriorityQueue(shipController);
             GameObject.Find("BasicLoggerManager").GetComponent <VistaLightsLogger> ().LogRedGreenSignal(shipController.Ship, "green signal");
         }
         else
         {
             networkScheduler.MoveShipToWaitList(shipController);
             GameObject.Find("BasicLoggerManager").GetComponent <VistaLightsLogger> ().LogRedGreenSignal(shipController.Ship, "red signal");
         }
         shipListController.UpdateAllPriorityInput();
     }
     else
     {
         NotificationSystem notificationSystem = GameObject.Find("NotificationSystem").GetComponent <NotificationSystem> ();
         notificationSystem.Notify(NotificationType.Warning, "Signal to ship can only be set in decision phase");
     }
 }
コード例 #4
0
ファイル: ShipController.cs プロジェクト: liangmbs/VistaLight
    public int GetShipPriority()
    {
        NetworkScheduler networkScheduler = GameObject.Find("NetworkScheduler").GetComponent <NetworkScheduler>();

        return(networkScheduler.priorityQueue.GetPriority(this));
    }