Пример #1
0
    EntityPrefabRoot CreatePrefab(EntityRef entityRef, EntityPrefab prefab, Transform2D *transform)
    {
        var asset = UnityDB.FindAsset <EntityPrefabAsset>(prefab.Id);

        if (asset)
        {
            EntityPrefabRoot instance;

            instance = transform == null?Instantiate(asset.Prefab) : Instantiate(asset.Prefab, transform->Position.ToUnityVector2(), transform->Rotation.ToUnityQuaternion());

            instance.AssetGuid = prefab.Guid;
            instance.EntityRef = entityRef;

            if (transform != null)
            {
                instance.transform.position = transform->Position.ToUnityVector3();
                instance.transform.rotation = transform->Rotation.ToUnityQuaternion();
            }

            // add to lookup
            _activePrefabs.Add(entityRef, instance);

            // return instance
            return(instance);
        }

        return(null);
    }
Пример #2
0
 private int _GetOffsetOfTransform2D_Scale()
 {
     var tempObj = new Transform2D(); Transform2D *ptr = &tempObj; var filedPtr = &(ptr->Scale); return((int)((long)filedPtr - (long)ptr));
 }