public void StartSelection(PlatformType type, Material material, float extrudeLength) { if (m_state != State.Idle) { return; } m_platformType = type; CreateNewObject(material); m_selection.Reset(); switch (m_platformType) { case PlatformType.Raised: m_selection.SetPattern(70, m_selection.defaultPattern); m_extrudeLength = extrudeLength; break; case PlatformType.Floating: m_selection.SetPattern(1, new IVector3[] { new IVector3(0, 0) }); m_extrudeLength = extrudeLength; // 0.03f; break; case PlatformType.Wall: IVector3[] wallPattern = { new IVector3(-1, 0), new IVector3(0, 0), new IVector3(+1, 0) }; m_selection.SetPattern(wallPattern.Length, wallPattern); m_selection.SetWallMode(true); m_extrudeLength = extrudeLength; break; } m_state = State.Select; Debug.Log("Start selection"); }