400 lines
14 KiB
Java
400 lines
14 KiB
Java
package com.ubt.jimu.controller.data.widget;
|
|
|
|
import android.text.TextUtils;
|
|
import android.util.Log;
|
|
import android.util.Size;
|
|
import com.thoughtworks.xstream.annotations.XStreamAlias;
|
|
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
|
|
import com.thoughtworks.xstream.annotations.XStreamImplicit;
|
|
import com.thoughtworks.xstream.annotations.XStreamOmitField;
|
|
import com.ubt.jimu.controller.data.config.AccumulatorConfig;
|
|
import com.ubt.jimu.controller.data.config.HSliderConfig;
|
|
import com.ubt.jimu.controller.data.config.JockstickConfig;
|
|
import com.ubt.jimu.controller.data.config.SliderConfig;
|
|
import com.ubt.jimu.transport.model.TransportFile;
|
|
import java.util.ArrayList;
|
|
import java.util.Iterator;
|
|
import java.util.List;
|
|
|
|
@XStreamAlias(TransportFile.MODEL_CONTROLLER_DIR)
|
|
/* loaded from: classes.dex */
|
|
public class ControllerData {
|
|
public static final int DEFAULT_SCREEN_HEIGHT = 750;
|
|
public static final int DEFAULT_SCREEN_WIDTH = 1334;
|
|
|
|
@XStreamImplicit(itemFieldName = "xlsliderData")
|
|
private List<AccumulatorData> accumulatorData;
|
|
|
|
@XStreamImplicit(itemFieldName = "actionData")
|
|
private List<ActionWidgetData> actionData;
|
|
|
|
@XStreamAsAttribute
|
|
private String controllerID;
|
|
|
|
@XStreamOmitField
|
|
private Size displaySize;
|
|
|
|
@XStreamImplicit(itemFieldName = "hsliderData")
|
|
private List<HSliderWidgetData> hsliderData;
|
|
|
|
@XStreamImplicit(itemFieldName = "jockstickData")
|
|
private List<JockstickData> jockstickData;
|
|
|
|
@XStreamAlias("ScreenHeight")
|
|
@XStreamAsAttribute
|
|
private int screenHeight;
|
|
|
|
@XStreamAlias("ScreenWidth")
|
|
@XStreamAsAttribute
|
|
private int screenWidth;
|
|
|
|
@XStreamImplicit(itemFieldName = "sliderData")
|
|
private List<SliderWidgetData> sliderData;
|
|
|
|
@XStreamOmitField
|
|
private Size xmlSize;
|
|
|
|
public ControllerData() {
|
|
this.screenWidth = DEFAULT_SCREEN_WIDTH;
|
|
this.screenHeight = DEFAULT_SCREEN_HEIGHT;
|
|
this.actionData = new ArrayList();
|
|
this.sliderData = new ArrayList();
|
|
this.hsliderData = new ArrayList();
|
|
this.jockstickData = new ArrayList();
|
|
this.accumulatorData = new ArrayList();
|
|
}
|
|
|
|
private boolean hasMoveWidget() {
|
|
List<HSliderWidgetData> list;
|
|
List<JockstickData> list2;
|
|
List<SliderWidgetData> list3 = this.sliderData;
|
|
return (list3 != null && list3.size() > 0) || ((list = this.hsliderData) != null && list.size() > 0) || ((list2 = this.jockstickData) != null && list2.size() > 0);
|
|
}
|
|
|
|
private boolean removeItem(String str, List<? extends ItemBaseData> list) {
|
|
if (!TextUtils.isEmpty(str) && list != null && list.size() > 0) {
|
|
for (int i = 0; i < list.size(); i++) {
|
|
if (str.equals(list.get(i).getWidgetId())) {
|
|
return list.remove(i) != null;
|
|
}
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
|
|
private void transformInternal(List<? extends ItemBaseData> list, Size size, Size size2) {
|
|
if (list == null || list.size() <= 0) {
|
|
return;
|
|
}
|
|
for (ItemBaseData itemBaseData : list) {
|
|
itemBaseData.setDisplaySize(size, size2);
|
|
itemBaseData.transform();
|
|
}
|
|
}
|
|
|
|
public void addAccumulatorData(AccumulatorData accumulatorData) {
|
|
List<AccumulatorData> list = this.accumulatorData;
|
|
if (list != null) {
|
|
list.add(accumulatorData);
|
|
}
|
|
}
|
|
|
|
public void addActionData(ActionWidgetData actionWidgetData) {
|
|
List<ActionWidgetData> list = this.actionData;
|
|
if (list == null || actionWidgetData == null) {
|
|
return;
|
|
}
|
|
list.add(actionWidgetData);
|
|
}
|
|
|
|
public void addData(ItemBaseData itemBaseData) {
|
|
if (itemBaseData == null) {
|
|
return;
|
|
}
|
|
if (itemBaseData instanceof JockstickData) {
|
|
Log.e("Test", "JockstickData:" + itemBaseData);
|
|
addJockstickData((JockstickData) itemBaseData);
|
|
}
|
|
if (itemBaseData instanceof HSliderWidgetData) {
|
|
addHsliderData((HSliderWidgetData) itemBaseData);
|
|
Log.e("Test", "moveBaseData:" + itemBaseData);
|
|
}
|
|
if (itemBaseData instanceof SliderWidgetData) {
|
|
addSliderData((SliderWidgetData) itemBaseData);
|
|
}
|
|
if (itemBaseData instanceof ActionWidgetData) {
|
|
Log.e("Test", "保存动作");
|
|
addActionData((ActionWidgetData) itemBaseData);
|
|
}
|
|
if (itemBaseData instanceof AccumulatorData) {
|
|
addAccumulatorData((AccumulatorData) itemBaseData);
|
|
}
|
|
}
|
|
|
|
public void addHsliderData(HSliderWidgetData hSliderWidgetData) {
|
|
List<HSliderWidgetData> list = this.hsliderData;
|
|
if (list != null) {
|
|
list.add(hSliderWidgetData);
|
|
}
|
|
}
|
|
|
|
public void addJockstickData(JockstickData jockstickData) {
|
|
List<JockstickData> list = this.jockstickData;
|
|
if (list != null) {
|
|
list.add(jockstickData);
|
|
}
|
|
}
|
|
|
|
public void addSliderData(SliderWidgetData sliderWidgetData) {
|
|
List<SliderWidgetData> list = this.sliderData;
|
|
if (list == null || sliderWidgetData == null) {
|
|
return;
|
|
}
|
|
list.add(sliderWidgetData);
|
|
}
|
|
|
|
public boolean clearEmptyWidget() {
|
|
List<JockstickData> list = this.jockstickData;
|
|
boolean z = false;
|
|
if (list != null && list.size() > 0) {
|
|
for (JockstickData jockstickData : new ArrayList(this.jockstickData)) {
|
|
JockstickConfig config = jockstickData.getConfig();
|
|
if (config == null || config.getType() == JockstickConfig.JockType.none || config.getWheelList() == null || config.getWheelList().isEmpty()) {
|
|
this.jockstickData.remove(jockstickData);
|
|
z = true;
|
|
}
|
|
}
|
|
}
|
|
List<SliderWidgetData> list2 = this.sliderData;
|
|
if (list2 != null && list2.size() > 0) {
|
|
for (SliderWidgetData sliderWidgetData : new ArrayList(this.sliderData)) {
|
|
SliderConfig config2 = sliderWidgetData.getConfig();
|
|
if (config2 == null || config2.getServoID() <= 0) {
|
|
this.sliderData.remove(sliderWidgetData);
|
|
z = true;
|
|
}
|
|
}
|
|
}
|
|
List<HSliderWidgetData> list3 = this.hsliderData;
|
|
if (list3 != null && list3.size() > 0) {
|
|
for (HSliderWidgetData hSliderWidgetData : new ArrayList(this.hsliderData)) {
|
|
HSliderConfig config3 = hSliderWidgetData.getConfig();
|
|
if (config3 == null || config3.getServoID() <= 0) {
|
|
this.hsliderData.remove(hSliderWidgetData);
|
|
z = true;
|
|
}
|
|
}
|
|
}
|
|
List<AccumulatorData> list4 = this.accumulatorData;
|
|
if (list4 != null && list4.size() > 0) {
|
|
for (AccumulatorData accumulatorData : new ArrayList(this.accumulatorData)) {
|
|
AccumulatorConfig config4 = accumulatorData.getConfig();
|
|
if (config4 == null || config4.getServoID() <= 0) {
|
|
this.accumulatorData.remove(accumulatorData);
|
|
z = true;
|
|
}
|
|
}
|
|
}
|
|
return z;
|
|
}
|
|
|
|
public List<AccumulatorData> getAccumulatorData() {
|
|
return this.accumulatorData;
|
|
}
|
|
|
|
public List<ActionWidgetData> getActionData() {
|
|
return this.actionData;
|
|
}
|
|
|
|
public String getControllerID() {
|
|
return this.controllerID;
|
|
}
|
|
|
|
public List<HSliderWidgetData> getHsliderData() {
|
|
return this.hsliderData;
|
|
}
|
|
|
|
public List<JockstickData> getJockstickData() {
|
|
return this.jockstickData;
|
|
}
|
|
|
|
public MoveWidgetData getMoveConfig() {
|
|
MoveWidgetData moveWidgetData;
|
|
List<SliderWidgetData> list = this.sliderData;
|
|
if (list == null || list.size() <= 0) {
|
|
moveWidgetData = null;
|
|
} else {
|
|
ArrayList arrayList = new ArrayList(this.sliderData.size());
|
|
Iterator<SliderWidgetData> it = this.sliderData.iterator();
|
|
while (it.hasNext()) {
|
|
arrayList.add(it.next().getConfig());
|
|
}
|
|
moveWidgetData = new MoveWidgetData();
|
|
moveWidgetData.setSliderConfigList(arrayList);
|
|
}
|
|
List<HSliderWidgetData> list2 = this.hsliderData;
|
|
if (list2 != null && list2.size() > 0) {
|
|
ArrayList arrayList2 = new ArrayList(this.hsliderData.size());
|
|
Iterator<HSliderWidgetData> it2 = this.hsliderData.iterator();
|
|
while (it2.hasNext()) {
|
|
arrayList2.add(it2.next().getConfig());
|
|
}
|
|
if (moveWidgetData == null) {
|
|
moveWidgetData = new MoveWidgetData();
|
|
}
|
|
moveWidgetData.setHSliderConfigList(arrayList2);
|
|
}
|
|
List<JockstickData> list3 = this.jockstickData;
|
|
if (list3 != null && list3.size() > 0) {
|
|
ArrayList arrayList3 = new ArrayList(this.jockstickData.size());
|
|
Iterator<JockstickData> it3 = this.jockstickData.iterator();
|
|
while (it3.hasNext()) {
|
|
arrayList3.add(it3.next().getConfig());
|
|
}
|
|
if (moveWidgetData == null) {
|
|
moveWidgetData = new MoveWidgetData();
|
|
}
|
|
moveWidgetData.setJockstickConfigList(arrayList3);
|
|
}
|
|
List<AccumulatorData> list4 = this.accumulatorData;
|
|
if (list4 != null && list4.size() > 0) {
|
|
ArrayList arrayList4 = new ArrayList(this.accumulatorData.size());
|
|
Iterator<AccumulatorData> it4 = this.accumulatorData.iterator();
|
|
while (it4.hasNext()) {
|
|
arrayList4.add(it4.next().getConfig());
|
|
}
|
|
if (moveWidgetData == null) {
|
|
moveWidgetData = new MoveWidgetData();
|
|
}
|
|
moveWidgetData.setAccumulatorConfigList(arrayList4);
|
|
}
|
|
return moveWidgetData;
|
|
}
|
|
|
|
public int getScreenHeight() {
|
|
return this.screenHeight;
|
|
}
|
|
|
|
public int getScreenWidth() {
|
|
return this.screenWidth;
|
|
}
|
|
|
|
public List<SliderWidgetData> getSliderData() {
|
|
return this.sliderData;
|
|
}
|
|
|
|
public float getTransformRatio() {
|
|
return 1.0f;
|
|
}
|
|
|
|
public boolean hasAction() {
|
|
return getActionData() != null && getActionData().size() > 0;
|
|
}
|
|
|
|
public boolean removeAccumulatorData(String str) {
|
|
return removeItem(str, this.accumulatorData);
|
|
}
|
|
|
|
public boolean removeActionData(String str) {
|
|
return removeItem(str, this.actionData);
|
|
}
|
|
|
|
public boolean removeHsliderData(String str) {
|
|
return removeItem(str, this.hsliderData);
|
|
}
|
|
|
|
public boolean removeJockstickData(String str) {
|
|
return removeItem(str, this.jockstickData);
|
|
}
|
|
|
|
public boolean removeSliderData(String str) {
|
|
return removeItem(str, this.sliderData);
|
|
}
|
|
|
|
public void setAccumulatorData(List<AccumulatorData> list) {
|
|
this.accumulatorData = list;
|
|
}
|
|
|
|
public void setActionData(List<ActionWidgetData> list) {
|
|
this.actionData = list;
|
|
}
|
|
|
|
public void setControllerID(String str) {
|
|
this.controllerID = str;
|
|
}
|
|
|
|
public void setHsliderData(List<HSliderWidgetData> list) {
|
|
this.hsliderData = list;
|
|
}
|
|
|
|
public void setJockstickData(List<JockstickData> list) {
|
|
this.jockstickData = list;
|
|
}
|
|
|
|
public void setScreenHeight(int i) {
|
|
this.screenHeight = i;
|
|
}
|
|
|
|
public void setScreenWidth(int i) {
|
|
this.screenWidth = i;
|
|
}
|
|
|
|
public void setSliderData(List<SliderWidgetData> list) {
|
|
this.sliderData = list;
|
|
}
|
|
|
|
public String toString() {
|
|
StringBuilder sb = new StringBuilder("ControllerData: ");
|
|
sb.append(" controllerID : " + this.controllerID);
|
|
sb.append(" screenWidth: " + this.screenWidth);
|
|
sb.append(" screenHeight" + this.screenHeight);
|
|
StringBuilder sb2 = new StringBuilder();
|
|
sb2.append(" actionData: ");
|
|
List<ActionWidgetData> list = this.actionData;
|
|
sb2.append(list != null ? list.toString() : "null");
|
|
sb.append(sb2.toString());
|
|
StringBuilder sb3 = new StringBuilder();
|
|
sb3.append(" sliderData: ");
|
|
List<SliderWidgetData> list2 = this.sliderData;
|
|
sb3.append(list2 != null ? list2.toString() : "null");
|
|
sb.append(sb3.toString());
|
|
StringBuilder sb4 = new StringBuilder();
|
|
sb4.append(" hsliderData: ");
|
|
List<HSliderWidgetData> list3 = this.hsliderData;
|
|
sb4.append(list3 != null ? list3.toString() : "null");
|
|
sb.append(sb4.toString());
|
|
StringBuilder sb5 = new StringBuilder();
|
|
sb5.append(" jockstickData: ");
|
|
List<JockstickData> list4 = this.jockstickData;
|
|
sb5.append(list4 != null ? list4.toString() : "null");
|
|
sb.append(sb5.toString());
|
|
StringBuilder sb6 = new StringBuilder();
|
|
sb6.append(" accumulatorData: ");
|
|
List<AccumulatorData> list5 = this.accumulatorData;
|
|
sb6.append(list5 != null ? list5.toString() : "null");
|
|
sb.append(sb6.toString());
|
|
return sb.toString();
|
|
}
|
|
|
|
public void transform(Size size, Size size2) {
|
|
transformInternal(this.actionData, size, size2);
|
|
transformInternal(this.jockstickData, size, size2);
|
|
transformInternal(this.sliderData, size, size2);
|
|
transformInternal(this.hsliderData, size, size2);
|
|
transformInternal(this.accumulatorData, size, size2);
|
|
}
|
|
|
|
public boolean removeActionData(ActionWidgetData actionWidgetData) {
|
|
List<ActionWidgetData> list = this.actionData;
|
|
if (list == null || list.size() <= 0) {
|
|
return false;
|
|
}
|
|
return this.actionData.remove(actionWidgetData);
|
|
}
|
|
|
|
public ControllerData(String str) {
|
|
this();
|
|
this.controllerID = str;
|
|
}
|
|
}
|