public override bool CanStartTask(TrafficAI_Base ai)
    {
        TrafficAI_CAP capAI = ai as TrafficAI_CAP;

        if (capAI == null)
        {
            return(false);
        }
        return(base.CanStartTask(ai));
    }
Exemplo n.º 2
0
    public override void StartTask(TrafficAI_Base ai)
    {
        Debug.Log("Starting scout airbase!");
        TrafficAI_CAP capAI = (TrafficAI_CAP)ai;

        ai.waypoint.GetTransform().position = VTMapManager.GlobalToWorldPoint(point);
        capAI.Orbit(ai.waypoint, radius, alt);
        idleTimer = UnityEngine.Random.Range(30f, 120f);
        arived    = false;
        base.StartTask(ai);
    }
Exemplo n.º 3
0
    public override void StartTask(TrafficAI_Base ai)
    {
        Debug.Log("Starting air to air refueling!");
        TrafficAI_CAP capAI = (TrafficAI_CAP)ai;

        foreach (TrafficAI_CAP.CAP_Aircraft plane in capAI.formation)
        {
            plane.pilot.fuelTank.SetNormFuel(Mathf.Min(plane.pilot.fuelTank.fuel / plane.pilot.fuelTank.maxFuel, 0.5f));
            plane.pilot.CommandCancelOverride();
            plane.pilot.GoRefuel(refuelPlane);
        }
        base.StartTask(ai);
    }
Exemplo n.º 4
0
    public override bool IsTaskCompleted(TrafficAI_Base ai)
    {
        TrafficAI_CAP capAI = (TrafficAI_CAP)ai;

        foreach (TrafficAI_CAP.CAP_Aircraft plane in capAI.formation)
        {
            if (plane.pilot.commandState == AIPilot.CommandStates.AirRefuel)
            {
                return(false);
            }
        }
        return(true);
    }
Exemplo n.º 5
0
    public override void UpdateTask(TrafficAI_Base ai, float deltaTime)
    {
        TrafficAI_CAP capAI   = (TrafficAI_CAP)ai;
        Vector3       flatPos = capAI.formation[0].transform.position;

        flatPos.y = 0;
        Vector3 flatWaypoint = ai.waypoint.GetTransform().position;

        flatPos.y = 0;

        if ((flatPos - flatWaypoint).magnitude < radius * 1.2f)
        {
            arived = true;
        }
        if (arived)
        {
            idleTimer -= Time.fixedDeltaTime;
        }
    }