82 lines
2.4 KiB
Java
82 lines
2.4 KiB
Java
package com.droidquest.materials.switches;
|
|
|
|
import com.droidquest.Room;
|
|
import com.droidquest.decorations.Arrow;
|
|
import com.droidquest.items.Item;
|
|
import com.droidquest.materials.ElevatorOutPortal;
|
|
import com.droidquest.materials.Material;
|
|
|
|
public class ElevatorSwitch extends Switch {
|
|
private int animationState = 0;
|
|
// 0=open
|
|
// 1=closing
|
|
// 2=closing
|
|
// 3=switch arrow, switch outRoom
|
|
// 4=opening
|
|
// 5=opening
|
|
private transient static Room room;
|
|
|
|
public ElevatorSwitch() {
|
|
super(Switch.ROT_LEFT);
|
|
}
|
|
|
|
public void TouchedByItem(Item item) {
|
|
room = item.room;
|
|
if (animationState == 0) {
|
|
animationState = 1;
|
|
}
|
|
}
|
|
|
|
public void Animate() {
|
|
super.Animate();
|
|
switch (animationState) {
|
|
case 0:
|
|
value = false;
|
|
break;
|
|
case 1:
|
|
// Play sound
|
|
value = true;
|
|
room.SetMaterial(0, 7, 4);
|
|
room.SetMaterial(0, 10, 4);
|
|
animationState++;
|
|
break;
|
|
case 2:
|
|
room.SetMaterial(0, 8, 4);
|
|
room.SetMaterial(0, 9, 4);
|
|
animationState++;
|
|
break;
|
|
case 3:
|
|
if (ElevatorOutPortal.outRoom == Material.level.rooms.elementAt(11)) {
|
|
for (int a = 0; a < room.arrows.size(); a++) {
|
|
Arrow arrow = room.arrows.elementAt(a);
|
|
arrow.direction = Arrow.DIR_UP;
|
|
arrow.y = 66;
|
|
}
|
|
ElevatorOutPortal.SetOutRoom(9);
|
|
}
|
|
else {
|
|
for (int a = 0; a < room.arrows.size(); a++) {
|
|
Arrow arrow = room.arrows.elementAt(a);
|
|
arrow.direction = Arrow.DIR_DOWN;
|
|
arrow.y = 94;
|
|
}
|
|
ElevatorOutPortal.SetOutRoom(11);
|
|
}
|
|
animationState++;
|
|
break;
|
|
case 4:
|
|
room.SetMaterial(0, 8, 12);
|
|
room.SetMaterial(0, 9, 12);
|
|
animationState++;
|
|
break;
|
|
case 5:
|
|
room.SetMaterial(0, 7, 12);
|
|
room.SetMaterial(0, 10, 12);
|
|
animationState = 0;
|
|
break;
|
|
}
|
|
}
|
|
|
|
}
|
|
|