コード例 #1
0
    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");
    }