Заимплементить IEqualityComparer в javascript для hash table

Программирование на Юнити.

Заимплементить IEqualityComparer в javascript для hash table

Сообщение Nicloay 31 май 2012, 09:43

Здоров, друзья =)

Следующая проблема, использую hashTable чтоб хранить объекты (тоесть ключи это custom объект а не примитив и значение тоже custom объект).
Соответсвенно хочу заимплеменить IEqualityComparer с проверкой свойст объекта и использовать его с hash table, чтоб при поиске искалось по значению а не по ссылкам.

Вопрос, возможно ли это в JS или стоит использовать C# ?
If you wish to make an apple pie from scratch, you must first invent the universe.(Carl Sagan, Cosmos)
| My Asset Store | coloring book | github | _wiki.unity3d.com | twitter | linkedin |
Аватара пользователя
Nicloay
Адепт
 
Сообщения: 1288
Зарегистрирован: 31 май 2012, 09:27
Откуда: Альпс
  • Сайт

Re: Заимплементить IEqualityComparer в javascript для hash table

Сообщение Nicloay 01 июн 2012, 18:36

Вопрос снимается, что то в irc тоже никто не ответил, потому как api я не знаю, только начал, решил писать все на c#

сегодня все опробовал работает замечательно.. первый результат, вот что на выходе =)
Скрытый текст:
Изображение
If you wish to make an apple pie from scratch, you must first invent the universe.(Carl Sagan, Cosmos)
| My Asset Store | coloring book | github | _wiki.unity3d.com | twitter | linkedin |
Аватара пользователя
Nicloay
Адепт
 
Сообщения: 1288
Зарегистрирован: 31 май 2012, 09:27
Откуда: Альпс
  • Сайт

Re: Заимплементить IEqualityComparer в javascript для hash table

Сообщение Syberex 02 июн 2012, 10:30

Красивя штука, но какое она отношение к вопросу имеет? :)
Аватара пользователя
Syberex
Адепт
 
Сообщения: 2292
Зарегистрирован: 14 янв 2011, 20:35
Откуда: Кострома
  • Сайт

Re: Заимплементить IEqualityComparer в javascript для hash table

Сообщение Nicloay 02 июн 2012, 15:51

Я начинал с захардкоженых координат икозахедрона, и потом делил грани пополам, вот чтоб делить грани я юзал Hashtable чтоб хранить связи. типа Hashtable<Vector3,prefab>
на рисунке сверху сгенеренные сферы, перекрывшие друг друга.

Вобщем просто это первый в жизни результат на unity поэтому и похвастался =)

имплементация IEqualityCompare была вобщемто простая.

Синтаксис:
Используется csharp
using System;
using System.Collections;

public class RealtionHashComparer:IEqualityComparer
{
       
        public new bool Equals (object x, object y)
        {
                Relation xx=(Relation)x;
                Relation yy=(Relation)y;               
                return ((xx.pointA==yy.pointA && xx.pointB==yy.pointB) || (xx.pointA==yy.pointB && xx.pointB==yy.pointA));
        }
       
       
        public int GetHashCode (object obj)
        {
                return ((Relation)obj).pointA.GetHashCode()+((Relation)obj).pointB.GetHashCode();
        }
}
If you wish to make an apple pie from scratch, you must first invent the universe.(Carl Sagan, Cosmos)
| My Asset Store | coloring book | github | _wiki.unity3d.com | twitter | linkedin |
Аватара пользователя
Nicloay
Адепт
 
Сообщения: 1288
Зарегистрирован: 31 май 2012, 09:27
Откуда: Альпс
  • Сайт


Вернуться в Скрипты

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 12