任务:流程化游戏

1.实装数据库系统
(1.制作简易opening场景
(2.放置输入框
(3.放置确认按钮
(4.当输入框开启时,若检测到按下某键,触发检查
(5.若检查结果为有该用户,拉取用户信息
(6.若没有,创建一个用户再拉取用户信息
(7.完成善后工作,转移到场景“cun”

*.制作和替换美术素材,增加部分动画

*优化和修复
1.修复佛教前置关掉怪陷阱下落太慢的问题

建议:
1.给普通关卡和村也加上类似Boos的全局shader,目前从关卡间过度的时候能够看出明显的区别
2.建议给地藏敲钟攻击的灰尘加上渐隐,目前是瞬间消失的,十分违和
3.建议给普通的炸弹也加上拖尾,很酷
4.以撒发怒时变红太快了,消散得也太快了
5.以撒鬼魂的粒子也建议加上淡入和淡出

*.

下班
This commit is contained in:
Roman 2021-12-23 18:22:59 +08:00
parent 96843244ae
commit 19a870409a
13 changed files with 1252 additions and 17 deletions

View File

@ -15,6 +15,7 @@ MonoBehaviour:
m_SupportedDevices:
- Gamepad
- Keyboard
- Mouse
m_UpdateMode: 1
m_CompensateForScreenOrientation: 1
m_FilterNoiseOnCurrent: 0

View File

@ -227,6 +227,11 @@ public class PlayerInfo : MonoBehaviour
}
void Start()
{
//
if(FindObjectsOfType<PlayerInfo>().Length > 1)
Destroy(gameObject);
DontDestroyOnLoad(gameObject);
//
LinkInfo = "server="+dataScriptableObject.IP+";" +
"port="+dataScriptableObject.Port+";" +
"database="+dataScriptableObject.Database+";" +

View File

@ -1201,6 +1201,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: f480620f8976fcd419baf4a663e4c733, type: 3}
m_Name:
m_EditorClassIdentifier:
next: {fileID: 0}
count: 1
setPlayerStageTo: 2
type: 0
@ -1242,6 +1243,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 1a22a32dd2b154641919700ff0693743, type: 3}
m_Name:
m_EditorClassIdentifier:
next: {fileID: 0}
count: 1
transType: 0
--- !u!4 &517893777
@ -3037,7 +3039,7 @@ Transform:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1226109627}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0.07186985, y: -1.6228592, z: -10}
m_LocalPosition: {x: 0.07740259, y: -1.6228592, z: -10}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}

1087
Assets/Scenes/Opening.unity Normal file

File diff suppressed because it is too large Load Diff

View File

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

View File

@ -837,6 +837,53 @@ Transform:
m_Father: {fileID: 887930521}
m_RootOrder: 3
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &174036208
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 174036210}
- component: {fileID: 174036209}
m_Layer: 0
m_Name: SQL
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &174036209
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 174036208}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: b1678269c90118544b71508053b12258, type: 3}
m_Name:
m_EditorClassIdentifier:
dataScriptableObject: {fileID: 11400000, guid: 2ec0091ebaee60d43bbb2432421fc39d, type: 2}
uName:
uid: 0
rate: 0
--- !u!4 &174036210
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 174036208}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 378.21985, y: 244.29587, z: -2.1697135}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 15
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &212362834
GameObject:
m_ObjectHideFlags: 0
@ -1858,7 +1905,7 @@ Transform:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 648740582}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: -11.668449, y: 0.91114676, z: -10}
m_LocalPosition: {x: -11.675007, y: 0.91113627, z: -10}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
@ -2015,6 +2062,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 1a22a32dd2b154641919700ff0693743, type: 3}
m_Name:
m_EditorClassIdentifier:
next: {fileID: 0}
count: 1
transType: 0
--- !u!61 &756778376

View File

@ -270,6 +270,9 @@ public class YiSa : Enemy
public override void OnDead(){
state = State.dead;
FindObjectOfType<Transfer>().GetComponent<BoxCollider2D>().enabled = true;
//上传玩家进度
FindObjectOfType<PlayerInfo>().rate = (int) MyPlayer.Progress.;
FindObjectOfType<PlayerInfo>().UpdatePlayerInfo();
}

View File

@ -225,5 +225,8 @@ public class DiZang : Enemy
);
//开启转移块
FindObjectOfType<Transfer>().GetComponent<BoxCollider2D>().enabled = true;
//上传玩家进度
FindObjectOfType<PlayerInfo>().rate = (int) MyPlayer.Progress.;
FindObjectOfType<PlayerInfo>().UpdatePlayerInfo();
}
}

View File

@ -298,6 +298,9 @@ public class TrojanHorse : Enemy, Boomer.I_CanBeBoomedObj
FindObjectOfType<VibrationManager>().inHorseStage = false;
FindObjectOfType<VibrationManager>().StopHorseShakeScream();
FindObjectOfType<Transfer>().GetComponent<BoxCollider2D>().enabled = true;
//上传玩家进度
FindObjectOfType<PlayerInfo>().rate = (int) MyPlayer.Progress.;
FindObjectOfType<PlayerInfo>().UpdatePlayerInfo();
}

