示例#1
0
        /// <summary>
        /// Instantiate an an Actor with the given data
        /// </summary>
        /// <param name="prefab"></param>
        /// <param name="id"></param>
        /// <param name="pos"></param>
        /// <param name="rot"></param>
        /// <param name="data"></param>
        /// <returns></returns>
        public static GameObject InstantiateActorWithData(GameObject prefab, RegionRegistry.RegionSetId id, Vector3 pos, Quaternion rot,
                                                          CompoundDataPiece data)
        {
            long actorId;

            SceneContext.Instance.GameModel.nextActorId = (actorId = SceneContext.Instance.GameModel.nextActorId) + 1L;
            return(InstantiateActorWithData(actorId, prefab, id, pos, rot, data));
        }
示例#2
0
 public static GameObject InstantiateActorWithData(long actorId, GameObject prefab, RegionRegistry.RegionSetId id, Vector3 pos, Quaternion rot, CompoundDataPiece data)
 {
     preparedData.Add(DataIdentifier.GetActorIdentifier(actorId), new PreparedData()
     {
         Data = data, SourceType = PreparedData.PreparationSource.SPAWN
     });
     return(SceneContext.Instance.GameModel.InstantiateActor(actorId, prefab, id, pos, rot, false, false));
 }
示例#3
0
        public static bool Prefix(out ActorModel __result, GameModel __instance, long actorId, Identifiable.Id ident, RegionRegistry.RegionSetId regionSetId,
                                  GameObject gameObj)
        {
            __result = null;
            var _override = DataModelRegistry.actorOverrideMapping.FirstOrDefault((x) => x.Key(ident));

            if (_override.Value == null)
            {
                return(true);
            }

            __result = _override.Value(actorId, ident, regionSetId, gameObj);
            return(false);
        }