Roman 3c682117f3 任务:搭建第一关的框架
场景【第一关】
1.加入任务书的交互,交互键打开任务书,键盘【K】退出、手柄【B】退出
2.加入轰炸区、并做好适配。
3.啧,由于轰炸区的高度写了屎山代码,现在只能把对高度的适配这个参数还给轰炸区,再在场景中的轰炸区进行适配。
4.布置电话线断处(共六处)
5.优化电话线断除脚本,使其能够自己找到修电话线的UI
6.给电话线断处加上结束事件,因为有一条电话线修好后需要炸毁前面的石头
7.创建游戏物体【石头】
8.给石头添加控制脚本。
9.创建并编写事件【当修好第一个电话线】,召唤一枚炮弹砸向石头,石头检测到炮弹后销毁自己和炮弹,并在原地生成一个投掷物堆。
10.给炮弹加上标识,不是特殊的炮弹砸不烂石头。

下班,就剩9天了……😔
2021-08-18 00:50:19 +08:00

98 lines
3.7 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEditor;
public class IndexRecoder : MonoBehaviour
{
//策划接口类储存了所有易变的数值每一项都写了toolTip谁叫我是小棉袄呢❤对了电报的字典也写在这里
// Start is called before the first frame update
[Tooltip("角色普通移动速度")]
public float playerMoveSpeed;//角色普通移动速度
[Tooltip("角色跳跃力度")]
public float playerJumpSpeed;//角色跳跃力度
[Tooltip("角色跑步的时候,速度是普通状态的多少倍")]
public float runSpeedMultiple;//角色跑步的时候,速度是普通状态的多少倍
[Tooltip("判定输入为点还是横线的界限时间")]
public float dotRoLineTime;//判定输入为点还是横线的界限时间
public Dictionary<string, string> codeBook = new Dictionary<string, string>();//摩尔斯电码字典
[Tooltip("角色修复电话线需要多长时间")]
public float TelephoneNeedTime;//角色修复电话线需要多长时间
[Tooltip("炮弹生成的最小时间间隔")]
public float bombingAreaMinimumTimeInterval;
[Tooltip("炮弹生成的最大时间间隔")]
public float bombingAreaMaximumTimeInterval;
[Tooltip("生成炮弹位置离玩家的最大偏移量")]
public float bombingAreaMaxOffSetOfShell;
[Tooltip("生成炮弹的高度")]
public float bombingAreaShellHeight;
[Tooltip("炮弹的下落速度")]
public float shellSpeed;
[Tooltip("炮弹的下落时间")]
public float shellFallingTime;
[Tooltip("炮弹阴影的震动幅度")]
public float shellShadowRangeOfChange;
// [Tooltip("炮弹阴影的Y值偏移")]
// public float shellShadowPositionYOffSet;
[Tooltip("玩家投掷角度变化的速度")]
public float rateOfChangeOfThrowingAngle;
[Tooltip("抛出投掷物的力度")]
public float strengthOfThrowing;
[SerializeField][Tooltip("演出名称,这个不给你改,这个是我做多态用的,在这里只读")][ReadOnly]
public string stageName;
[Tooltip("CG的淡入淡出时间")]
public float CGFadeTime;
void Start()
{
//Destroy(FindObjectOfType<IndexRecoder>().gameObject);
GameObject.DontDestroyOnLoad(gameObject);
//开发者捷径
codeBook.Add("..--.","864246511");
codeBook.Add("--..-","02948");
//
codeBook.Add(".----","1");
codeBook.Add("..---","2");
codeBook.Add("...--","3");
codeBook.Add("....-","4");
codeBook.Add(".....","5");
codeBook.Add("-....","6");
codeBook.Add("--...","7");
codeBook.Add("---..","8");
codeBook.Add("----.","9");
codeBook.Add("-----","0");
stageName = "序章-家中-已打码";
}
// Update is called once per frame
void Update()
{
}
//修改演出名称的函数,在游戏流程推进的时候用
public void ChangeStageName(string newName){stageName = newName;}
//制造一个只读的变量,不要动这些
public class ReadOnlyAttribute : PropertyAttribute{}
[CustomPropertyDrawer(typeof(ReadOnlyAttribute))]
public class ReadOnlyDrawer : PropertyDrawer
{
public override float GetPropertyHeight(SerializedProperty property, GUIContent label)
{
return EditorGUI.GetPropertyHeight(property, label, true);
}
public override void OnGUI(Rect position, SerializedProperty property, GUIContent label)
{
GUI.enabled = false;
EditorGUI.PropertyField(position, property, label, true);
GUI.enabled = true;
}
}
//
}