2021년 4학년 1학기 기업연계프로젝트2 컴퓨터소프트웨어공학과 <원광투어팀> 팀장 : 송유진 팀원 : 김나영, 이경희, 한유진
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

45 lines
1.4 KiB

using HTC.UnityPlugin.Utility;
using System.Collections.Generic;
using UnityEngine;
public class PlayGroundManager : MonoBehaviour
{
private static List<Draggable> draggablesCache = new List<Draggable>();
private Dictionary<int, RigidPose> poseTable = new Dictionary<int, RigidPose>();
private void Awake()
{
draggablesCache.Clear();
GetComponentsInChildren(draggablesCache);
for (int i = 0, imax = draggablesCache.Count; i < imax; ++i)
{
var dt = draggablesCache[i].transform;
poseTable[dt.GetInstanceID()] = new RigidPose(dt);
}
draggablesCache.Clear();
}
public void ResetPositions()
{
draggablesCache.Clear();
GetComponentsInChildren(draggablesCache);
for (int i = 0, imax = draggablesCache.Count; i < imax; ++i)
{
var dt = draggablesCache[i].transform;
RigidPose pose;
if (poseTable.TryGetValue(dt.GetInstanceID(), out pose))
{
dt.position = pose.pos;
dt.rotation = pose.rot;
var rb = dt.GetComponent<Rigidbody>();
if (rb != null)
{
rb.velocity = Vector3.zero;
rb.angularVelocity = Vector3.zero;
}
}
}
draggablesCache.Clear();
}
}