public void ResetPlugin() { m_actorNum = m_actorList.Count; BehaviorPlugin.InitializeBehaviorPlugin(m_actorNum, m_obstacleNum, (int)m_behaviorType); int gainNum = BehaviorPlugin.GetGainNum(); BehaviorPlugin.SetControllerGains(m_gain.GetGainFloatArray(gainNum), gainNum); m_actorDataArray = new BehaviorPlugin.ActorData[m_actorNum]; for (int i = 0; i < m_actorNum; ++i) { m_actorDataArray[i] = new BehaviorPlugin.ActorData(i); m_actorDataArray[i].globalPosition = PluginHelpFunction.Vector3ToFloatArray(m_actorList[i].transform.position); m_actorDataArray[i].globalRotation = PluginHelpFunction.QuaternionToFloatArray(m_actorList[i].transform.rotation); } SetLeader(m_leader); ClearObstacles(); if (m_behaviorType == BehaviorType.AVOID) { GenerateObstacles(); } }