Пример #1
0
    public void AddLaborInfo(FacilityValue.FacilityInfo Info)
    {
        if (Info.ObjectActCall.Info.Type == "DayRoom")
        {
            DayRoomInfo newInfo = new DayRoomInfo();

            newInfo.Info           = Info;
            newInfo.DayRoomActCall = Info.Object.GetComponent <DayRoomAct>();

            DayRoomList.Add(newInfo);
        }
        else
        {
            LaborInfo newInfo = new LaborInfo();

            newInfo.Info = Info;

            LaborInfoList.Add(newInfo);

            if (Info.ObjectActCall.Info.LaborRequirement > 0)
            {
                RequiredLabor += Info.ObjectActCall.Info.LaborRequirement;
                RotateTimer    = RotateTimeLimit;
            }
        }

        if (CompanyValueCall.CompanyName == CompanyManagerCall.PlayerCompanyName)
        {
            PanelControllerCall.UpdateFactoryInfo("Employee", TotalLabor, RequiredLabor);
        }
    }
Пример #2
0
    public void AddObject(FacilityValue.FacilityInfo Info)
    {
        if (Info.ObjectActCall.Info.Type == "EnergyStorage")
        {
            StoreObject newObject = new StoreObject();

            newObject.FacilityInfo       = Info;
            newObject.EnergyStoreActCall = Info.Object.GetComponent <EnergyStorageAct>();

            StoreList.Add(newObject);

            TotalStorableAmount += newObject.EnergyStoreActCall.StorableElectricity;
            StoreObjectCount++;
        }
        else
        {
            UsageInfo newUsage = new UsageInfo();

            newUsage.FacilityInfo = Info;

            UsageList.Add(newUsage);
        }

        BlackOutTimer = BlackOutTimeLimit;

        if (CompanyValueCall.CompanyName == CompanyManagerCall.PlayerCompanyName)
        {
            PanelControllerCall.UpdateFactoryInfo("Electricity", TotalUsage, AvailableElectricityAmount);
        }
    }
Пример #3
0
    public void DeleteObject(FacilityValue.FacilityInfo Info)
    {
        if (Info.ObjectActCall.Info.Type == "EnergyStorage")
        {
            StoreObject Target = null;

            foreach (var Supply in StoreList)
            {
                if (Supply.FacilityInfo == Info)
                {
                    Target = Supply;
                    break;
                }
            }

            if (Target != null)
            {
                StoreList.Remove(Target);
            }
            else
            {
                Debug.Log("Cannot Find " + Info.Object.name);
            }
        }
        else
        {
            UsageInfo Target = null;

            foreach (var Usage in UsageList)
            {
                if (Usage.FacilityInfo == Info)
                {
                    Target = Usage;
                    break;
                }
            }

            if (Target != null)
            {
                UsageList.Remove(Target);
            }
            else
            {
                Debug.Log("Cannot Find " + Info.Object.name);
            }
        }

        BlackOutTimer = BlackOutTimeLimit;

        if (CompanyValueCall.CompanyName == CompanyManagerCall.PlayerCompanyName)
        {
            PanelControllerCall.UpdateFactoryInfo("Electricity", TotalUsage, AvailableElectricityAmount);
        }
    }
Пример #4
0
    public void DeleteLaborInfo(FacilityValue.FacilityInfo Info)
    {
        if (Info.ObjectActCall.Info.Type == "DayRoom")
        {
            DayRoomInfo Target = null;

            foreach (var Supply in DayRoomList)
            {
                if (Supply.Info == Info)
                {
                    Target = Supply;
                    break;
                }
            }

            if (Target != null)
            {
                DayRoomList.Remove(Target);
            }
        }
        else
        {
            LaborInfo Target = null;

            foreach (var Usage in LaborInfoList)
            {
                if (Usage.Info == Info)
                {
                    Target = Usage;
                    break;
                }
            }

            if (Target != null)
            {
                LaborInfoList.Remove(Target);
            }

            if (Target.Info.ObjectActCall.Info.LaborRequirement != 0)
            {
                RotateTimer = RotateTimeLimit;
            }
        }

        if (CompanyValueCall.CompanyName == CompanyManagerCall.PlayerCompanyName)
        {
            PanelControllerCall.UpdateFactoryInfo("Employee", TotalLabor, RequiredLabor);
        }
    }
