public virtual short GetValue(VMStackObjectVariable var) { switch (var) //special cases { case VMStackObjectVariable.ObjectId: return(ObjectID); case VMStackObjectVariable.Direction: switch (this.Direction) { case tso.world.model.Direction.WEST: return(6); case tso.world.model.Direction.SOUTH: return(4); case tso.world.model.Direction.EAST: return(2); case tso.world.model.Direction.NORTH: return(0); default: return(0); } } if ((short)var > 79) { throw new Exception("Object Data out of range!"); } return(ObjectData[(short)var]); }
public virtual short GetValue(VMStackObjectVariable var) { switch (var) //special cases { case VMStackObjectVariable.ObjectId: return(ObjectID); } if ((short)var > 79) { throw new Exception("Object Data out of range!"); } return(ObjectData[(short)var]); /*case VMStackObjectVariable.DirtyLevel: * return DirtyLevel; * case VMStackObjectVariable.RoomImpact: * return RoomImpact; * case VMStackObjectVariable.Flags: * return (short)Flags; * case VMStackObjectVariable.LockoutCount: * return LockoutCount; * } */ }
public virtual bool SetValue(VMStackObjectVariable var, short value) { if ((short)var > 79) { throw new Exception("Object Data out of range!"); } ObjectData[(short)var] = value; return(true); /*switch (var){ * case VMStackObjectVariable.DirtyLevel: * DirtyLevel = value; * return true; * case VMStackObjectVariable.RoomImpact: * RoomImpact = value; * return true; * case VMStackObjectVariable.Flags: * Flags = (VMEntityFlags)value; * return true; * case VMStackObjectVariable.LockoutCount: * LockoutCount = value; * return true; * default: * throw new Exception("I dont understand how to set variable " + var); * }*/ }
public override short GetValue(VMStackObjectVariable var) { switch (var) { case VMStackObjectVariable.Graphic: return 0; default: return base.GetValue(var); } }
public virtual bool SetValue(VMStackObjectVariable var,short value) { switch (var) //special cases { case VMStackObjectVariable.Direction: value = (short)(((int)value + 65536) % 8); switch (value) { case 6: Direction = FSO.LotView.Model.Direction.WEST; return(true); case 4: Direction = FSO.LotView.Model.Direction.SOUTH; return(true); case 2: Direction = FSO.LotView.Model.Direction.EAST; return(true); case 0: Direction = FSO.LotView.Model.Direction.NORTH; return(true); default: return(true); //throw new Exception("Diagonal Set Not Implemented!"); } case VMStackObjectVariable.Hidden: if (UseWorld) { WorldUI.Visible = value == 0; } break; } if ((short)var > 79) { throw new Exception("Object Data out of range!"); } ObjectData[(short)var] = value; return(true); }
public virtual short GetValue(VMStackObjectVariable var) { switch (var) //special cases { case VMStackObjectVariable.ObjectId: return(ObjectID); case VMStackObjectVariable.Direction: switch (this.Direction) { case FSO.LotView.Model.Direction.WEST: return(6); case FSO.LotView.Model.Direction.SOUTH: return(4); case FSO.LotView.Model.Direction.EAST: return(2); case FSO.LotView.Model.Direction.NORTH: return(0); default: return(0); } case VMStackObjectVariable.ContainerId: case VMStackObjectVariable.ParentId: //TODO: different? return((Container == null) ? (short)0 : Container.ObjectID); case VMStackObjectVariable.SlotNumber: return((Container == null) ? (short)-1 : ContainerSlot); case VMStackObjectVariable.SlotCount: return((short)TotalSlots()); } if ((short)var > 79) { throw new Exception("Object Data out of range!"); } return(ObjectData[(short)var]); }
public override bool SetValue(VMStackObjectVariable var, short value) { switch (var) { case VMStackObjectVariable.Flags: var flags = (VMEntityFlags)value; if (UseWorld) { ((ObjectComponent)WorldUI).HideForCutaway = (flags & VMEntityFlags.HideForCutaway) > 0; } // || ((VMEntityFlags2)GetValue(VMStackObjectVariable.FlagField2) & VMEntityFlags2.ArchitectualDoor) > 0; break; case VMStackObjectVariable.FlagField2: /* * var flags2 = (VMEntityFlags2)value; * if (UseWorld) * ((ObjectComponent)WorldUI).HideForCutaway = (flags2 & VMEntityFlags2.ArchitectualDoor) > 0 || ((VMEntityFlags)GetValue(VMStackObjectVariable.Flags) & VMEntityFlags.HideForCutaway) > 0; */ break; } return(base.SetValue(var, value)); }
public virtual bool SetValue(VMStackObjectVariable var,short value) { switch (var) //special cases { case VMStackObjectVariable.Direction: value = (short)(((int)value + 65536) % 8); switch (value) { case 6: Direction = tso.world.model.Direction.WEST; return(true); case 4: Direction = tso.world.model.Direction.SOUTH; return(true); case 2: Direction = tso.world.model.Direction.EAST; return(true); case 0: Direction = tso.world.model.Direction.NORTH; return(true); default: return(true); //throw new Exception("Diagonal Set Not Implemented!"); } } if ((short)var > 79) { throw new Exception("Object Data out of range!"); } ObjectData[(short)var] = value; return(true); }
public override bool SetValue(VMStackObjectVariable var, short value) { return(base.SetValue(var, value)); }
public override bool SetValue(VMStackObjectVariable var, short value) { return base.SetValue(var, value); }
public override short GetValue(VMStackObjectVariable var) { return base.GetValue(var); }
public virtual bool SetValue(VMStackObjectVariable var, short value) { if ((short)var > 79) throw new Exception("Object Data out of range!"); ObjectData[(short)var] = value; return true; /*switch (var){ case VMStackObjectVariable.DirtyLevel: DirtyLevel = value; return true; case VMStackObjectVariable.RoomImpact: RoomImpact = value; return true; case VMStackObjectVariable.Flags: Flags = (VMEntityFlags)value; return true; case VMStackObjectVariable.LockoutCount: LockoutCount = value; return true; default: throw new Exception("I dont understand how to set variable " + var); }*/ }
public virtual short GetValue(VMStackObjectVariable var) { switch (var) //special cases { case VMStackObjectVariable.ObjectId: return ObjectID; } if ((short)var > 79) throw new Exception("Object Data out of range!"); return ObjectData[(short)var]; /*case VMStackObjectVariable.DirtyLevel: return DirtyLevel; case VMStackObjectVariable.RoomImpact: return RoomImpact; case VMStackObjectVariable.Flags: return (short)Flags; case VMStackObjectVariable.LockoutCount: return LockoutCount; } */ }
public virtual bool SetValue(VMStackObjectVariable var, short value) { switch (var) //special cases { case VMStackObjectVariable.Direction: value = (short)(((int)value + 65536) % 8); switch (value) { case 6: Direction = tso.world.model.Direction.WEST; return true; case 4: Direction = tso.world.model.Direction.SOUTH; return true; case 2: Direction = tso.world.model.Direction.EAST; return true; case 0: Direction = tso.world.model.Direction.NORTH; return true; default: return true; //throw new Exception("Diagonal Set Not Implemented!"); } } if ((short)var > 79) throw new Exception("Object Data out of range!"); ObjectData[(short)var] = value; return true; }
public virtual short GetValue(VMStackObjectVariable var) { switch (var) //special cases { case VMStackObjectVariable.ObjectId: return ObjectID; case VMStackObjectVariable.Direction: switch (this.Direction) { case tso.world.model.Direction.WEST: return 6; case tso.world.model.Direction.SOUTH: return 4; case tso.world.model.Direction.EAST: return 2; case tso.world.model.Direction.NORTH: return 0; default: return 0; } case VMStackObjectVariable.ContainerId: return (Container == null) ? (short)0 : Container.ObjectID; case VMStackObjectVariable.SlotNumber: return (Container == null) ? (short)-1 : ContainerSlot; } if ((short)var > 79) throw new Exception("Object Data out of range!"); return ObjectData[(short)var]; }
public virtual short GetValue(VMStackObjectVariable var) { switch (var) //special cases { case VMStackObjectVariable.ObjectId: return ObjectID; case VMStackObjectVariable.Direction: switch (this.Direction) { case FSO.LotView.Model.Direction.WEST: return 6; case FSO.LotView.Model.Direction.SOUTH: return 4; case FSO.LotView.Model.Direction.EAST: return 2; case FSO.LotView.Model.Direction.NORTH: return 0; default: return 0; } case VMStackObjectVariable.ContainerId: case VMStackObjectVariable.ParentId: //TODO: different? return (Container == null) ? (short)0 : Container.ObjectID; case VMStackObjectVariable.SlotNumber: return (Container == null) ? (short)-1 : ContainerSlot; case VMStackObjectVariable.SlotCount: return (short)TotalSlots(); } if ((short)var > 79) throw new Exception("Object Data out of range!"); return ObjectData[(short)var]; }
public override bool SetValue(VMStackObjectVariable var, short value) { switch (var){ case VMStackObjectVariable.Graphic: var newGraphic = Object.OBJ.BaseGraphicID + value; var dgrp = Object.Resource.Get<DGRP>((ushort)newGraphic); if (dgrp != null){ WorldUI.DGRP = dgrp; return true; } return false; default: return base.SetValue(var, value); } }
public virtual short GetValue(VMStackObjectVariable var) { switch (var){ case VMStackObjectVariable.ObjectId: return ObjectID; case VMStackObjectVariable.DirtyLevel: return DirtyLevel; case VMStackObjectVariable.RoomImpact: return RoomImpact; case VMStackObjectVariable.Flags: return (short)Flags; case VMStackObjectVariable.LockoutCount: return LockoutCount; } throw new Exception("I dont understand how to get variable " + var); }
public override short GetValue(VMStackObjectVariable var) { return(base.GetValue(var)); }
public virtual bool SetValue(VMStackObjectVariable var, short value) { switch (var) //special cases { case VMStackObjectVariable.Direction: value = (short)(((int)value + 65536) % 8); switch (value) { case 6: Direction = FSO.LotView.Model.Direction.WEST; return true; case 4: Direction = FSO.LotView.Model.Direction.SOUTH; return true; case 2: Direction = FSO.LotView.Model.Direction.EAST; return true; case 0: Direction = FSO.LotView.Model.Direction.NORTH; return true; default: return true; //throw new Exception("Diagonal Set Not Implemented!"); } case VMStackObjectVariable.Hidden: if (UseWorld) WorldUI.Visible = value == 0; break; } if ((short)var > 79) throw new Exception("Object Data out of range!"); ObjectData[(short)var] = value; return true; }