Ejemplo n.º 1
0
 protected override void OnPrefabInit()
 {
     _instance = this;
     base.OnPrefabInit();
     mistEffect.SetActive(false);
     mistPool = new ObjectPool(InstantiateMist, 16);
 }
Ejemplo n.º 2
0
        public static void NormalGravity(FallingWater __instance, ref float __result)
        {
            Debug.Log(" === FallingWaterMod INI === ");

            __result = 1f;

            Debug.Log(" === FallingWaterMod END === ");
        }
 /// <summary>
 /// Applied before OnCleanUp runs.
 /// </summary>
 internal static void Prefix(FallingWater __instance)
 {
     // Destroy the mesh renderer game object
     FallingWaterMeshRenderer.DestroyInstance();
     // Destroy the mesh
     UnityEngine.Object.Destroy(__instance.mesh);
     __instance.mesh = null;
 }
        /// <summary>
        /// Creates a mesh renderer object for falling water.
        /// </summary>
        /// <param name="instance">The falling water object to render.</param>
        internal static void CreateInstance(FallingWater instance)
        {
            var game = Game.Instance;

            if (game == null)
            {
                throw new ArgumentNullException(nameof(Game.Instance));
            }
            DestroyInstance();
            var go = instance.mesh.CreateMeshRenderer("Falling Water", LayerMask.NameToLayer(
                                                          "Water"));
            var t = go.transform;

            t.SetParent(game.transform);
            t.SetPositionAndRotation(Vector3.zero, Quaternion.identity);
            // Set up the mesh with the right material
            if (go.TryGetComponent(out MeshRenderer renderer))
            {
                renderer.material = instance.material;
                renderer.SetPropertyBlock(instance.propertyBlock);
            }
            Instance = go.AddOrGet <FallingWaterMeshRenderer>();
        }
Ejemplo n.º 5
0
 protected override void OnCleanUp()
 {
     instance = null;
     base.OnCleanUp();
 }
Ejemplo n.º 6
0
 public static void DestroyInstance()
 {
     _instance = null;
 }
 /// <summary>
 /// Applied after OnSpawn runs.
 /// </summary>
 internal static void Postfix(FallingWater __instance)
 {
     FallingWaterMeshRenderer.CreateInstance(__instance);
 }