Пример #5
0
    public bool Installation()
    {
        if (isInstall)
        {
            return(false);
        }

        gameObject.name = "#" + (CompanyValueCall.GetFacilityValue().GetComponent <FacilityValue>().InstalledFacilityAmount + 1).ToString() + " " + Info.Type;

        ValueCall.AttachedOnMouse = null;
        isInstall        = true;
        transform.parent = GameObject.Find("InstalledObject").transform;
        ChangeStructColor(new Color(0, 0, 0, 0));

        Value = CompanyValueCall.GetFacilityValue().GetComponent <FacilityValue>().AddFacilityInfo(gameObject);

        if (Info.Type != "Belt" && Info.Type != "VerticalBelt" && Info.Type != "Door")
        {
            GameObject.Find("ObjectInstaller").GetComponent <ObjInstantiater>().InstantiateNewObject(Info.Name);
        }

        return(true);
    }
    public void DisplayInfo()
    {
        InstallableObjectAct TargetBasicInfo = TargetObject.GetComponent <InstallableObjectAct>();

        FacilityValue.FacilityInfo TargetValue = TargetBasicInfo.Value;
        CompanyValue CallCompnayValue          = GameObject.Find("CompanyManager").GetComponent <CompanyManager>().GetPlayerCompanyValue();
        GoodsRecipe  CallGoodsRecipe           = GameObject.Find("BaseSystem").GetComponent <GoodsRecipe>();

        InfoPanelCarrier.transform.GetChild(1).GetChild(0).gameObject.GetComponent <Text>().text = TargetInfo.Type;
        InfoPanelCarrier.transform.GetChild(1).GetChild(1).gameObject.GetComponent <Text>().text = TargetInfo.Name;
        InfoPanelCarrier.transform.GetChild(2).GetChild(0).gameObject.GetComponent <Text>().text = "Consume";
        InfoPanelCarrier.transform.GetChild(2).GetChild(1).gameObject.GetComponent <Text>().text = "Electric : " + TargetValue.SuppliedElectricity.ToString() + " / Labor : " + TargetValue.SuppliedLabor.ToString();
        InfoPanelCarrier.transform.GetChild(3).GetChild(0).gameObject.GetComponent <Text>().text = "Performance";

        switch (TargetInfo.Type)
        {
        case "Door":
            InfoPanelCarrier.transform.GetChild(3).GetChild(1).gameObject.GetComponent <Text>().text = (TargetBasicInfo.WorkSpeed).ToString() + " item/sec";

            if (TargetObject.GetComponent <DoorAct>().TargetGoodsName != "None")
            {
                AdditionalInfoPanel.SetActive(true);
                AdditionalInfoPanel.transform.GetChild(0).GetChild(0).gameObject.GetComponent <Image>().sprite = Resources.Load <Sprite>("GameSystem/Goods/Sprite/" + CallGoodsRecipe.GetRecipe(TargetObject.GetComponent <DoorAct>().TargetGoodsName).Type);
                AdditionalInfoPanel.transform.GetChild(1).gameObject.GetComponent <Text>().text = TargetObject.GetComponent <DoorAct>().TargetGoodsName;
            }

            if (TargetObject.GetComponent <DoorAct>().DoorMode == "Ejector")
            {
                FunctionPanel.SetActive(true);
                ButtonCarrier.transform.GetChild(1).GetChild(0).GetChild(0).gameObject.GetComponent <Text>().text = "Select Item";
            }
            break;

        case "Processor":
            InfoPanelCarrier.transform.GetChild(1).GetChild(1).gameObject.GetComponent <Text>().text += " " + TargetObject.GetComponent <ProcessorAct>().ProcessorActorName;
            InfoPanelCarrier.transform.GetChild(3).GetChild(1).gameObject.GetComponent <Text>().text  = (TargetObject.GetComponent <ProcessorAct>().WorkTime + TargetBasicInfo.WorkSpeed).ToString() + " item/sec";
            InfoPanelCarrier.transform.GetChild(4).GetChild(0).gameObject.GetComponent <Text>().text  = "Current Item";
            if (TargetObject.GetComponent <ProcessorAct>().TargetGoodsRecipe != null)
            {
                AdditionalInfoPanel.SetActive(true);
                AdditionalInfoPanel.transform.GetChild(0).GetChild(0).gameObject.GetComponent <Image>().sprite = Resources.Load <Sprite>("GameSystem/Goods/Sprite/" + TargetObject.GetComponent <ProcessorAct>().TargetGoodsRecipe.Type);
                AdditionalInfoPanel.transform.GetChild(1).gameObject.GetComponent <Text>().text = TargetObject.GetComponent <ProcessorAct>().TargetGoodsRecipe.OutputName;
            }

            FunctionPanel.SetActive(true);
            ButtonCarrier.transform.GetChild(1).GetChild(0).GetChild(0).gameObject.GetComponent <Text>().text = "Select Item";
            break;

        case "Belt":
            InfoPanelCarrier.transform.GetChild(3).GetChild(1).gameObject.GetComponent <Text>().text = (TargetObject.transform.GetChild(1).GetChild(0).gameObject.GetComponent <BeltAct>().BeltSpeed + TargetBasicInfo.WorkSpeed).ToString() + " item/sec";
            break;

        case "Distributor":
            InfoPanelCarrier.transform.GetChild(3).GetChild(1).gameObject.GetComponent <Text>().text = (TargetBasicInfo.WorkSpeed).ToString() + " item/sec";
            break;

        case "QualityControlUnit":
            InfoPanelCarrier.transform.GetChild(3).GetChild(1).gameObject.GetComponent <Text>().text = (TargetBasicInfo.WorkSpeed).ToString() + " item/sec";

            FunctionPanel.SetActive(true);
            ButtonCarrier.transform.GetChild(1).GetChild(0).GetChild(0).gameObject.GetComponent <Text>().text = "Set Standard";
            break;

        case "Destroyer":
            InfoPanelCarrier.transform.GetChild(3).GetChild(1).gameObject.GetComponent <Text>().text = (TargetBasicInfo.WorkSpeed).ToString() + " item/sec";
            break;

        case "Labatory":
            InfoPanelCarrier.transform.GetChild(3).GetChild(1).gameObject.GetComponent <Text>().text = (TargetBasicInfo.WorkSpeed).ToString() + " point/sec";

            FunctionPanel.SetActive(true);
            if (TargetObject.GetComponent <LabatoryAct>().CurrentResearchingTech == null && TargetObject.GetComponent <LabatoryAct>().CurrentDevelopingProduct == null)
            {
                ButtonCarrier.transform.GetChild(0).GetChild(0).gameObject.SetActive(true);
                ButtonCarrier.transform.GetChild(1).GetChild(0).GetChild(0).gameObject.GetComponent <Text>().text = "Research Technology";
                ButtonCarrier.transform.GetChild(0).GetChild(0).GetChild(0).gameObject.GetComponent <Text>().text = "Develop Product";
            }
            else
            {
                if (TargetObject.GetComponent <LabatoryAct>().CurrentResearchingTech != null)
                {
                    AdditionalInfoPanel.SetActive(true);
                    AdditionalInfoPanel.transform.GetChild(1).gameObject.GetComponent <Text>().text = "Researching";

                    ButtonCarrier.transform.GetChild(1).GetChild(0).GetChild(0).gameObject.GetComponent <Text>().text = "Research Technology";
                }
                else if (TargetObject.GetComponent <LabatoryAct>().CurrentDevelopingProduct != null)
                {
                    AdditionalInfoPanel.SetActive(true);
                    AdditionalInfoPanel.transform.GetChild(0).GetChild(0).gameObject.GetComponent <Image>().sprite = Resources.Load <Sprite>("GameSystem/Goods/Sprite/" + TargetObject.GetComponent <LabatoryAct>().CurrentDevelopingProduct.ObjectInfo.Type);
                    AdditionalInfoPanel.transform.GetChild(1).gameObject.GetComponent <Text>().text = TargetObject.GetComponent <LabatoryAct>().CurrentDevelopingProduct.Name;

                    ButtonCarrier.transform.GetChild(1).GetChild(0).GetChild(0).gameObject.GetComponent <Text>().text = "Develop Product";
                }
            }
            break;

        case "DayRoom":
            InfoPanelCarrier.transform.GetChild(3).GetChild(1).gameObject.GetComponent <Text>().text = "x " + (TargetObject.GetComponent <DayRoomAct>().CurrentPerformance + TargetBasicInfo.WorkSpeed).ToString();
            break;

        case "EnergyStorage":
            InfoPanelCarrier.transform.GetChild(3).GetChild(1).gameObject.GetComponent <Text>().text = TargetObject.GetComponent <EnergyStorageAct>().CurrentChargingAmount.ToString() + " point/tic";
            break;

        case "EnergySupplier":
            ElectricityValue ElectricityValueCall = GameObject.Find("CompanyManager").GetComponent <CompanyManager>().GetPlayerCompanyValue().GetElectricityValue().GetComponent <ElectricityValue>();
            InfoPanelCarrier.transform.GetChild(3).GetChild(1).gameObject.GetComponent <Text>().text = "Usage : " + ElectricityValueCall.TotalUsage.ToString() + " / Capacity : " + ElectricityValueCall.ElectricityInputValue.ToString();
            break;
        }
    }