Example #1
0
    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);
            }
        }
    }
Example #2
0
    public void CreateFloatingMessageToExp(int exp, FloatingMessage.FloatingMessageType floatingMessageType)
    {
        //フロート表示の生成。 生成位置はtxtTotalExpの位置
        FloatingMessage floatingMessage = Instantiate(floatingMessagePrefab, txtTotalExp.transform, false);

        //生成したフロート表示の設定用メソッドを実行。引数としてExp値とフロート表示の種類を指定して渡す
        floatingMessage.DisplayFloatingMessage(exp, floatingMessageType);
    }
Example #3
0
    /// <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);
    }
Example #4
0
    private void CreateFloatingMessageToDamage(int damage, bool isWeekness)
    {
        //フロート表示の生成。生成位置はDefenceBaseオブジェクトないのtxtDutabilityオブジェクトの位置
        FloatingMessage floatingMessage = Instantiate(floatingMessagePrefab, floatingDamageTran, false);

        //生成したフロート表設定用のメソッドを実行。引数として、エネミーからのダメージ値とフロート表示の種類を指定して渡す
        floatingMessage.DisplayFloatingMessage(damage, FloatingMessage.FloatingMessageType.PlayerDamage, isWeekness);
    }
Example #5
0
    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);
        });
    }