Пример #1
0
        // -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- //
        //! 更新
        protected void Update()
        {
            // 毎フレ更新処理
            IUpdatable updatable  = null;
            int        listLength = _allUpdatable.Count;

            for (int i = 0; i < listLength; ++i)
            {
                updatable = _allUpdatable[i];
                // 状態更新
                updatable.UpdateChangeState();
                // 処理更新
                updatable.Update();
                // viewを変更する
                if (updatable.IsWillChangeView)
                {
                    IEntityLogic obj        = (IEntityLogic)updatable;
                    IEntityView  changeView = (IEntityView)updatable.GetWillChangeView();
                    _lifeCycleView.RemoveEntity(obj);
                    updatable.SetView(changeView);
                    _lifeCycleView.AddEntity(obj, changeView);
                    updatable.EndChangeView();
                }
            }
        }