yes it is related other case. so onstop will solve this. thanks 🙂
none of them prefab. i will also test it with an empty scene. maybe another thing cause my problem. i will also check it another platform than Android.
thanks 🙂 will you also add this to the next release?
i think problem is related my drag subscription. on level load i cannot unsubscribe old condition. so singleton touchcontroller calls old condition that has no agent. is there any method like onunload/ondestroy of task?
i have a problem 🙂 i use following action. i change SourceGO to direct value in unity.i set an game object from scene. it is not prefab. it works when i play it. when i restart unity or build project SourceGO field is empty. is it normal?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
public class GOPositionToVector3Action : ActionTask<Transform> { public BBParameter<GameObject> SourceGO = new BBParameter<GameObject> { useBlackboard = true }; public BBParameter<Vector3> Position = new BBParameter<Vector3> { useBlackboard = true }; protected override string info { get { return "GOPositionToVector3Action "; } } protected override void OnExecute() { GameObject source; if (!SourceGO.isNone) { source = SourceGO.value; } else { source = agent.gameObject; } Position.value = source.transform.position; EndAction(); } protected override void OnUpdate() { } } |
sorry there is no blackboard debug message 🙂
yes i would like to know it now 🙂
thanks. it worked like i expected. in that way i will prevent overriding existing values.
thanks. all debug message option will be great.like global blackboard.
it would be nice to add such feature. it will useful for resource consuming processes.
i could not understand about what you ask about what i want? sorry for my English 🙂
with this code i can subscribe and unsubscribe. if there are 2 conditions on a state. i miss one subscription. i need a function like ActivatingCondition, DeActivatingCondition.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
public class OnDraggingCondition : ConditionTask { private bool _listens; public int Index; private bool _started; protected override string info { get { var finalString = "OnDraggingCondition"; return finalString; } } /*protected override string OnInit() { _started = false; IT_Gesture.onDraggingE += ItGestureOnOnDraggingE; return null; }*/ private void ItGestureOnOnDraggingE(DragInfo dragInfo) { Debug.Log("OnDraggingCondition Index:" + dragInfo.index); if (dragInfo.index == Index) { IT_Gesture.onDraggingE -= ItGestureOnOnDraggingE; _started = true; } } protected override bool OnCheck() { if (!_listens) { IT_Gesture.onDraggingE += ItGestureOnOnDraggingE; _listens = true; } if (_started) { _started = false; _listens = false; return true; } return false; } } |
ok. no problem 🙂
Hello, thanks i found them 🙂 i searched as collider so i could not find it 🙂
i used BT action that you gave it’s code on unity forum. i added 2 bt action to a state. it worked.
i examined GetField.cs and did something. it works.