public void Techs_WhenCheckingForExistingTechs_Should_ReturnTrueIfNamePresent()
        {
            var gameManip = new TechManager();
            var isPresent = gameManip.CheckIfTechExists("Trans-Newtonian Technology");

            Assert.IsTrue(isPresent);
        }
Пример #2
0
    void Awake()
    {
        TC  = TC2;
        TCu = TCu2;

        common = new GameObject("COMMON");
        common.transform.parent = transform;
        common.AddComponent <Resourcex>().file = commonFiles[0];
        common.GetComponent <Resourcex>().StartRes();


        common.AddComponent <B3DScript>().file = commonFiles[1];
        common.GetComponent <B3DScript>().StartB3D();
        //common.GetComponent<B3DScript>().CreateB3D(common);
        //common.GetComponent<B3DScript>().B3Dread(common,false);
        gameObject.AddComponent <ClockScript>();



        trucks = new GameObject("TRUCKS");
        trucks.transform.parent = transform;
        trucks.AddComponent <Resourcex>().file = truckFiles[0];
        trucks.GetComponent <Resourcex>().StartRes();
        trucks.AddComponent <B3DScript>().file = truckFiles[1];
        trucks.GetComponent <B3DScript>().StartB3D();
        trucks.AddComponent <TrucksBehaviour>();
        trucks.GetComponent <B3DScript>().Disable();


        TechManager TruckTech = new TechManager();

        TruckTech.TRUCKS = trucks;
        TruckTech.StartTech();

        //TruckTech = new GameObject("TruckTech");
        //TruckTech.transform.parent = transform;
        //TruckTech.AddComponent<TechManager>().TRUCKS = trucks;


        foreach (var file in envResFiles)
        {
            GameObject resFile = new GameObject(file.Name.Split('.')[0].ToUpper());
            resFile.transform.parent = transform;
            resFile.AddComponent <Resourcex>().file = file;
            resFile.GetComponent <Resourcex>().StartRes();
        }


        foreach (var file in envB3DFiles)
        {
            GameObject b3dFile = GameObject.Find(file.Name.Split('.')[0].ToUpper());
            MainRooms.Add(b3dFile);
            if (b3dFile != null)
            {
                b3dFile.AddComponent <B3DScript>().file = file;
                b3dFile.GetComponent <B3DScript>().StartB3D();
                LoaT.AddRange(b3dFile.GetComponent <B3DScript>().LoadTriggers);
            }
        }
    }
