public void Print(TextWriter writer, int nTabs) { Logging.PrintTabs(writer, nTabs); writer.Write("( "); m_Object.Print(writer, nTabs + 1); writer.Write("\n"); if (m_ActionSlots.Size != 0) { Logging.PrintTabs(writer, nTabs + 1); writer.Write(":ActionSlots (\n"); for (int i = 0; i < m_ActionSlots.Size; i++) { Logging.PrintTabs(writer, nTabs + 2); writer.Write("(\n"); MHActionSequence pActions = m_ActionSlots.GetAt(i); if (pActions.Size == 0) { writer.Write("NULL\n"); } else { pActions.Print(writer, nTabs + 2); } Logging.PrintTabs(writer, nTabs + 2); writer.Write(")\n"); } Logging.PrintTabs(writer, nTabs + 1); writer.Write(")\n"); } Logging.PrintTabs(writer, nTabs); writer.Write(")\n"); }
protected int m_nLastId; // Highest numbered ingredient. Used to make new ids for clones. public MHGroup() { m_Items = new MHSequence <MHIngredient>(); m_StartUp = new MHActionSequence(); m_CloseDown = new MHActionSequence(); m_Timers = new List <MHTimer>(); }
public override void Initialise(MHParseNode p, MHEngine engine) { base.Initialise(p, engine); MHParseNode pMovements = p.GetNamedArg(ASN1Codes.C_MOVEMENT_TABLE); if (pMovements != null) { for (int i = 0; i < pMovements.GetArgCount(); i++) { MHMovement pMove = new MHMovement(); m_MovementTable.Append(pMove); pMove.Initialise(pMovements.GetArgN(i), engine); } } MHParseNode pTokenGrp = p.GetNamedArg(ASN1Codes.C_TOKEN_GROUP_ITEMS); if (pTokenGrp != null) { for (int i = 0; i < pTokenGrp.GetArgCount(); i++) { MHTokenGroupItem pToken = new MHTokenGroupItem(); m_TokenGrpItems.Append(pToken); pToken.Initialise(pTokenGrp.GetArgN(i), engine); } } MHParseNode pNoToken = p.GetNamedArg(ASN1Codes.C_NO_TOKEN_ACTION_SLOTS); if (pNoToken != null) { for (int i = 0; i < pNoToken.GetArgCount(); i++) { MHParseNode pAct = pNoToken.GetArgN(i); MHActionSequence pActions = new MHActionSequence(); m_NoTokenActionSlots.Append(pActions); // The action slot entry may be NULL. if (pAct.NodeType != MHParseNode.PNNull) { pActions.Initialise(pAct, engine); } } } }
public void Initialise(MHParseNode p, MHEngine engine) { // A pair consisting of an object reference and an optional action slot sequence. m_Object.Initialise(p.GetSeqN(0), engine); if (p.GetSeqCount() > 1) { MHParseNode pSlots = p.GetSeqN(1); for (int i = 0; i < pSlots.GetSeqCount(); i++) { MHParseNode pAct = pSlots.GetSeqN(i); MHActionSequence pActions = new MHActionSequence(); m_ActionSlots.Append(pActions); // The action slot entry may be NULL. if (pAct.NodeType != MHParseNode.PNNull) { pActions.Initialise(pAct, engine); } } } }
protected void PrintContents(TextWriter writer, int nTabs) { base.Print(writer, nTabs + 1); if (m_MovementTable.Size != 0) { Logging.PrintTabs(writer, nTabs + 1); writer.Write(":MovementTable (\n"); for (int i = 0; i < m_MovementTable.Size; i++) { m_MovementTable.GetAt(i).Print(writer, nTabs + 2); } Logging.PrintTabs(writer, nTabs + 1); writer.Write(")\n"); } if (m_TokenGrpItems.Size != 0) { Logging.PrintTabs(writer, nTabs + 1); writer.Write(":TokenGroupItems (\n"); for (int i = 0; i < m_TokenGrpItems.Size; i++) { m_TokenGrpItems.GetAt(i).Print(writer, nTabs + 2); } Logging.PrintTabs(writer, nTabs + 1); writer.Write(")\n"); } if (m_NoTokenActionSlots.Size != 0) { Logging.PrintTabs(writer, nTabs + 1); writer.Write(":NoTokenActionSlots (\n"); for (int i = 0; i < m_NoTokenActionSlots.Size; i++) { MHActionSequence pActions = m_NoTokenActionSlots.GetAt(i); if (pActions.Size == 0) { Logging.PrintTabs(writer, nTabs + 2); writer.Write("NULL "); } else { pActions.Print(writer, nTabs + 2); } } Logging.PrintTabs(writer, nTabs + 1); writer.Write(")\n"); } }
protected string m_Path; // Path from the root directory to this application. Either the null string or // a string of the form /a/b/c . public MHApplication() { m_fIsApp = true; m_nCharSet = 0; m_nTextCHook = 0; m_nIPCHook = 0; m_nStrCHook = 0; m_nBitmapCHook = 0; m_nLineArtCHook = 0; m_pCurrentScene = null; m_nLockCount = 0; m_fRestarting = false; m_OnSpawnCloseDown = new MHActionSequence(); m_OnRestart = new MHActionSequence(); m_BGColour = new MHColour(); m_TextColour = new MHColour(); m_ButtonRefColour = new MHColour(); m_HighlightRefColour = new MHColour(); m_SliderRefColour = new MHColour(); m_Font = new MHFontBody(); m_FontAttrs = new MHOctetString(); m_DisplayStack = new MHSequence <MHVisible>(); }
public MHLink() { m_EventSource = new MHObjectRef(); m_EventData = new MHUnion(); m_LinkEffect = new MHActionSequence(); }