Added the lovely and helpful tutorial bot to tutorial mode to further explain basic gameplay

This commit is contained in:
Gregory Campbell
2020-08-09 12:33:19 -04:00
parent 23b25183ab
commit 3552997d0d
2 changed files with 223 additions and 13 deletions
+188 -11
View File
@@ -1125,7 +1125,7 @@ Transform:
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 30
m_RootOrder: 31
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &457258234
GameObject:
@@ -2503,7 +2503,7 @@ Transform:
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 21
m_RootOrder: 22
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &1144941703
GameObject:
@@ -2709,7 +2709,7 @@ Transform:
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 31
m_RootOrder: 32
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &1181772760
MonoBehaviour:
@@ -2967,7 +2967,7 @@ Transform:
m_LocalScale: {x: 0.3, y: 0.4, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 29
m_RootOrder: 30
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &1300204711
GameObject:
@@ -3048,7 +3048,7 @@ Transform:
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 23
m_RootOrder: 24
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &1313470325
GameObject:
@@ -4036,6 +4036,84 @@ AudioSource:
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
--- !u!1 &1505030778
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1505030779}
- component: {fileID: 1505030781}
- component: {fileID: 1505030780}
m_Layer: 5
m_Name: TutorialText
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1505030779
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1505030778}
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: 2055916803}
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: 745, y: 325}
m_SizeDelta: {x: 400, y: 450}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &1505030780
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1505030778}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_FontData:
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
m_FontSize: 32
m_FontStyle: 1
m_BestFit: 0
m_MinSize: 0
m_MaxSize: 300
m_Alignment: 4
m_AlignByGeometry: 0
m_RichText: 1
m_HorizontalOverflow: 0
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: TEST
--- !u!222 &1505030781
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1505030778}
m_CullTransparentMesh: 1
--- !u!1 &1528803801
GameObject:
m_ObjectHideFlags: 0
@@ -4407,7 +4485,7 @@ Transform:
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 25
m_RootOrder: 26
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &1635882673
GameObject:
@@ -4856,7 +4934,7 @@ Transform:
m_LocalScale: {x: 0.5, y: 0.5, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 28
m_RootOrder: 29
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &1789541041
GameObject:
@@ -4937,7 +5015,7 @@ Transform:
m_LocalScale: {x: 0.5, y: 0.5, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 27
m_RootOrder: 28
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &1797600398
GameObject:
@@ -5339,7 +5417,7 @@ Transform:
m_LocalScale: {x: 0.5, y: 0.5, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 26
m_RootOrder: 27
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &1935397210
GameObject:
@@ -5808,8 +5886,107 @@ Transform:
- {fileID: 1989602357}
- {fileID: 2133992576}
m_Father: {fileID: 0}
m_RootOrder: 22
m_RootOrder: 23
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &2055916799
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2055916803}
- component: {fileID: 2055916802}
- component: {fileID: 2055916801}
- component: {fileID: 2055916800}
m_Layer: 5
m_Name: Canvas (6)
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &2055916800
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2055916799}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3}
m_Name:
m_EditorClassIdentifier:
m_IgnoreReversedGraphics: 1
m_BlockingObjects: 0
m_BlockingMask:
serializedVersion: 2
m_Bits: 4294967295
--- !u!114 &2055916801
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2055916799}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3}
m_Name:
m_EditorClassIdentifier:
m_UiScaleMode: 1
m_ReferencePixelsPerUnit: 100
m_ScaleFactor: 1
m_ReferenceResolution: {x: 1920, y: 1080}
m_ScreenMatchMode: 0
m_MatchWidthOrHeight: 0
m_PhysicalUnit: 3
m_FallbackScreenDPI: 96
m_DefaultSpriteDPI: 96
m_DynamicPixelsPerUnit: 5
--- !u!223 &2055916802
Canvas:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2055916799}
m_Enabled: 1
serializedVersion: 3
m_RenderMode: 0
m_Camera: {fileID: 0}
m_PlaneDistance: 100
m_PixelPerfect: 0
m_ReceivesEvents: 1
m_OverrideSorting: 0
m_OverridePixelPerfect: 0
m_SortingBucketNormalizedSize: 0
m_AdditionalShaderChannelsFlag: 0
m_SortingLayerID: 2135489387
m_SortingOrder: 0
m_TargetDisplay: 0
--- !u!224 &2055916803
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2055916799}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0, y: 0, z: 0}
m_Children:
- {fileID: 1505030779}
m_Father: {fileID: 0}
m_RootOrder: 21
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: 0}
m_Pivot: {x: 0, y: 0}
--- !u!1 &2057441938
GameObject:
m_ObjectHideFlags: 0
@@ -6100,7 +6277,7 @@ Transform:
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 24
m_RootOrder: 25
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &2090725431
GameObject:
+35 -2
View File
@@ -99,6 +99,9 @@ public class GMScript : MonoBehaviour
shake = GameObject.FindGameObjectWithTag("ScreenShake").GetComponent<ShakeScript>();
audioPlayer = this.GetComponent<AudioSource>();
Text TutorialText = GameObject.Find("TutorialText").GetComponent<Text>();
TutorialText.text = null;
GameObject.FindGameObjectWithTag("Music").GetComponent<MusicScript>().PlayMusic();
if(PlayerPrefs.GetInt("GameMode") == 0 ||
@@ -235,6 +238,7 @@ public class GMScript : MonoBehaviour
Divider.SetActive(true);
MaxLevelNumber.SetActive(true);
TutorialText.text = null;
if(PlayerPrefs.GetInt("GameMode") == 0)
{
@@ -245,33 +249,62 @@ public class GMScript : MonoBehaviour
{
case 1:
SeedParse(new int[] {0,0,0,0,8,8,8,8,0,3,8,8,8,0});
TutorialText.text = "Hi! :D I'm tutorial bot! I'm here to help you get through the tutorial."+
" Simply pick an attack order for the robots in your party and then click 'Go!' to fight."+
" Get the enemy robots health down to zero to win.";
break;
case 2:
SeedParse(new int[] {0,0,0,0,8,8,8,8,0,4,6,6,6,6,0});
TutorialText.text = "You can also sequence break an enemy by hitting its weakpiont with the correct robot."+
" Hitting a weakpoint does no addition damage, but hitting all weakpoints in a sequence results in an instant victory!";
break;
case 3:
SeedParse(new int[] {0,0,6,0,0,0,0,0,0,3,8,8,8,0});
TutorialText.text = "Each colour has its own strengths and weakness when against other colours."+
" For instance, a reb robot will do no damage agains the red body of an enemy (and vice versa)."+
" I wonder what robot could help in this situation? ;)";
break;
case 4:
SeedParse(new int[] {0,2,0,13,13,8,8,1,11,3,4,8,8,0});
TutorialText.text = "Some robots use abilities instead of attacking."+
" Just be sure to have the sheild robot go last so he doesn't block your attacks!"+
" (Enemy robots can also use abilities if their antenna is the correct colour)";
break;
case 5:
SeedParse(new int[] {0,2,0,12,12,0,8,11,1,3,4,8,8,0});
TutorialText.text = "Heal bot can be used in any part of your attack order unlike sheild bot."+
" My scanners indicate that your orange bot will do less damage than your last fight."+
" I wonder why that is?";
break;
case 6:
SeedParse(new int[] {0,0,0,14,14,8,8,0,0,3,8,8,8,0});
TutorialText.text = "Use buff bot at the beginning of an attack to give your party an attack boost!"+
" Unfotunately, the same ability can be used by your enemy! :O"+
" (However, a buff can't be applied to an attack if it already does no damage)";
break;
case 7:
SeedParse(new int[] {0,0,0,0,8,8,8,8,0,6,6,6,6,6,6,6,0});
TutorialText.text = "Hmmm... I'm getting Déjà vu."+
" Just a quick reminder that some weakpoint sequences can be longer than your number of party members and will require multiple attacks to complete."+
" Not that that information is important for this fight or anything. ;D";
break;
case 8:
SeedParse(new int[] {0,0,6,6,8,8,8,8,0,4,6,6,6,6,3});
TutorialText.text = "Looks like the model of this robot is a different version number."+
" (The version number is the roman numeral on an enemies face.)"+
" Changing the version number will result in completely different strengths and weaknesses for every aspect of an enemy robot!";
break;
case 9:
SeedParse(new int[] {0,0,6,6,8,8,8,6,0,4,0,6,0,6,0});
SeedParse(new int[] {0,11,6,5,8,8,8,6,0,4,0,6,11,5,0});
TutorialText.text = "In the field the enemies you face will do their best to scramble their weakpoint sequences to confuse you."+
" As long as you use your party in the correct order you should be able to sequence break them."+
" Here's an example of what a fight like that might look like.";
break;
case 10:
SeedParse(new int[] {0,4,8,13,8,8,8,0,4,6,6,10,2,6,10,2,0});
SeedParse(new int[] {0,4,8,13,8,8,8,0,4,6,6,2,10,6,2,10,0});
TutorialText.text = "I've taught you everything you need to know! :D"+
" Here's one last battle to prove yourself, good luck with endless and challenge mode!"+
" Now if you'll excuse me, I have to go see a particular magical legume show off their games at a particular game dev meet up ;)";
break;
}