Exemple #1
0
 void CreateTank(Pool pool, int id, TankSetupInfo info)
 {
     pool.CreateEntity()
     .IsTank(true)
     .AddId(id)
     .AddColour(info.PlayerColor)
     .AddStartPosition(info.SpawnPoint.position)
     .AddStartRotation(info.SpawnPoint.rotation)
     .AddFireChargeSpeed((info.FireLaunchForceMax - info.FireLaunchForceMin) / info.FireLaunchTime)
     .AddFireChargeTime(info.FireLaunchTime)
     .AddFireLaunchForce(info.FireLaunchForceMin, info.FireLaunchForceMin, info.FireLaunchForceMax)
     .AddHealth(info.StartingHealth, info.StartingHealth)
     .AddMoveSpeed(info.MoveSpeed)
     .AddTurnSpeed(info.TurnSpeed);
 }
Exemple #2
0
    void Awake()
    {
        Pool pool = Pools.pool;

        rootSystems = new RootSystems(pool);

        pool.CreateEntity().AddCamera(Camera.main).AddGameObject(Camera.main.gameObject.transform.parent.gameObject).AddCameraSettings(CameraDampTime, CameraScreenEdgeBuffer, CameraMinSize);

        for (int i = 0; i < Tanks.Length; i++)
        {
            TankSetupInfo info = Tanks[i];
            pool.CreateEntity().IsPlayer(true).AddId(i + 1).AddColour(info.PlayerColor).AddWins(0);
            CreateTank(pool, i + 1, info);
        }

        pool.CreateEntity().IsRound(true).AddRoundNumber(0).AddRoundPhase(RoundPhase.Start).AddRoundMessage(MessageText).AddRequiredToWin(NumRoundsToWin);
    }