Пример #1
0
    private void SetChild(Transform ts)
    {
        if (this.body == null)
        {
            return;
        }
        EffectBind component = ts.GetComponent <EffectBind>();

        if (component != null)
        {
            if (this.body != null)
            {
                component.ts = TEngine.GetChildByName(this.body, component.boneName);
                if (component.ts == null)
                {
                    string text = base.transform.name + ".找不到骨骼" + component.boneName;
                    Debug.Log(text);
                }
            }
            else
            {
                Debug.Log("没有设置body");
            }
        }
        foreach (Transform child in ts)
        {
            this.SetChild(child);
        }
    }
Пример #2
0
 public void RegisterEngine(TEngine engine)
 {
     if (engine != null && engines.FindIndex(e => e.id == engine.id) < 0)
     {
         engines.Add(engine);
     }
 }
Пример #3
0
    public static Transform[] GetAllChildByName(Transform ts, string name)
    {
        List <Transform> list = new List <Transform>();

        TEngine.GetChildByName(ts, name, ref list);
        return(list.ToArray());
    }
Пример #4
0
    public static Transform GetChildByName(Transform ts, string name)
    {
        Transform result;

        if (ts == null)
        {
            result = null;
        }
        else
        {
            if (ts.name.ToLower() == name.ToLower())
            {
                result = ts;
            }
            else
            {
                foreach (Transform ts2 in ts)
                {
                    Transform childByName = TEngine.GetChildByName(ts2, name);
                    if (childByName != null)
                    {
                        result = childByName;
                        return(result);
                    }
                }
                result = null;
            }
        }
        return(result);
    }
Пример #5
0
 public static void EnableObject(Transform pf, bool v)
 {
     pf.gameObject.SetActive(v);
     foreach (Transform pf2 in pf)
     {
         TEngine.EnableObject(pf2, v);
     }
 }
Пример #6
0
 public static void SetLayer(Transform ts, LayerMask layer)
 {
     if (!(ts == null))
     {
         ts.gameObject.layer = layer;
         foreach (Transform ts2 in ts)
         {
             TEngine.SetLayer(ts2, layer);
         }
     }
 }
Пример #7
0
 public static void TEnableMeshCollider(Transform pf, bool tv)
 {
     if (pf.GetComponent <Collider>() != null)
     {
         pf.GetComponent <Collider>().enabled = tv;
     }
     foreach (Transform pf2 in pf.transform)
     {
         TEngine.TEnableMeshCollider(pf2, tv);
     }
 }
Пример #8
0
    private void ThrottleAllEnginesDown()
    {
        for (int i = 0; i < _vehicle.Parts.Count; i++)
        {
            if (_vehicle.Parts[i].Type == VehiclePartType.Engine)
            {
                TEngine engineType = (TEngine)_vehicle.Parts[i];

                engineType.ThrottleDown();
            }
        }
    }
Пример #9
0
            public void UnregisterEngine(TEngine engine)
            {
                if (engine == null)
                {
                    return;
                }
                var index = engines.FindIndex(e => e.id == engine.id);

                if (index >= 0)
                {
                    engines.RemoveAt(index);
                }
            }
Пример #10
0
 public static void GetChildByName(Transform ts, string name, ref List <Transform> list)
 {
     if (!(ts == null))
     {
         if (ts.name == name)
         {
             list.Add(ts);
         }
         foreach (Transform ts2 in ts)
         {
             TEngine.GetChildByName(ts2, name, ref list);
         }
     }
 }
Пример #11
0
    private void IgniteAllEngines()
    {
        for (int i = 0; i < _vehicle.Parts.Count; i++)
        {
            if (_vehicle.Parts[i].Type == VehiclePartType.Engine)
            {
                TEngine engineType = (TEngine)_vehicle.Parts[i];

                if (!engineType._burning)
                {
                    engineType.Ignite();
                }
            }
        }
    }
Пример #12
0
    private void ShutDownAllEngines()
    {
        for (int i = 0; i < _vehicle.Parts.Count; i++)
        {
            if (_vehicle.Parts[i].Type == VehiclePartType.Engine)
            {
                TEngine engineType = (TEngine)_vehicle.Parts[i];

                if (engineType._burning)
                {
                    engineType.ShutDown();
                }
            }
        }
    }
