DIRECTORY DM, DragOpsCross, DMDragonModel; DMDragonModelImpl: CEDAR PROGRAM IMPORTS DM EXPORTS DMDragonModel = BEGIN OPEN DMDragonModel; Create: PUBLIC PROC [subComponents: DM.ComponentList] RETURNS [dm: DM.Component] = { dm _ NEW [DM.ComponentRec _ [ action: [Reset, PhA, EvPhA, PhB, EvPhB], history: NIL, componentType: $Dragon, subComponents: subComponents, specific: NIL ]] }; PhA: DM.ActionProc = { DM.ListApply[component.subComponents, PhA] }; EvPhA: DM.ActionProc = { DM.ListApply[component.subComponents, EvPhA] }; PhB: DM.ActionProc = { DM.ListApply[component.subComponents, PhB] }; EvPhB: DM.ActionProc = { DM.ListApply[component.subComponents, EvPhB] }; Reset: DM.ActionProc = { DM.ListApply[component.subComponents, Reset]; component.history _ NIL }; END. vDMDragonModelImpl.mesa Written By: Pradeep Sindhu Last Edited By: Pradeep Sindhu August 28, 1985 6:11:51 pm PDT Κ”˜™J™J™=—J˜codešΟk ˜ Kšœ˜ —J˜J˜šΟbœœ˜ Kš ˜ Kšœœœ˜1K–36 sp tabStops˜•StartOfExpansionS -- [cache: CacheModels.Cache, addr: DragOpsCross.Word, fromJump: BOOL _ FALSE] -- š Οnœœœœœœ˜Tšœœœ˜Kšœ(˜(Kšœ œ˜ K˜Kšœ˜Kšœ ˜ Kšœ˜—K˜—K˜šžœœ˜Kšœ(˜*K˜—K˜šžœœ˜Kšœ*˜,K˜—K˜–; -- [cache: CacheModels.Cache, addr: DragOpsCross.Word] -- šžœœ˜Kšœ(˜*K˜K˜—–; -- [cache: CacheModels.Cache, addr: DragOpsCross.Word] -- šžœœ˜Kšœ*˜,K˜K˜—–" -- [cache: CacheModels.Cache] -- šžœœ˜Kšœ+˜-Kšœ˜K˜K˜—Kšœ˜K˜K˜—J˜—…—