チュートリアルマネージャ追加 /UnmaskForUGUI追加

This commit is contained in:
kimura 2021-10-26 12:11:15 +09:00
parent a28c1dc2e1
commit da28517151
12 changed files with 403 additions and 1 deletions

View File

@ -0,0 +1,286 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &4293843006989820543
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4293843006989820480}
- component: {fileID: 4293843006989820483}
- component: {fileID: 4293843006989820482}
- component: {fileID: 4293843006989820481}
- component: {fileID: 5131953687285211373}
m_Layer: 0
m_Name: TutorialObjectMask
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &4293843006989820480
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4293843006989820543}
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: 4293843007976718249}
- {fileID: 4293843007207798142}
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &4293843006989820483
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4293843006989820543}
m_CullTransparentMesh: 0
--- !u!114 &4293843006989820482
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4293843006989820543}
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: 0}
m_Type: 0
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!114 &4293843006989820481
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4293843006989820543}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 31a19414c41e5ae4aae2af33fee712f6, type: 3}
m_Name:
m_EditorClassIdentifier:
m_ShowMaskGraphic: 0
--- !u!114 &5131953687285211373
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4293843006989820543}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 4a8efaaa187d4865a1b4cabfa40ab6e9, type: 3}
m_Name:
m_EditorClassIdentifier:
unmask: {fileID: 4293843007976718248}
unMaskImage: {fileID: 4293843007976718250}
--- !u!1 &4293843007207798141
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4293843007207798142}
- component: {fileID: 4293843007207798081}
- component: {fileID: 4293843007207798080}
- component: {fileID: 4293843007207798143}
m_Layer: 0
m_Name: Bg
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &4293843007207798142
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4293843007207798141}
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: 4293843006989820480}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &4293843007207798081
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4293843007207798141}
m_CullTransparentMesh: 0
--- !u!114 &4293843007207798080
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4293843007207798141}
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: 0.14150941, g: 0.10613206, b: 0.10613206, a: 0.49803922}
m_RaycastTarget: 1
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 0}
m_Type: 0
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!114 &4293843007207798143
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4293843007207798141}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 0bb9714b62a114d45b65f30fc946ea5c, type: 3}
m_Name:
m_EditorClassIdentifier:
m_TargetUnmask: {fileID: 4293843007976718248}
--- !u!1 &4293843007976718247
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4293843007976718249}
- component: {fileID: 4293843007976718251}
- component: {fileID: 4293843007976718250}
- component: {fileID: 4293843007976718248}
m_Layer: 0
m_Name: Target
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &4293843007976718249
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4293843007976718247}
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: 4293843006989820480}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 0, y: 441.99997}
m_SizeDelta: {x: 315.57, y: 128}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &4293843007976718251
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4293843007976718247}
m_CullTransparentMesh: 0
--- !u!114 &4293843007976718250
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4293843007976718247}
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: 0}
m_Type: 0
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!114 &4293843007976718248
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4293843007976718247}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f752d3a51152f4e44a3ebe45ae24abcc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_FitTarget: {fileID: 0}
m_FitOnLateUpdate: 0
m_OnlyForChildren: 0
m_ShowUnmaskGraphic: 0

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 1c993e9707f1a4fada56020be27dde28
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1 +1 @@
wOwOWOpFTF81a2W6eVCczUN68fkQDTy0VHi71jNAoZ9mATKUApCNJGNvaQAaa7q5
yceAW8cSmF7HB07QUVN8IRJVaoYqTqoabrvRbtBVziEjOaBbwsuuEKhx2g7Stg7o

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: ca3e6dfa85ed14a3da6f3d663088d0b5
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -97,6 +97,7 @@ GameObject:
- component: {fileID: 7906393928596777865}
- component: {fileID: 7743573513958854474}
- component: {fileID: 7825871007626831899}
- component: {fileID: 7297614168111566820}
m_Layer: 0
m_Name: DontDestroyObject
m_TagString: Untagged
@ -216,6 +217,20 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: f68a23c0272694e4e918abbda26859b7, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!114 &7297614168111566820
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3459593390050872226}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fbc0e4e9e71841f0842cec3ff28fe0ff, type: 3}
m_Name:
m_EditorClassIdentifier:
maskPrefab: {fileID: 5131953687285211373, guid: 1c993e9707f1a4fada56020be27dde28,
type: 3}
--- !u!1 &8739647597683206087
GameObject:
m_ObjectHideFlags: 0

View File

@ -0,0 +1,50 @@
using System;
using System.Collections.Generic;
using System.Linq;
using UnityEngine;
namespace MyGame.Scripts
{
public class TutorialManager : SingletonMonoBehaviour<TutorialManager>
{
/*
* UIMaskをPrefab化
* InstantiateしてTransform設定
* Unmask自体にクリック判定
* Destroy
* Tutorialへ
* BrotherConversationはCompleteにコールバック設定できるのでそのタイミングで次のステップ実行
*
*/
[SerializeField] private TutorialObjectMask maskPrefab;
public int Index => index;
private int index;
private List<BrotherScriptData> scriptList;
private void Start()
{
index = 1;
scriptList = SpreadsheetDataManager.Instance.GetBaseDataList<BrotherScriptData>(Const.TutorialScriptDataSheet);
}
public void ShowTutorialConversation(int id, Action onComplete = null)
{
Debug.Log($"count:{scriptList.Count}");
var list = scriptList.Where(data => data.id == id).ToList();
if (list.Count == 0)
{
return;
}
index = id;
LocalCacheManager.Save(BrotherConversation.CallbackTag, onComplete);
LocalCacheManager.Save(BrotherConversation.ScriptDataTag, list);
TransitionManager.Instance.LoadSceneAdditive(GameScenes.Conversation);
}
public GameObject ShowTutorialMask(Transform parent, RectTransform targetRectTransform)
{
var tutorialObjectMask = Instantiate(maskPrefab, parent);
tutorialObjectMask.SetTarget(targetRectTransform);
return tutorialObjectMask.gameObject;
}
}
}

View File

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: fbc0e4e9e71841f0842cec3ff28fe0ff
timeCreated: 1635141047

View File

@ -0,0 +1,22 @@
using Coffee.UIExtensions;
using UnityEngine;
using UnityEngine.UI;
namespace MyGame.Scripts
{
public class TutorialObjectMask : MonoBehaviour
{
[SerializeField] private Unmask unmask;
[SerializeField] private Image unMaskImage;
public void SetTarget(RectTransform rectTransform)
{
unmask.FitTo(rectTransform);
}
public void SetSprite(Sprite sprite)
{
unMaskImage.sprite = sprite;
}
}
}

View File

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 4a8efaaa187d4865a1b4cabfa40ab6e9
timeCreated: 1635161074

View File

@ -1,5 +1,6 @@
{
"dependencies": {
"com.coffee.unmask": "https://github.com/mob-sakai/UnmaskForUGUI.git",
"com.unity.2d.animation": "3.2.6",
"com.unity.2d.pixel-perfect": "2.1.0",
"com.unity.2d.psdimporter": "2.1.6",

View File

@ -1,5 +1,12 @@
{
"dependencies": {
"com.coffee.unmask": {
"version": "https://github.com/mob-sakai/UnmaskForUGUI.git",
"depth": 0,
"source": "git",
"dependencies": {},
"hash": "bba7df9616502051c4ab993077fb53316fd760a0"
},
"com.unity.2d.animation": {
"version": "3.2.6",
"depth": 0,