Пример #1
0
    public void EditorCreateDataEnd()
    {
        if (mCreateDataJob == null || mCreateDataJob.QuadTrees == null)
        {
            return;
        }
        PillarSetting setting = mCreateDataJob.CreateSetting();

        //finaliz the tree data
        for (int i = 0; i < mCreateDataJob.QuadTrees.Length; ++i)
        {
            QuadTreeNodeSerializable node        = (QuadTreeNodeSerializable)mCreateDataJob.QuadTrees[i];
            QuadTreeBase             replaceLeaf = QuadTreeNode.CombineTree(node, 0.5f * mCreateDataJob.sliceSize[0],
                                                                            0.5f * mCreateDataJob.sliceSize[1], mCreateDataJob.heightPerGrade, mCreateDataJob.slopeErr);
            if (replaceLeaf != null)
            {
                mCreateDataJob.QuadTrees[i] = replaceLeaf;
            }
        }
        //
        string path = string.Format("{0}/MightyPillar/Resources/{1}.bytes", Application.dataPath, DataName);

        MPFileUtil.SaveData(path, setting, mCreateDataJob.QuadTrees);
        MPDataDisplayer displayer = gameObject.GetComponent <MPDataDisplayer>();

        if (displayer != null)
        {
            displayer.OnCreatorRegenData();
        }
    }
Пример #2
0
    public PillarSetting CreateSetting()
    {
        PillarSetting setting = new PillarSetting();

        setting.heightPerGrade = heightPerGrade;
        setting.heightValRange = heightValRange;
        setting.maxX           = maxX;
        setting.maxZ           = maxZ;
        setting.subdivision    = subdivision;
        setting.center         = center;
        setting.sliceSize      = sliceSize;
        setting.slopeErr       = slopeErr;
        return(setting);
    }