コード例 #1
0
    public static List <Knowledge> SearchNearObject(WorldController controller, ObjectId id, String authorityCode)
    {
        if (!WorldController.Authorizer(controller, id, authorityCode))
        {
            return(null);
        }

        var data = new System.Collections.Generic.Dictionary <System.Guid, MaskedParameter>();

        foreach (var item in controller.maskedObjectList)
        {
            foreach (var key in item.Key)
            {
                if (key.Key.Equals(id) && !key.Value.Equals(id))
                {
                    data.Add(key.Value, item.Value);
                }
            }
        }

        foreach (var item in controller.objectList)
        {
            if (item.Key.Equals(id))
            {
                continue;
            }
            if (!data.ContainsKey(item.Key))
            {
                var t = new MaskedParameter(item.Value, MaskedParameter.Mask.NONE);
                data.Add(item.Key, t);
            }
        }

        var result = new List <Knowledge>();

        foreach (var item in data)
        {
            var t = new Knowledge(item.Key, item.Value);
            result.Add(t);
        }

        return(result);
    }