View File

@ -0,0 +1,64 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using DG.Tweening;
using Sirenix.OdinInspector;
using UnityEngine.InputSystem;
using UnityEngine.UI;
using UnityEngine.SceneManagement;
public class Opening : MonoBehaviour
{
/// <summary>
/// 文本输入框组件
/// </summary>
private InputField inputField;
private PlayerInfo sql;
void Start(){
Init();
}
private void Init(){
//找到必要的游戏物体和组件
inputField = FindObjectOfType<InputField>();
sql = FindObjectOfType<PlayerInfo>();
}
void Update(){
//检查是否触发确认输入事件
if(CheckComfirm())
StartCoroutine(GetTextAndFindUser());
}
/// <summary>
/// 获取输入框内容,并检查是否有该用户
/// </summary>
private IEnumerator GetTextAndFindUser(){
string inputUserName = inputField.text;
if(sql.hasName(inputUserName)){
//若已存在,拉取其信息
sql.uName = inputUserName;
sql.GetSqlData();
}
else{
//否则创建一个用户,再拉取其信息
sql.CreateUser(inputUserName);
sql.uName = inputUserName;
sql.GetSqlData();
}
//给玩家以数据库的数据
MyPlayer.progress = (MyPlayer.Progress)sql.rate;
//完成后进村
FindObjectOfType<Blcak>().OnCall(Blcak.Type.);
yield return new WaitForSeconds(1f);
SceneManager.LoadScene("cun");
}
private bool CheckComfirm(){
//如果按下此帧按下此二键中的一个
return (Gamepad.current!= null &&
Gamepad.current.buttonSouth.wasPressedThisFrame) ||
Input.GetKeyDown(KeyCode.Return);
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 13cba34a9da7f8a4986753ead29a346c
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -17,6 +17,7 @@ public class CunOpeningStage : Stage
protected override IEnumerator Main(){
//更新玩家进度
MyPlayer.progress = (MyPlayer.Progress)FindObjectOfType<PlayerInfo>().rate;
if(MyPlayer.progress == MyPlayer.Progress.) MyPlayer.progress = MyPlayer.Progress.;
if(MyPlayer.progress == MyPlayer.Progress.) MyPlayer.progress = MyPlayer.Progress.;
if(MyPlayer.progress == MyPlayer.Progress.) MyPlayer.progress = MyPlayer.Progress.;

View File

@ -6,35 +6,35 @@ EditorUserSettings:
serializedVersion: 4
m_ConfigSettings:
RecentlyUsedScenePath-0:
value: 224247031146466b011b0b2b1e301034131a112d25292824620d3207f5e53136d2f539a9c2223e31290eea2f4b1a2e0be50f0c05c60a1e035f1bf30705e6
flags: 0
RecentlyUsedScenePath-1:
value: 224247031146467d18000b37030647111b07142f3f67053f233f1821f1e12031ede979cae83429392b11ee280d310f71e704001fef
flags: 0
RecentlyUsedScenePath-2:
RecentlyUsedScenePath-1:
value: 22424703114646680e0b0227036c6b153a021713251b32312a2c2936f1f47a2decee22f0
flags: 0
RecentlyUsedScenePath-3:
value: 22424703114646680e0b0227036c7b192c16162d1f3c2737281d1820f6ae2136ebf32f
flags: 0
RecentlyUsedScenePath-4:
value: 22424703114646680e0b0227036c791f580216233831
flags: 0
RecentlyUsedScenePath-5:
RecentlyUsedScenePath-2:
value: 22424703114646680e0b0227036c4b150503563f22213229
flags: 0
RecentlyUsedScenePath-6:
RecentlyUsedScenePath-3:
value: 22424703114646680e0b0227036c7519580216233831
flags: 0
RecentlyUsedScenePath-7:
RecentlyUsedScenePath-4:
value: 22424703114646680e0b0227036c6619580216233831
flags: 0
RecentlyUsedScenePath-8:
RecentlyUsedScenePath-5:
value: 22424703114646680e0b0227036c661925162b3e2d2f2304283a097df7ee3d2cfb
flags: 0
RecentlyUsedScenePath-9:
RecentlyUsedScenePath-6:
value: 22424703114646680e0b0227036c791f580216233831
flags: 0
RecentlyUsedScenePath-7:
value: 22424703114646680e0b0227036c7b192c16162d1f3c2737281d1820f6ae2136ebf32f
flags: 0
RecentlyUsedScenePath-8:
value: 22424703114646680e0b0227036c5c0518590d24253c3f
flags: 0
RecentlyUsedScenePath-9:
value: 22424703114646680e0b0227036c7000131911242b66333e243d04
flags: 0
UnityEditor.ShaderGraph.Blackboard:
value: 18135939215a0a5004000b0e15254b524c030a3f2964643d120d1230e9e93a3fd6e826abbd2e2d293c4ead313b08042de6030a0afa240c0d020be94c4ba75e435d8715fa32c70d15d11612dacc11fee5d3c5d1fe9ab1bf968e93e2ffcbc3e7e2f0b3ffe0e8b0be9af8ffaeffff8e85dd8390e3949c8899daa7
flags: 0