Пример #13
0
    public static float GetRefTerrHei(Vector3 curpos, float _refhei, LayerMask _mask, out Transform ts)
    {
        float result;

        if (TEngine.pcallbackgetrefhei != null)
        {
            result = TEngine.pcallbackgetrefhei(_mask, out ts, curpos, _refhei);
        }
        else
        {
            ts     = null;
            result = 0f;
        }
        return(result);
    }
Пример #14
0
    public static float GetAbsoluteTerrHei(float x, float z, LayerMask _mask, out Transform ts)
    {
        float result;

        if (TEngine.pcallbackgethei != null)
        {
            result = TEngine.pcallbackgethei(x, z, _mask, out ts);
        }
        else
        {
            ts     = null;
            result = 0f;
        }
        return(result);
    }
Пример #15
0
    private void TryGimbalAllEngines()
    {
        for (int i = 0; i < _vehicle.Parts.Count; i++)
        {
            if (_vehicle.Parts[i].Type == VehiclePartType.Engine)
            {
                TEngine engineType = (TEngine)_vehicle.Parts[i];

                if (engineType._gimbalEnabled)
                {
                    Vector4 gimbal = engineType.GetGimbalInput();
                    engineType.TryGimbal(gimbal);
                }
            }
        }
    }
Пример #16
0
    public static float GetRefTerrHei(Vector3 curpos, float _refhei)
    {
        LayerMask mask      = LayerMask.NameToLayer("ground");
        Transform transform = null;
        float     result;

        if (TEngine.pcallbackgetrefhei != null)
        {
            result = TEngine.pcallbackgetrefhei(mask, out transform, curpos, _refhei);
        }
        else
        {
            result = 0f;
        }
        return(result);
    }
Пример #17
0
    public static float GetAbsoluteTerrHei(float x, float z)
    {
        LayerMask mask      = LayerMask.NameToLayer("ground");
        Transform transform = null;
        float     result;

        if (TEngine.pcallbackgethei != null)
        {
            result = TEngine.pcallbackgethei(x, z, mask, out transform);
        }
        else
        {
            result = 0f;
        }
        return(result);
    }
Пример #18
0
 private void LateUpdate()
 {
     if (this.ts != null)
     {
         base.transform.position = this.ts.position + this.refpos;
         if (!this.bOnlyBindPos)
         {
             base.transform.eulerAngles = this.ts.eulerAngles + this.refrot;
         }
         if (this.bTieDi)
         {
             Vector3 position = base.transform.position;
             position.y = TEngine.GetAbsoluteTerrHei(position.x, position.z) + this.fRefHeight;
             base.transform.position = position;
         }
     }
 }
Пример #19
0
 public static void SetShaderFloatValue(Transform ts, string v, float _value)
 {
     if (!(ts == null))
     {
         if (ts.gameObject.GetComponent <Renderer>() != null)
         {
             Material[] materials = ts.gameObject.GetComponent <Renderer>().materials;
             for (int i = 0; i < materials.Length; i++)
             {
                 Material material = materials[i];
                 material.SetFloat(v, _value);
             }
         }
         foreach (Transform ts2 in ts)
         {
             TEngine.SetShaderFloatValue(ts2, v, _value);
         }
     }
 }
Пример #20
0
 public static void SetShader(Transform ts, Shader sd)
 {
     if (!(ts == null))
     {
         if (ts.gameObject.GetComponent <Renderer>() != null)
         {
             Material[] materials = ts.gameObject.GetComponent <Renderer>().materials;
             for (int i = 0; i < materials.Length; i++)
             {
                 Material material = materials[i];
                 material.shader = sd;
             }
         }
         foreach (Transform ts2 in ts)
         {
             TEngine.SetShader(ts2, sd);
         }
     }
 }
Пример #21
0
 public override void AskInfo(Object[] args)
 {
     Manufacturer    = (string)args[0];
     Engine          = (TEngine)args[1];
     IsHaveParachute = (bool)args[2];
 }
Пример #22
0
 public Airplane(string Manufacturer, TEngine Engine, bool IsHaveParachute) : base(Manufacturer)
 {
     this.Engine          = Engine;
     this.IsHaveParachute = IsHaveParachute;
     Name = "Airplane";
 }