/// <summary> /// プランを記憶に保持 /// </summary> /// <param name="planObject"></param> public void Memorize(PlanObject planObject) { // 重複しているプランは追加しない if (HasMemory(planObject)) { return; } _shortMemories.Add(MakeMemory(planObject)); }
/// <summary> /// 記憶にあるプランか /// </summary> bool HasMemory(PlanObject planObject) { var memory = AllMemories.Find(m => m.Plan == planObject.Plan); return(memory != null); }
/// <summary> /// プランオブジェクトからメモリオブジェクトを生成する /// </summary> Memory MakeMemory(PlanObject planObject) { var memory = new Memory(planObject); return(memory); }
public Memory(PlanObject planObject) { Plan = planObject.Plan; Target = planObject.Target; Position = planObject.Position; }
/// <summary> /// プランオブジェクトを保持する(記憶する) /// </summary> /// <param name="planObject"></param> void StorePlanObject(PlanObject planObject) { _brain.Memorize(planObject); }
/// <summary> /// 対象がプランオブジェクトを保持しているかを検証 /// </summary> /// <param name="target">検証対象</param> /// <param name="planObject">取得したプランオブジェクトの参照を返す</param> /// <returns>保持している場合はture</returns> protected virtual bool HasPlan(GameObject target, out PlanObject planObject) { planObject = target.GetComponent <PlanObject>(); return(planObject != null); }