static Clock() { GameObject go = new GameObject("#Clock#"); GameObject.DontDestroyOnLoad(go); m_Task = go.AddComponent <TaskBehavior>(); }
public static MappingEngine GetMappingEngine(TaskBehavior taskBehavior) { lock (_lock) { MappingEngine mappingEngine; if (!_mappingEngines.TryGetValue(taskBehavior.PortalType, out mappingEngine)) { ConfigurationStore store = new ConfigurationStore(new TypeMapFactory(), MapperRegistry.Mappers); store.CreateMap <TaskInfoDetail, TaskInfoDetail>() .ForMember(dst => dst.CanExecuteAutomatically, o => o.Condition((Func <TaskInfoDetail, bool>)(src => taskBehavior.AdvancedPropertiesVisible))) .ForMember(dst => dst.CanExecuteManually, o => o.Condition((Func <TaskInfoDetail, bool>)(src => taskBehavior.AdvancedPropertiesVisible))); MappingEngine engine = new MappingEngine(store); _mappingEngines.Add(taskBehavior.PortalType, mappingEngine = engine); } return(mappingEngine); } }
IEnumerator PerformTask(string location, GameObject a_target) { TaskBehavior task = a_target.GetComponent <TaskBehavior>(); int waitTime = 0; while (!task.CanPerformTask()) { yield return(new WaitForSeconds(1)); } stateMachine.PerformTask(location, a_target); waitTime += task.GetTaskDuration(); yield return(new WaitForSeconds(waitTime)); performingTask = false; }
// Use this for initialization void Start() { plantBed = gameObject.transform.parent.gameObject; plantBedBehaviour = plantBed.GetComponent <TaskBehavior>(); }
/// <inheritdoc /> public override IBehavior Build(BehaviourTree tree) { Behavior = new TaskBehavior(UpdateInternal, OnInitialization, OnTermination, tree); return(Behavior); }