Example #1
0
    public void Break(bool front)
    {
        if (front)
        {
            frontBroken = true;
        }
        else
        {
            backBroken = true;
        }

        // Add extra drag to train
        tc.AddDrag(dragDelta);

        // Spawn interactable w/ particles
        GameObject sparks = Instantiate(sparkPrefab, GameObject.FindGameObjectWithTag("Train").transform);

        sparks.transform.position = transform.position + sparks.transform.localPosition;
        if (!front)
        {
            sparks.transform.position += new Vector3(0, 0, 7.3f);
        }
        WheelInteract wi = sparks.GetComponent <WheelInteract>();

        wi.car     = gameObject.GetComponent <WheelBreak>();
        wi.isFront = front;

        sparks.GetComponent <TTSID>().Init();
        TTS.GameObjectInitMessage initMessage = new TTS.GameObjectInitMessage(sparks);
        TTS.ObjectSync            os          = GameObject.FindGameObjectWithTag("Network").GetComponent <TTS.ObjectSync>();
        os.initBuffer.Add(initMessage);

        SyncState();
    }
Example #2
0
 void Start()
 {
     throttle = throttleInteract.GetComponent <ThrottleInteract>();
     wheel    = wheelInteract.GetComponent <WheelInteract>();
 }