void Update() { if (messagesTime > 0f) { messagesTime -= Time.unscaledDeltaTime; } if (messagesTime <= 0f) { if (Pending.Count > 0) { messagesTime = PendingTime; GameObject message = Instantiate(LootMessagePrefab); LootMessage l = message.GetComponentInChildren <LootMessage>(); l?.SetItemInfo(Pending[0]); Pending.RemoveAt(0); FloatingMessage f = message.AddComponent <FloatingMessage>(); f.riseSpeed = MessageRiseSpeed; f.cooldown = MessageCooldown; f.fadeout = MessageFadeout; message.transform.SetParent(transform); message.transform.localPosition = Vector3.zero; (message.transform as RectTransform).pivot = new Vector2(1f, 1f); } } }
public void CreateFloatingMessageToExp(int exp, FloatingMessage.FloatingMessageType floatingMessageType) { //フロート表示の生成。 生成位置はtxtTotalExpの位置 FloatingMessage floatingMessage = Instantiate(floatingMessagePrefab, txtTotalExp.transform, false); //生成したフロート表示の設定用メソッドを実行。引数としてExp値とフロート表示の種類を指定して渡す floatingMessage.DisplayFloatingMessage(exp, floatingMessageType); }
/// <summary> /// バレットの攻撃力値分のフロート表示の生成 /// </summary> /// <param name="bullletPower"></param> private void CreateFloatingMessageToBulletPower(int bullletPower, bool isWeekness) { //フロート表示の生成。生成位置はEnemySetオブジェクト内のFloatingMessageTranオブジェクトの位置 FloatingMessage floatingMessage = Instantiate(floatingMessagePrefab, floatingDamageTran, false); //生成下フロート表示の設定用メソッドを実行。引数としてバレットの攻撃値とフロート表示の種類を指定して渡す floatingMessage.DisplayFloatingMessage(bullletPower, FloatingMessage.FloatingMessageType.EnemyDamage, isWeekness); }
private void CreateFloatingMessageToDamage(int damage, bool isWeekness) { //フロート表示の生成。生成位置はDefenceBaseオブジェクトないのtxtDutabilityオブジェクトの位置 FloatingMessage floatingMessage = Instantiate(floatingMessagePrefab, floatingDamageTran, false); //生成したフロート表設定用のメソッドを実行。引数として、エネミーからのダメージ値とフロート表示の種類を指定して渡す floatingMessage.DisplayFloatingMessage(damage, FloatingMessage.FloatingMessageType.PlayerDamage, isWeekness); }
private void Awake() { Messaging.GUI.ClearDynamicGUI.AddListener(() => { foreach (Transform child in transform) { Destroy(child.gameObject); } }); Messaging.GUI.ScreenMessage.AddListener((text, color) => { if (string.IsNullOrEmpty(text)) { return; } //move previous messages up to make room if (messagesTime > 0f) { foreach (FloatingMessage m in GetComponentsInChildren <FloatingMessage>()) { m.transform.position += Vector3.up * messagesTime * MessageRiseSpeed * 1.25f; } } messagesTime = 1f; GameObject message = Instantiate(FloatingTextPrefab); Text t = message.GetComponent <Text>(); t.text = text; t.color = color; FloatingMessage f = message.AddComponent <FloatingMessage>(); f.riseSpeed = MessageRiseSpeed; f.cooldown = MessageCooldown; f.fadeout = MessageFadeout; message.transform.SetParent(transform); message.transform.localPosition = Vector3.zero; (message.transform as RectTransform).pivot = new Vector2(0f, 1f); }); }