public static void Setup() { IsSetup = true; if (Instance == null) { return; } NodeFilter <VisibleNode> .New(VisibleNode.GetTypes()); NodeFilter <CharacterNode> .New(CharacterNode.GetTypes()); Get <AnimatorSystem>(); Get <CameraSystem>(); Get <CollisionCheckSystem>(); Get <CommandSystem>(); Get <CollisionEventSystem>(); Get <DespawnEntitySystem>(); Get <DistanceSystem>(); Get <EntityModifierSystem>(); Get <FactionSystem>(); Get <ItemSceneSystem>(); Get <MoverSystem>(); Get <PhysicsMoverSystem>(); Get <RadiusSystem>(); Get <TurnBasedSystem>(); Get <CharacterRectSystem>(); Get <SensorSystem>(); Get <EntityUIPoolSystem>(); EcsDebug.RegisterDebugCommands(); //TODO: default setup here }
private void RemoveActor() { if (_character != null) { _character.Entity.RemoveObserver(this); } ClearModList(); for (int i = 0; i < _main._vitals.Length; i++) { _main._vitals[i].RemoveActor(); } _sliderBackground.enabled = false; _visible.Entity.RemoveObserver(_main); _visible = null; _actorLock = false; _textHolder.text = ""; if (!string.IsNullOrEmpty(_queuedText)) { SetTextOnly(_queuedText, _lockedText); if (!_lockedText) { _queuedText = ""; } } }
/// <summary> /// Should showing target hit points be locked behind a skill? /// Maybe also add a right click option to show more stats behind skill/spell /// </summary> /// <param name="actor"></param> public static void SetTargetActor(VisibleNode actor) { if (_actorLock || _visible == actor || actor == null) { return; } _clearTextTimer.Triggered = false; if (_visible != null) { _main.RemoveActor(); } _visible = actor; if (_visible == null) { return; } _main._textHolder.maxVisibleCharacters = 0; _main._textHolder.text = _visible.Label.c.Text; if (_currentWriting != null) { TimeManager.Cancel(_currentWriting); } _currentWriting = TimeManager.StartUnscaled(_main.RevealText(), _main.CurrentNull); _character = actor.Entity.GetNode <CharacterNode>(); if (_character != null) { _character.Entity.AddObserver(_main); } for (int i = 0; i < _main._vitals.Length; i++) { _main._vitals[i].SetNewTarget(_character); } _main.CheckMods(); _visible.Entity.AddObserver(_main); }
public static void Setup() { IsSetup = true; if (Instance == null) { return; } NodeFilter <VisibleNode> .Setup(VisibleNode.GetTypes()); NodeFilter <CharacterNode> .Setup(CharacterNode.GetTypes()); NodeFilter <CollidableNode> .Setup(CollidableNode.GetTypes()); Get <AnimatorSystem>(); Get <CommandSystem>(); Get <CollisionCheckSystem>(); Get <DespawnEntitySystem>(); Get <DistanceSystem>(); Get <FactionSystem>(); Get <ItemSceneSystem>(); Get <ModifierSystem>(); Get <MoverSystem>(); Get <PhysicsMoverSystem>(); Get <CharacterRectSystem>(); Get <SensorSystem>(); Get <EntityUIPoolSystem>(); var assemblies = AppDomain.CurrentDomain.GetAssemblies(); for (int a = 0; a < assemblies.Length; a++) { var types = assemblies[a].GetTypes(); for (int t = 0; t < types.Length; t++) { var type = types[t]; if (type.IsDefined(typeof(AutoRegisterAttribute), false)) { CreateSystem(type); } } } }
public CommandTarget(Entity target) { _target = target; TargetTr = target.GetNode <VisibleNode>(); ExplicitPosition = null; }
public CommandTarget(Entity target, Vector3?explicitPosition, VisibleNode targetTr) { _target = target; ExplicitPosition = explicitPosition; TargetTr = targetTr; }
public StartMoveEvent(Entity origin, VisibleNode follow) { MoveTarget = follow.position; Follow = follow.Entity.Tr; Origin = origin; }