summaryrefslogtreecommitdiff
path: root/NET/worlds/scape/BizCard.java
diff options
context:
space:
mode:
authorFuwn <[email protected]>2026-02-12 22:33:32 -0800
committerFuwn <[email protected]>2026-02-12 22:33:32 -0800
commitc7a9d4a6bd53ed7d61731770f2f10e8b9fd435f9 (patch)
treedf9f48bf128a6c0186a8e91857d6ff30fe0e9f18 /NET/worlds/scape/BizCard.java
downloadworldsplayer-c7a9d4a6bd53ed7d61731770f2f10e8b9fd435f9.tar.xz
worldsplayer-c7a9d4a6bd53ed7d61731770f2f10e8b9fd435f9.zip
Initial commit
Diffstat (limited to 'NET/worlds/scape/BizCard.java')
-rw-r--r--NET/worlds/scape/BizCard.java126
1 files changed, 126 insertions, 0 deletions
diff --git a/NET/worlds/scape/BizCard.java b/NET/worlds/scape/BizCard.java
new file mode 100644
index 0000000..902d071
--- /dev/null
+++ b/NET/worlds/scape/BizCard.java
@@ -0,0 +1,126 @@
+package NET.worlds.scape;
+
+import NET.worlds.core.IniFile;
+import java.io.DataInputStream;
+import java.io.DataOutputStream;
+import java.io.IOException;
+
+public class BizCard extends Attribute {
+ String[] _line = new String[]{"", "", "", "", ""};
+ private static Object classCookie = new Object();
+
+ public BizCard(int attrID) {
+ super(attrID);
+ this.loadIni();
+ }
+
+ public BizCard() {
+ }
+
+ private void loadIni() {
+ for (int i = 0; i < 5; i++) {
+ this._line[i] = IniFile.gamma().getIniString("BizCard" + i, this._line[i]);
+ }
+ }
+
+ public String[] get() {
+ return this._line;
+ }
+
+ public void set(String[] lines) {
+ int total = 0;
+
+ for (int i = 0; i < this._line.length; i++) {
+ int l = lines[i].length();
+ total += l;
+ if (total < 200 && lines[i] != null) {
+ this._line[i] = lines[i];
+ } else {
+ this._line[i] = "";
+ }
+ }
+
+ this.noteChange();
+ }
+
+ @Override
+ protected void noteAddingTo(SuperRoot owner) {
+ this.set(this._line);
+ }
+
+ @Override
+ public void generateNetData(DataOutputStream s) throws IOException {
+ s.writeInt(this._line.length);
+
+ for (int i = 0; i < this._line.length; i++) {
+ s.writeUTF(this._line[i]);
+ }
+ }
+
+ @Override
+ public void setFromNetData(DataInputStream ds, int len) throws IOException {
+ int nLines = ds.readInt();
+ String[] serverLines = new String[nLines];
+
+ for (int i = 0; i < nLines; i++) {
+ serverLines[i] = ds.readUTF();
+ }
+
+ this.set(serverLines);
+ }
+
+ @Override
+ public Object properties(int index, int offset, int mode, Object value) throws NoSuchPropertyException {
+ Object ret = null;
+ switch (index - offset) {
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ case 4:
+ if (mode == 0) {
+ ret = StringPropertyEditor.make(new Property(this, index, "Line " + (index - offset)));
+ } else if (mode == 1) {
+ ret = this._line[index - offset];
+ } else if (mode == 2) {
+ this._line[index - offset] = (String)value;
+ this.set(this._line);
+ }
+ break;
+ default:
+ ret = super.properties(index, offset + 5, mode, value);
+ }
+
+ return ret;
+ }
+
+ @Override
+ public void saveState(Saver s) throws IOException {
+ s.saveVersion(0, classCookie);
+ super.saveState(s);
+ s.saveInt(this._line.length);
+
+ for (int i = 0; i < this._line.length; i++) {
+ s.saveString(this._line[i]);
+ }
+ }
+
+ @Override
+ public void restoreState(Restorer r) throws IOException, TooNewException {
+ switch (r.restoreVersion(classCookie)) {
+ case 0:
+ super.restoreState(r);
+ int nLines = r.restoreInt();
+ this._line = new String[nLines];
+
+ for (int i = 0; i < nLines; i++) {
+ this._line[i] = r.restoreString();
+ }
+
+ this.set(this._line);
+ return;
+ default:
+ throw new TooNewException();
+ }
+ }
+}