public Area CreateArea(Vector3 pos, Vector3 rot, float fWidth, float fHeight, float fDepth, int iLife, Color c) { Area newArea = new Area(); if (newArea.Init(pos, rot, fWidth, fHeight, fDepth, iLife, c)) { m_Areas.Add(newArea); return newArea; } return null; }
public bool Init(Circuit c, string model_name, Vector3 pos, Vector3 rot, bool reversed, int iIndex) { bool bInitOk = true; if (model_name != null) { bInitOk = Load(model_name); } if (bInitOk) { m_vPosition = pos; m_vRotation = rot; m_iIndex = iIndex; m_Circuit = c; m_vDirection = reversed ? -1 * GetForward() : GetForward(); m_Area = CollisionManager.GetInstance().CreateArea(pos, rot, 10000, 1000, 100, -1, m_iIndex == 0? Color.Green : Color.Red); bInitOk = m_Area != null; if (bInitOk) m_Area.RegisterObserver(this); } return bInitOk; }