Esempio n. 1
0
        // method adding observer to a game object
        public void AddObserver(Subject.Name name, GameObject go)
        {
            Observer raw = (Observer)this.PullFromReserved();

            // adding derived observer based on name
            if (name == Subject.Name.LeftKey || name == Subject.Name.RightKey)
            {
                // for left key and right key event
                // create a move observer to listen
                MoveObserver mo = (MoveObserver)raw;
                mo.set(name, (MoveProxy)go.pProxy); // downcasting dangerous

                // Add new observer to the list
                this.Add(mo);
            }
        }