/// <summary> // initializes deterministic start. /// <summary> public void StartMain(int randominput) { int a = UnitMovementcommandcontroller.findspawnteamreverse(team); unitcontrol = transform.parent.GetComponent <UnitMovementcommandcontroller>(); crosslevelvar = unitcontrol.crosslevelholder; increaserate = getaimoneyamount(crosslevelvar.botdifficulty, unitcontrol.moneyincreaserate).AsInt(); if (unitcontrol.crosslevelholder.campaign == true && unitcontrol.crosslevelholder.campaignlevel.objective == MainMenuCampaignControlScript.eMissionObjective.Survive && unitcontrol.crosslevelholder.campaignlevel.name == "Final Assault") { increaserate = 80; } else if (unitcontrol.crosslevelholder.campaign == true && unitcontrol.crosslevelholder.campaignlevel.objective == MainMenuCampaignControlScript.eMissionObjective.Survive) { increaserate = 70; } World = GameObject.Find("World").transform.Find("Objects").gameObject; state = AIstate.attacking; debugseed = 5 + a + randominput; randominst = TSRandom.New(debugseed); startpos = new TSVector(0, 0, 0); spawnerhold = a; }
/// <summary> // checks if it can buy ship and if so, buys ship. /// <summary> void BuyShip() { addmoney(increaserate); if (actualshiptobuy == 0) { NextBuy = randominst.Next(0, 200); actualshiptobuy = getshiptobuy(NextBuy); if (unitcontrol.getshipbynumber(actualshiptobuy) != null) { NextBuyCost = unitcontrol.getshipbynumber(actualshiptobuy).GetComponent <_Ship>().PointsToDeploy; } } if (PhotonNetwork.isMasterClient && unitcontrol && checkmoney(money)) { TSVector spawnpos = startpos; if (unitcontrol.teammembersout(team).Count != 0) { spawnpos = PositinonRelativeToHeadset.getspawnpos(team); } if (crosslevelvar.campaign == true && crosslevelvar.campaignlevel.objective == MainMenuCampaignControlScript.eMissionObjective.Survive) { spawnpos = startpos; } if (InputRelay == null) { InputRelay = GameObject.Find("TrueSyncManager").GetComponent <RelayController>(); } if (InputRelay != null) { InputRelay.ordershipspawn(actualshiptobuy, spawnpos, UnitMovementcommandcontroller.findspawnteamreverse(team), PhotonNetwork.AllocateViewID()); } lastbuy = actualshiptobuy; actualshiptobuy = 0; } }
/// <summary> // Deterministic Update /// <summary> public void SpecUpdate() { timelefttilorder++; timepassedactual += TrueSyncManager.DeltaTime; if (timelefttilorder > 50 && ismission && PhotonNetwork.isMasterClient && shipstartspawn.Count > 0) { shipsmissionspawned++; TSVector spawnpos = PositinonRelativeToHeadset.getspawnpos(team); if (crosslevelvar.campaignlevel.objective == MainMenuCampaignControlScript.eMissionObjective.Survive) { spawnpos = startpos; } if (spawnpos == new TSVector(0, 0, 0)) { spawnpos = defaultspawnpos; } if (InputRelay == null) { InputRelay = GameObject.Find("TrueSyncManager").GetComponent <RelayController>(); } if (InputRelay != null) { InputRelay.ordershipspawn(shipstartspawn[0], (defaultspawnpos * 500) + new TSVector(0, 0, shipsmissionspawned * 1000), UnitMovementcommandcontroller.findspawnteamreverse(team), PhotonNetwork.AllocateViewID()); } shipstartspawn.RemoveAt(0); } }