Пример #3
0
        public void UpdateTechManager(List <Inspection> inspectionList)
        {
            try
            {
                var techManagers = _appDbContext.TechManagers.ToList();
                var inspections  = _appDbContext.Inspections.ToList();
                foreach (var item in inspections)
                {
                    var existingTechManager = techManagers.FirstOrDefault(x => x.Name == item.TechManagerName);
                    //if finalweek is existing, get the existing FinalWeekID and assign it to inspection
                    if (existingTechManager == null)
                    {
                        var newTechManager = new TechManager()
                        {
                            Name = item.TechManagerName
                        };

                        item.TechManagerId = _techManagerRepository.CreateTechManager(newTechManager);
                    }
                    else
                    {
                        item.TechManagerId = existingTechManager.TechManagerId;
                    }
                    _appDbContext.Inspections.Update(item);
                    _appDbContext.SaveChanges();
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        public void NewTechs_WhenGettingTechCostAbove33_Should_ReturnCostOfTechLevel33()
        {
            var gameManip = new TechManager();

            Assert.AreEqual(gameManip.GetStandardTechCostForLevel(33), gameManip.GetStandardTechCostForLevel(34));
            Assert.AreEqual(gameManip.GetStandardTechCostForLevel(33), gameManip.GetStandardTechCostForLevel(765765));
        }
        public void NewTechs_WhenGettingTechCostBelow1_Should_ReturnCostOfTechLevel1()
        {
            var gameManip = new TechManager();

            Assert.AreEqual(gameManip.GetStandardTechCostForLevel(1), gameManip.GetStandardTechCostForLevel(0));
            Assert.AreEqual(gameManip.GetStandardTechCostForLevel(1), gameManip.GetStandardTechCostForLevel(-6));
        }
Пример #6
0
 void Awake()
 {
     instance = this;
     tier     = new int[4];
     temporaryJobSkillPoint = new int[4];
     neededMaxSkillPoint    = new int[4];
     //튜토리얼
     GameManager.instance.firstTechTree.SetActive(true);
 }
Пример #7
0
 public Settlement(string name, Location.Location location, Culture.Culture culture)
 {
     Name          = name;
     Location      = location;
     TechManager   = new TechManager(culture.TechTree);
     Culture       = culture;
     Stockpile     = new Stockpile();
     TodaysWeather = Location.GenerateWeather();
 }
Пример #8
0
        public int CreateTechManager(TechManager techManager)
        {
            techManager.DateRegister = DateTime.Now;

            _appDbContext.TechManagers.Add(techManager);

            _appDbContext.SaveChanges();

            return(techManager.TechManagerId);
        }
Пример #9
0
        public void TestElligibilityAndPrereqs()
        {
            Technology[] techs = new Technology[] {
                MakeTech("0", "0", "", new string[] {}, 1.0f),
                MakeTech("1", "1", "", new string[] {}, 1.0f),
                MakeTech("2", "2", "", new string[] {}, 3.0f),
                MakeTech("3", "3", "", new string[] { "0" }, 1.0f),
                MakeTech("4", "4", "", new string[] { "0", "1" }, 1.0f),
                MakeTech("5", "5", "", new string[] { "1" }, 1.0f),
                MakeTech("6", "6", "", new string[] { "2" }, 1.0f),
                MakeTech("7", "7", "", new string[] { "4", "1" }, 1.0f),
            };
            TechManager tm = new TechManager();

            Technology[] eligibles;
            tm.LoadTechs(techs);

            eligibles = tm.GetEligibleTechs();
            Assert.True(tm.PrereqsMet(techs[0]));
            Assert.True(tm.PrereqsMet(techs[1]));
            Assert.True(tm.PrereqsMet(techs[2]));
            Assert.False(tm.PrereqsMet(techs[3]));
            Assert.False(tm.PrereqsMet(techs[4]));
            Assert.False(tm.PrereqsMet(techs[5]));
            Assert.False(tm.PrereqsMet(techs[6]));
            Assert.False(tm.PrereqsMet(techs[7]));
            Assert.That(eligibles, Is.EquivalentTo(new Technology[] { techs[0], techs[1], techs[2] }));

            //buy some techs, assert that the returned costs are as expected, buying tech 0 should return zero the second time as it has already been purchased
            Assert.AreEqual(1.0f, tm.BuyTech("0"));
            Assert.AreEqual(0.0f, tm.BuyTech("0"));
            Assert.AreEqual(3.0f, tm.BuyTech("2"));

            eligibles = tm.GetEligibleTechs();
            Assert.True(tm.PrereqsMet(techs[0]));
            Assert.True(tm.PrereqsMet(techs[1]));
            Assert.True(tm.PrereqsMet(techs[2]));
            Assert.True(tm.PrereqsMet(techs[3]));
            Assert.False(tm.PrereqsMet(techs[4]));
            Assert.False(tm.PrereqsMet(techs[5]));
            Assert.True(tm.PrereqsMet(techs[6]));
            Assert.False(tm.PrereqsMet(techs[7]));
            Assert.That(eligibles, Is.EquivalentTo(new Technology[] { techs[1], techs[3], techs[6] }));

            tm.BuyTech("1");
            eligibles = tm.GetEligibleTechs();
            Assert.True(tm.PrereqsMet(techs[4]));
            Assert.False(tm.PrereqsMet(techs[7]));
            Assert.That(eligibles, Is.EquivalentTo(new Technology[] { techs[3], techs[4], techs[5], techs[6] }));

            tm.BuyTech("4");
            eligibles = tm.GetEligibleTechs();
            Assert.IsTrue(tm.PrereqsMet(techs[7]));
            Assert.That(eligibles, Is.EquivalentTo(new Technology[] { techs[3], techs[7], techs[5], techs[6] }));
        }
Пример #10
0
        // Handles Awake event
        public void Awake()
        {
            Factory = new MainGameFactory(gameObject);
            var techs = Resources.LoadAll("Techs", typeof(Technology)).Select(t => (Technology)t).ToArray();

            TechManager = new TechManager();
            TechManager.LoadTechs(techs);

            resourcePrefabs = Resources.LoadAll <Resource>("").ToList();
            InjectAllObjects();
        }
        public void NewTechs_WhenGettingTechCost_Should_ReturnCorrectValue()
        {
            var gameManip = new TechManager();

            var techLevel7Cost  = gameManip.GetStandardTechCostForLevel(7);
            var techLevel20Cost = gameManip.GetStandardTechCostForLevel(20);
            var techLevel30Cost = gameManip.GetStandardTechCostForLevel(30);

            Assert.AreEqual(12000, techLevel7Cost);
            Assert.AreEqual(15000000, techLevel20Cost);
            Assert.AreEqual(855000000, techLevel30Cost);
        }
Пример #12
0
    void Start()
    {
        entryManager = new EntryManager();
#if UNITY_EDITOR
        if (StartGameSettings.mapSave == null)
        {
            mapManager.InitWithSave(MapSaveModel.NewGameSave("eeu"));
        }
        else
#endif
        mapManager.InitWithSave(StartGameSettings.mapSave);
        techManager = new TechManager();
        StartCoroutine(ShowEntryPopup());
    }
        public void Techs_WhenAddingExtendedTechs_Should_HaveValidIdsAndPrerequisites()
        {
            var testClass = new TechManager();

            testClass.AddInExtendedTechs();

            var testTech = testClass.GetTechByName("Fission/Fusion Matter Manipulation Technologies");

            Assert.IsNotNull(testTech.TechSystemID);

            var testTech2 = testClass.GetTechByName("Energy and Field Manipulation Technology");

            Assert.IsNotNull(testTech2.TechSystemID);
        }
Пример #14
0
        public void UpdateTechManager(TechManager techManager)
        {
            var existing = _appDbContext.TechManagers.SingleOrDefault(x => x.TechManagerId == techManager.TechManagerId);

            if (existing != null)
            {
                existing.Description = techManager.Description;
                existing.Name        = techManager.Name;
                existing.Status      = techManager.Status;

                _appDbContext.TechManagers.Update(existing);

                _appDbContext.SaveChanges();
            }
        }
Пример #15
0
 public Flagship(string pId, string pName, UAbility[] pAbilities, string pText, int pCost, int pBattle, int pMultiplier, int pMove, int pCapacity, TechManager techManager)
     : base(UType.Flagship, techManager)
 {
     id = pId;
     name = pName;
     abilities = pAbilities;
     text = pText;
     cost = pCost;
     battle = pBattle;
     shots = pMultiplier;
     move = pMove;
     capacity = pCapacity;
     carries = UCarry.Anything;
     buys = 1;
     fleetSupply = UFSupply.Always;
     ship = true;
     maxQuantity = 1;
 }
        public void Techs_WhenGettingAllTechsMultipleTimes_Should_OnlyGetFromStorageOnce()
        {
            var mockPersistor = new Mock <IGameManipPersistentStorage>();
            var techManip     = new TechManager(mockPersistor.Object);

            mockPersistor.Setup(
                m => m.GetAllTechsFromStorage()
                ).Returns(new List <TechObject>()
            {
                new TechObject()
            });

            techManip.GetAllTechs();
            techManip.GetAllTechs();
            techManip.GetAllTechs();

            mockPersistor.Verify(m => m.GetAllTechsFromStorage(), Times.Once);
        }
        public void NewTechs_WhenInsertingIntoDb_Should_NotCreateDuplicatesByName()
        {
            var mockDb = new Mock <IGameManipPersistentStorage>();

            mockDb.Setup(
                m => m.AddNewTech(It.IsAny <TechObject>())
                ).Returns(new TechObject()
            {
                Name = "Test", TechSystemID = 7
            });


            var gameManip = new TechManager(mockDb.Object);
            var testTech  = gameManip.NewGlobalTech(name: "Test", description: "A test tech", techType: new TechType()
            {
                TechTypeID = 99, Description = "Power Plant Technology", FieldID = 1, DistributeLowerTech = 1
            }, techLevel: 7);
            var testTech2 = gameManip.NewGlobalTech(name: "Test", description: "A test tech", techType: new TechType()
            {
                TechTypeID = 99, Description = "Power Plant Technology", FieldID = 1, DistributeLowerTech = 1
            }, techLevel: 7);
        }
Пример #18
0
        /// <summary>
        /// Determins if all tech and stat requirements are met for this building
        /// </summary>
        /// <param name="statManager"></param>
        /// <param name="techManager"></param>
        /// <returns>True if requirements met, false otherwise</returns>
        public bool RequirementsMet(StatManager statManager, TechManager techManager)
        {
            foreach (var requirement in statRequirements)
            {
                var statname = requirement.name;
                var stat     = statManager.Stat(statname);
                if (!requirement.IsSatisfied((float)stat.Value))
                {
                    return(false);
                }
            }

            foreach (var tech in techRequirements)
            {
                if (!techManager.TechResearched(tech))
                {
                    return(false);
                }
            }

            return(true);
        }
    // Use this for initialization
    void Start()
    {
        BoardMgr = GetComponent<BoardManager> ();
        CardMgr = GetComponent<CardManager> ();
        CameraMgr = GetComponent<CameraManager> ();
        ComponentMgr = GetComponent<ComponentManager> ();
        FileMgr = GetComponent<FileManager> ();
        LanguageMgr = GetComponent<LanguageManager> ();
        NetworkMgr = GetComponent<NetworkManager> ();
        PlayerMgr = GetComponent<PlayerManager> ();
        TechMgr = GetComponent<TechManager> ();
        UnitMgr = GetComponent<UnitManager> ();
        UIMgr = GetComponent<UIManager> ();

        initializeOptions ();
    }
Пример #20
0
 public void Update()
 {
     SettlerManager.UpdatePrestige(this);
     TechManager.MakeProgress(this);
 }
Пример #21
0
 public Unit(UType pUnitType, TechManager techManager)
 {
     unitType = pUnitType;
     switch (unitType) {
         case UType.GroundForce:
             cost = 1;
             buys = 2;
             battle = 8;
             shots = 1;
             fleetSupply = UFSupply.Never;
             ship = false;
             carries = UCarry.Nothing;
             break;
         case UType.SpaceDock:
             cost = 4;
             buys = 1;
             fleetSupply = UFSupply.Never;
             ship = false;
             carries = UCarry.Fighters;
             capacity = 3;
             abilities = new UAbility[1]{UAbility.Production};
             maxQuantity = 3;
             break;
         case UType.Carrier:
             cost = 3;
             buys = 1;
             move = 1;
             battle = 9;
             shots = 1;
             fleetSupply = UFSupply.Always;
             ship = true;
             carries = UCarry.Anything;
             capacity = 6;
             maxQuantity = 4;
             break;
         case UType.PDS:
             cost = 2;
             buys = 1;
             battle = 6;
             shots = 0;
             fleetSupply = UFSupply.Never;
             ship = false;
             carries = UCarry.Nothing;
             abilities = new UAbility[1]{UAbility.PlanetaryShield};
             maxQuantity = 6;
             break;
         case UType.Fighter:
             cost = 1;
             buys = 2;
             battle = 9;
             shots = 1;
             fleetSupply = UFSupply.Never;
             ship = true;
             carries = UCarry.Leaders;
             break;
         case UType.Cruiser:
             cost = 2;
             buys = 1;
             battle = 7;
             shots = 1;
             fleetSupply = UFSupply.Always;
             ship = true;
             carries = UCarry.Leaders;
             maxQuantity = 8;
             break;
         case UType.Destroyer:
             cost = 1;
             buys = 1;
             move = 1;
             battle = 9;
             shots = 1;
             fleetSupply = UFSupply.Always;
             ship = true;
             carries = UCarry.Leaders;
             maxQuantity = 8;
             abilities = new UAbility[1]{UAbility.AntiFighterBarrage};
             break;
         case UType.Dreadnought:
             cost = 5;
             buys = 1;
             move = 1;
             battle = 5;
             shots = 1;
             fleetSupply = UFSupply.Always;
             ship = true;
             carries = UCarry.Leaders;
             abilities = new UAbility[2]{UAbility.SustainDamage, UAbility.Bombardment};
             maxQuantity = 5;
             break;
     case UType.WarSun:
             cost = 12;
             buys = 1;
             move = 2;
             battle = 3;
             shots = 3;
             fleetSupply = UFSupply.Always;
             ship = true;
             carries = UCarry.Anything;
             maxQuantity = 2;
             prereqs = new Tech[]{techManager.GetTech ("War Sun")};
             break;
         case UType.MechanizedUnit:
             cost = 2;
             buys = 1;
             battle = 6;
             shots = 2;
             fleetSupply = UFSupply.Never;
             ship = false;
             carries = UCarry.Nothing;
             abilities = new UAbility[1]{UAbility.SustainDamage};
             maxQuantity = 4;
             break;
     }
 }