1.3.2 • Published 4 years ago

com.fiber.fibercore v1.3.2

Weekly downloads
17
License
MIT
Repository
github
Last release
4 years ago

FiberCore it's a lightweight game core that allows you to use Data Management, UI Management, Scene Management etc. Here is small example of game (without gameplay logic) developed using FiberCore.


First of all, install package using this guide: Get Started


Game Loader Example

public class ExampleGameLoader : MonoBehaviour
{
    private ExampleData gameData;

    private void Awake()
    {
        FiberCore.Instances.OnInstanceChanged += OnInstanceChanged;
        
        FiberCore.PrefData.RegisterType<ExampleData>();
        FiberCore.PrefData.Load();
        FiberCore.PrefData.GetData(out gameData);
        
        FiberCore.Instances.LoadInstance(gameData.NextLevelID);
    }

    private void OnInstanceChanged(Instance obj)
    {
        if (obj)
        {
            FiberCore.UI.GetScreen<GameUI>().Show();
            
            obj.As<ExampleLevel>().Example_Start();
        }
        else
        {
            FiberCore.UI.GetScreen<GameUI>().Hide();
        }
    }
}

Game Data Example

public class ExampleData: BasicPrefData
{
    public int NextLevelID = 1;
}

Game UI Example

public class GameUI : UIScreen
{

}

Game Instance Example

public class ExampleLevel : Instance
{
    private const string res_playerPath = "prefabs/playerPrefab";

    [SerializeField]
    private AudioClip     levelStartSound;
    [SerializeField]
    private AudioListener audioListener;
   
    protected override void OnReady()
    {
        FiberCore.Audio.SetListener(audioListener);
        
        FiberCore.Resources.Load<GameObject>(res_playerPath);
    }

    protected override void OnUnload()
    {
        FiberCore.Resources.Unload(res_playerPath);
    }

    public void Example_Start()
    {
        FiberCore.Audio.Play(levelStartSound);

        var player = FiberCore.Resources.Get<GameObject>(res_playerPath);

        Instantiate(player);
    }

    public void Emample_Complete()
    {
        if(FiberCore.PrefData.GetData(out ExampleData data))
        {
            data.NextLevelID = ID + 1;

            FiberCore.PrefData.Save();

            FiberCore.Instances.LoadInstance(data.NextLevelID);
        }
    }
}
1.3.2

4 years ago

1.3.1

4 years ago

1.3.0

4 years ago

1.2.9

4 years ago

1.2.8

4 years ago

1.2.7

4 years ago

1.2.6

4 years ago

1.2.5

4 years ago

1.2.4

4 years ago

1.2.3

4 years ago

1.2.2

4 years ago

1.2.0

4 years ago

1.2.1

4 years ago

1.1.9

4 years ago

1.1.8

4 years ago

1.1.7

4 years ago

1.1.6

4 years ago

1.1.5

4 years ago

1.1.4

4 years ago

1.1.3

4 years ago

1.1.2

4 years ago

1.1.1

4 years ago