public virtual void EnterIntercept(BaseActor source) { if (OnEnterIntercept != null) { OnEnterIntercept(source); } }
public virtual void LeaveIntercept(BaseActor source) { if (OnLeaveIntercept != null) { OnLeaveIntercept(source); } }
protected virtual void OnHurt(BaseActor source) { if (OnHurtHandler != null) { OnHurtHandler(source); } }
protected virtual void OnDeath(BaseActor source) { if (OnDeathHandler != null) { OnDeathHandler(source); } }
public void DestroyActor(BaseActor actor) { if (m_Actors.Remove(actor.ID)) { _DestoryActor(actor); } }
public BaseActor AddActor(string actorType, params object[] param) { BaseActor actor = ClassUtils.CreateInstance <BaseActor>(actorType, param); _AddActor(actor); return(actor); }
public void RemoveComponent(BaseActor actor, IComponent component) { foreach (var pair in m_Systems) { pair.Value.OnComponentRemoved(component); } }
private void _DestoryActor(BaseActor actor) { foreach (var pair in m_Systems) { pair.Value.OnActorRemoved(actor); } actor.OnDestroy(); }
public void DestroyActor(System.Guid guid) { BaseActor actor = null; if (m_Actors.TryGetValue(guid, out actor)) { m_Actors.Remove(guid); _DestoryActor(actor); } }
private void _AddActor(BaseActor actor) { //actor.ID = System.Guid.NewGuid(); actor.ActorService = this; actor.OnCreated(); m_Actors.Add(actor.ID, actor); foreach (var pair in m_Systems) { pair.Value.OnActorAdded(actor); } }
public virtual BaseActor SpawnTrigger(SpawnParams spawnParam) { BaseActor actor = m_ActorService.AddActor(spawnParam.ActorType); //TransformComponent transform = actor.AddComponent<TransformComponent>(spawnParam.InitPos.HasValue ? spawnParam.InitPos.Value : Vector3.Zero, // spawnParam.InitRot.HasValue ? spawnParam.InitRot.Value : Quaternion.Identity, spawnParam.InitScale.HasValue ? spawnParam.InitScale.Value : Vector3.One); actor.AddComponent(spawnParam.AttributeComponent, spawnParam.AttributeKey); TriggerComponent trigger = actor.AddComponent <TriggerComponent>(); trigger.Owner = spawnParam.Owner; MovementSystem movementSysten = m_ActorService.GetComponentSystem <MovementSystem>(); movementSysten.Transform(actor, spawnParam.InitPos, spawnParam.InitRot, spawnParam.InitScale); return(actor); }