コード例 #1
0
        protected TModel GetModelFromProvider(UnityEngine.Object potentialProvider)
        {
            TModel model = null;
            IModelProvider <TModel> modelProvider = null;
            IModelHolder <TModel>   modelHolder   = null;

            try
            {
                modelProvider = (IModelProvider <TModel>)potentialProvider;
            }
            catch (System.InvalidCastException)
            {
            }

            try
            {
                modelHolder = (IModelHolder <TModel>)potentialProvider;
            }
            catch (System.InvalidCastException)
            {
            }

            if (modelProvider != null)
            {
                model = modelProvider.Model();
            }
            else if (modelHolder != null)
            {
                model = modelHolder.Model;
            }

            return(model);
        }
コード例 #2
0
        protected TModel GetModelFromProvider <TModel>(UnityEngine.Object potentialProvider)
        {
            if (potentialProvider == null)
            {
                return(default(TModel));
            }

            IModelProvider <TModel> modelProvider = (IModelProvider <TModel>)potentialProvider;

            if (modelProvider == null)
            {
                return(default(TModel));
            }

            return(modelProvider.Model());
        }
コード例 #3
0
        private TModel getModelFromProvider()
        {
            TModel model = null;
            IModelProvider <TModel> modelProvider = null;
            IModelHolder <TModel>   modelHolder   = null;

            try
            {
                modelProvider = (IModelProvider <TModel>)publicModelProvider;
            }
            catch (System.InvalidCastException)
            {
                Debug.LogWarning("Controller: Object to IModelProvider cast error");
            }
            if (modelProvider == null)
            {
                try
                {
                    modelHolder = (IModelHolder <TModel>)publicModelProvider;
                }
                catch (System.InvalidCastException)
                {
                    Debug.LogWarning("Controller: Object to IModelHolder cast error");
                }
            }

            if (modelProvider != null)
            {
                model = modelProvider.Model();
            }
            else if (modelHolder != null)
            {
                model = modelHolder.Model;
            }

            return(model);
        }