Example #1
0
        public ISceneItem Create(SceneItemData param)
        {
            GameObject prefab = m_TemplateStorage.GetDataForType(param.payloadType, param.payload)?.sceneItemPrefab;
            ISceneItem item   = m_Instantiator.InstantiatePrefab(prefab).GetComponent <ISceneItem>();

            item.identifiable.identifier     = param.id;
            item.itemTransform.localPosition = param.position;
            item.itemTransform.localRotation = Quaternion.Euler(param.rotation);
            item.scalable.size   = param.size;
            item.levelable.level = param.levels;

            item.payloadViewController.SetPayload(param.payloadType, param.payload, param.delay);
            item.colorable.color = param.color;

            m_SceneItemRegistry.RegisterItem(item);

            return(item);
        }