public void request(GameObject friend)//заявка на дружбу { print(gameObject + "получил заявку от " + friend.name); if (Random.Range(0, 10) < sociability) //принимаем { if (clan == null) //если пришла заявка, а мы не в клане { print(gameObject + "не в клане, обнуляем его и добавляем"); if (friend.GetComponent <CleverAI>().clan == null) //приславший заявку не состоит в клане, но хочет создать свой { clan = new Clan(friend); //в этом случае создаем для него клан friend.GetComponent <CleverAI>().clan = clan; //записываем для него его же клан } clan = friend.GetComponent <CleverAI>().clan; //и только теперь добавляемся в его клан ResetAllTasks(gameObject); clan.AddToClan(gameObject); Creator.ChangeInClans(); } else//мы уже в клане и пришла заявка от игрока без клана { print(gameObject + "добавляем в свой клан" + friend.name + "и обнуляет"); CleverAI cleverfriend = GetComponent <CleverAI>(); cleverfriend.clan = clan;//и только теперь добавляем его в наш клан ResetAllTasks(friend); clan.AddToClan(friend); Creator.ChangeInClans(); } } }
public void ResetAllTasks(GameObject newlifer) { CleverAI mind = newlifer.GetComponent <CleverAI>(); mind.CompleteTask(); mind.currenttask = new Task(Action.Default, gameObject, priority); mind.Tasks.Clear(); mind.AddTask(new Task(Action.Friend, clan.Leader, 6)); }