示例#1
0
        /// <summary>
        /// Adds prefab
        /// </summary>
        /// <param name="name"></param>
        /// <param name="prefab"></param>
        /// <returns></returns>
        public PrefabsConfig AddPrefab(string name, SpellieSpawnedObject prefab)
        {
            var obj = PrefabObject.New()
                      .WithName(name)
                      .WithObject(prefab);

            _prefabs.Add(obj);
            return(this);
        }
示例#2
0
        /// <summary>
        /// Spawns object in world
        /// </summary>
        /// <param name="prefab"></param>
        /// <param name="position"></param>
        /// <param name="eulerAngles"></param>
        /// <param name="parent"></param>
        /// <returns></returns>
        public static SpellieSpawnedObject Instantiate(SpellieSpawnedObject prefab, Vector3 position, Vector3 eulerAngles, Transform parent = null)
        {
            var o = Object.Instantiate(prefab, position, Quaternion.Euler(eulerAngles), parent);

            if (!o.useGlobalPosition)
            {
                o.spawnPos = o.transform.localPosition;
            }
            else
            {
                o.spawnPos = o.transform.position;
            }
            return(o);
        }
示例#3
0
 /// <inheritdoc />
 public abstract Vector3 EvaluateMovement(SpellieSpawnedObject obj, float dt);
示例#4
0
 /// <summary>
 /// Defines prefab object to spawn
 /// </summary>
 /// <param name="obj"></param>
 /// <returns></returns>
 public PrefabObject WithObject(SpellieSpawnedObject obj)
 {
     prefab = obj;
     return(this);
 }
示例#5
0
 /// <inheritdoc />
 public Vector3 EvaluateMovement(SpellieSpawnedObject obj, float dt)
 {
     return Instance.EvaluateMovement(obj, dt);
 }
示例#6
0
 /// <summary>
 /// Spawns object in world
 /// </summary>
 /// <param name="prefab"></param>
 /// <param name="parent"></param>
 /// <returns></returns>
 public static SpellieSpawnedObject Instantiate(SpellieSpawnedObject prefab, Transform parent = null)
 {
     return(Instantiate(prefab, Vector3.zero, Vector3.zero, parent));
 }