feature: Message behaviour separation

This commit is contained in:
Gerard Gascón 2024-01-26 20:44:43 +01:00
parent c66047cd26
commit 4b5689a283
7 changed files with 72 additions and 12 deletions

View file

@ -11,6 +11,7 @@ GameObject:
- component: {fileID: 5034134452723103632}
- component: {fileID: 5443779664744389533}
- component: {fileID: 7160386019866200041}
- component: {fileID: -6056302822753658535}
m_Layer: 5
m_Name: Message
m_TagString: Untagged
@ -75,3 +76,15 @@ MonoBehaviour:
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!114 &-6056302822753658535
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3730343923350390943}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: d8cc3fce6c7f415fa982510d4778f914, type: 3}
m_Name:
m_EditorClassIdentifier:

View file

@ -173,7 +173,7 @@ MonoBehaviour:
m_EditorClassIdentifier:
maxVisibleMessages: 3
messageHeight: 16
messagePrefab: {fileID: 3730343923350390943, guid: 6bf006df27e33a24088a28c9d46dbb43, type: 3}
messagePrefab: {fileID: -6056302822753658535, guid: 6bf006df27e33a24088a28c9d46dbb43, type: 3}
--- !u!1 &1284257431
GameObject:
m_ObjectHideFlags: 0
@ -367,8 +367,9 @@ GameObject:
- component: {fileID: 1759599503}
- component: {fileID: 1759599502}
- component: {fileID: 1759599501}
- component: {fileID: 1759599505}
m_Layer: 5
m_Name: Mobile
m_Name: TextCanvas
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
@ -457,6 +458,19 @@ RectTransform:
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0, y: 0}
--- !u!114 &1759599505
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1759599500}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 7f1284442a5c4154b8d794493ae14b5e, type: 3}
m_Name:
m_EditorClassIdentifier:
messageStructureGenerator: {fileID: 1079303793}
--- !u!1660057539 &9223372036854775807
SceneRoots:
m_ObjectHideFlags: 0

View file

@ -0,0 +1,12 @@
using System;
using UnityEngine;
namespace Messaging {
public class Message : MonoBehaviour{
public RectTransform RectTransform { private set; get; }
private void Awake() {
RectTransform = GetComponent<RectTransform>();
}
}
}

View file

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: d8cc3fce6c7f415fa982510d4778f914
timeCreated: 1706297952

View file

@ -0,0 +1,14 @@
using System;
using UnityEngine;
namespace Messaging {
public class MessageManager : MonoBehaviour{
[SerializeField] private MessageStructureGenerator messageStructureGenerator;
private Message[] _messages;
private void Awake() {
_messages = messageStructureGenerator.GenerateMessages();
}
}
}

View file

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 7f1284442a5c4154b8d794493ae14b5e
timeCreated: 1706297692

View file

@ -1,3 +1,4 @@
using System.Collections.Generic;
using UnityEngine;
namespace Messaging {
@ -6,21 +7,21 @@ namespace Messaging {
[SerializeField, Min(0)] private int maxVisibleMessages = 3;
[SerializeField, Min(0)] private int messageHeight = 16;
[SerializeField] private RectTransform messagePrefab;
private void Awake() {
GenerateMessages();
}
[SerializeField] private Message messagePrefab;
private void GenerateMessages() {
public Message[] GenerateMessages() {
List<Message> messages = new();
for (int i = 0; i < maxVisibleMessages; i++) {
GenerateMessage(i * messageHeight);
Message message = GenerateMessage(i * messageHeight);
messages.Add(message);
}
return messages.ToArray();
}
private void GenerateMessage(int offsetY) {
RectTransform message = Instantiate(messagePrefab, Vector2.zero, Quaternion.identity, transform);
message.anchoredPosition = new Vector2(0, -offsetY);
private Message GenerateMessage(int offsetY) {
Message message = Instantiate(messagePrefab, Vector2.zero, Quaternion.identity, transform);
message.RectTransform.anchoredPosition = new Vector2(0, -offsetY);
return message;
}
}
}