Пример #1
0
    /// <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;
    }
Пример #2
0
    /// <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;
        }
    }
Пример #3
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);
     }
 }