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); } }
public void RegisterEngine(TEngine engine) { if (engine != null && engines.FindIndex(e => e.id == engine.id) < 0) { engines.Add(engine); } }
public static Transform[] GetAllChildByName(Transform ts, string name) { List <Transform> list = new List <Transform>(); TEngine.GetChildByName(ts, name, ref list); return(list.ToArray()); }
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); }
public static void EnableObject(Transform pf, bool v) { pf.gameObject.SetActive(v); foreach (Transform pf2 in pf) { TEngine.EnableObject(pf2, v); } }
public static void SetLayer(Transform ts, LayerMask layer) { if (!(ts == null)) { ts.gameObject.layer = layer; foreach (Transform ts2 in ts) { TEngine.SetLayer(ts2, layer); } } }
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); } }
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(); } } }
public void UnregisterEngine(TEngine engine) { if (engine == null) { return; } var index = engines.FindIndex(e => e.id == engine.id); if (index >= 0) { engines.RemoveAt(index); } }
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); } } }
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(); } } } }
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(); } } } }
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); }
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); }
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); } } } }
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); }
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); }
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; } } }
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); } } }
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); } } }
public override void AskInfo(Object[] args) { Manufacturer = (string)args[0]; Engine = (TEngine)args[1]; IsHaveParachute = (bool)args[2]; }
public Airplane(string Manufacturer, TEngine Engine, bool IsHaveParachute) : base(Manufacturer) { this.Engine = Engine; this.IsHaveParachute = IsHaveParachute; Name = "Airplane"; }