add timer
This commit is contained in:
parent
e14bf163c5
commit
f77c60b67c
|
|
@ -965,6 +965,136 @@ SpriteRenderer:
|
|||
m_WasSpriteAssigned: 1
|
||||
m_MaskInteraction: 0
|
||||
m_SpriteSortPoint: 0
|
||||
--- !u!1001 &470047097
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 2
|
||||
m_Modification:
|
||||
m_TransformParent: {fileID: 987137220}
|
||||
m_Modifications:
|
||||
- target: {fileID: 4337906542777032001, guid: a768b64223c5940c2b597bf37dd8fa92,
|
||||
type: 3}
|
||||
propertyPath: m_Pivot.x
|
||||
value: 0.5
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4337906542777032001, guid: a768b64223c5940c2b597bf37dd8fa92,
|
||||
type: 3}
|
||||
propertyPath: m_Pivot.y
|
||||
value: 0.5
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4337906542777032001, guid: a768b64223c5940c2b597bf37dd8fa92,
|
||||
type: 3}
|
||||
propertyPath: m_RootOrder
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4337906542777032001, guid: a768b64223c5940c2b597bf37dd8fa92,
|
||||
type: 3}
|
||||
propertyPath: m_AnchorMax.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4337906542777032001, guid: a768b64223c5940c2b597bf37dd8fa92,
|
||||
type: 3}
|
||||
propertyPath: m_AnchorMax.y
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4337906542777032001, guid: a768b64223c5940c2b597bf37dd8fa92,
|
||||
type: 3}
|
||||
propertyPath: m_AnchorMin.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4337906542777032001, guid: a768b64223c5940c2b597bf37dd8fa92,
|
||||
type: 3}
|
||||
propertyPath: m_AnchorMin.y
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4337906542777032001, guid: a768b64223c5940c2b597bf37dd8fa92,
|
||||
type: 3}
|
||||
propertyPath: m_SizeDelta.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4337906542777032001, guid: a768b64223c5940c2b597bf37dd8fa92,
|
||||
type: 3}
|
||||
propertyPath: m_SizeDelta.y
|
||||
value: 92
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4337906542777032001, guid: a768b64223c5940c2b597bf37dd8fa92,
|
||||
type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4337906542777032001, guid: a768b64223c5940c2b597bf37dd8fa92,
|
||||
type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4337906542777032001, guid: a768b64223c5940c2b597bf37dd8fa92,
|
||||
type: 3}
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4337906542777032001, guid: a768b64223c5940c2b597bf37dd8fa92,
|
||||
type: 3}
|
||||
propertyPath: m_LocalRotation.w
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4337906542777032001, guid: a768b64223c5940c2b597bf37dd8fa92,
|
||||
type: 3}
|
||||
propertyPath: m_LocalRotation.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4337906542777032001, guid: a768b64223c5940c2b597bf37dd8fa92,
|
||||
type: 3}
|
||||
propertyPath: m_LocalRotation.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4337906542777032001, guid: a768b64223c5940c2b597bf37dd8fa92,
|
||||
type: 3}
|
||||
propertyPath: m_LocalRotation.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4337906542777032001, guid: a768b64223c5940c2b597bf37dd8fa92,
|
||||
type: 3}
|
||||
propertyPath: m_AnchoredPosition.x
|
||||
value: 42
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4337906542777032001, guid: a768b64223c5940c2b597bf37dd8fa92,
|
||||
type: 3}
|
||||
propertyPath: m_AnchoredPosition.y
|
||||
value: -36
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4337906542777032001, guid: a768b64223c5940c2b597bf37dd8fa92,
|
||||
type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4337906542777032001, guid: a768b64223c5940c2b597bf37dd8fa92,
|
||||
type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4337906542777032001, guid: a768b64223c5940c2b597bf37dd8fa92,
|
||||
type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4337906542777032002, guid: a768b64223c5940c2b597bf37dd8fa92,
|
||||
type: 3}
|
||||
propertyPath: m_Name
|
||||
value: Icon_Coin
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4337906542777032002, guid: a768b64223c5940c2b597bf37dd8fa92,
|
||||
type: 3}
|
||||
propertyPath: m_IsActive
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents: []
|
||||
m_SourcePrefab: {fileID: 100100000, guid: a768b64223c5940c2b597bf37dd8fa92, type: 3}
|
||||
--- !u!224 &470047098 stripped
|
||||
RectTransform:
|
||||
m_CorrespondingSourceObject: {fileID: 4337906542777032001, guid: a768b64223c5940c2b597bf37dd8fa92,
|
||||
type: 3}
|
||||
m_PrefabInstance: {fileID: 470047097}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!1 &515787033
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
|
@ -1835,6 +1965,123 @@ MonoBehaviour:
|
|||
m_OnValueChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
--- !u!1 &987137219
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 987137220}
|
||||
- component: {fileID: 987137224}
|
||||
- component: {fileID: 987137223}
|
||||
- component: {fileID: 987137222}
|
||||
- component: {fileID: 987137221}
|
||||
m_Layer: 5
|
||||
m_Name: StockCoin (1)
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &987137220
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 987137219}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children:
|
||||
- {fileID: 470047098}
|
||||
- {fileID: 1801643597}
|
||||
m_Father: {fileID: 2098933369}
|
||||
m_RootOrder: 4
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 1, y: 1}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
m_AnchoredPosition: {x: -26, y: -39}
|
||||
m_SizeDelta: {x: 0, y: 74}
|
||||
m_Pivot: {x: 1, y: 1}
|
||||
--- !u!114 &987137221
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 987137219}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Padding:
|
||||
m_Left: 42
|
||||
m_Right: 30
|
||||
m_Top: -10
|
||||
m_Bottom: 0
|
||||
m_ChildAlignment: 0
|
||||
m_Spacing: 54
|
||||
m_ChildForceExpandWidth: 1
|
||||
m_ChildForceExpandHeight: 1
|
||||
m_ChildControlWidth: 1
|
||||
m_ChildControlHeight: 0
|
||||
m_ChildScaleWidth: 0
|
||||
m_ChildScaleHeight: 0
|
||||
--- !u!114 &987137222
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 987137219}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_HorizontalFit: 2
|
||||
m_VerticalFit: 0
|
||||
--- !u!114 &987137223
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 987137219}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_RaycastTarget: 0
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_Sprite: {fileID: 21300000, guid: ff4d597826f53ac49821fc3d60148965, type: 3}
|
||||
m_Type: 1
|
||||
m_PreserveAspect: 0
|
||||
m_FillCenter: 1
|
||||
m_FillMethod: 4
|
||||
m_FillAmount: 1
|
||||
m_FillClockwise: 1
|
||||
m_FillOrigin: 0
|
||||
m_UseSpriteMesh: 0
|
||||
m_PixelsPerUnitMultiplier: 1
|
||||
--- !u!222 &987137224
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 987137219}
|
||||
m_CullTransparentMesh: 0
|
||||
--- !u!1 &1021083738
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
|
@ -3143,6 +3390,84 @@ Transform:
|
|||
m_Father: {fileID: 1175036174}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &1801643596
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1801643597}
|
||||
- component: {fileID: 1801643599}
|
||||
- component: {fileID: 1801643598}
|
||||
m_Layer: 5
|
||||
m_Name: Text_StockCoin
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &1801643597
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1801643596}
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 987137220}
|
||||
m_RootOrder: 1
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 0, y: 100}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!114 &1801643598
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1801643596}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 351b4ffae35e149bf81549887561d561, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 0.3372549, g: 0.21960784, b: 0.14117648, a: 1}
|
||||
m_RaycastTarget: 1
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_FontData:
|
||||
m_Font: {fileID: 12800000, guid: b5532e9ce15694f55a0893a76a98cd78, type: 3}
|
||||
m_FontSize: 45
|
||||
m_FontStyle: 1
|
||||
m_BestFit: 1
|
||||
m_MinSize: 45
|
||||
m_MaxSize: 45
|
||||
m_Alignment: 4
|
||||
m_AlignByGeometry: 0
|
||||
m_RichText: 1
|
||||
m_HorizontalOverflow: 0
|
||||
m_VerticalOverflow: 0
|
||||
m_LineSpacing: 1
|
||||
m_Text: 12345
|
||||
--- !u!222 &1801643599
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1801643596}
|
||||
m_CullTransparentMesh: 0
|
||||
--- !u!1 &1804772772
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
|
@ -3514,9 +3839,10 @@ MonoBehaviour:
|
|||
m_Script: {fileID: 11500000, guid: 96c2b99ef2e6c42dd998b782def0bd0e, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
speed: 2
|
||||
jumpTime: 0.8
|
||||
jumpHeight: 2
|
||||
speed: 3
|
||||
jumpTime: 1.2
|
||||
jumpHeight: 4
|
||||
timeLimit: 30
|
||||
headerView: {fileID: 2098933370}
|
||||
characterTransform: {fileID: 519190655}
|
||||
--- !u!4 &1870432534
|
||||
|
|
@ -4303,6 +4629,7 @@ RectTransform:
|
|||
- {fileID: 1133979116}
|
||||
- {fileID: 1021083739}
|
||||
- {fileID: 3821169997422944309}
|
||||
- {fileID: 987137220}
|
||||
m_Father: {fileID: 676036207}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
|
|
@ -4324,6 +4651,7 @@ MonoBehaviour:
|
|||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
text: {fileID: 75320963}
|
||||
timeText: {fileID: 1801643598}
|
||||
--- !u!1 &97244992320939076
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
|
|
|||
|
|
@ -19,9 +19,13 @@ namespace MyGame.Scenes.MiniGame.Scripts
|
|||
[SerializeField] private float speed = 1f;
|
||||
[SerializeField] private float jumpTime = .8f;
|
||||
[SerializeField] private float jumpHeight = 2f;
|
||||
[SerializeField] private float timeLimit = 30f;
|
||||
[SerializeField] private HeaderView headerView;
|
||||
[SerializeField] private Transform characterTransform;
|
||||
|
||||
private readonly ReactiveProperty<State> state = new ReactiveProperty<State>();
|
||||
private IDisposable timerDisposable;
|
||||
|
||||
// Start is called before the first frame update
|
||||
private void Start()
|
||||
{
|
||||
|
|
@ -51,6 +55,35 @@ namespace MyGame.Scenes.MiniGame.Scripts
|
|||
Jump();
|
||||
}
|
||||
}).AddTo(this);
|
||||
|
||||
state.Subscribe(x =>
|
||||
{
|
||||
switch (x)
|
||||
{
|
||||
case State.Ready:
|
||||
headerView.ResetView();
|
||||
headerView.ChangeTimeCount(timeLimit);
|
||||
break;
|
||||
case State.Play:
|
||||
timerDisposable?.Dispose();
|
||||
timerDisposable = Observable.Timer(TimeSpan.Zero, TimeSpan.FromSeconds(1f))
|
||||
.Select(time => (int)(timeLimit - time))
|
||||
.TakeWhile(time => time > 0)
|
||||
.Subscribe(time =>
|
||||
{
|
||||
headerView.ChangeTimeCount(time);
|
||||
}, () =>
|
||||
{
|
||||
}).AddTo(this);
|
||||
break;
|
||||
case State.Success:
|
||||
break;
|
||||
case State.Failure:
|
||||
break;
|
||||
default:
|
||||
throw new ArgumentOutOfRangeException(nameof(x), x, null);
|
||||
}
|
||||
}).AddTo(this);
|
||||
|
||||
characterTransform.OnTriggerEnter2DAsObservable().Subscribe(x =>
|
||||
{
|
||||
|
|
|
|||
|
|
@ -8,25 +8,38 @@ namespace MyGame.Scenes.MiniGame.Scripts
|
|||
public class HeaderView : MonoBehaviour
|
||||
{
|
||||
[SerializeField] private Text text;
|
||||
[SerializeField] private Text timeText;
|
||||
private readonly ReactiveProperty<int> itemCount = new ReactiveProperty<int>();
|
||||
private readonly ReactiveProperty<float> timeCount = new ReactiveProperty<float>();
|
||||
|
||||
private void Start()
|
||||
{
|
||||
itemCount.AddTo(this);
|
||||
timeCount.AddTo(this);
|
||||
itemCount.Subscribe(x =>
|
||||
{
|
||||
text.text = $"{x}";
|
||||
}).AddTo(this);
|
||||
timeCount.Subscribe(x =>
|
||||
{
|
||||
timeText.text = $"のこり{x:0}秒";
|
||||
}).AddTo(this);
|
||||
}
|
||||
|
||||
public void ResetView()
|
||||
{
|
||||
itemCount.Value = 0;
|
||||
timeCount.Value = 0;
|
||||
}
|
||||
|
||||
public void AddCount()
|
||||
{
|
||||
itemCount.Value++;
|
||||
}
|
||||
|
||||
public void ChangeTimeCount(float newTime)
|
||||
{
|
||||
timeCount.Value = newTime;
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue