View Javadoc

1   /*
2    * To change this template, choose Tools | Templates
3    * and open the template in the editor.
4    */
5   package cz.cuni.amis.pogamut.udk.t3dgenerator.elements.map;
6   
7   import cz.cuni.amis.pogamut.unreal.t3dgenerator.annotations.UnrealHeaderField;
8   import cz.cuni.amis.pogamut.unreal.t3dgenerator.datatypes.LightingChannels;
9   import cz.cuni.amis.pogamut.unreal.t3dgenerator.datatypes.NullReference;
10  import cz.cuni.amis.pogamut.unreal.t3dgenerator.datatypes.UnrealReference;
11  import cz.cuni.amis.pogamut.udk.t3dgenerator.elements.AbstractObject;
12  
13  /**
14   * Components of other objects. Those differ from simple subobjects.
15   * Objects that are components use (for whatever reaseon) ObjName for references instead of regular name.
16   * @author Martin Cerny
17   * @see <a href="http://wiki.beyondunreal.com/UE3:Component_(UDK)">http://wiki.beyondunreal.com/UE3:Component_(UDK)</a>
18   * @see <a href="http://wiki.beyondunreal.com/UE3:PrimitiveComponent_(UDK)">http://wiki.beyondunreal.com/UE3:PrimitiveComponent_(UDK)</a>
19   */
20  public class AbstractPrimitiveComponent extends AbstractObject {
21  
22      @UnrealHeaderField
23      private String objName;
24      private UnrealReference replacementPrimitive = new NullReference();
25      private LightingChannels lightingChannels = new LightingChannels(true, true);
26      private Boolean hiddenGame = null;
27      private Boolean alwaysLoadOnClient = null;
28      private Boolean alwaysLoadOnServer = null;
29  
30      public AbstractPrimitiveComponent(String componentName, String archetypeName) {
31          this(componentName, archetypeName, componentName + "Component");
32      }
33  
34      public AbstractPrimitiveComponent(String componentName, UnrealReference archetype) {
35          this(componentName, archetype, componentName + "Component");
36      }
37  
38      public AbstractPrimitiveComponent(String componentName, String archetypeName, String className) {
39          super(className, archetypeName);
40          setName(componentName);
41      }
42  
43      public AbstractPrimitiveComponent(String componentName, UnrealReference archetype, String className) {
44          super(className, archetype);
45          setName(componentName);
46      }
47  
48      public String getObjName() {
49          return objName;
50      }
51  
52      public void setObjName(String objName) {
53          this.objName = objName;
54      }
55  
56      @Override
57      public String getNameForReferences() {
58          return getObjName();
59      }
60  
61      @Override
62      public void setNameForReferences(String nameForReferences) {
63          setObjName(nameForReferences);
64      }
65  
66      public UnrealReference getReplacementPrimitive() {
67          return replacementPrimitive;
68      }
69  
70      public LightingChannels getLightingChannels() {
71          return lightingChannels;
72      }
73  
74      public void setLightingChannels(LightingChannels lightingChannels) {
75          this.lightingChannels = lightingChannels;
76      }
77  
78      public void setReplacementPrimitive(UnrealReference replacementPrimitive) {
79          this.replacementPrimitive = replacementPrimitive;
80      }
81  
82      public Boolean getHiddenGame() {
83          return hiddenGame;
84      }
85  
86      public void setHiddenGame(Boolean hiddenGame) {
87          this.hiddenGame = hiddenGame;
88      }
89  
90      public Boolean getAlwaysLoadOnClient() {
91          return alwaysLoadOnClient;
92      }
93  
94      public Boolean getAlwaysLoadOnServer() {
95          return alwaysLoadOnServer;
96      }
97  
98      public void setAlwaysLoadOnClient(Boolean alwaysLoadOnClient) {
99          this.alwaysLoadOnClient = alwaysLoadOnClient;
100     }
101 
102     public void setAlwaysLoadOnServer(Boolean alwaysLoadOnServer) {
103         this.alwaysLoadOnServer = alwaysLoadOnServer;
104     }
105 }