System.Collections.Genericを使用しました。
UnityEngineを使用しました。
/// <要約>オブジェクトの線が描かれている</要約>
パブリッククラスObjectDrawline:MonoBehaviour
{
#regionデータAFFIRM
プライベートLineRenderer lineRender = NULL;
プライベートリスト<のVector3> linePoints =新しいリスト<のVector3>();
プライベートリスト<ゲームオブジェクト> TARGETLIST =新しいリスト<ゲームオブジェクト>();
プライベートブール値isDisplay =偽;
#endregion
#region Untiy機能
プライベート無効アップデート()
{
場合(!isDisplay && lineRender = null)のUpdatPosition();
}
#endregion
#regionパブリック関数
公共ボイドの作成(BOOL isDisplay =偽、フロートラインサイズ= 1、材料物質= NULL)
{
this.isDisplay = isDisplay。
lineRender = gameObject.AddComponent <LineRenderer>();
セット(LINESIZE、材料);
}
公共ボイドセット(フロートラインサイズ、材質材料= NULL)
{
IF(lineRender == NULL)のリターン;
lineRender.startWidth = LINESIZE。
lineRender.endWidth = LINESIZE。
lineRender.materialは材料=。
}
ます。public voidショー()
{
場合(lineRender == nullの)リターン。
isDisplay =はtrue。
lineRender.enabled = isDisplay。
}
ます。public void HID()
{
場合(lineRender == nullの)リターン。
isDisplay = falseは、
lineRender.enabled = isDisplay。
}
公共ボイドクリア()
{
linePoints.Clear()。
targetList.Clear();
}
公共のボイドの追加(ゲームオブジェクトのターゲット)
{
targetList.Add(ターゲット)。
}
公共のボイドの削除(ゲームオブジェクトのターゲット)
{
targetList.Remove(ターゲット)。
}
削除公共ボイド()
{
(ゲームオブジェクト)を破壊します。
}
#endregion
#regionプライベート関数
プライベートボイドUpdatPosition()
{
IF(TARGETLIST == NULL || targetList.Count <2)リターン。
linePoints.Clear();
以下のために(INT iが= 0; I <targetList.Count; I ++)
{
IF(!TARGETLIST [I] = NULL)linePoints.Add(TARGETLIST [I] .transform.position)。
}
lineRender.SetPositions(linePoints.ToArray())。
}
#endregion
}
ユニティQQ交換基:299人の412 191学生はユニティ金利への参加を歓迎しています。