import React from "react"; import { ResearchTree } from "./ResearchTree"; import { ICorporation } from "./ICorporation"; import { getBaseResearchTreeCopy, getProductIndustryResearchTreeCopy } from "./data/BaseResearchTree"; import { MoneyCost } from "./ui/MoneyCost"; interface IIndustryMap { [key: string]: T | undefined; Energy: T; Utilities: T; Agriculture: T; Fishing: T; Mining: T; Food: T; Tobacco: T; Chemical: T; Pharmaceutical: T; Computer: T; Robotics: T; Software: T; Healthcare: T; RealEstate: T; } // Map of official names for each Industry export const Industries: IIndustryMap = { Energy: "Energy", Utilities: "Water Utilities", Agriculture: "Agriculture", Fishing: "Fishing", Mining: "Mining", Food: "Food", Tobacco: "Tobacco", Chemical: "Chemical", Pharmaceutical: "Pharmaceutical", Computer: "Computer Hardware", Robotics: "Robotics", Software: "Software", Healthcare: "Healthcare", RealEstate: "RealEstate", }; // Map of how much money it takes to start each industry export const IndustryStartingCosts: IIndustryMap = { Energy: 225e9, Utilities: 150e9, Agriculture: 40e9, Fishing: 80e9, Mining: 300e9, Food: 10e9, Tobacco: 20e9, Chemical: 70e9, Pharmaceutical: 200e9, Computer: 500e9, Robotics: 1e12, Software: 25e9, Healthcare: 750e9, RealEstate: 600e9, }; // Map of description for each industry export const IndustryDescriptions: IIndustryMap<(corp: ICorporation) => React.ReactElement> = { Energy: (corp: ICorporation) => ( <> Engage in the production and distribution of energy.

Starting cost:
Recommended starting Industry: NO ), Utilities: (corp: ICorporation) => ( <> Distribute water and provide wastewater services.

Starting cost:
Recommended starting Industry: NO ), Agriculture: (corp: ICorporation) => ( <> Cultivate crops and breed livestock to produce food.

Starting cost:
Recommended starting Industry: YES ), Fishing: (corp: ICorporation) => ( <> Produce food through the breeding and processing of fish and fish products.

Starting cost:
Recommended starting Industry: NO ), Mining: (corp: ICorporation) => ( <> Extract and process metals from the earth.

Starting cost:
Recommended starting Industry: NO ), Food: (corp: ICorporation) => ( <> Create your own restaurants all around the world.

Starting cost:
Recommended starting Industry: YES ), Tobacco: (corp: ICorporation) => ( <> Create and distribute tobacco and tobacco-related products.

Starting cost:
Recommended starting Industry: YES ), Chemical: (corp: ICorporation) => ( <> Produce industrial chemicals.

Starting cost:
Recommended starting Industry: NO ), Pharmaceutical: (corp: ICorporation) => ( <> Discover, develop, and create new pharmaceutical drugs.

Starting cost:
Recommended starting Industry: NO ), Computer: (corp: ICorporation) => ( <> Develop and manufacture new computer hardware and networking infrastructures.

Starting cost:
Recommended starting Industry: NO ), Robotics: (corp: ICorporation) => ( <> Develop and create robots.

Starting cost:
Recommended starting Industry: NO ), Software: (corp: ICorporation) => ( <> Develop computer software and create AI Cores.

Starting cost:
Recommended starting Industry: YES ), Healthcare: (corp: ICorporation) => ( <> Create and manage hospitals.

Starting cost:
Recommended starting Industry: NO ), RealEstate: (corp: ICorporation) => ( <> Develop and manage real estate properties.

Starting cost:
Recommended starting Industry: NO ), }; // Map of available Research for each Industry. This data is held in a // ResearchTree object export const IndustryResearchTrees: IIndustryMap = { Energy: getBaseResearchTreeCopy(), Utilities: getBaseResearchTreeCopy(), Agriculture: getBaseResearchTreeCopy(), Fishing: getBaseResearchTreeCopy(), Mining: getBaseResearchTreeCopy(), Food: getProductIndustryResearchTreeCopy(), Tobacco: getProductIndustryResearchTreeCopy(), Chemical: getBaseResearchTreeCopy(), Pharmaceutical: getProductIndustryResearchTreeCopy(), Computer: getProductIndustryResearchTreeCopy(), Robotics: getProductIndustryResearchTreeCopy(), Software: getProductIndustryResearchTreeCopy(), Healthcare: getProductIndustryResearchTreeCopy(), RealEstate: getProductIndustryResearchTreeCopy(), }; export function resetIndustryResearchTrees(): void { IndustryResearchTrees.Energy = getBaseResearchTreeCopy(); IndustryResearchTrees.Utilities = getBaseResearchTreeCopy(); IndustryResearchTrees.Agriculture = getBaseResearchTreeCopy(); IndustryResearchTrees.Fishing = getBaseResearchTreeCopy(); IndustryResearchTrees.Mining = getBaseResearchTreeCopy(); IndustryResearchTrees.Food = getProductIndustryResearchTreeCopy(); IndustryResearchTrees.Tobacco = getProductIndustryResearchTreeCopy(); IndustryResearchTrees.Chemical = getBaseResearchTreeCopy(); IndustryResearchTrees.Pharmaceutical = getProductIndustryResearchTreeCopy(); IndustryResearchTrees.Computer = getProductIndustryResearchTreeCopy(); IndustryResearchTrees.Robotics = getProductIndustryResearchTreeCopy(); IndustryResearchTrees.Software = getProductIndustryResearchTreeCopy(); IndustryResearchTrees.Healthcare = getProductIndustryResearchTreeCopy(); IndustryResearchTrees.RealEstate = getProductIndustryResearchTreeCopy(); }