Пример #1
0
 public override UIObserver ShowOnGUI()
 {
     if (buildingObserver == null)
     {
         buildingObserver = UIBuildingObserver.InitializeBuildingObserverScript();
     }
     else
     {
         buildingObserver.gameObject.SetActive(true);
     }
     buildingObserver.SetObservingBuilding(this);
     showOnGUI = true;
     return(buildingObserver);
 }
Пример #2
0
    public void SetObservingPlace(ILabourable wb)
    {
        if (wb == null)
        {
            SelfShutOff();
            return;
        }
        if (!wb.IsWorksite())
        {
            UIBuildingObserver ub = Building.buildingObserver;
            if (ub == null)
            {
                ub = UIBuildingObserver.InitializeBuildingObserverScript();
            }
            else
            {
                ub.gameObject.SetActive(true);
            }
            ub.SetObservingBuilding(wb as WorkBuilding);
        }
        observingPlace         = wb; isObserving = true;
        showingWorkersCount    = wb.GetWorkersCount();
        showingWorkersMaxCount = wb.GetMaxWorkersCount();

        ignoreWorkersSlider = true;// иначе будет вызывать ивент
        slider.minValue     = 0;
        slider.maxValue     = showingWorkersMaxCount;
        slider.value        = showingWorkersCount;
        ignoreWorkersSlider = false;

        workersCountField.text = showingWorkersCount.ToString() + '/' + showingWorkersMaxCount.ToString();
        workSpeedField.text    = observingPlace.UI_GetInfo();

        workspeedStringEnabled = observingPlace.ShowUIInfo();
        workSpeedField.enabled = workspeedStringEnabled;
        if (observingPlace.IsWorksite())
        {
            actionLabel.enabled = true;
            actionLabel.text    = (observingPlace as Worksite).actionLabel;
            stopButton.SetActive(true);
        }
        else
        {
            actionLabel.enabled = false;
            stopButton.SetActive(false);
        }
        StatusUpdate();
    }
Пример #3
0
    public void SetObservingWorkBuilding(WorkBuilding wb)
    {
        workbuildingMode = true;
        if (wb == null)
        {
            SelfShutOff();
            return;
        }
        UIBuildingObserver ub = Building.buildingObserver;

        if (ub == null)
        {
            ub = UIBuildingObserver.InitializeBuildingObserverScript();
        }
        else
        {
            ub.gameObject.SetActive(true);
        }
        observingWorkbuilding = wb; isObserving = true;
        ub.SetObservingBuilding(observingWorkbuilding);

        showingWorkersCount    = wb.workersCount;
        showingWorkersMaxCount = wb.maxWorkers;
        showingWorkspeed       = wb.GetWorkSpeed();

        ignoreWorkersSlider = true;// иначе будет вызывать ивент
        slider.minValue     = 0;
        slider.maxValue     = showingWorkersMaxCount;
        slider.value        = showingWorkersCount;
        ignoreWorkersSlider = false;

        workersCountField.text = showingWorkersCount.ToString() + '/' + showingWorkersMaxCount.ToString();
        workSpeedField.text    = string.Format("{0:0.00}", showingWorkspeed) + ' ' + Localization.GetPhrase(LocalizedPhrase.PointsSec);

        workspeedStringEnabled = (showingWorkspeed > 0 & observingWorkbuilding.ShowWorkspeed());
        workSpeedField.enabled = workspeedStringEnabled;
        actionLabel.enabled    = false;
        stopButton.SetActive(false);
    }
Пример #4
0
    public void SetObservingWorkBuilding(WorkBuilding wb)
    {
        workbuildingMode = true;
        if (wb == null)
        {
            SelfShutOff();
            return;
        }
        UIBuildingObserver ub = Building.buildingObserver;

        if (ub == null)
        {
            ub = UIBuildingObserver.InitializeBuildingObserverScript();
        }
        else
        {
            ub.gameObject.SetActive(true);
        }
        observingWorkbuilding = wb; isObserving = true;
        ub.SetObservingBuilding(observingWorkbuilding);

        showingWorkersCount    = wb.workersCount;
        showingWorkersMaxCount = wb.maxWorkers;
        showingWorkspeed       = wb.workSpeed;

        slider.minValue        = 0;
        slider.maxValue        = showingWorkersMaxCount;
        slider.value           = showingWorkersCount;
        workersCountField.text = showingWorkersCount.ToString() + '/' + showingWorkersMaxCount.ToString();
        workSpeedField.text    = string.Format("{0:0.00}", showingWorkspeed) + ' ' + Localization.GetPhrase(LocalizedPhrase.PointsSec);

        workSpeedField.enabled = (showingWorkspeed > 0);
        actionLabel.enabled    = false;
        stopButton.SetActive(false);

        STATUS_UPDATE_TIME = 0.5f; timer = STATUS_UPDATE_TIME;
    }