public void Init(RealIvyWindow realIvyProWindow, InfoPool infoPool) { //instance = (RealIvyProTools)EditorWindow.GetWindow(typeof(RealIvyProTools)); //this.realIvyProWindow = realIvyProWindow; this.infoPool = infoPool; modePaint = new ModePaint(); modePaint.realIvyProWindow = realIvyProWindow; modeMove = new ModeMove(); modeSmooth = new ModeSmooth(); modeRefine = new ModeRefine(); modeOptimize = new ModeOptimize(); modeCut = new ModeCut(); modeDelete = new ModeDelete(); modeShave = new ModeShave(); modeAddLeaves = new ModeAddLeaves(); windowSkin = RealIvyWindow.windowSkin; modePaintTex = (Texture2D)AssetDatabase.LoadAssetAtPath(AssetDatabase.GUIDToAssetPath("7433ea681d2ea9a43a91283aec7779dc"), typeof(Texture2D)); modeMoveTex = (Texture2D)AssetDatabase.LoadAssetAtPath(AssetDatabase.GUIDToAssetPath("baa7fb0fea158214195003054cbdc848"), typeof(Texture2D)); modeSmoothTex = (Texture2D)AssetDatabase.LoadAssetAtPath(AssetDatabase.GUIDToAssetPath("da81d4c81a2ef904cb9ec2f020f9f0e4"), typeof(Texture2D)); modeRefineTex = (Texture2D)AssetDatabase.LoadAssetAtPath(AssetDatabase.GUIDToAssetPath("58c807f93561e014ba108036e7ac3788"), typeof(Texture2D)); modeOptimizeTex = (Texture2D)AssetDatabase.LoadAssetAtPath(AssetDatabase.GUIDToAssetPath("d901243b259e1fb40883227b5a342b16"), typeof(Texture2D)); modeCutTex = (Texture2D)AssetDatabase.LoadAssetAtPath(AssetDatabase.GUIDToAssetPath("be698aee7a1cd6e4bbac6ef223909851"), typeof(Texture2D)); modeDeleteTex = (Texture2D)AssetDatabase.LoadAssetAtPath(AssetDatabase.GUIDToAssetPath("4cd137b68f1323f4484094d30b90f926"), typeof(Texture2D)); modeShaveTex = (Texture2D)AssetDatabase.LoadAssetAtPath(AssetDatabase.GUIDToAssetPath("46994a3c472a4d142964853d08614149"), typeof(Texture2D)); modeAddLeavesTex = (Texture2D)AssetDatabase.LoadAssetAtPath(AssetDatabase.GUIDToAssetPath("4845df643447cae4499501434c4147b4"), typeof(Texture2D)); downArrowTex = (Texture2D)AssetDatabase.LoadAssetAtPath(AssetDatabase.GUIDToAssetPath("8ee6aee77df7d3e4485148aa889f9b6b"), typeof(Texture2D)); upArrowTex = (Texture2D)AssetDatabase.LoadAssetAtPath(AssetDatabase.GUIDToAssetPath("47e4d534b75170047b81b09581c4f3d9"), typeof(Texture2D)); FillGUIContent(); RealIvyProWindowController.OnIvyGoCreated += OnIvyGoCreated; }
public void Setup(InfoPool infoPool, MeshFilter meshFilter, MeshRenderer meshRenderer, IvyPreset originalPreset) { this.infoPool = infoPool; this.meshFilter = meshFilter; this.meshRenderer = meshRenderer; this.originalPreset = originalPreset; }
public void ModifyIvy(IvyInfo ivyInfo) { this.currentIvyInfo = ivyInfo; this.selectedPreset = ivyInfo.originalPreset; this.infoPool = ivyInfo.infoPool; this.infoPool.ivyContainer.ivyGO = ivyInfo.gameObject; this.mf = ivyInfo.meshFilter; this.mr = ivyInfo.meshRenderer; this.ivyGO = ivyInfo.gameObject; this.infoPool.growth.growing = false; this.infoPool.ivyParameters.branchesMaterial = this.mr.sharedMaterials[0]; ivyParametersGUI.CopyFrom(infoPool.ivyParameters); infoPool.meshBuilder.InitLeavesData(); }
public InfoPool CreateNewIvy(IvyParameters ivyParameters) { infoPool = ScriptableObject.CreateInstance <InfoPool>(); infoPool.ivyContainer = ScriptableObject.CreateInstance <IvyContainer>(); infoPool.ivyContainer.branches = new List <BranchContainer>(); infoPool.ivyParameters = ivyParameters; infoPool.ivyParameters.UV2IslesSizes = new Dictionary <int, Vector2>(); infoPool.growth = ScriptableObject.CreateInstance <EditorIvyGrowth>(); infoPool.growth.infoPool = infoPool; infoPool.meshBuilder = ScriptableObject.CreateInstance <EditorMeshBuilder>(); infoPool.meshBuilder.infoPool = infoPool; infoPool.meshBuilder.ivyMesh = new Mesh(); RealIvyWindow.realIvyProToolsWindow.infoPool = infoPool; return(infoPool); }
public void Init(InfoPool infoPool, MeshFilter mf, RealIvyTools proToolsWindow) { this.infoPool = infoPool; this.mf = mf; this.proToolsWindow = proToolsWindow; }
public LeafPoint AddRandomLeaf(Vector3 pointWS, BranchPoint initSegment, BranchPoint endSegment, int leafIndex, InfoPool infoPool) { int chosenLeave = UnityEngine.Random.Range(0, infoPool.ivyParameters.leavesPrefabs.Length); Vector3 forward = initSegment.initialGrowDir; float lpLength = initSegment.length + Vector3.Distance(pointWS, initSegment.point); LeafPoint res = InsertLeaf(pointWS, lpLength, forward, -initSegment.grabVector, chosenLeave, leafIndex, initSegment, endSegment); return(res); }