public void RefreshDoors()
        {
            int carriage = 0;

            Carriages.ToList().ForEach(c =>
            {
                c.Repair();
                bool oddCart = carriage % 2 == 1;
                int i        = 0;
                DoorStates[CurrentDoorState].State.ForEach(s =>
                {
                    if (s == true)
                    {
                        Function.Call(Hash.SET_VEHICLE_DOOR_OPEN, c.Handle, oddCart ? 3 - i : i, true, true);
                        Function.Call(Hash.SET_VEHICLE_DOOR_BROKEN, c.Handle, oddCart ? 3 - i : i, true);
                    }
                    else
                    {
                        Function.Call(Hash.SET_VEHICLE_DOOR_SHUT, c.Handle, oddCart ? 3 - i : i, false);
                    }
                    i++;
                });
                carriage++;
            });
        }
Beispiel #2
0
    public override void Init()
    {
        base.Init();

        Carriages c = FindObjectOfType <Carriages>();

        carriageParent = c.gameObject.transform;
        carriages      = c.carriages;
        gui            = FindObjectOfType <GUIController>();

        foreach (var con in place.GetConnectionPoints())
        {
            if (con.FreeForUse())
            {
                con.UseAsInput(this);
                inputLocations.Add(con);
            }
        }

        gold = startGold;
        UpdateGui();
    }