2012-03-02 20 views
0

我有一個SceneManager對象,負責在場景中顯示對象。在某個時刻,我想要隱藏當前顯示的所有對象,而在其他情況下,我想顯示與步驟1中隱藏的完全相同的對象。因此,我正在考慮如何實現這一未來。也許有三個功能:如何設計顯示和隱藏對象

  • SaveSnapshotOfShownObjects
  • HideSnapshot
  • ShowSnapshot

然後prerequest調用HideSnapshot將調用SaveSnapshotOfShownObjects。稍後,可以調用ShowSnapshot來顯示保存的快照。

但我擔心我有三個功能來完成這項工作。

所以,第二個選擇是讓一個函數完成所有這些工作,比如它的名字是HideOrShow,它將執行以下操作: 1)如果存在快照,顯示快照並清除快照 2)其他保存快照和隱藏

但是,在這種情況下,功能做了很多的事情,我甚至不知道如何稱呼它(顯然HideOrShow沒有說什麼功能正在做)

所以,我對任何一個選項都不滿意。有人有一些想法該怎麼辦?

+0

如果你的函數做了很多事情 - 把它分成幾個函數。 – Kamil 2012-03-02 08:29:45

回答

0

我有這樣的想法。

在ShownObject中創建「previous state」屬性。您可以使用布爾型或具有歷史布爾值的數組,並稍後實現「後退/前進」功能。

創建功能: - 顯示 - 隱藏 - 恢復(恢復以前的狀態) - 切換(如果你需要這一點,但可能會需要它)

內部函數的每個對象顯示的

保存狀態/隱藏對象。