public void CastSpell(UInt32 nID) { Unity.Logout.Log("FireWeapon::CastSpell:nID=" + nID); if (gameObject == null) { return; } if (_FireConditions.Count <= 0) { return; } foreach (var condition in _FireConditions[nID]) { if (!condition.CanFire(_Weapons[nID])) { return; } } _Weapons[nID].Duration = _Weapons[nID].CooldownTime; myship.PlaySparksEffect(); weapon_parent = Trans.FindObj(gameObject, "weapon_born_" + nID); if (weapon_parent == null) { Debug.LogError("not found " + "weapon_born_" + nID); } string logStr = "FireWeapon::CastSpell: " + "position:" + weapon_parent.transform.position + ",eulerAngles:" + weapon_parent.transform.eulerAngles + ",forward:" + weapon_parent.transform.forward; Debug.Log(logStr); Unity.Logout.Log(logStr); KBEngine.Event.fireIn("useWeapon", weapon_parent.transform.position, weapon_parent.transform.eulerAngles, weapon_parent.transform.forward, nID); GameObject BarObj = Trans.FindObj(Camera.main.gameObject, _Weapons[nID].BarNode); if (BarObj != null) { Progressbar BarScript = BarObj.GetComponent <Progressbar>(); BarScript.Progressbar_WeaponBronEvent(_Weapons[nID]); } }