git-svn-id: https://jmonkeyengine.googlecode.com/svn/trunk@10445 75d07b2b-3a1a-0410-a2c5-0572b91ccdca3.0
parent
103b666e06
commit
054458aedf
@ -1,69 +0,0 @@ |
|||||||
/* |
|
||||||
* To change this template, choose Tools | Templates |
|
||||||
* and open the template in the editor. |
|
||||||
*/ |
|
||||||
package com.jme3.gde.materialdefinition.fileStructure.leaves; |
|
||||||
|
|
||||||
import com.jme3.util.blockparser.Statement; |
|
||||||
import java.util.logging.Level; |
|
||||||
import java.util.logging.Logger; |
|
||||||
|
|
||||||
/** |
|
||||||
* |
|
||||||
* @author Nehon |
|
||||||
*/ |
|
||||||
public class InputMappingBlock extends MappingBlock { |
|
||||||
|
|
||||||
protected InputMappingBlock(int lineNumber, String line) { |
|
||||||
super(lineNumber, line); |
|
||||||
} |
|
||||||
|
|
||||||
public InputMappingBlock(Statement sta, String name) { |
|
||||||
this(sta.getLineNumber(), sta.getLine()); |
|
||||||
parse(sta); |
|
||||||
leftNameSpace = name; |
|
||||||
updateLine(); |
|
||||||
} |
|
||||||
|
|
||||||
public InputMappingBlock(String leftVar, String rightVar, String leftVarSwizzle, String rightVarSwizzle, String leftNameSpace,String rightNameSpace, String condition) { |
|
||||||
super(0, ""); |
|
||||||
this.leftVar = leftVar; |
|
||||||
this.rightVar = rightVar; |
|
||||||
this.leftVarSwizzle = leftVarSwizzle; |
|
||||||
this.leftNameSpace = leftNameSpace; |
|
||||||
this.rightVarSwizzle = rightVarSwizzle; |
|
||||||
this.rightNameSpace = rightNameSpace; |
|
||||||
this.condition = condition; |
|
||||||
updateLine(); |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
protected final void updateLine() { |
|
||||||
this.line = leftVar + (leftVarSwizzle == null ? "" : "." + leftVarSwizzle) + " = " + rightNameSpace + "." + rightVar + (rightVarSwizzle == null ? "" : "." + rightVarSwizzle) + (condition != null ? " : " + condition : ""); |
|
||||||
} |
|
||||||
|
|
||||||
private void parse(Statement sta) { |
|
||||||
try { |
|
||||||
String[] split = sta.getLine().split(":"); |
|
||||||
if (split.length > 1) { |
|
||||||
condition = split[1].trim(); |
|
||||||
} |
|
||||||
String mapping = split[0].trim(); |
|
||||||
String[] s = mapping.split("="); |
|
||||||
String[] left = s[0].split("\\."); |
|
||||||
leftVar = left[0].trim(); |
|
||||||
if (left.length > 1) { |
|
||||||
leftVarSwizzle = left[1].trim(); |
|
||||||
} |
|
||||||
String[] right = s[1].split("\\."); |
|
||||||
rightNameSpace = right[0].trim(); |
|
||||||
rightVar = right[1].trim(); |
|
||||||
if (right.length > 2) { |
|
||||||
rightVarSwizzle = right[2].trim(); |
|
||||||
} |
|
||||||
|
|
||||||
} catch (ArrayIndexOutOfBoundsException e) { |
|
||||||
Logger.getLogger(InputMappingBlock.class.getName()).log(Level.WARNING, "Parsing error line " + sta.getLineNumber() + " : " + sta.getLine()); |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
Loading…
Reference in new issue